레플리
글 수 284

LLM의 새로운 기법 - Merge와 DPO

조회 수 1192 추천 수 0 2024.01.02 19:20:40


요즘 LLM에서 Merge와 DPO가 많이 쓰이고 있습니다. 얼마 전 공개된 업스테이지 SOLAR-10.7B도 이 두가지 기법을 사용했습니다.

 

 

 

Merge는 두 개 이상의 모델을 섞어서 하나의 모델로 만드는 방법입니다. SOLAR는 instruction tuning과 alignment tuning으로 학습한 모델들을 Merge하여 성능을 높였습니다. Merge는 학습이 아니기 때문에 CPU 계산만으로 매우 빠르게 수행할 수 있다는 장점이 있습니다.

 

K-002_1.jpg

 

 

 

DPO(Directly Preference Optmization)는 RLHF(Reinforcement Learning from Human Feedback)를 대체할 수 있는 방법입니다. RLHF는 같은 질문에 대해 여러 LLM의 대답 중 사람이 선택한 데이터로 보상 함수를 만듭니다. 그리고 보상 함수로 강화학습을 수행하여 모델 성능을 향상시킵니다. DPO 역시 선호 데이터를 사용하지만 보상 함수 없이 바로 학습을 합니다.

 

K-001_1.jpg

 

 

 

요즘 리더보드에 이 두가지 방법을 통해 높은 순위를 얻는 경우가 많아지고 있습니다. 대표적으로 Sakura-SOLAR-Instruct가 있습니다. 먼저 SOLAR-10.7b-Instruct-v1.0와 SauerkrautLM-SOLAR-Instruct 모델을 Merge합니다. 다음으로 다양한 DPO 데이터셋을 사용해서 DPO 학습을 했습니다. 이 과정만으로 리더보드 1위를 달성했다고 합니다.

 

다운로드_1.jpg

 

 

 

예전 머신러닝 시절에는 여러 모델을 앙상블하여 하나의 결과를 내는 방식이 주로 쓰였습니다. Merge도 약간 비슷한 느낌이 드네요.

 

 

 

< MergeKit >

https://github.com/cg123/mergekit

 

< Sakura-SOLAR >

https://kyujinpy.tistory.com/122

 

< DPO 논문 리뷰 >

https://hi-lu.tistory.com/entry/Paper-DPO-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0

 

List of Articles
제목 글쓴이 날짜sort 조회 수
글쓰는 법을 배우는 신경망 깊은바다 2016-03-25 1539
구글의 딥러닝 대화 알고리즘 깊은바다 2016-03-25 3356
딥러닝으로 챗봇 만들기 깊은바다 2017-05-03 3173
단어를 벡터로 변환하는 Word2Vec 깊은바다 2017-05-04 1039
추론이 가능한 딥러닝인 Relational Networks [2] 깊은바다 2017-06-11 2740
딥러닝 RNN으로 구현한 챗봇 깊은바다 2017-08-01 8136
End-To-End Memory Networks - 자연어 질문에 대답하는 모델 [2] 깊은바다 2017-08-21 962
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용 깊은바다 2017-08-25 2582
문장을 학습하는 딥러닝 RNN의 Seq2Seq 모델 설명 file 깊은바다 2017-09-15 7327
딥러닝 기반 자연어처리 기법의 최근 연구 동향 [2] 깊은바다 2017-12-17 1020
쉽게 씌어진 Word2Vec [2] 깊은바다 2017-12-25 1178
구글 딥러닝 자연어 처리 오픈소스 SyntaxNet file 깊은바다 2017-12-28 2785
딥러닝을 사용한 챗봇 개발방법 정리 file 깊은바다 2018-02-03 25471
한국어 자연어처리를 위한 딥러닝 깊은바다 2018-02-14 3652
딥러닝을 사용한 감성분석기 개발 깊은바다 2018-02-22 1658