위키득계정 ↗
기술

BitNet

BitNet기술
주요 층
BitLinear
원래 가중치 표현
이진 값
학습 방식
저비트 구조에 맞춘 학습
주요 대상
언어 모형
BitNet은 선형층을 저비트 계산 구조로 바꾸고 처음부터 그 구조에 맞춰 학습하는 트랜스포머 계열이다. 원래 제안에서는 BitLinear 층을 이용해 이진 가중치를 학습한다.

학습과 변환의 차이

일반 정밀도로 학습한 가중치를 나중에 반올림하는 방법과 달리 저비트 선형 계산을 학습 과정에 포함한다. 이미 있는 어떤 언어 모형도 파일 형식만 바꾸면 같은 성능의 BitNet이 되는 것은 아니다. 구조와 학습 방법을 함께 살펴야 한다.

부호 내적의 독립 예제

이진 가중치가 1, -1, 1이고 입력이 2, 5, 4라면 내적은 2-5+4=1이다. 가중치의 크기가 두 값으로 제한되면 일반적인 실수 가중치 곱을 다른 형태로 구현할 여지가 생긴다. 이 예에는 실제 층의 스케일과 정규화 과정이 생략되어 있다.

비트 수가 가리키는 범위

가중치의 저비트 표현이 활성값, 정규화, 누적 결과까지 모두 한 비트라는 뜻은 아니다. 스케일과 학습 중 상태 등 다른 정보도 필요하다. 전체 메모리를 계산할 때에는 가중치의 핵심 표현 외에 이런 비용을 포함한다.

효율을 판단하는 조건

이론적인 저장량 감소가 실제 속도나 전력 감소와 항상 같은 비율로 이어지지는 않는다. 해당 연산을 지원하는 커널과 하드웨어가 중요하다. 일반 정밀도 모형과 비교할 때에는 모형 크기와 학습량, 품질 및 실행 조건을 함께 맞춘다.

관련 문서

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