Github: https://github.com/KyujinHan/Sakura-SOLAR-DPO
๐ธHuggingface: https://huggingface.co/kyujinpy/Sakura-SOLAR-Instruct
์๋ ํ์ธ์!
(์ฃผ)๋ฏธ๋์ด๊ทธ๋ฃน์ฌ๋๊ณผ์ฒ๊ณผ (์ฃผ)๋ง์ปค์์ ์ง์๋ฐ์ LLM ์ฐ๊ตฌ๋ฅผ ํ๊ณ ์๋ kyujinpy์ ๋๋ค!๐๐
์ต๊ทผ์ SOLAR-10.7B ๋ชจ๋ธ์ด Depth-Up-Scaling ๋ฐฉ๋ฒ๋ก ์ ํ์ฉํ์ฌ Open LLM ๋ฆฌ๋๋ณด๋์์ 1๋ฑ์ ๋ฌ์ฑํ์์ต๋๋ค..!
Depth-Up-Scaling์ ํตํด์ ์๋ก ๋ค๋ฅธ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ณต์ ํ๋ฉด์ ๋ณด๋ค ๋์ ์ ํ๋๋ฅผ ๋ผ ์ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.๐
๋ํ, ์ต๊ทผ์ ์๋ก์ด ๊ฐํํ์ต ๋ฐฉ๋ฒ์ธ DPO์ ๋ชจ๋ธ๋ค์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์๋ก ๊ณต์ ํ๋ merge(slerp) ๋ฐฉ๋ฒ์ ํตํด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋ง์ด ์ด๋์ด ๋ด๋ ๊ฒ์ ๋ณด๋ฉด์, SOLAR ๋ชจ๋ธ์ ํ์ฉํ์ฌ์ ์ข์ ์ฑ๋ฅ์ ๋ด๋ ๋ชจ๋ธ ํ๋์ ๋์ ํ๊ฒ ๋์์ต๋๋ค..!
## Merge
Merge(slerp)๋ฐฉ๋ฒ์ mergekit์ด๋ผ๋ github์์ ์ฝ๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํฉ๋๋ค!
SLERP์ Spherical Linear Interpolation์ ์ฝ์๋ก, ๊ตฌ๋ฉด ์ ํ ๋ณด๊ฐ๋ฒ์ด๋ผ๊ณ ํฉ๋๋ค!
๋จ์ํ euclidean ํ๋ฉด์์ ๊ตฌํ๋ ๊ฑฐ๋ฆฌ๊ณ์ฐ๊ณผ๋ ๋ค๋ฅธ๋ฐ ๊ฒ์ํ์๋ฉด ๋ง์ ์ ๋ณด๋ค์ด ๋์์ ์ฝ๊ฒ ์ดํดํ์ค ์ ์์ต๋๋ค!
์ ๋ slerp method๋ฅผ ์๋์ 2๊ฐ์ ๋ชจ๋ธ์ ์ ์ฉํด๋ณด์์ต๋๋ค!๐
- SOLAR-10.7b-Instruct-v1.0
- SauerkrautLM-SOLAR-Instruct
์ด๋ ๊ฒ ํด์ ๋ง๋ค์ด์ง ๋ชจ๋ธ์ด ๐ธSakura-SOLAR-Instruct๐ธ ์ ๋๋ค!
## DPO
DPO ๋ฐฉ๋ฒ์ directly preference optmization์ ์ฝ์์ ๋๋ค!
ํด๋น ๋ฐฉ๋ฒ๋ก ์, ๋ ๋ชจ๋ธ ๊ฐ์ ๋๋ต ๋ถํฌ๋๋ฅผ ๋น๊ตํ์ฌ์ ์ฌ์ฉ์๊ฐ ์ํ๋ ๋๋ต์ผ๋ก ๋ถํฌ๋ฅผ ๋ง์ถฐ์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ํธํฉ๋๋ค! (์์ธํ ๋ด์ฉ์ ๋ ผ๋ฌธ์ ์ฐธ๊ณ ํ์๋ฉด ์ข์ต๋๋ค! ์์์ ์ต์ํ์ ๋ถ๋ค์ด๋ผ๋ฉด KL-divergence๋ฅผ ๋ ์ฌ๋ฆฌ์ ๋ ์ข์ต๋๋ค ใ ใ )
์ต๊ทผ์ ๋ชจ๋ธ์ ์ฌ๋ฆฌ๊ธฐ ์ํด ์ฌ๋ฌ๊ฐ์ง open source models์ ๋ณด๋ฉด์, ์ ์ ๊ฐ์ด ์์์ด ๋ถ์กฑํ ์ฌ๋๋ค์ด ํ์ตํ๊ธฐ ์ ํฉํ dpo ๋ฐ์ดํฐ์ ์ ์ ๋๋ฆ๋๋ก ์ถ๋ ค๋ดค์ต๋๋ค! ๐
- Intel/orca_dpo_pairs
- argilla/distilabel-math-preference-dpo
- unalignment/toxic-dpo-v0.1
์ ๋ ์ฌ๊ธฐ์ orca_dpo์ math_dpo๋ฅผ ์ด์ฉํ์ต๋๋ค!
toxic_dpo๋ ์ด์ฉํ๊ณ ์ถ์์ง๋ง, ์ด๊ฒ์ ๋ค๋ฅธ ์ฌ๋๋ค์ ์๋๋ก ๋จ๊ฒจ๋๊ฒ ์ต๋๋ค..๐๐
์ฌ๋ฌ DPO ๋ฐ์ดํฐ์ ์ ํ์ฉํด์ ๋ง๋ ๋ชจ๋ธ์ ๋ฆฌ์คํธ๋ ์๋์ ๊ฐ์ต๋๋ค! ๐
- Math_dpo
-> ๐ธ kyujinpy/Sakura-SOLAR-Instruct-DPO-v1
-> ๐ธ kyujinpy/Sakura-SOLAR-Instruct-DPO-v2
- Orca_dpo
-> ๐ธ kyujinpy/Sakura-SOLRCA-Instruct-DPO
- Orca_dpo + Math_dpo
-> ๐ธ kyujinpy/Sakura-SOLRCA-Math-Instruct-DPO-v1
-> ๐ธ kyujinpy/Sakura-SOLRCA-Math-Instruct-DPO-v2
๋ชจ๋ธ์ ๋ง๋ค ๋, ๊ฐ์ฅ ๊ณ ๋ฏผํ๋ ์ ์ hyperparameters ์์ต๋๋ค..!
ํ์ดํผ ํ๋ผ๋ฏธํฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด, ๋ฐค์๋๋ก ๋ชจ๋ธ์ open source์ ๋์์๋ ์ ๋ณด๋ค๊ณผ ๊ณผ๊ฑฐ log ๊ธฐ๋ก๋ค์ ์ดํด๋ณด์๊ณ , ์ ๊ฐ ์๋ํ๋ ๊ฒฝํ๋ค๊น์ง ๋ชจ๋ ์ข ํฉํ์ฌ ์ด๋์ ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ง๋ค์์ต๋๋ค ๐๐
์ด๊ฒ์ ๋ฐํ์ผ๋ก, ์ฌ๋ฌ ํ์ดํผ ํ๋ผ๋งํฐ๋ค์ ์คํ ์ ์ ์ผ๋ก ๊ฐ๊ฐ์ ๋ชจ๋ธ์ ์ ์ฉ์ ํด๋ณด์์ต๋๋ค!๐
์์ธํ ํ์ดํผ ํ๋ฆฌ๋ฏธํฐ๋ github์ ๋ชจ๋ ๊ณต๊ฐํ์ต๋๋ค! ์ฌ๋ฌ๋ถ๋ค์๊ฒ ํ๋์ ์ธ์ฌ์ดํธ๊ฐ ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค๐ฅฐ๐ฅฐ
## ๋ง๋ฌด๋ฆฌ
KO-LLM ๋ฆฌ๋๋ณด๋์ ์ด์ด์ EN-LLM ๋ฆฌ๋๋ณด๋๋ 1๋ฑ์ ๋ฌ์ฑํด๋ณด๋ ๊ฒฝํ์ ํ๋ค๋..์ ๋ง ๊ฐ์ฌํ ๋ฐ๋ฆ์ ๋๋ค. (๋ฌผ๋ก ๊ณ ์ถฉ๋ ๋ง์์ง๋ง์..! ใ ใ )
์ ์ ๊ฐ์ด ์ฐ๊ตฌํ๊ณ ์์ํ๋ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฌ๊ณ , ๋ ์๋์์ด ์ง์ํด์ฃผ์๋ (์ฃผ)๋ฏธ๋์ด๊ทธ๋ฃน์ฌ๋๊ณผ์ฒ๊ณผ (์ฃผ)๋ง์ปค์๋ ๊ฐ์ฌํจ์ ํํฉ๋๋ค๐ค๐ค
๋ค์์๋ ๋ ์ข์ ์คํ์์ค ๋ชจ๋ธ๋ก ์ฐพ์๋ต ์ ์๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค๐คฉ๐คฉ
๊ฐ์ฌํฉ๋๋ค!