직접 실습하며 배우는 LLM 파인튜닝 및 모델 최적화 — SFT, LoRA, DPO, 양자화, 증류를 CPU만으로 경험하기
요약
본 교재는 RAG나 프롬프트만으로는 해결하기 어려운 문제에 대응하기 위해 LLM 자체를 학습하고 경량화하는 실습을 제공합니다. SFT, LoRA, DPO, 양자화, 증류 등 핵심 기술들을 CPU 환경에서 직접 경험하며 모델 최적화 능력을 기르는 것이 목표입니다.
핵심 포인트
- SFT, LoRA, DPO 등 주요 학습 기법을 CPU로 실습 가능
- 데이터 설계부터 토크나이저 처리까지 전 과정 학습
- 양자화(int8/int4) 및 증류를 통한 모델 경량화 원리 이해
- 학습 실패 진단 및 재현성 확보 방법론 습득
<<교재의 목적과 대상>> 본 교재는 프롬프트와 RAG로는 해결할 수 없는 요구사항(출력 형식을 엄격히 지키게 하기, 전문 용어의 표현을 통일하기, 작고 저렴하며 빠른 모델로 끝내기)에 대해, 모델 자체를 학습하고 경량화하여 대응하는 능력을 기르기 위한 실습 교재입니다. GPU는 필요하지 않습니다. 모든 실습이 CPU Docker 환경에서 완주할 수 있도록 1억 3천만 파라미터급의 소형 모델과 수백 건의 데이터로 설계했습니다. 'GPU가 없어서 학습을 시도할 수 없다'고 멈춰있던 분들이 SFT, LoRA, DPO, 양자화, 증류를 직접 경험해보고 실무에서 어디에 투자해야 할지 판단할 수 있게 되는 것을 목표로 합니다. <<학습 내용과 목표>> 프롬프트, RAG, 파인튜닝의 판단표를 스스로 작성할 수 있게 되며, SFT 데이터 설계(수집, 중복 제거, 오염 방지, chat template, 라이선스)와 토크나이저 처리(loss 마스크로 프롬프트 부분을 학습시키지 않기)를 구현할 수 있게 됩니다. 풀 파인튜닝과 LoRA를 같은 주제로 비교하며 rank, alpha, target_modules의 효과와 메모리 절감을 실측할 수 있습니다. 학습 실패 시 진단(loss가 떨어지지 않음, NaN, 학습률, 기울기 누적, seed 재현성), DPO를 통한 선호 학습 및 쌍 데이터 생성, 학습 후 회귀(망각) 감지, int8/int4 양자화의 원리와 GGUF 변환 및 ONNX Runtime에서의 양자화, 증류를 통한 소형화, 가지치기(pruning)나 MoE의 위치 설정, 실험 관리와 모델 카드(model card)를 통한 재현성 확보, 그리고 서빙을 염두에 둔 학습 측 설계까지, 모델을 맡는 입장에서 판단할 수 있는 상태를 목표로 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn ML의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기