什麼是混合精度(Mixed precision)
針對運算的各個部分使用不同精度的數值。以 FP16 等進行乘法,以 FP32 進行累加,兼顧速度與精度。
日文名稱: 混合精度
「混合精度(Mixed precision)」出現在2領域的2道練習題中(電腦算術, GPU程式設計等)。
這個名詞所屬的領域: GPU程式設計
針對運算的各個部分使用不同精度的數值。以 FP16 等進行乘法,以 FP32 進行累加,兼顧速度與精度。
日文名稱: 混合精度
「混合精度(Mixed precision)」出現在2領域的2道練習題中(電腦算術, GPU程式設計等)。
這個名詞所屬的領域: GPU程式設計
正確答案:B. 因為在加總大量乘積時,低精度會累積捨入誤差,使小的值消失,所以只有累加以高精度進行
FP16的尾數只有10位元,因此將小的乘積加到已變大的總和上時,乘積可能因捨入而消失。在矩陣乘積中要加總數千個乘積,這個誤差一累積,結果就會大幅偏離。因此記憶體用量與運算單元負擔較大的乘法以低精度進行,只有累加以FP32進行。多數張量核心能以一個指令完成這種形式的乘加。
bfloat16 更新(Refresh) 資訊遺失(Absorption) GPU 張量核心(Tensor core) 平行歸約(Parallel reduction) 共享記憶體(GPU shared memory) 串流多處理器(Streaming multiprocessor) 佔用率(GPU occupancy) 固定記憶體(Pinned memory)