Skip to content

모델 파인튜닝과 배포

서문

대형 모델은 강력하지만, 당신의 비즈니스를 이해하지 못합니다. GPT-4는 시를 쓰고 코딩도 할 수 있지만, 회사 제품 용어를 모르고 업계 전문 규범을 이해하지 못합니다. 파인튜닝(Fine-tuning)은 범용 대형 모델이 당신의 전문 지식을 "학습"하게 하는 과정입니다——마치 박식한 제너럴리스트에게 직무 교육을 시켜 당신의 분야 전문가로 만드는 것과 같습니다.

이 글에서 무엇을 배울 수 있나요?

이 장을 마치면 다음을 얻을 수 있습니다:

  • 흐름 인지: 데이터 준비부터 모델 출시까지의 완전한 파인튜닝 파이프라인 파악
  • 데이터 엔지니어링: 파인튜닝 데이터의 형식 요구사항과 품질 기준 이해
  • 효율적 파인튜닝: LoRA 등 파라미터 효율적 파인튜닝 기술의 원리와 장점 이해
  • 모델 압축: 양자화 기술이 어떻게 대형 모델을 소비자급 하드웨어에서 실행 가능하게 하는지 파악
  • 배포 실전: 모델 서빙의 주류 아키텍처와 선택 전략 이해
내용핵심 개념
제1장파인튜닝 파이프라인데이터→학습→평가→배포
제2장학습 데이터데이터 형식, 품질 관리
제3장LoRA 파인튜닝저차원 적응, 파라미터 효율
제4장모델 양자화FP16, INT8, INT4
제5장모델 배포추론 서비스, API 게이트웨이

0. 전체 그림: 왜 파인튜닝이 필요한가?

대형 언어 모델의 학습은 두 단계로 나뉩니다: 사전 학습파인튜닝. 사전 학습은 방대한 범용 데이터에서 언어 능력을 배우는 것이고, 파인튜닝은 특정 작업 데이터에서 전문 능력을 배우는 것입니다.

비유하자면: 사전 학습은 대학에 다니는 것——교양 지식을 배워 모든 것을 조금씩 알게 됨; 파인튜닝은 입사 교육——구체적 직무에 맞춰 전문 기술을 배움.

언제 파인튜닝이 필요한가?

  • 특정 출력 형식: 모델이 항상 고정된 JSON 형식으로 출력해야 할 때
  • 전문 분야 지식: 의료, 법률, 금융 등 분야의 전문 용어와 규범
  • 언어 스타일 전이: 모델이 특정 어조, 스타일로 답변하게 할 때(고객 서비스 스크립트 등)
  • 소수 언어 지원: 특정 언어에서 모델 성능 향상
  • 비용 최적화: 소형 모델 파인튜닝으로 대형 모델 호출을 대체하여 추론 비용 절감

1. 파인튜닝 파이프라인: 데이터부터 출시까지의 완전한 여정

파인튜닝은 "데이터를 모델에 던지면 끝"이 아닙니다. 이는 엄격한 엔지니어링 프로세스로, 각 단계가 최종 효과에 영향을 미칩니다.

微调流水线演示

点击每个阶段,了解微调的完整流程

🧠
选择基座模型
📊
准备训练数据
⚙️
执行微调训练
📈
评估与测试
🚀
部署上线
🧠 选择基座模型

微调的第一步是选择一个合适的预训练基座模型。基座模型已经在海量数据上学习了通用的语言能力,我们要做的是在此基础上进行"专业化训练"。

1根据任务需求选择模型规模(7B、13B、70B 等)
2考虑开源许可证(Apache 2.0、Llama 许可等)
3评估模型的基础能力是否匹配目标场景
4常见选择:Llama、Qwen、Mistral、DeepSeek 等
示例
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2-7B")
1 / 5

파인튜닝의 5단계

  1. 데이터 준비: 학습 데이터 수집, 정제, 라벨링. 가장 시간이 많이 걸리고 가장 중요한 단계
  2. 모델 선택: 적절한 베이스 모델(Base Model) 선택, Llama 3, Qwen, Mistral 등
  3. 학습 설정: 학습률, 배치 크기, 에포크 수 등 하이퍼파라미터 설정
  4. 학습 실행: GPU에서 학습 실행, 손실 곡선과 평가 지표 모니터링
  5. 평가 및 출시: 테스트 세트에서 효과 평가, 통과 후 API 서비스로 배포
단계주요 작업일반적인 함정
데이터 준비정제, 중복 제거, 포맷팅데이터 품질 저하로 모델이 "나쁘게 학습"
모델 선택베이스 모델 능력 평가모델이 너무 커서 학습 불가, 너무 작아서 효과 부족
학습 설정하이퍼파라미터 조정학습률 과도로 인한 파괴적 망각
학습 실행손실과 지표 모니터링과적합, 학습 불수렴
평가 및 출시A/B 테스트, 그레이듀얼 릴리스테스트 세트 누출로 평가 점수 과대

2. 학습 데이터: 파인튜닝 효과의 천장

파인튜닝에서 오래된 격언이 있습니다: "Garbage in, garbage out". 학습 데이터의 품질이 파인튜닝 효과의 상한을 직접 결정합니다. 100개의 고품질 데이터가 10,000개의 저품질 데이터보다 나은 경우가 많습니다.

训练数据格式演示

切换不同格式,了解微调数据的组织方式

指令跟随

最常见的微调数据格式。每条数据包含一个指令(instruction)、可选的输入(input)和期望的输出(output)。适合训练通用助手类模型。

通用助手ChatGPT 风格最常用
数据样例
"instruction": "请将以下中文翻译成英文"
"input": "人工智能正在改变世界"
"output": "AI is changing the world"
数据质量要点
指令要清晰明确,避免歧义
输出要完整、准确、格式规范
覆盖多种任务类型(翻译、摘要、问答等)
数据量建议:1,000 ~ 50,000 条

파인튜닝 데이터의 세 가지 일반적인 형식

  1. 명령어 형식(Instruction): 가장 널리 사용되는 형식, instruction(명령), input(입력), output(기대 출력) 세 필드 포함. 모델이 명령을 따르도록 학습시키는 데 적합.
  2. 대화 형식(Chat): 멀티턴 대화 형식, system, user, assistant 역할의 메시지 리스트 포함. 챗봇 학습에 적합.
  3. 완성 형식(Completion): 간단한 prompt-completion 쌍, 텍스트 생성, 코드 완성 등 시나리오에 적합.
데이터 품질 차원설명확인 방법
정확성답변이 정확해야 함수동 검토, 전문가 교정
일관성유사한 질문의 답변 스타일 일관샘플링 대조 검사
다양성충분한 시나리오와 변형 커버질문 유형 분포 통계
중복 제거중복 샘플로 인한 과적합 방지텍스트 중복 제거, 의미적 중복 제거
데이터 양보통 500~5000개의 고품질 데이터면 충분소량부터 시작하여 점진적 증가

3. LoRA: 1%의 파라미터로 90%의 효과 달성

전체 파인튜닝(Full Fine-tuning)은 모델의 모든 파라미터를 업데이트해야 합니다——70B 파라미터 모델의 경우 수백 GB의 GPU 메모리와 대량의 GPU 연산력이 필요합니다. 대부분의 팀에게 이는 현실적이지 않습니다.

LoRA(Low-Rank Adaptation)는 우아한 해결책을 제공합니다: 원본 모델 파라미터를 동결하고, 소규모의 새로 추가된 저차원 행렬만 학습. 이 행렬의 파라미터 수는 보통 원본 모델의 0.1%~1%에 불과하지만 전체 파인튜닝에 가까운 효과를 냅니다.

LoRA 低秩适配原理演示

理解 LoRA 如何用极少参数实现高效微调

原始权重 W
4096x4096
16,777,216 参数
冻结不动
+
LoRA 适配器
A
4096x8
x
B
8x4096
65,536 参数
可训练
参数节省比例
节省 99.6% 参数
秩越小 = 参数越少、训练越快秩越大 = 表达力越强、效果越好

LoRA의 핵심 아이디어

원본 모델의 가중치 행렬 W는 거대한 행렬입니다(예: 4096×4096). LoRA는 W를 직접 수정하지 않고 옆에 "우회로"를 추가합니다: W' = W + BA, 여기서 B와 A는 두 개의 작은 행렬입니다(예: 4096×8과 8×4096). 학습 시에는 B와 A만 업데이트하고 원본 W는 그대로 유지합니다.

  • 랭크(Rank): r 값이 클수록 표현력이 강하지만 파라미터 수도 증가. 보통 r=8~64면 충분
  • 병합 배포: 학습 완료 후 BA를 W에 병합할 수 있어 추론 시 추가 오버헤드 제로
파인튜닝 방식학습 가능 파라미터GPU 메모리 요구학습 속도효과
전체 파인튜닝100%매우 높음느림최고
LoRA0.1%~1%낮음빠름전체에 근접
QLoRA0.1%~1%더 낮음중간LoRA보다 약간 낮음
Prompt Tuning< 0.01%매우 낮음매우 빠름제한적

4. 모델 양자화: 대형 모델을 "슬림화"하기

70B 파라미터 모델을 FP32(32비트 부동소수점)로 저장하면 280GB의 GPU 메모리가 필요합니다——최고급 GPU 여러 개 없이는 실행할 수 없습니다. 양자화(Quantization) 기술은 수치 정밀도를 낮추어 모델 크기를 압축하여 대형 모델을 소비자급 하드웨어에서 실행할 수 있게 합니다.

模型量化演示

拖动滑块,直观感受不同精度下的模型体积、速度与质量变化

FP32
32 bit
FP16
16 bit
INT8
8 bit
INT4
4 bit
💾
模型体积
~28 GB (7B 模型)
推理速度
1x (基准)
🎯
输出质量
100% (无损)
🖥️
显存需求
~32 GB
FP32 详解

FP32(32位浮点数)是模型训练时的默认精度。每个参数用 32 位存储,精度最高但体积最大。通常只在训练阶段使用,推理时很少直接使用 FP32。

单个参数存储示意
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
每个参数占用 32 位 = 4 字节
适用场景:模型训练、科研实验、精度敏感的任务

양자화의 핵심 트레이드오프

양자화는 본질적으로 정밀도와 공간의 트레이드오프입니다. FP32 → FP16은 거의 무손실, INT8은 약간의 손실, INT4는 뚜렷하지만 일반적으로 허용 가능한 품질 저하가 있습니다. 핵심은 당신의 시나리오에 맞는 최적의 균형점을 찾는 것입니다.

  • FP16(반정밀도): 크기 절반, 품질 거의 무손실, 학습과 추론의 기본 선택
  • INT8(8비트 정수): 크기 다시 절반, 품질 손실 매우 적음, 대부분의 추론 시나리오에 적합
  • INT4(4비트 정수): 크기가 FP32의 1/8, 품질 일부 손실, 리소스 제한 시나리오에 적합
정밀도파라미터당 바이트70B 모델 크기품질 손실적용 시나리오
FP324바이트~280 GB없음학습 기준
FP162바이트~140 GB거의 없음표준 학습 및 추론
INT81바이트~70 GB매우 적음프로덕션 추론
INT40.5바이트~35 GB허용 가능엣지 디바이스, 로컬 배포

5. 모델 배포: 연구실에서 프로덕션 환경으로

모델 학습이 완료되고 양자화 압축까지 마쳤다면, 마지막 단계는 호출 가능한 서비스로 배포하는 것입니다. 모델 배포는 단순히 "모델을 실행하는 것"이 아니라 동시 처리, 로드 밸런싱, 비용 제어 등 엔지니어링 문제도 포함됩니다.

模型服务架构演示

点击不同部署方案,对比其特点与适用场景

🌐
API 服务
最常见的在线部署方式
📱
边缘部署
在终端设备上本地运行
📦
批量处理
离线批量推理大量数据
🌐API 服务

将模型封装为 RESTful API 或 gRPC 服务,通过 HTTP 请求调用。适合需要实时响应的在线应用,如聊天机器人、智能客服、内容生成等。是目前最主流的部署方式。

架构流程
客户端请求
负载均衡
推理服务器
GPU 推理
返回结果
响应延迟
100ms - 2s
并发能力
高(可水平扩展)
部署成本
中高(需 GPU 服务器)
运维复杂度
中等
常用工具
vLLMTGITritonFastAPIOllama

세 가지 주류 배포 방안

  1. API 서비스 제공업체: OpenAI, Anthropic 등 업체의 API를 직접 사용. 운영 제로, 토큰당 과금, 빠른 검증과 중소규모 사용에 적합.
  2. 자체 호스팅 추론 서비스: vLLM, TGI 등 프레임워크로 자체 GPU 서버에 배포. 비용 통제 가능, 데이터 외부 유출 없음, 프라이버시 요구나 대규모 호출 시나리오에 적합.
  3. Serverless 추론: AWS SageMaker, Replicate 등 플랫폼 사용, 요청당 과금, 자동 스케일링. 트래픽 변동이 큰 시나리오에 적합.
배포 방안비용 모델지연 시간운영 복잡도적용 시나리오
API 서비스토큰당 과금중간제로빠른 프로토타입, 중소규모
vLLM 자체 배포GPU 임대 비용낮음높음대규모, 프라이버시 민감
Serverless요청당 과금콜드 스타트 높음낮음트래픽 변동 큼
엣지 배포하드웨어 일회성 투자매우 낮음중간오프라인 시나리오, IoT

요약

모델 파인튜닝과 배포는 대형 모델을 "범용 도구"에서 "전문 어시스턴트"로 만드는 핵심 단계입니다. 데이터 준비부터 모델 출시까지, 모든 단계에서 엔지니어링적 사고와 실천이 필요합니다.

이 장의 핵심 포인트를 되돌아보면:

  1. 파인튜닝은 직무 교육: 범용 모델이 특정 분야의 지식과 행동 패턴을 학습하게 함
  2. 데이터 품질이 상한을 결정: 100개의 고품질 데이터가 10,000개의 저품질 데이터보다 우수
  3. LoRA는 효율성의 왕: 1% 미만의 파라미터로 전체 파인튜닝에 가까운 효과 달성
  4. 양자화는 배포의 강력한 도구: INT4 양자화로 70B 모델을 단일 GPU에서 실행 가능
  5. 배포 방안은 상황에 맞게: 빠른 검증은 API로, 대규모는 자체 배포로, 변동 크면 Serverless로

더 읽어보기