测验:整数量化误差
한국어 원문으로 표시합니다.
대칭 양자화에서 scale = max(|x|) / 127 일 때, 목록에 유난히 큰 값 하나가 섞이면?
- 큰 값만 오차가 커지고 나머지는 그대로다
- 배율이 커져 나머지 값들이 몇 칸 안에 뭉개진다
- 영점이 옮겨 가 0 근처의 값이 먼저 깨진다
- 칸 수가 256에서 늘어나 오차가 줄어든다
파이썬에서 round(0.5), round(1.5), round(2.5) 의 값은 차례로 무엇인가?
- 0, 2, 2 — 정확히 0.5 인 자리는 짝수 쪽으로 간다
- 1, 2, 3 — 0.5 는 언제나 위로 올라간다
- 0, 1, 2 — 0.5 는 언제나 버린다
- 1, 2, 2 — 첫 자리만 특별하게 다룬다
비대칭(어파인) 양자화에서 영점(zero point)을 따로 들고 다니는 까닭은?
- 코드 값을 정수로 유지하기 위해서다
- 반올림 규칙의 차이를 보정하기 위해서다
- 실수 0 이 오차 없이 되돌아오게 하기 위해서다
- 배율을 행마다 다르게 잡기 위해서다
정수 양자화한 두 행렬을 곱할 때 배율을 언제 곱해야 하는가?
- 코드마다 곱해 두고 정수로 누적한다
- 누적을 절반 한 뒤 중간에 한 번 곱한다
- 왼쪽 배율만 먼저 곱하고 오른쪽은 나중에 곱한다
- 정수로 다 누적한 뒤 마지막에 두 배율을 곱한다
행렬을 텐서 하나의 배율로 접었을 때, 최대 절대 오차만 보면 안 되는 까닭은?
- 절대 오차는 배율과 무관한 값이기 때문이다
- 그 값은 폭이 가장 큰 행이 정해서 작은 행의 손해를 가리기 때문이다
- 절대 오차는 행 단위로는 계산할 수 없기 때문이다
- 반올림 규칙에 따라 부호가 달라지기 때문이다
어텐션 점수를 int8 로 구한 뒤 소프트맥스를 지나면 오차는 어떻게 되는가?
- 점수 오차에 정확히 비례해 확률 오차가 커진다
- 소프트맥스가 오차를 언제나 없애 준다
- 점수의 분포에 따라 커질 수도 묻힐 수도 있어 재 봐야 한다
- 확률이 정규화되므로 오차가 항상 0 이 된다