LightCompress

LLM FrameworksCLIPython

★ 747주당 +1조회 4

무엇인가

LightCompress는 학습 후 압축(post-training compression)을 수행하는 CLI 툴킷이다. 대상 모델은 LLM, VLM, 비디오 생성 모델이다. 저장소는 원래 LLMC라는 이름으로 공개됐다가 LightCompress로 개명됐다. 압축 알고리즘을 모델 구현과 분리해 설정 파일로 지정하는 구조를 취한다.

어떻게 동작하나

동작은 캘리브레이션 데이터로 가중치 통계를 수집한 뒤 알고리즘을 적용하는 순서로 진행된다. 정수 양자화와 부동소수점 양자화를 기본으로 하고, AWQ·GPTQ·SmoothQuant·QuaRot·RTN을 알고리즘으로 쓴다. 희소화에는 Wanda와 Magnitude(Naive)를 쓴다. 레이어별 혼합 비트와 static per-tensor 활성값 양자화를 지원한다. VLM 쪽은 토큰 축소와 양자화를 합쳐 20여 개 알고리즘을 갖췄다. 결과물은 save_lightllm, save_trans 같은 save 모드로 내보내며, 실제 양자화된 INT4/INT8/FP8 가중치를 VLLM·SGLang·AutoAWQ·MLC-LLM·lightx2v 백엔드 포맷으로 저장한다.

무엇과 다른가

개별 추론 백엔드가 딸려 보내는 양자화 스크립트는 그 백엔드 포맷 하나만 만든다. LightCompress는 알고리즘 선택, 포맷 변환, 정확도 평가를 한 파이프라인 안에 둔다. DeepSeek V3·R1·R1-zero 같은 671B MoE 모델의 FP8 가중치를 별도 변환 없이 읽는다. AWQ와 RTN 양자화는 80GB GPU 한 장에서 실행된다.

어떻게 쓰나

실행 환경은 Docker 이미지 또는 Python 3.11 로컬 설치다. 중국 본토 사용자는 알리바바 클라우드 Docker 이미지를 쓰도록 안내한다. 설정 파일에서 모델, 알고리즘, 캘리브레이션 데이터, save 모드를 지정하고 CLI로 돌린다. 정확도 평가는 수정된 lm-evaluation-harness의 run_lm_eval.sh 또는 opencompass로 이어서 수행한다.

전제와 한계

Python 3.11을 권장하며 3.12는 현재 의존성 조합에서 상대적으로 불안정하다. 양자화 알고리즘 상당수가 캘리브레이션 데이터를 전제로 한다. 내보낸 가중치는 지정한 백엔드 포맷에 묶인다. 문서는 영어와 중국어 두 갈래로 나뉜다.

관련 논문 3

유사 도구