LlamaFactory
무엇인가
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
유사 도구
- LightCompressLLM·VLM·비디오 생성 모델의 가중치를 양자화·희소화해 실제 INT4/INT8/FP8 모델로 내보내는 Python 압축 툴킷이다.
- lorax단일 GPU에서 수천 개의 LoRA 어댑터를 동시에 서빙하는 LLM 추론 서버다. 요청마다 어댑터를 즉시 로드하고 배치에 묶어 처리한다.
- RAG-FiTRAG 파이프라인의 데이터 생성·파인튜닝·추론·평가를 Hydra 설정 파일로 묶어 실행하는 Python 프레임워크다.
- evalscopeLLM·VLM·임베딩·AIGC 모델의 벤치마크 평가와 추론 성능 스트레스 테스트를 명령 하나로 실행하고 웹 대시보드로 시각화하는 Python 프레임워크다.
- locally-uncensored채팅·이미지·영상 생성·코딩 에이전트를 한 창에 묶은 데스크톱 로컬 AI 스튜디오다. 추론 엔진과 ComfyUI를 자동으로 설치·관리한다.