반응형
✅ Foundation Model의 훈련 과정: 3단계
1. Pre-training (사전 훈련)
- LLM을 처음부터 학습시키는 단계
- 수많은 문서, 이미지, 오디오, 영상 등 비정형 데이터를 사용한다.
- 자기지도 학습(self-supervised learning) 방식으로 진행된다
- 엄청난 GPU 자원, 데이터(테라바이트~페타바이트), 시간, 비용이 든다.
- 이 과정에서 언어의 기본적인 구조나 상식 등을 학습한다.
2. Fine-tuning (미세 조정)
- 이미 사전 훈련된 모델을 특정 업무나 도메인에 맞게 조정하는 단계이다.
- 감독 학습(supervised learning) 방식이며, 라벨이 있는 데이터를 사용한다.
- 예: 의학, 법률, 금융 등 특정 산업 용어에 잘 반응하도록 조정
- 주의할 점: 특정 업무만 잘하도록 조정하면 다른 능력이 퇴화(catastrophic forgetting) 할 수 있다.
3. Continuous Pre-training (지속적인 사전 훈련)
- 이미 훈련된 모델에 추가 데이터를 주면서 계속해서 일반적 지식을 확장하는 단계이다.
- 생성형 AI의 결과를 평가하기 어렵기 때문에 다양한 주제/장르/도메인 데이터를 계속 학습하면서 적응력이 향상됨
✅ Fine-tuning의 다양한 방식
| 종류 | 설명 | 특징 |
| 🟠 Full Fine-tuning | 전체 모델 파라미터를 업데이트 | 많은 리소스 필요 |
| 🟢 PEFT (Parameter-Efficient Fine-Tuning) | 일부 파라미터만 학습 | 저비용/저메모리, 대표 기술: LoRA |
| 🔵 LoRA (Low-Rank Adaptation) | 각 Transformer 층에 소형 행렬을 추가 | 원래 가중치는 그대로 유지 |
| 🟣 ReFT (Representation Fine-Tuning) | 숨겨진 표현(embeddings)에만 개입 | 모델 본체는 완전히 고정 |
| 🟡 Multitask Fine-tuning | 여러 작업(요약, 번역 등)을 동시에 학습 | Catastrophic forgetting 방지 효과 |
| ⚫ Domain Adaptation Fine-tuning | 특정 도메인(예: 의료, 법률)에 맞게 조정 | 특정 분야, 전문 용어(jargon)에 효과적 |
| ⚫ Instruction-based Fine-tuning |
라벨이 달린 데이터(labeled data)를 사용해서 조정 “이런 입력에는 이런 출력을 해야 한다”라는 관계 학 |
더 정확하고 일관된 답변을 하게 한다. (프롬프트만으로는 가끔 이상한 답변이 나올 수 있다) |
| 🔴 RLHF (Reinforcement Learning from Human Feedback) |
사람의 피드백으로 모델을 보상하며 훈련 | 사람의 기대에 맞는 응답 생성에 유리 |
✅ AWS에서 활용할 수 있는 서비스
Amazon SageMaker JumpStart
- 미세 조정을 쉽게 시작할 수 있도록 도와주는 툴이다.
- 텍스트 생성 모델을 도메인 데이터로 fine-tune 가능
- GPU 사용량이 많으므로, 사용하지 않을 땐 반드시 Endpoint 삭제해서 비용 절감
Amazon Bedrock
- 여러 LLM (Amazon Titan, Cohere, Stability AI 등)을 API로 쉽게 사용할 수 있다.
- 모델 선택 → 파인튜닝 없이 바로 사용 가능
- 비용은 사용한 만큼만(pay-by-token)
직접 LLM을 처음부터 훈련하는 건 비용, 시간, 자원이 엄청나게 들기 때문에 현실적으로 대부분은 pre-trained 모델을 불러와서 fine-tuning 하거나, Bedrock처럼 API 형태로 사용하는 방식이 더 효율적이다.
📝 Fine-tuning을 위한 데이터 준비 과정
📌 1단계: 데이터 수집과 템플릿 구성
- HuggingFace나 OpenAI 등에서 공개된 instruction 데이터셋과 프롬프트 템플릿을 사용할 수 있음
- 예: 질문 → 답변 형태, 또는 특정 작업 수행 형태
📌 2단계: 데이터셋 분할
- Training Set: 모델이 학습하는 데이터
- Validation Set: 학습 중 모델 성능을 평가하는 데이터
- Test Set: 최종 성능을 평가하는 데이터
📌 3단계: 학습 과정
- 프롬프트를 모델에 주고, 모델이 생성한 결과와 실제 정답 간 Loss(손실 함수)를 계산
- 이 Loss를 기준으로 모델의 가중치를 업데이트 → 성능 향상
🛠️ 3. AWS에서의 데이터 준비 방법
| 목적 | 서비스 |
| Low-code 데이터 전처리 | SageMaker Canvas |
| 확장 가능한 전처리 | 오픈소스 프레임워크 (EMR + Spark, Hive, Presto) |
| 서버리스 기반 전처리 | AWS Glue |
| SQL 기반 전처리 | SageMaker Studio의 Jupyter Lab |
| 피처 스토리지 및 검색 | SageMaker Feature Store |
| 편향성 분석 | SageMaker Clarify |
| 라벨링 자동화 | SageMaker Ground Truth |
반응형
'클라우드(AWS)' 카테고리의 다른 글
| [AWS] Nitro System란? 쉽게 정리 (1) | 2025.05.12 |
|---|---|
| [AWS] 생성형 AI 모델 평가 지표 (ROUGE, BLEU, BERTscore, Perplexity) (0) | 2025.05.12 |
| Public Model Leaderboards란? 쉽게 정리 (공개 모델 리더보드) (0) | 2025.05.11 |
| [AWS] Graviton란? 아주 쉽게 정리 (AWS에서 만든 서버용 CPU, x86, ARM 아키텍처) (0) | 2025.02.04 |
| [AWS] Amazon Data Lifecycle Manager(DLM)란? 쉽게 정리 (EBS Volume Snapshot 생성 자동화) (0) | 2025.01.27 |