Q4_0 모델 파일에서 반복되는 스케일 값을 줄이는 실험

Q4_0 파일 안에는 같은 스케일 값이 여러 번 반복될 수 있다. .5 2B와 에서 이런 반복이 확인됐다. 아이디어는 스케일 값을 매번 저장하지 않고, 미리 정리한 스케일 목록의 번호만 저장하는 방식이다.

Q4 모델은 약 15GB인데, 이 방식으로 최소 318MB를 줄일 수 있다는 계산이 나왔다. 예시 계산에서는 64개 층 중 일부 하위 층만 봤고, ffn_down, ffn_gate, ffn_up 각각은 89,128,960개의 가중치를 가진다. Q4_0에서는 가중치 32개마다 BF16 스케일 하나가 붙어서, 하위 층 하나에 스케일이 2,785,280개 생긴다.

다른 하위 층까지 포함하면 줄일 수 있는 공간은 더 있을 수 있다. 다만 실제 추론에서 이 번호를 다시 스케일 값으로 바꾸는 맞춤 코드가 필요하다.

핵심 포인트

  • .5 2B와 에서 반복되는 스케일 값이 확인됐다.
  • 스케일 값을 직접 저장하지 않고 목록 번호만 저장하면 파일 크기를 줄일 수 있다.
  • Q4 기준 최소 318MB 절감 가능성이 계산됐다.
  • Q4_0에서는 가중치 32개마다 BF16 스케일 하나가 붙는다.
  • 실제로 쓰려면 맞춤 추론 코드가 필요하다.
원문 보기