컴퓨터 산술

FP16(반정밀도: 부호 1·지수부 5·가수 10비트)으로 신경망을 학습시킬 때 문제가 되기 쉬우며, 손실 값을 몇 배로 확대하여 계산하는 방법(로스 스케일링)으로 대처하는 것은 무엇입니까?

  1. A가수가 너무 길어 메모리 사용량이 늘어나는 것
  2. B표현 범위가 좁아 작은 그래디언트가 0이 되어 버리는 것
  3. C정수로 취급되어 소수를 나타내지 못하는 것
정답과 해설 보기

정답: B. 표현 범위가 좁아 작은 그래디언트가 0이 되어 버리는 것

FP16은 지수부가 5비트밖에 없으므로 표현할 수 있는 양의 값이 대략 6 × 10⁻⁸(비정규화수 포함)에서 65504까지로 범위가 좁습니다. 학습에서 계산되는 그래디언트에는 매우 작은 값이 많아 FP16에서는 언더플로하여 0이 되고 학습이 진행되지 않게 됩니다. 로스 스케일링에서는 손실을 예컨대 1024배 한 뒤 역전파하여 그래디언트를 표현 가능한 범위로 끌어올리고, 가중치를 갱신하기 전에 원래대로 되돌립니다. 가수는 10비트로 FP32보다 짧으며, 소수도 나타낼 수 있습니다.

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

컴퓨터 산술의 다른 문제

  1. FP16(부호 1·지수부 5비트(바이어스 15)·가수 10비트)으로 나타낼 수 있는 최대 유한값은 얼마입니까?
  2. FP8의 두 형식인 E4M3(지수부 4·가수 3비트)와 E5M2(지수부 5·가수 2비트)의 구분 사용으로 일반적인 것은 무엇입니까?
  3. AI 추론에서 가중치를 FP32에서 INT8로 변환(양자화)하는 주된 이점은 무엇입니까?
  4. 값의 범위가 −6.35~6.35인 데이터를 0을 중심으로 한 대칭 INT8(−127~127)로 양자화합니다. 스케일을 「최대 절댓값 ÷ 127」로 하면 1.0은 어떤 정수로 나타내집니까?
  5. 소형 마이컴이나 DSP에서 부동소수점이 아니라 고정소수점 연산이 자주 사용되는 주된 이유는 무엇입니까?