레플리
글 수 283

초거대모델의 파인튜닝 방법 - P-tuning과 LoRA

조회 수 12060 추천 수 0 2022.04.05 01:15:09


BERT 이후로 딥러닝 자연어처리는 사전훈련 모델(pre-trained model)이 기본이 되었습니다. 보통 위키피디아 같은 데이터로 사전훈련을 하면 언어의 기본적인 특징을 이해하게 됩니다. 그다음 개별 태스크에 맞게 새로운 데이터로 재학습을 하는 파인튜닝(fine-tuning)을 거칩니다.

 

반면에 GPT-3 같은 초거대모델은 파인튜닝 없이 퓨샷러닝(few-shot learning)을 바로 사용합니다. 입력 프롬프트에 어떤 태스크인지 설명만 넣어주면, 그 뜻을 이해하고 알아서 그렇게 동작을 합니다. 예를 들어, 번역이라면 다음과 같이 몇 가지 예시를 프롬프트에 포함합니다. 그러면 사랑이란 단어의 영어 표현을 자동으로 채워줍니다.

 

사과 : apple

자동차 : car

책 : book

사랑 :

 

 

 

물론 초거대모델도 파인튜닝을 하면 더 성능이 높아집니다. 하지만 실제로 적용하기는 어렵습니다. 워낙 파라미터 사이즈가 크기 때문입니다. 재학습을 하는데 시간과 자원이 너무 많이 소요되니까요.

 

이런 문제점을 해결하는 방법으로 P-tuning과 LoRA가 있습니다. 둘 다 기본 원리는 비슷합니다. 사전훈련된 가중치는 그대로 두고, 거기에 별도로 추가된 레이어만 새로운 데이터로 학습을 합니다.

 

P-tuning은 임베딩 레이어에 BiLSTM과 MLP 레이어를 붙입니다. 이렇게 하면 프롬프트의 임베딩이 학습 데이터에 딱 맞게 나오도록 할 수 있습니다. LoRA는 사전훈련 모델의 중간중간에 adapter 레이어를 넣습니다. 그리고 사전훈련 레이어와 adapter 레이어의 결과를 합쳐서 출력값을 생성합니다.

 

p_tuning.jpg

 

LoRA.jpg

 

Ptuning_LoRA.jpg

 

 

 

GPT-3도 2021년 12월에 파인튜닝 기능이 새로 생겼습니다. 정확한 알고리즘은 공개되지 않았습니다. 아마 P-tuning이나 LoRA 같이 일부 가중치를 추가하여 거기만 새로 학습하는 방식일 것 같습니다. 재학습을 하는데 데이터 크기에 따라 비용이 부과됩니다. 또한 파인튜닝한 모델을 사용할 경우, 기존보다 2배 정도 가격이 더 비쌉니다. 네이버의 하이퍼클로바도 이런 파인튜닝 기능을 지원할 것 같습니다.

 

 

 

< HyperCLOVA – Korean GPT3 >

https://deview.kr/2021/sessions/440

 

< GPT Understands, Too (P-tuning) >

https://arxiv.org/abs/2103.10385

 

< P-tuning 예제 >

https://github.com/.../8.GPT3/8.4.gpt2_p_tuning_NSMC.ipynb

 

< LoRA: Low-Rank Adaptation of Large Language Models >

https://arxiv.org/abs/2106.09685

 

< GPT-3 Fine-tuning >

https://beta.openai.com/docs/guides/fine-tuning

 

List of Articles
제목 글쓴이 날짜sort 조회 수
오픈소스 LLM이 ChatGPT를 대체할 수 있을 깊은바다 2023-05-05 295
AutoGPT 사용기 - 다른 에이전트 생성 능력 file 깊은바다 2023-04-23 330
생성 에이전트를 ChatGPT 프롬프트만으로 구현 file 깊은바다 2023-04-20 264
GPT가 스스로 계획을 세워서 실행한다면 - AutoGPT와 LangChain file 깊은바다 2023-04-18 1444
ChatGPT 플러그인으로 만든 TODO 예제 file 깊은바다 2023-04-18 198
한국어 초거대AI가 필요한 이유 - 토크나이저와 한국어 콘텐츠 깊은바다 2023-04-17 269
심즈와 비슷한 가상세계를 ChatGPT로 구현 - 생성 에이전트(Generative Agents) file 깊은바다 2023-04-14 1672
ChatGPT 플러그인 전략 및 생태계 변화 전망 file 깊은바다 2023-04-09 1824
ChatGPT 원티드 플러그인 사용 화면 file 깊은바다 2023-04-07 278
GPT-3, InstructGPT, GPT-3.5, ChatGPT의 차이점 깊은바다 2023-04-05 1367
ChatGPT의 오픈소스 버전 - ColossalChat file 깊은바다 2023-03-30 502
ChatGPT 플러그인 구현 방법 - manifest와 OpenAPI Spec file 깊은바다 2023-03-28 648
ChatGPT를 앱스토어 같은 플랫폼으로 확장 - ChatGPT 플러그인 file 깊은바다 2023-03-24 354
딥마인드의 데미스 하사비스, AGI는 신중한 접근 필요 깊은바다 2023-03-22 147
GPT-4 수능 국어영역에서 3등급(상위 17%) 달성 깊은바다 2023-03-21 332