The Overview
ํ์กดํ๋ ๋ง์ instruction-following ๋ชจ๋ธ์ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ํ์ง๋ง ์ด๋ค์ ์์ง ๋น์์ด๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์๋ชป๋ ์ ๋ณด๋ฅผ ์์ฑํ๋ ๋ฑ์ ๊ฒฐํจ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด academic community์ ์ฐธ์ฌ๊ฐ ์ค์ํ์ง๋ง, ํ๊ณ์์ instruction-following ๋ชจ๋ธ์ ๋ํด ์ฐ๊ตฌ๋ฅผ ์งํํ๋ ๊ฒ์ ํ์ ๋ ์์์์ ์ด๋ฌํ ๋ชจ๋ธ๋ค์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๊ธฐ์ ์ฝ์ง๊ฐ ์๋ค.. ๐ญ
Alpaca๋ฅผ ๊ณต๊ฐํ Stanford ์ฐ๊ตฌํ์์๋ Meta์ LLaMA 7B ๋ชจ๋ธ๋ก fine-tune๋ instruction-following ๋ชจ๋ธ์ธ Alpaca๋ฅผ ์๊ฐํ์๋ค. (์์ฆ ๋ชจ๋ธ๋ค์ ๋๋ฌผ ์ด๋ฆ์ผ๋ก ๋ง๋๋ ๊ฒ์ด ํธ๋ ๋์ธ ๊ฒ ๋ถ๋ช ํ๋ค..!! ๐) ์ฌ๊ธฐ์์ Alpaca ๋ชจ๋ธ์ text-davinci-003์ ์ฌ์ฉํ์ฌ Self-Instruct ๋ฐฉ์์ผ๋ก ์์ฑ๋ 52K ๊ฐ์ instruction-following ์ค๋ช ์์ ํ์ต๋์๋ค. Self-Instruct ํ๊ฐ ์ธํธ์์ Alpaca๋ text-davinci-003๋ณด๋ค ํจ์ฌ ์ฝ๊ณ ๋น์ฉ์ด ์์๋ ๋ถ๊ตฌํ๊ณ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค! ๐ฒ
Alpaca๋ training recipe์ ๋ฐ์ดํฐ๊ฐ ๊ณต๊ฐ๋์๋ค. ๊ทธ๋ฆฌ๊ณ Alpaca์ ํน์ฑ์ ๋์ฑ ์ ์ดํดํ ์ ์๋๋ก interactive demo๋ ๊ณต๊ฐํ์๋ค. Alpaca๋ ์ค์ง ํ๋ฌธ์ ์ฐ๊ตฌ ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ์์ ์ ๋ชฉ์ ์ผ๋ก๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๐ ์ด์ ๋ํ 3๊ฐ์ง ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- Alpaca์ ๋ฒ ์ด์ค ๋ชจ๋ธ์ LLaMA์ธ๋ฐ, LLaMA๋ ์์ ์ ๋ผ์ด์ ์ค๊ฐ ์๊ธฐ ๋๋ฌธ์
- instruction data๋ text-davinci-003์ ๊ธฐ๋ฐ์ ๋๋๋ฐ, ์ด๊ฒ์ ์ฌ์ฉ ์ฝ๊ด์ OpenAI์ ๊ฒฝ์ํ๋ ๋ชจ๋ธ์ ๊ฐ๋ฐํ ์ ์๋๋ก ๋ง๊ณ ์๊ธฐ ๋๋ฌธ์
- ์์ง ์ ์ ํ ์์ ๊ท์ฝ์ด ์๊ธฐ์, Alpaca๋ ์์ง ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ ์ค๋น๊ฐ ๋์ด ์์ง ์์
Training Recipe
academic ์์ฐ์์ high quality instruction-following model์ ํ์ต์ํค๋๋ฐ์ 2๊ฐ์ง ๋๊ด์ด ์กด์ฌํ๋ค: ๊ฐ๋ ฅํ PLM & high-quality instruction-following data. ๊ฐ๋ ฅํ PLM์ Meta์ ์๋ก์ด LLaMA ๋ชจ๋ธ์ ๊ณต๊ฐ๋ก ํด๊ฒฐ๋์๊ณ , high-quality insturction-following data๋ ๊ธฐ์กด์ ๊ฐ๋ ฅํ LM์ ์ฌ์ฉํด์ ์๋์ ์ผ๋ก instruction ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ Self-Instruct์ ๋ฑ์ฅ์ผ๋ก ํด๊ฒฐ๋์๋ค. Alpaca๋ OpenAI์ text-davinci-003์ผ๋ก๋ถํฐ ์์ฑ๋ 52K ๊ฐ์ instruction-following ์ค๋ช ์์ LLaMA 7B์ supervised learning์ ์ฌ์ฉํด์ fine-tune ๋ LM์ด๋ค. โจ
๋ฐ์ดํฐ์ ๋ํด Self-Instruct method๋ก instruction-following ์ค๋ช ์ ์์ฑ์ํจ๋ค. Self-Instruct์์ ์ฌ์ฉ๋ 175๊ฐ์ human-written seed set์์ ์์ํด์, ์ด seed set๋ฅผ in-context example๋ก ์ฌ์ฉํด text-davinci-003์ผ๋ก ๋ ๋ง์ instruction์ ์์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์์ฑ ํ์ดํ๋ผ์ธ์ ๋จ์ํ์ํด์ผ๋ก์จ Self-Instruct method๋ฅผ ๊ฐ์ ์ํค๊ณ ๋น์ฉ์ ์๋นํ ์ค์๋ค. ์์ฑ ํ์ดํ๋ผ์ธ์ ๋ค์์ ๊ณผ์ ์ ๊ฑฐ์ณ์ ๋จ์ํ๋์๋ค. ๐
- ๋์ฑ aggreassiveํ batch decoding์ ์ ์ฉํด์ ํ ๋ฒ์ 20๊ฐ์ instruction์ ์์ฑ
- classification & non-classification instruction ๊ฐ์ ์ฐจ์ด๋ฅผ ์ ๊ฑฐํจ์ผ๋ก์จ ๋ฐ์ดํฐ ์์ฑ ํ์ดํ๋ผ์ธ์ ๋จ์ํ ์ํด
- ๊ฐ isntruction์ ๋ํด ์ค์ง ํ๋์ instance๋ฅผ ์์ฑ
์ด ๋ฐ์ดํฐ ์์ฑ ํ๋ก์ธ์ค๋ 52K ๊ฐ์ unique instruction๊ณผ ์ด์ ํด๋นํ๋ output์ ๊ฒฐ๊ณผ๋ก ๋ณ์๊ณ , ์ด๋ OpenAI API๋ฅผ ์ฌ์ฉํด์ 500$ ๋ณด๋ค ์ ์ ๋์ ์ฌ์ฉํ์ฌ ๋ง๋ค์ด์ก๋ค. ๐ค๐ฒ
์ด instructionp-following ๋ฐ์ดํฐ์ ์ ํ์ฉํ์ฌ Hugging Face์ training ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด์ LLaMA ๋ชจ๋ธ์ fine-tune ํ์๋ค. ์ด๋ผ์ผ๋ก์จ Fully Shared Data Parallel๊ณผ mixed precision training์ ์ด์ ์ ๊ฐ์ง๋ค. ์ฒซ ์คํ์์ LLaMA 7B๋ฅผ fine-tune ํ ๋ 8๊ฐ์ 80GB A100์์ 3์๊ฐ์ ์์ํ์๋ค. ์ด๋ 100$๋ ์ ๋๋ ๋น์ฉ์ด๋ค! ๐ฒ ์ด๋ training ํจ์จ์ฑ์ ๊ฐ์ ํ์ฌ ๋น์ฉ์ ๋์ฑ ์ ๊ฐํ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค.
Preliminary Evaluation
Alpaca ํ๊ฐ๋ฅผ ์ํด Self-Instruct ํ๊ฐ ์ธํธ๋ก๋ถํฐ์ input์์ human evaluation์ ์งํํ์๋ค. text-davinci-003๊ณผ Alpaca 7B ๊ฐ์ blind comparison์ ์งํํ๊ณ , ์ด ๋ ๋ชจ๋ธ์ ๋น์ทํ ์ฑ๋ฅ์ ๊ฐ์ง๋ค๋ ๊ฒ์ ์์๋๋ค. ์ด 90๊ฐ์ ๋น๊ต ์ค 89๊ฐ์ ๋น๊ต์์ Alpaca๊ฐ ์ด๊ธฐ๋ ๋ชจ์ต์ ๋ณด์ฌ์คฌ๋ค! ๐ฒ (์ด๊ฑด ์ข ์ ๊ธฐํ ๊ฒ ๊ฐ๋ค)
์์ ๋ชจ๋ธ ์ฌ์ด์ฆ์ ์์ํ ์์ instruction following data์๋ ๋ถ๊ตฌํ๊ณ Alpaca๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค! ์ด ์ ์ ์ธ ํ๊ฐ ์ธํธ ์ธ์๋ Alpaca ๋ชจ๋ธ์ ์ํธ์์ฉ์ ์ผ๋ก ํ ์คํธ ํ์๊ณ , Alpaca๊ฐ ๋ค์ํ input set์์ text-davinci-003๊ณผ ์ ์ฌํ๊ฒ ํ๋ํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์๋ค. ์ด๋ฌํ ํ๊ฐ๊ฐ ๊ท๋ชจ๋ ๋ค์์ฑ ์ธก๋ฉด์์ ์ ํ๋์ด ์๋ค๋ ๊ฒ์ ์ธ์ ํด์, Alpaca์ interactive demo๋ฅผ ๊ณต๊ฐํ์๊ณ , ์ฌ์ฉ์๋ค์๊ฒ Alpaca๋ฅผ ํ๊ฐํ๊ณ ํผ๋๋ฐฑ์ ์ค ์ ์๊ฒ ํ์๋ค.
๋ค์์ Alpaca์์ ์ํธ์์ฉ ์์์ด๋ค.
์์ ์์๋ค์ Alpaca์ output์ด ์ผ๋ฐ์ ์ผ๋ก ์ ์์ฑ๋์ด ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค. Alpaca๋ instruction-following ๋ฐ์ดํฐ์ ์ ์ผ๋ฐ์ ์คํ์ผ์ ๋ํ๋ธ๋ค. ๊ทธ ๊ฒฐ๊ณผ, Alpaca์ ๋๋ต๋ค์ text-davinci-003์ ์งง์ output์ ๋ฐ์ํด์ ๋๊ฒ ChatGPT๋ณด๋ค ์งง๋ค.
Known Limitations
Alpaca๋ hallucination, toxicity, stereotype์ ํฌํจํ LM์ ์ผ๋ฐ์ ์ธ ๊ฒฐํจ๋ค์ ๋ณด์ฌ์ค๋ค. ํนํ, hallucination์ text-davinci-003๊ณผ ๋น๊ตํด๋ Alpaca์ ๋ํ ์ผ๋ฐ์ ์ธ failure mode์ด๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด ํ์๋์์ ์๋๋ฅผ ์๋ชป ๋งํ๊ธฐ๋ ํ๋ค.
๊ฒ๋ค๊ฐ ์๋ชป๋ ์ ๋ณด๋ฅผ ํผ๋จ๋ฆฌ๋ ๊ทธ๋ด ๋ฏํ output์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ ์๋ ์๋ค.
Alpaca๋ ๋ฒ ์ด์ค ๋ชจ๋ธ๊ณผ instruction tuning data์ ์ฐ๊ด๋ ๋ค๋ฅธ ๋ง์ limitation์ ํฌํจํ๊ณ ์์ ์ ์๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ์๋ค์ด ์น ๋ฐ๋ชจ๋ฅผ ํตํด ์๋ก์ด ์ ํ์ failure์ ๋ฐํ๋ผ ์ ์๊ธธ ๋ฐ๋ผ๊ณ , ๊ทธ๋ฆฌ๊ณ Alpaca์ ๊ณต๊ฐ๊ฐ instruction-following ๋ชจ๋ธ๊ณผ ์ด๋ค์ alignment์ ๋ํ ํฅํ ์ฐ๊ตฌ๋ฅผ ์ฉ์ดํ๊ฒ ํด ์ค ์ ์๊ธธ ๋ฐ๋๋ค๊ณ ์ฐ๊ตฌํ์ ๋งํ์๋ค.
Assets Released
Alpaca์ ๋ํ asset์ ๋ค์๊ณผ ๊ฐ์ด ๊ณต๊ฐ๋์๋ค.
- Demo: interactive demo๋ ํ์ฌ๋ ๋ซํ์๋ ์ํ
- Data: Alpaca๋ฅผ fine-tuneํ๊ธฐ ์ํด ์ฌ์ฉ๋ 52K demonstrations
- Data generation process: ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ฝ๋
- Training code: Hugging Face API๋ฅผ ์ฌ์ฉํด์ ๋ชจ๋ธ์ fine-tune ํ๊ธฐ ์ํ ์ฝ๋
์ถ์ฒ
https://crfm.stanford.edu/2023/03/13/alpaca.html
https://github.com/tatsu-lab/stanford_alpaca/tree/main