#bf16
2편
- 혼합정밀도와 그래디언트 체크포인팅 — 학습 메모리를 사는 두 방법학습은 메모리가 모자라 막힌다. 반정밀도로 담으면 메모리가 절반이고 행렬곱이 2.8배 빨랐다. 다만 fp16은 범위가 좁아 작은 그라디언트 2.4%가 0으로 사라졌고, 손실을 1024배 키웠다 되돌리니 0%가 됐다. 그리고 활성값을 저장하지 않고 다시 계산하니 메모리가 24.9배 줄고 시간은 1.78배만 늘었다
- 부동소수점 — fp32·fp16·bf16의 범위와 정밀도혼합정밀도·양자화를 이해하려면 컴퓨터가 실수를 어떻게 담는지 알아야 한다. 같은 16비트라도 fp16은 좁고 정밀하고(최대 65,504) bf16은 fp32급으로 넓고 덜 정밀하다(최대 3.4e38). 70,000을 넣으면 fp16은 inf가 되고 bf16은 담았으며, 1e-8은 fp16에서 0이 됐다