NLP
언어모델에서 Adapter Tuning이 필요한 이유 [devfest Cloud 2023]
oneonlee
2023. 12. 10. 16:50
반응형
2023년 12월에 열린 Devfest Cloud 2023에 참가하여,
Google ML Tech Lead인 Erwin Huizenga님께서 발표하셨던
How to do supervised tuning for a language model using Vertex AI 세션을 듣고 정리한 글입니다.
- "How to do supervised tuning for a language model using Vertex AI" 관련 시리즈
- (1) Why Adapter Tuning?
(2) Supervised Fine Tuning- (3) RLHF (Reinforcement Learning from Human Feedback)
1. 프롬프트 디자인의 한계 (Limitations of Prompt Design)
- 프롬프트의 단어나 단어 순서를 바꾸는 작은 변화가 모델의 결과에 영향을 줄 수 있음 (Small changes in wording or word order can impact model results)
- 긴 프롬프트는 context window를 많이 차지함 (Long prompts take up context window)
관련 글 : LLM의 Context Window Size가 크다고 좋은 것일까? - 프롬프트 디자인에 많은 시행착오가 소요됨 (Lots of trial and error)
- 결과가 일관적이지 않음 (Inconsistent results)
2. Foundation Models Tuning의 종류
- Full Fine Tuning
- 모든 모델 weights를 업데이트함 (Update all model weights)
- Adapter Tuning (ex> LoRA)
- Weights의 작은 부분만 업데이트하고, 파라미터의 일부만 훈련시킴 (Update a small set of weights, Train a small subset of parameters)
- 파라미터는 기존 모델 파라미터의 일부일 수 있거나 완전히 새로운 부분일 수도 있음 (Parameters might be a subset of the existing model parameters, Or an entirely new set of parameters)
3. Training benefits of Adapter Tuning
- 파라미터를 조금만 업데이트하면 되기 때문에, 훈련이 빠름 (Fewer params to update, Faster training)
- 메모리 사용량 감소 (Reduction in memory usage)
- 필요한 훈련 데이터의 양이 적음 (Less training data needed)
4. Serving benefits of Adapter Tuning
Adapter Tuning을 사용하는 것은 모델 배포 측면에서도 이점을 가짐
- Foundation model을 재사용하여 배포가 가능함 (Shared deployment of a foundation model)
- 런타임에 특정 작업에 맞는 어댑터 가중치로 보강할 수 있음 (Augment with adapter weights specific to a particular task at runtime)
- Foundation Model을 고정하고, Task에 따라서 Tuning한 파라미터 부분을 교체하는 것
- 이 방법이 Full Fine Tuning보더 더 효율적일 수 있음
5. 관련 자료
- 언어 기반 모델 조정
- GoogleCloudPlatform GitHub - generative-ai
Disclaimer: 본 글은 개인이 작성한 글입니다. 본 글의 내용과 'devfest Cloud 2023' 행사에서 표현된 의견은 Google을 대변하지 않습니다.
반응형