LightCompress
무엇인가
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
유사 도구
- lmdeployLLM을 4bit로 압축해 GPU에서 서빙하는 파이썬 툴킷이다. TurboMind와 PyTorchEngine 두 추론 엔진, OpenAI 호환 API 서버를 포함한다.
- llama.cppC/C++로 작성된 LLM·VLM 추론 엔진이다. ggml 위에서 GGUF 양자화 모델을 CPU·GPU로 실행하며 외부 의존성이 없다.
- llmfit에이전트가 로컬 LLM 실행 가능 여부를 추측하지 않도록, 하드웨어를 탐지해 양자화별 메모리·속도 적합도를 계산하는 CLI 스킬이다.
- cactus모바일·웨어러블에서 LLM·VLM·음성 모델을 실행하는 C++ 추론 엔진이자 CLI다. 양자화 커널과 런타임을 함께 포함한다.