
์ธ๋ค์ผ์ Decoding Strategy์ ํน์ฑ์ ๋ฐ์ํด ์์ ์๋ต์ ์์ฑํ ๊ฒฐ๊ณผ์ด๋ค.
Beam Search๋ ์ฃผ๋ก ๋ง์ด ์ฌ์ฉ๋๋ ๋จ์ด๋ฅผ ์กฐํฉํ์ฌ ์งง์ ๋ฌธ์ฅ์ ์์ฑํด๋ด๊ณ , Top-k Sampling์ ๋ฌด์์์ฑ์ด ๊ฐํด ์์ ๋ฐ์ ๋ต๋ณ์ด ๋ฑ์ฅํ๊ธฐ๋ ํ๋ค. Top-p Sampling์ ์์ฐ์ค๋ฌ์ฐ๋ฉด์๋ ๋ณด๋ค ๋ค์ํ ๋จ์ด๋ฅผ ์ ํํ์ฌ ์ ์ฐํ ์๋ต์ด ๊ฐ๋ฅํ๋ค.
๐ก
4-5์ฃผ์ฐจ๋ ์ด์ด์ ์งํ์ด ๋์๋๋ฐ, ์ ๋ฒ ์ฃผ์ ๊ฐ์๋ฅผ ๋ง์ด ๋ค์ด๋์ ์ด๋ฒ ์ฃผ๋ ์๋์ ์ผ๋ก ์ฌ์ ๊ฐ ์์๋ค. ์ฌ์ ๊ฐ ์๋ ๊น์ ์ด๋ ๊ฒ ๋ชฉ์์ผ์ ์ฌ๋ฆฌ๊ธฐ๋ ํ๊ณ ! ๋จ์ ๋ ๋์์๋ MLOps ๊ณต๋ถ๋ฅผ ํ ๊ฒ์ด๋ค.
NLP ์ด๋ก ์ ๋ฐฐ์ฐ๊ณ ์ด์ ๊ณง ํ๋ก์ ํธ๊ฐ ์์ํ ํ ๋ฐ, ๋๊ทผ๋๊ทผํ๋ค. ๊ทธ๋์ ๊ฒฐ๊ณผ๋ง์ ๋ณด๊ณ ํ๋ก์ ํธ๋ฅผ ํด์๋๋ฐ ์ด๋ฒ์๋ ๊ณผ์ ์ ์์ด์ "์"์ ์ค์ฒํ๊ณ ์ ํ๋ค.
5์ฃผ์ฐจ ๋ด์ฉ ์ ๋ฆฌ๋ BERT๋ฅผ ์ธ๊น ํ๋ค๊ฐ ๋
ผ๋ฌธ ์คํฐ๋๋ ํ๊ฒ ๋ค, ๋
ผ๋ฌธ ๋ฆฌ๋ทฐ๋ก ์ฌ๋ฆฌ๋ ค๊ณ ํ๋ค.
์
๋ํ๋ฉด ๋งํฌ ๋ฌ์๋๊ฒ์.
์์ฐ์ด ๋ชจ๋ธ์ด ์ต์ข
์ถ๋ ฅํ๋ ํํ๊ฐ ์
๋ ฅ๊ณผ ๊ฐ์ sequence๋ผ๋ฉด ๊ทธ ๋ ๊ทธ ๋ ์ด๋ค ๋จ์ด์ token์ ์ถ๋ ฅํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ทผ๊ฑฐ๊ฐ ํ์ํ๋ค.
๋ชจ๋ธ์ด ํ์ตํ ํ๋ผ๋ฏธํฐ๋ค์ ๋จ์ด์ token๋ค์ ๋ํ ํ๋ฅ ๋ถํฌ์ผ ๊ฒ์ด๋ค. ๋ฐ๋ผ์, ๋ฌธ์ฅ ๊ฐ ์ฃผ์ด์ก์ ๋, ํด๋น ํ๋ฅ ๋ถํฌ์์ ํ๋ฅ ์ด ๊ฐ์ฅ ๋์ ๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ด์์ ์ด๋ค.
์ด๋ ๋ชจ๋ timestep t๋ค์ ์กฐํฉ์ ๋ํด ์์ ํ์์ ์ํํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ผ๋ ๊ฒ์ ๋น์ฐํ๋ค. ๊ทธ๋์ ์ ์์ ๋ณํํ๋ค.
์ ์์ ์ด์ ๋จ๊ณ์ ์ถ๋ ฅ์ ํ์ฉํ์ฌ ํ์ฌ ๋จ๊ณ์ ์์ธก์ ์ํํ๋ Auto-Regressiveํ ๊ณผ์ ์ด๋ค.
์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก Greedy Decoding์ด ์๋ค. ๋งค timestep์์์ ์ต๋ ํ๋ฅ ์ ๊ฐ๋ token์ ์ ํํ๋ค. ํ์ง๋ง ์ด๋ ํ๋ฅ ๋ถํฌ์ ๊ทผ์ฌ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ผ ๋ฟ, ์ ํ๋ token์ด ์ ๋ต์ด ์๋ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ์๊น์ง ์ํฅ์ ๋ฏธ์ณ ์ต์ ํด๋ฅผ ๋ณด์ฅํ์ง ์๋๋ค๋ ๋จ์ ์ด ์๋ค.
![]() | ![]() |
|---|---|
| Greedy Decoding ๋ฐฉ์์ ์ ์ฉํ ๊ฒฐ๊ณผ | ์ต์ ํด์ ๊ฒฐ๊ณผ |
์ข
๋ฃ ์กฐ๊ฑด
<END> token์ ์ ํํ ๋๊น์ง ๊ณ์ ์์ฑํ๋ค.
Greedy Decoding์ ๋จ์ ์ ๋ณด์ํ๊ณ ์ ๋งค timestep๋ง๋ค k๊ฐ์ ํ๋ณด token์ ์์ฑํ๋ค. ์ ํ๋๋ token์ ์ ์๋ ์๋์ ๊ฐ๋ค.
๊ธฐ์กด์ ์ ๋ฅผ ๋ถ์ฌ ๋ง์
์ผ๋ก ๋ณํํ ๊ฒ์ด๋ค. ํ๋ฅ ์ ํน์ฑ์ ๋ฐ๋ผ ๋ 0-1 ์ฌ์ด์ ๊ฐ์ ๊ฐ๊ณ , ์ด๋ฅผ ํจ์์ ์
๋ ฅํ๋ฉด ์ ๋ฒ์๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ์ score๊ฐ ํด์๋ก ์ฆ, 0์ ๊ฐ๊น์ธ์๋ก ๋ ์ ์ ํ token์ผ๋ก ํ๋จํ๋ค. ์๋๋ k=2์ผ ๋์ ์์์ด๋ค.

1 ์์ token์ผ๋ก๋ถํฐ ํ๋ฅ ์ด ๊ฐ์ฅ ๋์ k๊ฐ token์ ๋ํ score๋ฅผ ๊ณ์ฐํ๋ค.
2 k๊ฐ์ ํ๋ณด ๊ฐ๊ฐ์ผ๋ก๋ถํฐ score๋ฅผ ๊ณ์ฐํ์ฌ ์์ k๊ฐ์ token์ ์ ํํ๋ค. ์ด ๋จ๊ณ์์ ์ด ๊ฐ์ token์ด ์์ฑ๋๋ค. ์ด๋ ๋ score๋ฅผ ๋น๊ตํ์ฌ ์์ k๊ฐ์ token์ ์ ํํ๋ค.
3 2๋ฒ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. ๊ทธ๋ฆผ์์๋ 1๋ฒ์์ ์์ฑํ ํ ์ชฝ์ ๋ธ๋์น๋ง ๋ฐ๋ผ๊ฐ๋ ํํ๋ก ์ ํ๋์๋๋ฐ, ์๊ด ์๋ค.
4 ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
์ข
๋ฃ ์กฐ๊ฑด
๊ฐ ๋จ๊ณ๋ฅผ Beam์ด๋ผ๊ณ ํ๋๋ฐ, ํด๋น Beam๋ง๋ค ์๋ก ๋ค๋ฅธ timestep์์ <END> token์ ์ ํํ ์ ์๋ค. ์ด๋ ๊ฒ <END> token์ด ์ ํ๋์ด ์๋ฃ๋ ๋ฌธ์ฅ์ ํ๋ณด๋ก ๋จ๊ฒจ๋๊ณ ๊ณ์ Beam Search๋ฅผ ์ด์ด๊ฐ๋ค.
<END> token ์์ฑ ์ด์ ์ ํน์ timestep์ ๋๋ฌํ๋ฉด ์ข
๋ฃํ๋ค.
๋๋ ์์ฑ์ด ์๋ฃ๋ ๋ฌธ์ฅ์ด ํน์ ๊ฐ์์ ๋๋ฌํ๋ฉด ์ข
๋ฃํ๋ค.
Beam Search๊ฐ ์ข
๋ฃ๋๊ณ ์์ฑ๋ ํ๋ณด๋ค ์ค score๊ฐ ๊ฐ์ฅ ๋์ ๋ฌธ์ฅ์ ์ ํํ๋ค.
ํ์ง๋ง ์์ฑ๋ ํ๋ณด ๋ฌธ์ฅ ์์๋ ์ฌ๋ฌ ๊ฐ์ token์ด ์กด์ฌํ๊ณ , ์ด๋ค์ ๋ชจ๋ ๋ํ๋ ํํ์ด๊ธฐ ๋๋ฌธ์ ์์๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ๋ํด์ ธ ๊ธด ๋ฌธ์ฅ์๋ ์๋์ผ๋ก ๋ฎ์ score๊ฐ ํ ๋น๋๋ค๋ ๋จ์ ์ด ์๋ค.
๋ํ ๋์ ํ๋ฅ ์ token์ ์ ํํ์ฌ ๋ฌธ์ฅ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ณต์ ์ทจ์ฝํ๊ณ , ์ฌ๋์ ํ๋ฅ ์ ๊ธฐ๋ฐ์ผ๋ก ๋ง์ ํ์ง ์์ ํ์ค ์ธ๊ณ์ ๋ถํฉํ์ง ์๋๋ค๋ ๋จ์ ์ด ์๋ค.
์ ๋จ์ ๋ค์ ๊ฐ์ ํ๊ธฐ ์ํด Decoding ๋ฐฉ๋ฒ๋ก ์ Sampling์ ์ ์ฉํ๋ค. Sampling์ ํ๋ฅ ์ด ๋ฎ์ ๋จ์ด์ token๋ค๊น์ง๋ ์ ํ์ด ๋ ์ ์๋๋ก ํ๋ฅ ๋ถํฌ์ ๋ฐ๋ผ ๋จ์ด๋ฅผ Random Samplingํ๋ ๊ฒ์ด๋ค.
๊ทธ ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก Temperature ๋ฅผ ์ฌ์ฉํ๋ค. ์ ๋ฒ์๋ ์ด๋ค.
์ ์๊ณผ ๊ฐ์ด ๋ก ๋๋์ด Softmax๋ฅผ ์ ์ฉํ๋๋ฐ, ๋ ๊ฒฝ์ฐ๋ก ๋๋๋ค.
ฯ > 1
์ถ๋ ฅ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ณด๋ค ํํํ๊ฒ ๋ง๋ค์ด ํ์น ์์ ๋จ์ด๊ฐ ๋ฑ์ฅํ ํ๋ฅ ์ ๋์ธ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ฑ ๋ฌธ์ฅ์ ๋ค์์ฑ์ด ์ฆ๊ฐํ๋ค.
์ด๋ ์ด๋ฉด Uniform ๋ถํฌ๊ฐ ๋๋ค.
ฯ < 1
์ถ๋ ฅ ํ๋ฅ ๋ถํฌ์ ์ฐจ์ด๋ฅผ ๋ณด๋ค ๊ทน๋ํํ๋ค. ๋ฐ๋ผ์ ์๋ ๋์์ผ ํ ๋จ์ด์ ํ๋ฅ ์ด ์ฆ๋๋์ด ์์ฑ ๋ฌธ์ฅ์ ์ ํ์ฑ์ด ์ฆ๊ฐํ๋ค.
์ด๋ ์ด๋ฉด One-hot ๋ถํฌ๊ฐ ๋์ด Greedy Decoding๊ณผ ๋์ผํ ํํ๊ฐ ๋๋ค.
์ ๋ ๊ฐ์ง ๋ด์ฉ์ ์๋ ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ค ์ ์ดํดํ ์ ์์ ๊ฒ์ด๋ค.

์์ฑ ํ๋ฅ ์ด ๋์ token์ k๊ฐ๋ง ์ ํํ์ฌ ๊ทธ ์ค์์๋ง Sampling์ ์ํํ๋ค. ํ์ง๋ง ํ๋ฅ ์ ์ฐจ์ด๊ฐ ํฐ ๋ถํฌ์ ๊ฒฝ์ฐ์๋ ๋๋ฌด ํฌ์ํ ๋จ์ด๊ฐ ์ถ๋ ฅ๋ ์ ์๊ณ , ํ๋ฅ ์ ์ฐจ์ด๊ฐ ์์ ๋ถํฌ์ ๊ฒฝ์ฐ์๋ ๋น์ทํ ํ๋ฅ ์์๋ ๋ฐฐ์ ๋์ด์ผ ํ๋ ๋ถ์์ฉ์ด ์กด์ฌํ๋ค.
Nucleus Sampling์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ Top-p Sampling์ Top-k Sampling์ ๋ถ์์์ ์ํํ๊ธฐ ์ํด ๊ณ ์๋์๋ค. Saplingํ token๋ค์ ๋์ ํ๋ฅ ํฉ์ด p๊ฐ ๋ ๋๊น์ง token๋ค์ ์ ํํ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ํ๋ฅ ์ ์ฐจ์ด๊ฐ ํฐ ๋ถํฌ์ ๊ฒฝ์ฐ์๋ ์ ์ ์์ token๋ค์ด ํ๋ณด๊ฐ ๋ ๊ฒ์ด๊ณ , ํ๋ฅ ์ ์ฐจ์ด๊ฐ ์์ ๋ถํฌ์ ๊ฒฝ์ฐ์๋ ๋ง์ ์์ token๋ค์ด ํ๋ณด๊ฐ ๋ ๊ฒ์ด๋ค.
์ด๋ p๋ฅผ ์ ์ ํ๊ฒ ์ค์ ํจ์ ๋ฐ๋ผ ํฌ์ํ ํ๋ฅ ์ ๊ฐ์ง๋ token์ ๋ฐฐ์ ํ๋ ์ญํ ๋ํ ์ํํ ์ ์๋ค.