浮點數非結合律如何影響電腦計算的精確度?
Answer
浮點數非結合律對電腦計算精度的影響
浮點數非結合律源於電腦儲存數字的方式。為了表示極大或極小的數字,電腦使用浮點數格式,類似科學記號法,僅記錄最重要的幾個數字(尾數)以及數字的大小(指數)。由於精度有限,浮點數運算不一定符合數學上的結合律,即 (a+b)+c 不一定等於 a+(b+c)。
舉例來說,如果一把尺只能精確到公分,測量台北 101 的高度加上一張 A4 紙的厚度時,A4 紙的厚度可能因為太小而被忽略,但如果先將多張 A4 紙的厚度相加,結果可能就不同。因此,計算順序的不同可能因為精度損失而產生微小差異。
平行運算與計算順序的隨機性
GPU 具有大量計算核心,可以同時處理大量任務。在平行運算中,多個核心同時計算並將結果匯報到同一位置時,由於核心運算速度和匯報順序的差異,可能導致計算順序不一致,進而影響最終結果。這意味著即使是相同的輸入,由於計算順序的微小變化,也可能產生不同的輸出,尤其是在複雜的 AI 模型運算中,這種影響更為顯著。
AI 模型中的不確定性與解決方案
AI 模型,特別是大型語言模型(LLM),由於浮點數非結合律和平行運算的影響,即使在關閉隨機性(溫度設定為 0)的情況下,也可能產生不一致的結果。這種不確定性對於需要精準、可靠和可複製結果的科學研究和商業應用來說是一個問題。OpenAI 前技術長 Mira Murati 領軍的 Thinking Machines Lab 發表論文,探討了這個問題,並提出了擊敗 LLM 推理中不確定性的解決方案,旨在提高 AI 計算的精確性和一致性。