피드로 돌아가기
StackLLaMA: A hands-on guide to train LLaMA with RLHF
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face가 LLaMA 7B 모델에 LoRA 8bit 로딩과 RLHF 파이프라인을 적용해 단일 GPU에서 대규모 언어모델 학습을 가능하게 함

StackLLaMA: A hands-on guide to train LLaMA with RLHF

2023년 4월 5일12intermediate

Context

ChatGPT, GPT-4, Claude 같은 강력한 언어모델들은 인간 피드백 강화학습(RLHF)으로 미세조정되어 있으나, 7B 파라미터 모델도 bf16 기준 70GB 이상의 메모리가 필요해 단일 A100 80GB GPU로도 학습 불가능한 상황이었다.

Technical Solution

  • LLaMA 7B 모델을 8bit 양자화로 메모리 축소: 원본 14GB(bf16)에서 7GB로 감소
  • LoRA(Low-Rank Adaptation)를 통한 파라미터 효율화: 어텐션 계층에만 소형 어댑터 계층 추가해 학습 파라미터 대폭 감소
  • Stack Exchange 데이터셋 전처리: 질문당 최대 10개 답변 쌍 샘플링 및 HTML을 Markdown으로 변환해 비교 학습 데이터 구성
  • 3단계 학습 파이프라인 구현: Supervised Fine-tuning(SFT) → Reward Modeling(RM) → RLHF 순차 진행
  • 데이터 병렬화 지원: 동일 학습 설정을 여러 GPU에 복제해 배치를 분산 처리하는 확장 옵션 제공

Impact

단일 80GB A100 GPU에서 대규모 모델 학습 가능(50-60B 파라미터 규모까지 지원 가능), 소비자급 장비와 Google Colab에서도 미세조정 가능(facebook/opt-6.7b는 13GB, openai/whisper-large는 15GB GPU RAM에서 학습 실현)

Key Takeaway

대규모 언어모델의 RLHF 학습은 8bit 로딩과 LoRA를 결합한 PEFT 기법으로 메모리 제약을 90% 이상 완화할 수 있으며, TRL 라이브러리 같은 통합 도구를 활용하면 엔지니어들이 복잡한 RLHF 파이프라인을 단일 GPU에서 직접 구현 가능하다.


대규모 언어모델을 미세조정하거나 특정 도메인에 적응시켜야 하는 팀이라면, peft 라이브러리로 8bit 로딩과 LoRA를 적용하면 기존 A100 고가 장비 대신 단일 GPU 또는 소비자급 GPU에서 학습을 시작할 수 있으며, 필요시 데이터 병렬화로 추가 GPU를 활용한 확장이 코드 변경 없이 가능하다.

원문 읽기