LLM 파인튜닝이 어려워서 포기하고 싶었던 적이 있나요? 복잡한 코드와 환경 설정 때문에 머리가 아팠다면, 이제 걱정하지 마세요! LlamaFactory가 여러분의 구원자가 되어드립니다 😎
등장 배경
과거에는 LLM 파인튜닝이 정말 복잡했어요. Hugging Face Transformers 라이브러리가 나와서 많이 편해졌지만, 여전히 많은 문제가 있었습니다:
기존의 문제점들:
- 환경 설정의 지옥: GPU 환경 구성, 라이브러리 호환성 체크, CUDA 버전 맞추기 등 설치만으로도 몇 시간이 걸렸어요
- 복잡한 코드 작성: 각 파인튜닝 단계마다 다른 스크립트를 작성해야 했고, 데이터 전처리부터 학습까지 모든 걸 직접 코딩해야 했습니다
- 메모리 관리의 어려움: 대용량 모델을 작은 GPU에서 돌리는 것은 거의 불가능했어요
LlamaFactory는 이 모든 문제를 한 번에 해결해주는 통합 LLM 파인튜닝 플랫폼입니다!
핵심 원리
LlamaFactory는 No-Code/Low-Code 접근 방식으로 설계되었습니다:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 웹 UI 또는 │───▶│ 자동 환경 설정 │───▶│ 원클릭 학습 │
│ CLI 인터페이스 │ │ 및 최적화 │ │ 및 평가 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
주요 특징들:
기능 | 설명 | 장점 |
---|---|---|
100+ 모델 지원 | LLaMA, Mistral, Qwen, ChatGLM 등 | 다양한 모델을 하나의 인터페이스로 |
다양한 파인튜닝 방법 | SFT, PPO, DPO, LoRA, QLoRA 등 | 목적에 맞는 최적의 방법 선택 |
메모리 최적화 | 4bit/8bit 양자화, FlashAttention | 작은 GPU에서도 대형 모델 학습 |
웹 UI 제공 | Gradio 기반 직관적 인터페이스 | 코딩 없이 클릭만으로 학습 |
설치 방법
1. 기본 환경 준비
# Python 3.8+ (권장: 3.11+)
# CUDA 11.6+ (GPU 사용 시)
# 최소 4GB 메모리 (8GB 권장)
2. LlamaFactory 설치
# 저장소 클론
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
# 가상환경 생성 (권장)
conda create -n llama_factory python=3.10
conda activate llama_factory
# 의존성 설치
pip install -e ".[torch,metrics]"
# 또는
pip install -r requirements.txt
3. 설치 확인
llamafactory-cli --help
이 명령어가 성공하면 설치 완료! 🎉
사용 방법
웹 UI로 시작하기
가장 쉬운 방법은 웹 UI를 사용하는 것입니다:
llamafactory-cli webui
브라우저에서 http://localhost:7860
으로 접속하면 깔끔한 웹 인터페이스가 나타납니다!
웹 UI 주요 탭들:
- 🏋️♂️ Train: 모델 학습 설정 및 실행
- 📊 Eval: 학습된 모델 평가
- 💬 Chat: 모델과 대화 테스트
- 📤 Export: 학습된 모델 내보내기
CLI로 학습하기
터미널을 선호한다면 CLI도 가능해요:
# 학습 실행
llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
# 모델과 채팅
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
Docker로 간편하게
환경 설정이 복잡하다면 Docker를 추천해요:
# Docker 컨테이너 실행
docker run --gpus all -v /your/data:/app/data \
-p 7860:7860 llamafactory:latest \
llamafactory-cli webui
실제 사용 예시
1. 모델 선택
웹 UI에서 Model Name을 선택합니다:
meta-llama/Llama-2-7b-hf
(라마 2)microsoft/DialoGPT-medium
(대화형 모델)Qwen/Qwen-7B-Chat
(중국어 지원)
2. 데이터셋 준비
data/dataset_info.json
에 커스텀 데이터셋을 등록:
{
"my_dataset": {
"file_name": "my_data.json",
"formatting": "alpaca",
"columns": {
"prompt": "instruction",
"query": "input",
"response": "output"
}
}
}
3. 학습 설정
- Finetuning method: LoRA (메모리 효율적)
- Learning rate: 5e-5 (일반적 값)
- Batch size: 4 (GPU 메모리에 따라 조정)
4. 학습 시작
Start 버튼 클릭하면 자동으로 학습이 진행됩니다! 📈
주의사항 및 팁 💡
⚠️ 이것만은 주의하세요!
CUDA 버전 호환성
- CUDA 11.6 이상 필요
- PyTorch와 CUDA 버전이 맞지 않으면 설치 실패
- 해결:
pip install torch --index-url https://download.pytorch.org/whl/cu118
메모리 부족 문제
- 8B 모델도 최소 16GB VRAM 필요
- 해결: 4bit 양자화 사용, 배치 크기 줄이기
패키지 버전 충돌
- 다른 프로젝트와 패키지 버전 충돌 가능
- 해결: 독립된 가상환경 사용 필수
💡 꿀팁
- 배치 크기 조정: GPU 메모리에 맞춰 배치 크기를 조정하세요 (4GB → batch_size=1)
- 체크포인트 활용: 학습이 중단되어도
output_dir
에서 이어서 학습 가능 - LoRA 사용: 전체 파인튜닝보다 10배 빠르고 메모리도 절약
- 데이터 검증: 학습 전 데이터 포맷을 반드시 확인하세요
마치며
지금까지 LlamaFactory에 대해 알아보았습니다. 복잡했던 LLM 파인튜닝이 이제는 몇 번의 클릭만으로 가능해졌어요! 웹 UI를 통해 직관적으로 모델을 학습시키고, 다양한 최적화 기법을 쉽게 적용할 수 있습니다.
특히 No-Code 접근 방식 덕분에 AI 전문가가 아니어도 자신만의 LLM을 만들 수 있다는 점이 정말 혁신적이에요. 여러분도 LlamaFactory로 첫 번째 파인튜닝에 도전해보세요! 🌟
참고 자료 🔖
#LlamaFactory #LLM파인튜닝 #머신러닝 #AI #인공지능 #파이토치
'400===Dev Library > Fine-Tuning' 카테고리의 다른 글
파인튜닝 방법 완전정복 - 전체 파인튜닝, LoRA, QLoRA 비교 🧠 (0) | 2025.03.23 |
---|---|
오픈소스 도구로 시작하는 AI 모델 파인튜닝 완전 정복 🚀 (0) | 2025.03.23 |