LlamaFactory

LLM FrameworksCLIPython

★ 74,726주당 +213조회 4

무엇인가

LlamaFactory는 대규모 언어 모델과 비전-언어 모델의 파인튜닝 절차를 단일 설정 체계로 통합하는 Python 프레임워크다. 모델마다 학습 스크립트를 따로 두는 대신, 학습 단계와 기법을 조합 가능한 옵션으로 취급한다. ACL 2024에 발표됐고 Amazon, NVIDIA, Aliyun 등이 사용한다.

어떻게 동작하나

학습은 YAML 설정 파일 하나로 지정한다. model_name_or_path, stage(사전학습·SFT·보상 모델링·PPO·DPO·KTO·ORPO), finetuning_type(full·freeze·LoRA), quantization_bit 같은 키를 채우고 llamafactory-cli train을 실행하면 Hugging Face Trainer 기반 학습 루프가 돈다. 데이터셋은 dataset_info.json에 이름과 파일 경로를 등록해 참조한다. 웹 UI인 LLaMA Board는 같은 옵션을 Gradio 폼으로 노출한다. 학습 로그는 TensorBoard, Wandb, MLflow, SwanLab으로 내보내고, 추론은 vLLM 또는 SGLang 워커를 붙여 OpenAI 호환 API·Gradio UI·CLI로 제공한다.

무엇과 다른가

각 모델 저장소가 제공하는 단일 학습 스크립트는 모델 구조가 바뀔 때마다 코드를 고쳐야 한다. LlamaFactory는 모델·어댑터·학습기 사이에 계층을 두어 같은 설정으로 모델만 교체할 수 있게 한다. LoRA 계열 변형(LoRA+, DoRA, PiSSA, LoftQ, rsLoRA), 옵티마이저(GaLore, BAdam, APOLLO, Adam-mini, Muon), 커널 가속(FlashAttention-2, Unsloth, Liger Kernel, KTransformers)이 설정 키로 선택된다.

어떻게 쓰나

설치 후 llamafactory-cli webui로 GUI를 띄우거나 llamafactory-cli train <config.yaml>로 바로 학습한다. Docker 이미지 빌드, Colab, PAI-DSW, AMD GPU Cloud 노트북이 함께 제공된다. 모델은 Hugging Face 외에 ModelScope Hub와 Modelers Hub에서 받을 수 있고, 체크포인트를 내보낼 때 Ollama modelfile을 함께 저장할 수 있다.

전제와 한계

Python과 PyTorch 실행 환경이 필요하고, 16비트 전체 튜닝은 모델 크기에 맞는 GPU 메모리를 요구한다. 양자화(AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ)와 커널 가속은 해당 라이브러리를 별도로 설치해야 동작한다. Megatron-core 학습 백엔드는 mcore_adapter를 통해, Ascend NPU와 AMD ROCm은 별도 문서를 통해 지원된다. README는 공식 링크 외 서드파티 사이트 사용에 주의하라고 명시한다.

관련 논문 4

유사 도구