[번역] Run DeepSeek R1 Dynamic 1.58-bit
아래 Run DeepSeek R1 Dynamic 1.58-bit 의 내용을 요약 및 번역한 자료입니다.

성능을 최대한 유지하면서 양자화하는 DeepSeek R1 기술에 대한 리뷰입니다.
DeepSeek R1 1.58비트 동적 양자화 모델 실행 가이드
DeepSeek R1은 오픈소스로 공개되며 GPT-4 수준의 추론 성능을 유지한 채 모델 크기를 혁신적으로 축소했습니다. 하드웨어 제약을 줄이면서도 효율적인 실행이 가능해, 개인 및 연구자에게 실용적인 AI 도구로 주목받고 있습니다.
- 혁신적인 모델 경량화 성과
- DeepSeek R1 671B 모델을 131GB로 80% 축소 (원본 720GB → 131GB).
- 동적 양자화 기술 적용: 중요 레이어(4비트)와 MoE 레이어(1.5비트)를 선택적 양자화하여 성능 유지.
- 전체 레이어 양자화 시 발생하는 오류(무한 루프, 출력 오류) 해결.
- 실행 환경 및 성능
- 최적 하드웨어: 160GB VRAM(2x H100 80GB)에서 초당 140토큰 처리량, 단일 사용자 시 14토큰/초 성능.
- 저사양 대안: 20GB RAM(CPU)으로도 실행 가능하나 속도 저하. 권장 사양은 VRAM + RAM ≥ 80GB.
- 실행 가이드: Guide to Run R1 및 HF 저장소에서 모델 다운로드 가능.
- 다양한 양자화 버전 및 업데이트
- 4가지 동적 양자화 버션 제공:
- 131GB (IQ1_S) ~ **212GB (Q2_K_XL)**까지 품질별 선택 가능.
- 중요도 매트릭스(imatrix) 기반 보정으로 저비트 표현 최적화.
- 2025년 2월 6일 업데이트: GRPO + Unsloth로 사용자 맞춤형 추론 모델 학습 가능.
- 4비트, 경량화 버전 등 전체 모델 컬렉션은 HF 컬렉션에서 확인.
- 4가지 동적 양자화 버션 제공:
DeepSeek R1 양자화 모델 성능 벤치마크 및 평가
DeepSeek R1의 동적 양자화 기술은 모델 크기를 획기적으로 줄이면서도 높은 정확도를 유지함을 실험으로 입증. 반면, 균일 양자화는 출력 오류와 성능 저하를 초래해 동적 접근법의 필수성이 강조됩니다. 사용자는 하드웨어 제약에 따라 1.58비트(131GB) 또는 2.22비트(183GB) 버전을 선택할 수 있습니다.
- 독창적인 벤치마크 방법론
- Flappy Bird 게임 생성 테스트로 모델 성능 평가:
- pass@3(3회 시도) 방식 적용, 10개 기준(랜덤 색상/모양, Python 실행 가능성 등)으로 점수화.
- 특정 시드(3407, 3408, 3409)와 온도 0.6 설정으로 재현성 확보.
- Flappy Bird 게임 생성 테스트로 모델 성능 평가:
- 동적 양자화 버전의 우수한 성능
- 1.58비트 동적 양자화(131GB)
- 80% 크기 축소에도 69.2% 정확도 달성 (Flappy Bird 테스트).
- 가끔 8,000토큰당 1회 오류 발생 → min_p=0.1/0.05 설정으로 완화 가능.
- 2.22비트 버전(183GB)
- 91.7% 정확도로 최고 성능 기록.
- 1.58비트 동적 양자화(131GB)
- 비동적 양자화의 심각한 결함
- 모든 레이어 균일 양자화 시 문제:
- 무한 반복 출력
- (예: “Colours with dark…” 반복).
- 1.58비트 균일 양자화 → 0% 정확도
- 1.75비트(149GB) → 검은 화면 출력.
- 무한 반복 출력
- 높은 비트수도 해결 안 됨:
- 2.06비트(175GB) → 61.7% 정확도로 동적 1.58비트(69.2%)보다 낮음.
- 모든 레이어 균일 양자화 시 문제:
- 성능 비교 표 요약모델 사양동적 양자화 점수기본 양자화 점수
- 131GB (1.58비트)6.92/100/10183GB (2.22비트)9.17/106.17/10 (175GB)
DeepSeek R1 아키텍처 최적화 전략
DeepSeek R1의 아키텍처를 계층별 민감도 분석을 통해 전략적 양자화를 적용, 모델 효율성을 극대화. down_proj와 같은 핵심 레이어는 고정밀도 유지하며, MoE 가중치 대부분을 1.58비트로 압축해 성능 저하 없이 크기를 획기적으로 줄인 사례를 제시했습니다. 이는 대규모 언어 모델의 배포용 최적화에 새로운 방향성을 제시합니다.
- MoE와 밀집 레이어의 전략적 분리
- 초기 3개 밀집 레이어(Dense)는 전체 가중치의 0.5%만 차지 → 4/6비트로 양자화 유지.
- MoE 레이어는 공용 전문가(Shared Experts) 활용, 가중치 1.5% → 6비트 적용.
- MLA 어텐션 모듈은 가중치 5% 미만 → 4/6비트 처리, 출력 레이어(3%)는 고정밀도 유지.
- down_proj 레이어의 민감도 대응
- down_proj는 양자화에 가장 취약 (특히 초기 레이어):
- SwiGLU 함수의 수학적 구조(up/gate 프로젝션 값 증폭 → down_proj에서 스케일 조정)로 인해 고정밀도 필요.
- Super Weights 논문에서도 down_proj의 중요 가중치 보존 권고 → 초기 3~6개 MoE down_proj는 고비트 유지.
- 임베딩 & lm_head: 각각 4비트, 6비트 처리.
- MoE 라우터 & 레이어 노름: 32비트 완전 보존.
- down_proj는 양자화에 가장 취약 (특히 초기 레이어):
- 효율적 양자화 구현 기술
- 4가지 방법론 통합:
- 4비트 동적 양자화
- 1.58비트 LLM 논문 기법
- llama.cpp의 1.5비트 양자화
- Super Weights 논문의 핵심 가중치 식별
- MoE 가중치 88%를 1.58비트로 압축 → 모델 크기 대폭 감소.
- 개발 도구:
- 수정된 llama.cpp 포크 공개: github.com/unslothai/llama.cpp
- Bartowski의 중요도 매트릭스(imatrix)를 저비트 양자화에 활용.
- 4가지 방법론 통합: