hiyouga/LlamaFactory
Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)
LlamaFactory – 100개 이상의 LLM을 위한 원클릭 미세 조정
소개 LlamaFactory는 오픈 소스 Python 라이브러리(PyPI에서도 제공)로, 고전적인 LLaMA 스타일 모델부터 멀티모달 LLaVA, Mistral, Mixtral‑MoE, Qwen, Gemma, GLM, Phi 등 다양한 대규모 언어 모델을 미세 조정할 수 있게 해줍니다. 코드 없는 CLI와 **Gradio 기반 웹 UI (LlamaBoard)**를 제공하므로 Python 스크립트를 작성하지 않고도 노트북, 클라우드 노트북 또는 다중 GPU 클러스터에서 학습을 시작할 수 있습니다.
중요성 최신 LLM을 미세 조정하려면 일반적으로 저수준 라이브러리(PEFT, DeepSpeed, FSDP 등)를 다루어야 합니다. LlamaFactory는 이러한 복잡성을 숨기고 최첨단 학습 기법(LoRA, QLoRA, FlashAttention‑2, Unsloth, Liger‑Kernel, KTransformers 등)과 최적화 도구(GaLore, BAdam, APOLLO, Muon, Adam‑mini, DoRA, LongLoRA 등)를 대거 통합했습니다. 그 결과, 단일 설정 파일만으로 수백만 개의 파라미터부터 70 B 규모의 모델까지 일반적인 하드웨어에서 학습할 수 있습니다.
주요 기능 (README에 나열된 내용)
- 모델 지원 – LLaMA‑1/2/3/4, LLaVA, Mistral, Mixtral‑MoE, Qwen 2/3, Qwen‑VL, DeepSeek, Gemma 3, GLM‑4, Phi‑4, InternLM, MiniCPM‑o, PaliGemma 등.
- 학습 방법 – 표준 지도 미세 조정, 지속적 사전 학습, 보상 모델링, PPO, DPO, KTO, ORPO 및 기타 선호도 학습 알고리즘.
- 파라미터 효율적 미세 조정 – 전체 정밀도 16‑bit, 고정 미세 조정, LoRA 및 2‑8‑bit QLoRA (AQLM, AWQ, GPTQ, LLM.int8, HQQ, EETQ).
- 성능 최적화 기법 – FlashAttention‑2, Unsloth, Liger‑Kernel, KTransformers, RoPE scaling, NEFTune, rsLoRA 등.
- 하드웨어 유연성 – NVIDIA GPU, AMD ROCm, Ascend NPU에서 작동하며, 2 × 24 GB GPU에서 70 B 모델을 위한 FSDP + QLoRA를 지원합니다.
- 추론 백엔드 – OpenAI 스타일 REST API, Gradio UI, CLI를 제공하며, 고처리량 서빙을 위해 vLLM 또는 SGLang 워커를 선택적으로 사용할 수 있습니다.
- 실험 추적 – TensorBoard, Weights & Biases, MLflow, SwanLab을 내장 지원합니다.
- 배포 – 체크포인트를 Hugging Face, ModelScope, Modelers Hub 또는 Ollama modelfiles로 내보내거나, OpenAI 호환 API 컨테이너로 실행할 수 있습니다.
- 커뮤니티 및 생태계 – Amazon, NVIDIA, Alibaba Cloud에서 사용 중이며, Discord, WeChat 그룹, 전용 블로그 및 Docker Hub의 Docker 이미지를 제공합니다.
일반적인 워크플로우
- 설치 (
pip install llamafactory또는 Docker 이미지 풀). - 데이터 준비 – README의
data-preparation섹션을 참조하여 텍스트, 채팅, 도구 호출, 이미지, 비디오 및 오디오 데이터셋에 대한 예제 스크립트를 확인하세요. - YAML 설정 파일 작성 – 모델, 학습 방법, LoRA/QLoRA 설정 및 원하는 성능 최적화 기법을 선택합니다.
- 실행 –
llamafactory train config.yaml(CLI) 또는 Gradio UI (llamafactory gui)를 실행하여 학습을 시작하고, LlamaBoard로 모니터링 및 로그를 확인합니다. - 내보내기 – 학습 후
llamafactory export를 사용하여 추론 준비가 된 모델을 생성하고, 내장된 OpenAI 호환 API 또는 vLLM 워커를 통해 서빙합니다.
시작하기 위한 리소스
- README의 Quickstart 섹션에서 최소한의 CLI 명령어를 확인할 수 있습니다.
- Colab notebook (무료 GPU) 및 PAI‑DSW 링크를 통해 클라우드 기반 테스트가 가능합니다.
- 문서 (
llamafactory.readthedocs.io) 및 성능 비교 위키가 제공됩니다. - KTransformers, 데이터 중심 파이프라인, 멀티모달 미세 조정을 다루는 블로그 게시물이 있습니다.
대상 사용자
- 학습 루프를 다시 작성하지 않고 여러 LLM 제품군을 실험해야 하는 연구원.
- 사용자 지정 어시스턴트를 미세 조정하고 배포하기 위한 코드 없는 UI가 필요한 제품 팀.
- LoRA/QLoRA를 사용하여 단일 GPU에서 7‑B 모델을 미세 조정하려는 취미 사용자.
- 대규모 모델 적응을 위한 확장 가능하고 재현 가능한 파이프라인이 필요한 기업(Amazon, NVIDIA, Alibaba).
설치 스니펫 (README에서 발췌)
# via pip
pip install llamafactory
# or pull the official Docker image
docker pull hiyouga/llamafactory
라이선스 – Apache 2.0 (라이선스 섹션에 명시됨).
위의 모든 세부 정보는 저장소의 README에서 직접 가져온 것이며, 추가된 기능은 없습니다.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트