浮點數非結合律是電腦科學中一個重要的議題,起因於電腦儲存數字的方式。為了表示極大或極小的數值,電腦採用浮點數格式,類似於科學記號法,只儲存最重要的幾位數字(尾數)和數字的大小(指數)。由於這種表示方式的精度有限,浮點數運算不一定符合數學上的結合律,也就是說,(a+b)+c 的結果可能不等於 a+(b+c)。
舉例來說,如果使用一把只能精確到公分的尺來測量台北 101 的高度,然後加上一張 A4 紙的厚度,A4 紙的厚度可能會因為太小而被忽略不計。但如果我們先將多張 A4 紙的厚度加總,結果可能就會有所不同。因此,計算順序的不同可能會因為精度的損失而導致微小的差異。
GPU 具有大量的計算核心,可以同時處理多個任務。在平行運算中,多個核心同時進行計算,並將結果匯報到同一個位置。由於每個核心的運算速度和匯報順序可能不同,導致計算的順序不一致,進而影響最終的結果。這表示即使輸入的數據相同,由於計算順序的微小變化,也可能產生不同的輸出。在複雜的 AI 模型運算中,這種影響尤其顯著。
AI 模型,特別是大型語言模型(LLM),由於浮點數非結合律和平行運算的影響,即使關閉了隨機性(溫度設定為 0),也可能產生不一致的結果。這種不確定性對於需要精確、可靠和可重複結果的科學研究和商業應用來說,是一個相當大的問題。OpenAI 前技術長 Mira Murati 領導的 Thinking Machines Lab 發表了一篇論文,探討了這個問題,並提出了擊敗 LLM 推理中不確定性的解決方案,旨在提高 AI 計算的精確性和一致性。
This is a simplified version of the page. Some interactive features are only available in the full version.
本頁為精簡版,部分互動功能僅限完整版使用。
👉 View Full Version | 前往完整版內容