13주 차 학습
Fine Tuning
DeepSpeed
- DeepSpeed
- 오픈 소스 딥러닝 최적화 라이브러리
- NLP를 위한 LLM 학습의 효율성과 속도 개선
- 주요 기능
- Model Scale
- 모델 분할
- Speed
- 데이터 병렬 처리
- Scalability
- 모델 학습 가속
- Usability
- ZeRO 최적화
- 분산 학습 과정에서의 불필요한 메모리 중복 제거
- ZeRO 최적화
- Model Scale
Accelerate
- Accelerate
- 딥러닝 분산 훈련 설정 및 관리 라이브러리
- 대규모 모델 학습 시 고려 요소
- 배치 사이즈 선택
- Gradient Accumulation
- Gradient Checkpointing
- Mixed Precision Training
- Optimizer 선택
- Data Preloading
- DeepSpeed ZeRO
- torch.compile
- HF PEFT(Parameter Efficient Fine Tuning)
Prompt
- Prompt
- AI 모델에게 원하는 답변을 얻기 위해 입력하는 명령어나 질문
- 프롬프트 형태
- Hard Prompt
- 명확하고 구체적인 지시를 포함한 프롬프트
- Soft Prompt
- 유연하고 개방적인 지시를 포함한 프롬프트
- Soft Prompt + Frozen Pre-trained Model
- Prompt Tuning
- 모델의 가중치는 변경하지 않음
- 입력 프롬프트의 벡터를 최적화함
- Prefix Tuning
- 프롬프트를 입력 문장의 앞에 추가함
- Prompt Tuning
- Hard Prompt
Quantization
- Quantization
- 연속적인 값을 이산적인 값으로 변환
- 모델 Quantization
- Bitsandbytes
- GPTQ(Gradient Post Training Quantization)
- 훈련을 완료한 후, 모델의 가중치를 양자화하여 최적화
- AWQ(Activation-aware Weight Quantizaiton)
- 가중치뿐만 아니라 활성화도 함께 양자화
PEFT
- PEFT(Parameter Efficient Fine Tuning)
- LLM을 특정 작업에 맞게 Fine Tuning 하며, 학습에 필요한 계산량과 메모리 최적화
- PEFT 기법
- Quantization
- 모델 가중치의 정밀도를 낮춤
- Adapter Modules
- 모델 가중치를 고정하고, 어댑터 모듈을 추가함
- LoRA(Low Rank Adaptation)
- 기존 모델의 가중치를 고정하고, 저차원의 행렬을 추가함
- QLoRA(Quantized LoRA)
- LLM의 가중치를 4-bit로 양자화함
- Quantization
GGUF
- GGUF(Georgi Gerganov Unified Fortmat)
- 딥러닝 모델 저장용 단일 포맷
PPO
- RLHF(Reinforcement Learning from Human Feedback)
- 인간 피드백을 활용하여 Agent가 더 나은 Policy를 학습
- PPO(Proximal Policy Optimization)
- 강화학습 알고리즘
- Policy를 업데이트할 때 점진적으로 최적화
- PPO 구조
- Actor-Critic 구조
- Actor Model
- 토큰 시퀀스 생성
- Critic Model
- Actor Model이 생성한 시퀀스에 대해 보상 예측
- Actor Model
- Actor-Critic 구조
DPO
- DPO(Direct Preference Optimization)
- 강화학습 없이도 RLHF의 효과를 얻을 수 있음
LLM 평가지표
- 기계적 평가지표
- BLEU(BiLingual Evaluation Understudy)
- 기계 번역의 품질 평가
- 생성된 문장과 정답 문장의 n-gram 일치율 기반 평가
- ROUGE(Recall-Oriented Understudy for Gisting Evaluation)
- 텍스트 요약 성능 평가
- 정답 요약과 생성된 요약 유사도 평가
- METEOR(Metric for the Evaluation of Machine Translation Output)
- BERT Score
- Pre-trained BERT 모델을 이용하여 문장 유사도 평가
- Sem Score
- 의미론적 유사성 평가
- BLEU(BiLingual Evaluation Understudy)
프롬프트 엔지니어링
LangChain
- LangChain
- LLM 기반 애플리케이션 구축 오픈소스 프레임워크
- 언어 모델 학습 데이터 외에 새로운 사용자 데이터 인식 가능
- LangChain 주요 모듈
- Model I/O
- LLM 호출 인터페이스
- Data Connection
- 애플리케이션별로 데이터 소스와 연결
- Chains
- 여러 기능 모듈 조합
- Agents
- 외부 리소스와 상호 작용
- Memory
- 데이터 저장 및 검색
- Callbacks
- 체인의 중간 과정 기록 및 스트리밍 처리
- Model I/O
Prompt
- PromptTemplate
- 단일 문장 또는 간단한 명령을 통해 단일 문장 또는 간단한 응답을 생성
- ChatPromptTemplate
- 대화형 상황에서 여러 메시지 입력을 기반으로 단일 메시지 응답 생성
13주 차 회고
Keep
- 이번에 빅데이터분석기사 시험을 치르고 왔는데 이번 공부가 나에게 도움이 됐던 것 같다.
Problem
- 아직 체력이 안 붙어서 수업시간에 집중을 못할 때가 많다.
Try
- Kaggle이나 데이콘에서 다른 사람의 코드를 참고해서 공부하면 좋을 것 같다.
- 수업 시간에 진행 중인 LLM 프로젝트의 코드를 나만의 방식으로 다시 작성해 보면 좋을 것 같다.
'SK네트웍스 Family AI캠프 10기 > Weekly 회고' 카테고리의 다른 글
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 15주차 회고 (0) | 2025.04.21 |
|---|---|
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 14주차 회고 (0) | 2025.04.13 |
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 12주차 회고 (0) | 2025.03.31 |
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 11주차 회고 (0) | 2025.03.23 |
| [플레이데이터 SK네트웍스 Family AI 캠프 10기] 10주차 회고 (0) | 2025.03.16 |