위키득계정 ↗
기술

BitNet b1-58

BitNet b1-58기술
원래 표기
BitNet b1.58
가중치 상태
-1과 0과 1
정보량
log₂3 약 1.585비트
계열
저비트 학습 언어 모형
BitNet b1.58은 저비트 언어 모형의 가중치를 -1, 0, 1의 세 값으로 표현하는 BitNet 변형이다. 이름의 1.58은 세 가지 상태를 나타내는 정보량 log₂3의 근삿값이다.

세 값의 표현

이진 가중치에 0 상태를 더하면 어떤 입력 기여를 생략할 수 있다. 실수 가중치를 자유롭게 저장하는 대신 세 값과 스케일을 이용하는 구조다. 이는 기존 고정밀 모형을 그대로 세 값으로 바꾸어도 품질이 유지된다는 보장이 아니다.

독립 내적 예제

가중치가 -1, 0, 1이고 입력이 7, 9, 4라면 내적은 -7+0+4=-3이다. 가운데 입력은 이 가중치 조합에서 결과에 기여하지 않는다. 실제 층은 추가 스케일 등을 사용하므로 이 계산만으로 전체 모형 출력을 재현할 수는 없다.

정보량과 저장량

세 상태의 정보량은 약 1.585비트이지만 한 가중치를 단순한 고정 폭 정수로 따로 저장하면 두 비트가 필요하다. 여러 값을 묶는 포장 방식과 부가 정보에 따라 실사용 저장량이 달라진다. 이름을 곧바로 파일의 정확한 비트 수로 해석하면 안 된다.

비교의 기준

저비트 구조를 학습하는 비용과 추론 시 절약하는 비용을 구분한다. 품질 평가는 같은 규모와 학습량 등 비교 조건에 영향을 받는다. 가중치 이외의 캐시, 활성값, 실행 커널의 비용도 남으므로 실제 장치에서 메모리와 지연시간을 따로 확인한다.

관련 문서

BitNet / 신경망 양자화 / 언어 모형 / 트랜스포머 / AWQ 양자화 / GPTQ 양자화