컴퓨터 산술

bfloat16이 AI 학습에서 사용되는 주된 이유는 무엇입니까?

  1. A지수부가 FP32와 같은 8비트라서 표현할 수 있는 수의 범위가 넓기 때문
  2. B가수부가 FP32보다 길어 정밀도가 높기 때문
  3. C정수 연산으로 계산할 수 있기 때문
정답과 해설 보기

정답: A. 지수부가 FP32와 같은 8비트라서 표현할 수 있는 수의 범위가 넓기 때문

bfloat16은 부호 1비트, 지수부 8비트, 가수부 7비트의 16비트 형식입니다. 지수부가 FP32와 같으므로 표현 범위가 거의 같아, 학습 중의 그래디언트처럼 매우 작거나 큰 값에서도 오버플로나 언더플로가 일어나기 어렵고, FP32 모델에서의 전환도 간단합니다. 정밀도는 낮지만 학습은 다소의 오차에 강해 문제가 되기 어렵고, 데이터양과 연산기 면적을 절반으로 줄일 수 있습니다. 가수부는 FP32보다 짧으며, 정수가 아니라 부동소수점 연산으로 계산합니다.

이 분야 연습하기 분야로 돌아가기

컴퓨터 산술의 다른 문제

  1. FP16(반정밀도: 부호 1·지수부 5·가수 10비트)으로 신경망을 학습시킬 때 문제가 되기 쉬우며, 손실 값을 몇 배로 확대하여 계산하는 방법(로스 스케일링)으로 대처하는 것은 무엇입니까?
  2. FP16(부호 1·지수부 5비트(바이어스 15)·가수 10비트)으로 나타낼 수 있는 최대 유한값은 얼마입니까?
  3. FP8의 두 형식인 E4M3(지수부 4·가수 3비트)와 E5M2(지수부 5·가수 2비트)의 구분 사용으로 일반적인 것은 무엇입니까?
  4. AI 추론에서 가중치를 FP32에서 INT8로 변환(양자화)하는 주된 이점은 무엇입니까?
  5. 값의 범위가 −6.35~6.35인 데이터를 0을 중심으로 한 대칭 INT8(−127~127)로 양자화합니다. 스케일을 「최대 절댓값 ÷ 127」로 하면 1.0은 어떤 정수로 나타내집니까?