turboderp-org/exllamav3
An optimized quantization and inference library for running LLMs locally on modern consumer-class GPUs
ExLlamaV3란 무엇인가?
ExLlamaV3는 소비자용 GPU에서 대규모 언어 모델(LLM)을 로컬로 실행할 수 있는 Python 라이브러리입니다. 빠른 추론에 중점을 두고 다음을 제공합니다:
- EXL3 양자화 – QTIP 연구 논문에서 파생된 저비트(2-8비트) 가중치 형식과 선택적 저비트 캐시 양자화를 통해 메모리 사용량을 크게 줄이면서 높은 품질을 유지합니다.
- 병렬 추론 – 텐서 병렬 및 전문가 병렬 실행을 통해 모델을 여러 GPU에 분할하거나 GPU 메모리가 제한된 경우 CPU와 GPU에 분할할 수 있습니다.
- CPU 오프로딩 – MoE(혼합 전문가) 모델은 계산의 일부를 CPU로 이동하여(AVX2/AVX512 지원) 적당한 GPU에서 실행할 수 있습니다.
- 동적 생성 기능 – 연속 배치 처리, 추측 디코딩, 멀티모달(이미지-텍스트) 지원.
- 통합 – Hugging Face 모델 로더, 소규모 Transformers 호환 래퍼, 별도의 TabbyAPI 서버를 통한 OpenAI 스타일 API.
요컨대, ExLlamaV3는 단일 RTX 40xx/50xx 카드 또는 적당한 멀티 GPU 구성에서 최첨단 LLM(Llama 3, Gemma 4, Qwen 3.5 등)을 실행하는 것을 실용적으로 만드는 추론 엔진입니다.
주요 기능(전문 용어 최소화)
| 기능 | 사용자에게 의미 |
|---|---|
| EXL3 양자화 | 모델 가중치가 2-8비트 형식으로 저장되어 전체 정밀도 모델에 비해 메모리 요구량을 최대 4-8배 줄입니다. |
| 병렬 및 전문가 병렬 추론 | 라이브러리는 작업을 여러 GPU 또는 GPU와 CPU 간에 분할할 수 있어 단일 장치에 맞지 않는 더 큰 모델을 실행할 수 있습니다. |
| CPU 오프로딩 | 일반적으로 여러 GPU가 필요한 MoE 모델도 단일 GPU와 CPU 리소스로 실행할 수 있습니다. |
| 동적 배치 처리 및 추측 디코딩 | 엔진은 여러 요청을 그룹화하고 다음 토큰을 추측하여 GPU를 계속 사용하게 하여 응답 시간을 단축합니다. |
| 멀티모달 지원 | 이미지를 허용하는 일부 모델(예: Qwen-2.5 VL)은 기본적으로 지원됩니다. |
| 쉬운 통합 | 제공된 examples/chat.py CLI를 사용하거나 Hugging Face Transformers에 연결하거나 OpenAI 호환 HTTP API(TabbyAPI)를 통해 모델을 노출합니다. |
| 광범위한 모델 지원 | Llama 1-3부터 Gemma 4, Qwen 3-5, Mistral, Mixtral 및 많은 MoE 변형까지 40개 이상의 모델 제품군이 나열됩니다. |
시작하기(설치)
- 최신 PyTorch 빌드가 있는지 확인하세요(CUDA 12.4+). 이 라이브러리는 PyTorch를 자동으로 설치하지 않습니다.
- 다음 중 하나를 선택하세요:
- 사전 빌드된 wheel – 릴리스 페이지에서 일치하는
exllamav3-<version>+cuXXX.torch2.x.x-...whl을 다운로드하고pip install <url>을 실행합니다. - PyPI –
pip install exllamav3(네이티브 확장을 빌드하려면 CUDA 툴킷과 C++ 컴파일러가 필요합니다). - 소스에서 빌드 – 저장소를 클론하고 CUDA 버전에 맞는
--extra cuXXX플래그(예: CUDA 12.8의 경우cu128)와 함께uv또는pip를 사용합니다. README에는 특정 PyTorch 버전을 고정하는 방법을 포함한 네 가지 자세한 옵션이 있습니다.
- 사전 빌드된 wheel – 릴리스 페이지에서 일치하는
- 설치 후 예제 CLI를 실행합니다:
모든 옵션을 보려면python examples/chat.py -m <model_folder> -mode <prompt_mode>-h를 사용하세요.
일반적인 워크플로우
- Hugging Face에서 모델을 다운로드합니다(또는 커뮤니티 컬렉션의 이미 양자화된 EXL3 모델을 사용).
- 모델을 EXL3 형식으로 변환합니다:
변환기는 Hessian 기반 보정을 자동으로 처리합니다. 큰 모델은 고급 GPU에서 몇 시간이 걸릴 수 있습니다.python convert.py -i <hf_dir> -o <exl3_dir> -b 4 # 4비트 예시 - CLI, Transformers 래퍼를 통해 추론을 실행하거나 TabbyAPI 서버를 시작하여 OpenAI 호환 엔드포인트를 노출합니다.
- (선택 사항)
optimize.md가이드를 사용하여 추가로 미세 조정 또는 보정합니다.
누가 사용할까요?
- 연구자 및 취미 사용자 – 클라우드 GPU를 임대하지 않고 최신 LLM을 실험하려는 사람.
- 로컬 AI 어시스턴트를 구축하는 개발자 – 빠른 응답 시간과 낮은 메모리 사용량이 필요한 사람.
- 프라이빗 추론 서비스를 배포하는 팀 – TabbyAPI 서버를 사용하면 방화벽 뒤에서 OpenAI 스타일 API로 모델을 제공할 수 있습니다.
- 양자화 연구에 관심이 있는 모든 사람 – 이 라이브러리는 QTIP 기반 EXL3 방법을 구현하고 프로세스를 검사/조정하는 도구를 제공합니다.
커뮤니티 및 리소스
- Discord – https://discord.gg/NSFwVuCjRq 도움말, 모델 공유 및 개발 토론용.
- Hugging Face 모델 허브 – 바로 사용할 수 있는 EXL3 양자화 모델의 선별된 컬렉션.
- 승인된 프로젝트 – PyTorch, FlashAttention, QTIP, Marlin 및 기타 오픈 소스 커널을 기반으로 구축되었습니다.
요약
ExLlamaV3는 소비자용 GPU에서 최신 LLM을 실행하기 위한 고성능, 양자화 인식 추론 엔진입니다. 저비트 가중치 저장, 유연한 병렬 처리, CPU 오프로딩, 기존 Python 도구 또는 OpenAI 호환 API와의 쉬운 통합을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트