FujitsuResearch/OneCompression

Python package for LLM compression

해결하는 문제

OneCompression (OneComp)는 정확도를 크게 훼손하지 않으면서 모델의 메모리 사용량과 하드웨어 요구 사항을 줄이기 위해 대규모 언어 모델(LLM)을 완전히 자동화된 파이프라인으로 압축하는 도구를 제공합니다. 비트 폭 선택, 알고리즘 적용, 결과 평가와 같은 복잡한 양자화 과정을 간소화된 워크플로우로 단순화합니다.

작동 방식

OneComp는 모델 가중치의 정밀도를 낮추기 위해 다양한 사후 훈련 양자화(PTQ) 기법을 사용합니다. AutoBit 기능을 통해 사용 가능한 GPU VRAM을 자동 감지하고, 각 레이어에 최적의 비트 폭을 결정할 수 있습니다. 주요 기술적 방법은 다음과 같습니다:

  • 양자화 오차 전파(QEP): 오차를 다음 레이어로 전파하여 보정합니다.
  • 레이어 프로젝션 좌표 강하(LPCD): 임의의 하위 모듈에 걸쳐 양자화를 최적화하는 통합 프레임워크입니다.
  • MDBF(다중 레이어 이중 이진 인수분해): 이진 인수분해를 사용해 1비트 미만의 강력한 압축을 가능하게 합니다.
  • 회전 전처리: 양자화 전에 최적의 회전 행렬을 학습하기 위해 SpinQuant/OstQuant를 사용하여 양자화 오차를 줄입니다.
  • 사후 처리: 블록 단위의 증류와 LoRA SFT 피니셔닝을 통해 양자화 후 정확도를 회복합니다.

대상 사용자

제한된 VRAM을 가진 로컬 하드웨어에서 LLM을 배포하고자 하는 개발자 및 연구자, 또는 고효율 모델 배포를 위해 고급 양자화 알고리즘을 실험하고자 하는 분들에게 적합합니다.

주요 특징

  • 원라인 자동화: 간단한 CLI 명령어 또는 Python API를 사용해 모델을 자동으로 양자화할 수 있습니다.
  • vLLM 통합: 내장된 플러그인을 통해 vLLM을 통해 양자화된 모델을 효율적으로 제공할 수 있습니다.
  • 혼합 정밀도 지원: 메모리 예산에 따라 각 레이어에 비트 폭을 자동 할당합니다.
  • 광범위한 아키텍처 지원: Llama, Qwen, Gemma, GPT-OSS 아키텍처에서 검증되었습니다.
  • GGUF 내보내기: llama.cpp 및 Ollama에서 사용 가능한 GGUF 형식으로 모델을 변환하는 내장 지원이 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트