Newly spotlighted elements of LM โจ
LM์ ์์๊ฐ๊ฐ ๋ณํํด๊ฐ๊ณ ์๋ค. ๋ฉฐ์น ์ ์ ์๋กญ๊ฒ ๋ฐํ๋ ๋ชจ๋ธ์ด ์ค๋์์๋ ๊ทธ ๋ฉด๋ชจ๊ฐ ๋ฑ๋ฑ์ด ํ์ ๋์ด ๋ถ์กฑํ ์ ๋ค์ด๋ ๋จ์ ๋ค์ด ์ง์ ๋ฐ๊ณ ์๋ ์์ฆ์ด๋ค. ๐ฅ ๊ทธ๋งํผ LM์ ๊ทธ๊ฒ์ด ํ๋ผ๋ฏธํฐ๋ ๋ฐ์ดํฐ๋ ๋ค๋ฐฉ๋ฉด์ผ๋ก ๋น ๋ฅด๊ฒ ๋ณํํด๋๊ฐ๊ณ ์๋๋ฐ, ์ด๋ฒ ํฌ์คํ ์์ ๋ค๋ค๋ณด๊ณ ์ ํ๋ ๋ด์ฉ์ ์ค๋ ์๊ฐ ๋์ ๋ณ๋ก ๊ฑด๋๋ ค์ง์ง ์๋ค๊ฐ ์ต๊ทผ์ ์ฌ๋ฌ ์ฐ๊ตฌ(Chen et al., 2023, Ding et al., 2023, Liu et al., 2023)๋ฅผ ํตํด ๋ค์ ๊ฐ๊ด๋ฐ๊ณ ์๋ ๋ด์ฉ์ธ LM์ context window์ ๋ํด์ ์๊ธฐํด๋ณด๊ณ ์ ํ๋ค! ๐
What is the 'context window'? ๐ค
์์ํ๊ธฐ์ ์์์ ์ด๋ฒ ํฌ์คํ ์์ ์ค์ํ๊ฒ ๋ค๋ค๋ณผ ๋ด์ฉ์ธ 'context window', ๊ณผ์ฐ ๋ฌด์์ธ๊ฑธ๊น? ์ง์ญ์ ํด๋ณด๋ฉด '๋ฌธ๋งฅ ์ฐฝ'์ด๋ผ๋ ๋ญ๊ฐ ์๋ฆฌ์กํ ์๋ฏธ๋ฅผ ์ป์ ์ ์์ ๊ฒ์ด๋ค. ๐ ์ด๊ฒ์ด ์ฌ๋์ ๊ด์ ์์ ๋ฐ๋ผ๋ณด์๊ธฐ์ ์ด์ํ๋ ๊ฒ์ด์ง ๋ชจ๋ธ์ ๊ด์ ์์ ๋ณธ๋ค๋ฉด ์ง๊ทนํ ์ ์์ ์ธ ํํ์ด๋ผ๊ณ ํ ์ ์๋ค! ํ์ง๋ง, ์์ง ์ฐ๋ฆฌ๋ ์ฌ๋์ด๊ธฐ์ ์๋ฆฌ์กํ๊ธฐ๋ง ํ ํ ๋ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ๋ชจ๋ธ์ ๊ด์ ์์ context window๋ฅผ ์์๊ฐ ๋ณด๋๋ก ํ์! ๐ฉ
context window๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ LM์ด text๋ฅผ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ดํดํ๋์ง๋ฅผ ์ฐ์ ์ดํดํด์ผ ํ ํ์๊ฐ ์๋ค. ์ด ์ค๋ช ์ ์ํ ์์ ๋ฌธ์ฅ์ผ๋ก ๋ค์์ ๋ฌธ์ฅ์ ์์๋ก ์ฌ์ฉํ๋๋ก ํ๊ฒ ๋ค.
'๋๋ ๊ฐ๋ฐฉ์ ๋ฉ๊ณ ์๋ค.'
๋จผ์ ์ฌ๋์ ์ ์ฅ์์ ์๊ฐํด๋ณด๋ฉด ๋ญ ์ฌ์ค ์ดํดํ๊ณ ๋ถ์ํ๊ณ ํ ๊ฒ๋ ์์ด ๊ทธ๋ฅ '์ ๊ฐ๋ฐฉ์ ๋ฉ๊ณ ์๊ตฌ๋~'๋ผ๊ณ ๋ฐ๋ก ๊ฒฐ๋ก ์ด ๋์ฌ ์ ์์ ๊ฒ์ด๋ค. ๐ ํ์ง๋ง LM์ ๊ทธ๋ฌํ ์ ์์ผ๋ ์ด ๋ฌธ์ฅ์ ์ฐฌ์ฐฌํ ๋ณด๊ณ ํ๋ํ๋ ๋ฏ์ด๋ด์ผ ํ๋ค. ์ด๋ ์ด ๋ฌธ์ฅ์ ์์๋ฅผ ํ๋ํ๋ ๋ฏ์ด๋ณด๊ธฐ ์ํด ํ์ํ ๊ฒ์ด ๋ฐ๋ก ๋ชจ๋ธ์ด ์ฌ์ฉํ๋ ๋จ์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ 'Token(ํ ํฐ)'์ด๋ผ๋ ๊ฒ์ด๋ค! ์ฌ์ค ์ด token์ tokenizer์ ์ข ๋ฅ์ ๋ฐ๋ผ์ ํ ํฐํ๋๋ ๋ฐฉ์์ด ์์ดํ๋ฐ ๊ฐ๋จํ๊ฒ word-level์ tokenizer(์ค์ ๋ก ์ฌ์ฉ๋๋ tokenizer๋ ํจ์ฌ ๋ ๋ณต์กํ ๊ธฐ์ค์ ๊ฐ์ง๊ณ ํ ํฐํ๋ฅผ ์งํํฉ๋๋ค)๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํ์ ๋ ์์ ์์ ๋ฌธ์ฅ์ ๋ค์๊ณผ ๊ฐ์ด ํ ํฐํ๊ฐ ๋ ์ ์๋ค.
['๋๋', '๊ฐ๋ฐฉ์', '๋ฉ๊ณ ', '์๋ค']
์ด๋ ๊ฒ ๋ณด๋ ์ข ๋ ์ง๊ด์ ์ผ๋ก ๋ชจ๋ธ์ด ์ด๋ป๊ฒ text๋ฅผ ๋ฐ๋ผ๋ณด๋์ง ์ดํดํ ์ ์์ง ์๋๊ฐ? ๐ ๋ฌผ๋ก ์ด๋ ๊ฒ ํ ํฐํ๋ token์ ๊ฐ์ง๊ณ ์์ ๋ง์ vocabulary์ ์ด ํ ํฐ๋ค์ ์ ์ฅํด ๋๊ณ ๋ฑ์ฅํ ๋๋ง๋ค ๋ถ๋ฌ์์ ์ฐ๊ณ ํ๋ ๋ณต์กํ ๊ณผ์ ๋ค์ ํตํด์ ์ฌ์ฉ๋๊ธฐ๋ ํ์ง๋ง ๋๋ต์ ์ธ ๊ฐ์๋ ๋ฌธ์ฅ์ ์ข ๋ ์ธ๋ถํ๋ ํํ์ ๋๋ ํน์ ๋จ์๋ก ๋๋์ด์ ๋ฐ๋ผ๋ณด๋ ๊ฒ์ 'Tokenization(ํ ํฐํ)'๋ผ๊ณ ํ๋ค. ์ด ๊ณผ์ ์ ํตํด ๋์ค๋ ์ถ๋ ฅ๋ฌผ์ด 'Token(ํ ํฐ)'์ธ ๊ฒ์ด๋ค.
์, ํ ํฐ์ ๋ํด์ ์์๋ดค์ผ๋ ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก context window๊ฐ ๋ฌด์์ธ์ง ์์๋ณผ ์๊ฐ์ด๋ค! ๐ ๊ทธ์ ์ context window๊ฐ ์ด๋จ ๋ ์ฌ์ฉ๋๋ ๊ฒ์ธ์ง์ ๋ํด ๋จผ์ ์์๋ณด๋๋ก ํ์. ๐ (ํ๊ธฐ์ฆ์ด ๋ ํ ์ง๋ง ๋ชจ๋ ๊ผญ ํ์ํ ์ ๋ณด๋ค์ด๋ ์ฐธ๊ณ ๋ฐ๋ผ์ ์ค ์ ์๊ธธ ๋ฐ๋๋๋ค!!) ์๊น ์์์ ๋งํ๋ ๊ฒ์ฒ๋ผ ๋ชจ๋ธ์ text๋ฅผ ๋ฐ์๋ค์ฌ์ ํ ํฐํ๋ฅผ ๊ฑฐ์น๊ณ ๋ฌธ์ฅ์ ์๋ฏธ๋ฅผ ํด์ํ๊ณ ์ด๋ ๊ฒ ํด์๋ ๋ฌธ์ฅ์ ๊ฐ์ง๊ณ ์ถ๋ ฅ์ ํด๋ด๋ ์ญํ ์ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ชจ๋ธ์ด text๋ฅผ ์ด๋ป๊ฒ ๋ฐ์๋ค์ผ ์ ์๋ ๊ฒ์ผ๊น? ๊ทธ๋ฆฌ๊ณ ์ผ๋งํผ ๋ฐ์๋ค์ฌ์ผ ํ๋ ๊ฑธ๊น? ์ ๋ต!! ๊ทธ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก ์ด 'context window'์ธ ๊ฒ์ด๋ค.
๋๋์ด ์ฌ๋ฌ๋ถ์ด ๊ธฐ๋ค๋ฆฌ๊ณ ๊ธฐ๋ค๋ฆฌ๋ ์ ํํ context window๊ฐ ๋ฌด์์ธ์ง์ ๋ํด์ ์์๋ณด๋๋ก ํ์!! context window์ ์ ํํ ์์๋ ๋ฌธ์ฅ์์ ํ๊น ํ ํฐ์ ์ฃผ๋ณ์ ์๋ ํ ํฐ๋ค์ ์๋ฏธํ๋ค. ์ด๊ฒ์ ์ด์ LM์์๋ ๋ชจ๋ธ์ด ํ ํฐ ์ ๋ ฅ์ ๋ฐ์๋ค์ด๋ ๊ฒ์ผ๋ก ์๊ฐํ๋ฉด ํธ๋ฆฌํ๊ณ , ์ด context window์ ๊ธธ์ด๋ ๋ชจ๋ธ์ด ์ ๋ ฅ์ผ๋ก ๋ฐ์๋ค์ด๋ ํ ํฐ์ ๋ฒ์๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด์ 512๊ฐ์ ํ ํฐ์ context๋ก ๋ฐ์๋ค์ธ๋ค๊ณ ํ๋ฉด context window์ ๊ธธ์ด๋ 512๊ฐ ๋๋ ๊ฒ์ด๋ค. ๋์ฑ ์์ธํ ๋ด์ฉ์ ๋ค์์ ํฌ์คํ ์์ 3-1 ๋ถ๋ถ์ ํ์ธํด๋ณด๊ธธ ๋ฐ๋๋ค. ์ด์ LM์ด ์ด๋ป๊ฒ text๋ฅผ ๋ฐ๋ผ๋ณด๋์ง์ ๋ํด์ ์๊ฒ ๋์๋ค. ๋ฐ๋ก ์์ธํ ๋ ผ๋ฌธ๋ค์ ์ดํด๋ณด๊ธฐ์๋ ์์ง ๋ถ์กฑํ ๋ถ๋ถ๋ค์ด ์์ผ๋, ๋ง์ง๋ง์ผ๋ก ์ด์ ๋ชจ๋ธ์ด ์ด๋ป๊ฒ ์ด text๋ฅผ ์ดํดํ ์ ์๋์ง์ ๋ํด ์์๋ณด๊ณ ๋ ผ๋ฌธ๋ค์ ๋ํด์ ์ดํด๋ณด๊ฒ ๋ค! ๐
Attention, how to understand the text? ๐คจ
์ฌ์ค ๋ชจ๋ธ์ด text๋ฅผ ์ดํดํ๋ ๋ฐฉ๋ฒ๋ค์ ๋ง์ด ์์ง๋ง, ์์ฆ์ ๋ง์ LM์ด Transformer๋ฅผ ์ฌ์ฉํ๋ ๋งํผ Transformer์ ์ฌ์ฉ๋ ๊ฐ์ฅ ํต์ฌ ๊ธฐ์ ์ด์ ๋ชจ๋ธ์ด text๋ฅผ ์ดํดํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ธ 'Attention'์ ๋ํด์ ์์๋ณด๋๋ก ํ์! Attention์ ๊ทธ ์ด๋ฆ์์๋ถํฐ ์ ์ ์๋ฏ์ด '์ฃผ์๋ฅผ ๊ธฐ์ธ์ธ๋ค'๋ผ๋ ๋ด์ฉ์ด ์ฃผ๊ฐ ๋๋ method๋ผ๊ณ ํ ์ ์๋ค. ์ด Attention์๋ ์ฌ๋ฌ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋๋ฐ ์ง๊ธ ์ดํด๋ณผ ๊ฒ์ Transformer์์ ์ฌ์ฉ๋ 'Self-Attention'์ด๋ค.
Self-attention์ ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ์ ์ ๋ถ ๋ค๋ฃจ๊ธฐ์๋ ๊ทธ ์์ด ์๋นํ ๋ฐฉ๋ํ๊ธฐ์ ์ฌ๊ธฐ์๋ ๊ฐ๋จํ ์๊ธฐํด๋ณด๋๋ก ํ๊ฒ ๋ค. Attention์ ์ ๋ ฅ ์ํ์ค ๋ด์์ ํ ํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ตํ์ฌ ์ค์ํ ์ ๋ณด๋ฅผ ๊ฐ์กฐํ๋ ๊ธฐ์ ๋ก, Self-attention์ ๋ ๊ฐ์ง ๋ฌธ์ฅ์ ๋น๊ตํ์ฌ ๊ฐ ๋ฌธ์ฅ์ ์์๋ผ๋ฆฌ์ ๊ด๊ณ๋ฅผ ํ์ ํ๋๋ฐ, ์ด๋ ๋ ๊ฐ์ง ๋ฌธ์ฅ์ ๋๊ฐ์ ๋ฌธ์ฅ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ข ๋ ์์ธํ ๋ด์ฉ์ ๋ํด์๋ ๋ค์์ ํฌ์คํ ์ '4. ์ฝ๊ฒ ์ดํดํ๋ Transformer - Self-attention' ๋ถ๋ถ์ ํ์ธํด๋ณด๊ธธ ๋ฐ๋๋ค.
Attention์ ์ง๊ธ๊น์ง์ ๋ฐฉ์๋ค๊ณผ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก text๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์ดํดํจ์ผ๋ก์จ ํ์ ์ ๋ถ๋ฌ์ผ์ผ์ผฐ๋ค. ํ์ง๋ง, ์น์น์ฅ๊ตฌํ๋ Attention์๊ฒ๋ ์ด๋ ์ด ๋๋ฆฌ์ ์ผ๋.. ๊ทธ๊ฑด ๋ฐ๋ก context window์ length๋ฅผ ๋๋ฆฌ๊ธฐ๊ฐ ์ฝ์ง ์๋ค๋ ์ ์ด๋ค! ๐ฅ ์ด๋ Attention์ด ์๋ํ๋ ๋ฐฉ์์ ๋ณด๋ฉด ์ฝ๊ฒ ์ ์ ์๋๋ฐ, Attention์ ๋ ๋ฌธ์ฅ์ ๋ชจ๋ ์์๋ฅผ ํจ๊ป ๋น๊ตํ๊ฒ ๋๋ ์ด์ฉ ์ ์์ด $O(n^{2})$์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๊ฒ ๋์ด context window length๋ฅผ ๋๋ฆฌ๊ฒ ๋๋ฉด, ๊ณ์ฐ๋์ด ๊ณฑ์ ๋ก ๋์ด๋๊ฒ ๋์ด ์ปดํจํ ์์์ ์ ์ฝ์ ๋ถ๋ชํ๊ฒ ๋๋ค.. (์ ๋ผ..!! ๐ญ๐ญ) ๊ทธ๋ฌ๋ ์ด๋ฌํ Attention์ ์ ์ฝ์ ํด๊ฒฐํ๊ณ ์ ํ๋ ๋ง์ ์ฐ๊ตฌ๋ค์ด ๋ค์ ๋์ค๊ฒ ๋์๊ณ , ๋ค์ ์น์ ์์๋ ์ด๋ฌํ ์ฐ๊ตฌ๋ค์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ๋ค!
Let's extend the context window! ๐
context window๋ฅผ ๋๋ ค๋ณด๊ธฐ ์ ์!! ์ ์ด context window์ ๊ธธ์ด๋ฅผ ๋๋ ค์ผ ํ ๊น? ๐คจ ์ ํ ๋ฒ ์๊ฐํด ๋ณด์. ๋ง์ฝ context window์ ๊ธธ์ด๊ฐ ์งง์ผ๋ฉด ๋ชจ๋ธ์ด text๋ฅผ ๋ฐ์๋ค์ผ ๋ ํ ๋ฒ์ ๋ฐ์๋ค์ด์ง ๋ชปํ๊ณ ํ๋์ text๋ ์ฌ๋ฌ ๊ฐ๋ก ๋๋ ์ ๋ฐ์๋ค์ฌ์ผ ํ๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋ง๋ จ์ด๋ค. ์ด๋ ๊ฒ ๋๋ฉด ์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊น? ์๋ฅผ ๋ค์ด ๋ณด๋ฉด, ์ฑ ํ ์ฅ์ ๋๊ธธ ๋๋ง๋ค ์ด์ ๋ด์ฉ์ ๊น๋จน๊ณ ์๋ก์ด ๋ด์ฉ์ ๋ณด๊ฒ ๋๋ ๊ฒ์ด๋ผ๊ณ ํํํ ์ ์์ ๊ฒ ๊ฐ๋ค. ๐ ๋ฌผ๋ก ๋น์ ๊ฐ ์ด๋ฐ ๊ฒ์ด์ง ์ค์ ๋ก ๋ชจ๋ธ์ด ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๋ฉด ์ด์ ๊ธฐ์ต์ ๋ชจ๋ ๊น๋จน๋๋ค๋ ๊ฒ์ด ์๋๋ค!! ๐ ๊ฒฐ๊ตญ ์ ๋ฆฌํด ๋ณด๋ฉด, context window์ ๊ธธ์ด๊ฐ ์งง์์ง๋ฉด ๋ฌธ๋งฅ์ ํ์ ์ ํ๋ฆ์ด ๋๊ธฐ๊ฒ ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด context window๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
์ด์ ์ด์ ๋ ์๊ฒ ๋์์ผ๋ context window๋ฅผ ์ด๋ป๊ฒ ๋๋ฆด ์ ์์๋์ง์ ๋ํด์ ํ ๋ฒ ์์๋ณด๋๋ก ํ์!! ๐ฉ ์ฌ๋ฌ๊ฐ์ง ์ฐ๊ตฌ๋ค์ด ์์์ผ๋ ๋ชจ๋ ๋ด์ฉ์ ๋ค๋ฃจ๊ธฐ์๋ ๊ทธ ์์ด ๋ฐฉ๋ํ๊ธฐ์ ์์ ์ฐ๊ตฌ๋ค์ ๋ํด์๋ ๊ฐ๋ตํ ์ค๋ช ๊ณผ ํจ๊ป ๋ฆฌ๋ทฐ ๋งํฌ๋ฅผ ๋ฐ๋ก ๋ฌ์๋๋๋ก ํ๊ฒ ๋ค.
- Transformer-XL(๋ฆฌ๋ทฐ ๋งํฌ: ํด๋ฆญ): context window๋ฅผ ๋๋ฆฐ๋ค๊ธฐ ๋ณด๋ค๋ ๊ณ ์ ๋ context length์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ฝํด์ง long-term dependency ๋ฌธ์ ํด๊ฒฐ
- XLNet(๋ฆฌ๋ทฐ ๋งํฌ: ํด๋ฆญ): Transformer-XL์ ์ข ๋ ๊ฐ์ ์ํค๊ณ , ์๋ฐฉํฅ ํ์ต์ ํจ
- Sparse Transformer(๋ฆฌ๋ทฐ ๋งํฌ: ํด๋ฆญ): ๊ธฐ์กด์ Attention์ด ๋ชจ๋ ์์๋ฅผ ๋น๊ตํ๋ ๊ฒ์ ๋ฐํด ์ฝ๊ฐ์ ํ ์ ์ค์ผ๋ก์จ ์๊ฐ ๋ณต์ก๋๋ฅผ $\mathbf{O}(n \sqrt{n})$์ผ๋ก ์ค์ธ ๋ชจ๋ธ
- Longformer(๋ฆฌ๋ทฐ ๋งํฌ: ํด๋ฆญ): Sliding window + Dilated Sliding + Global attention์ ํ์ฉํ์ฌ ์ข ๋ sparseํ attention์ ๋ง๋ฆ์ผ๋ก์จ ๋์ฑ ๊ธด context length๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ ๋ชจ๋ธ
- BigBird(๋ฆฌ๋ทฐ ๋งํฌ: ํด๋ฆญ): Random + Sliding + Global attention์ ํ์ฉํ์ฌ ์ข ๋ sparseํ attention์ ๋ง๋ฆ์ผ๋ก์จ ๋์ฑ ๊ธด context length๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ ๋ชจ๋ธ
์์ ๊ฐ์ด LM์ context length๋ฅผ ๋๋ฆฌ๊ณ ์ ์๋ํ๋ ๋ง์ ๋ ผ๋ฌธ๋ค์ด ์์๋ค. ์ด ๋ ผ๋ฌธ๋ค์ ๋๋ต์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ดํด๋ณด๋ฉด, ์์ ์ธ๊ธํ๋ Attention์ quadratic computation ๋ฌธ์ ๋ฅผ full attention์์ ๋ฒ์ด๋ ์ข ๋ spars ํ attention์ ๋ง๋ฆ์ผ๋ก์จ ๊ณ์ฐ๋์ linear ํ๊ฒ ๋ง๋ค๊ณ ์ ํ์๋ค. ํ์คํ ์ด๋ฌํ ๋ถ๋ถ์ ๋ณด๋ฉด attention์ quadratic ํ computation์ ๋ถ๋ด๋ ์ ๋๋ก ๋ง์ ์์ ๋ถํ๋ฅผ ๋ฐ์์ํค๋ ๊ฒ ๊ฐ๊ธด ํ๋ค. ๐
๋ ผ๋ฌธ๋ค ์ธ์ ํ์ฌ์ LLM๋ค๋ context window์ ๊ธธ์ด๋ฅผ ๋๋ ค๊ฐ๊ณ ์๋๋ฐ MosaicML์ MPT๋ context window๋ฅผ 64K๊น์ง ๋๋ฆฌ๊ณ , Anthropic์ Claude๋ 100K๊น์ง ๋๋ฆฌ๋ ๋ฑ ์ฌ๋ฌ ์๋๋ค์ด ์ผ์ด๋๊ณ ์๋ค. GPT-4์ context window length๊ฐ 32K์ด๊ณ , ๋ณดํต์ open-source LLM๋ค์ด 2K์ธ ๊ฒ์ ๋ฐํด ์์ฒญ๋๊ฒ ๋์ด๋ ๊ฒ์ด๋ค! ๐ฎ
์ด๋ ๊ฒ ํด์ ์ด๊ธฐ์ context window์ ๊ธธ์ด๋ฅผ ๋๋ฆฌ๊ธฐ ์ํ ์๋๋ค๊ณผ ์ต๊ทผ์ LLM๋ค์ context window length์ ๋ณํ์ ๋ํด์ ์์๋ดค๊ณ , ์ด์ ์ต๊ทผ ์ฐ๊ตฌ๋ค์ ๋ํด์ ์์๋ณด๋๋ก ํ์.
Extending Context Window of Large Language Models via Positional Interpolation (Chen et al., 2023)
์ด ๋ ผ๋ฌธ์์๋ interpolation๊ณผ extrapolation ์ด๋ผ๋ ๊ฐ๋ ์ ํ์ฉํ์ฌ context window์ ๊ธธ์ด ์ ์ฝ์ ํด๊ฒฐํ๊ณ ์ ํ์๋ค. ์ฌ๊ธฐ์ interpolation์ด๋ ๋ฒ์ ์์ ์๋ ๊ฐ์ ์์ธกํ๋ ๋ณด๊ฐ๋ฒ์ ์๋ฏธํ๊ณ , extrapolation์ด๋ ๋ฒ์ ๋ฐ์ ์๋ ๊ฐ์ ์์ธกํ๋ ๋ณด์ธ๋ฒ์ ์๋ฏธํ๋ค. ์ด ๊ฐ๋ ์ ํ์ฉํ๊ธฐ ์ํด Positional Interpolation์ ์๊ฐํจ์ผ๋ก์จ pre-training context window size๋ฅผ ๋์ด์๋ input text๋ฅผ interpolation ๋ฒ์๊น์ง ์ค์ผ ์ ์๊ฒ ๋๋ฉด์ extrapolation์ interpolation์ผ๋ก ๋ฐ๊ฟ ์ ์๊ฒ ๋์๋ค! ๐ ํ ๋ง๋๋ก, extrapolation ๋๋ ํ ํฐ๊น์ง๋ interpolation ํ ์ ์๋๋ก position์ ๋ณ๊ฒฝํ์๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค. ๋ฐ๋ผ์ context window๋ณด๋ค ๊ธด text๊ฐ ์จ๋ค๊ณ ํด๋ ๊ทธ position ์ ๋ณด๋ฅผ ๋์ฑ ์ข๊ฒ ํด์ interpolation ๋ฒ์๊น์ง ์ขํ ์๋ง ์์ผ๋ฉด ๋๋ ๊ฒ์ด๋ค! ๊ทธ๋์ ๋ ผ๋ฌธ์์๋ ์ค์ ๋ก 2,048์ ํ ํฐ์ ์์ฉํ ์ ์๋ context window์์ 32,768๊ฐ์ ํ ํฐ๊น์ง ์ฐธ์กฐํ ์ ์๋๋ก ํ์๋ค!
LongNet: Scaling Transformers to 1,000,000,000 Tokens (Ding et al., 2023)
Microsoft์์ ๋ฐํํ ์ด ๋ ผ๋ฌธ์ ๋ฐํํ์๋ง์ ์๋นํ ๊ธฐ์์ฒ์ธํ ์ ๋ชฉ์ผ๋ก ์ฌ๋๋ค์ ์ด๋ชฉ์ ๋ ์ ์์๋ค. ์๋ ์ค์ ๋ก๋ ๋ง์ด ๋์๋ค. ๋๊ฐ 10์ต ๊ฐ์ ํ ํฐ์ ์ฒ๋ฆฌํ ์ ์๋ Transformer๊ฐ ๋์๋ค๋๋ฐ ๊ตฌ๋ฏธ๊ฐ ๋น๊ธฐ์ง ์์ ์๊ฐ ์๊ฒ ๋๊ฐ! ๐คค ์ค์ ๋ ผ๋ฌธ์ ์๋ ์ด์ ๋ชจ๋ธ๋ค๊ณผ์ context window length๋ฅผ ๋น๊ตํ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด ํ์คํ ๊ทธ ์์ฒญ๋ ์์์ ํ์ธํ ์ ์๋ค.
LongNet์์๋ ์ด๋ฌํ ์์ฒญ๋ context window length๋ฅผ ๊ธฐ์กด์ attention์์ ์ข ๋ sparseํด์ง 'dilated attention'์ ํ์ฉํ๊ณ , ์ด LongNet์ ๋ถ์ฐ Trainer๋ก ์ฌ์ฉํ์ฌ 10์ต ๊ฐ์ ํ ํฐ์ ๋ฐ์๋ค์ผ ์ ์์ด์ก๋ค. ์ด dilated attention์์ segment length์ dilated rate๋ฅผ ๋ณํ์ํค๋ฉด์ ์ฌ๋ฌ attention์ ๋ง๋ค๊ณ ๊ทธ attention์ ํฉ์ณ์ ํ๋์ dilated attention์ ๋ง๋๋ ๋ฐฉ์์ด๋ค. ์์ธํ ๋ด์ฉ์ ๋ํด์ ์๊ณ ์ถ๋ค๋ฉด ์ด ์ ํ๋ธ ์์๋ฅผ ํ์ธํ๊ธธ ๋ฐ๋๋ค.
์ด๋ ๊ฒ ํด์ ๋ง๋ค์ด์ง LongNet์ ์ค์ ๋ก ์คํ์์๋ ๊ธฐ์กด์ vanilla Transformer์ attention์ ๋นํด์ ๋ง๋ ์ ๋ ์ ๋๋ก ์ ์ ๋ฐํ์์ผ๋ก ํจ์ฌ ๋ ๊ธด ๋ฌธ์ฅ์ ํด์ํ ์ ์์์ ๋ณด์ฌ์คฌ๋ค! ๐ฅ
Should the context window be longer? ๐
์ด๋ ๊ฒ ํด์ context window์ length๋ฅผ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ๋ค์ ๋ํด์ ์์๋ดค๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ๋ ผ๋ฌธ๋ค์์ context window์ length๋ฅผ ๋๋ฆฌ๋ ์ฑ๋ฅ๋ ๋ ์ข๊ฒ ๋ํ๋๋ ๊ฒ์ผ๋ก ๋ณด์๋ค. ํ์ง๋ง ์ค์ ๋ก ๋ชจ๋ธ์ด ์ถ๋ก ์ ํ ๋ ์ด context window๋ก ๋ค์ด์จ ๋ชจ๋ ๋ด์ฉ๋ค์ ํ์ฉํ๋ ๊ฑธ๊น? ๋ง์ฝ ์ฌ์ค ๊ทธ๋ ์ง ์๋ค๋ฉด, ์ด๋ ๊ฒ ๋ฌด๋ถ๋ณํ๊ฒ context window์ length๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ ์คํ๋ ค LM์๊ฒ ๋ ์ด ๋ ์๋ ์๋ค! ๐ฎ ๋ฐ๋ผ์ context window์ length๋ฅผ ๋๋ฆผ์ ๋ฐ๋ผ ๋ฐ์ํ๋ ๋ณํ๋ฅผ ํ์ ํ๊ณ ๋ถ์ํ๊ธฐ ์ํ ์ฐ๊ตฌ๋ค๋ ํ์ํ๋ค. ์ด๋ฒ ์น์ ์์๋ Stanford University์ UC Berkeley์์ ํจ๊ป ์์ฑํ ๋ ผ๋ฌธ์ธ 'Lost in the Middle: How Language Models Use Long Contexts'(์ค์ฌ์ 'Lost in the Middle'์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ก ํ๊ฒ ๋ค!)์ ๋ํด์ ์์๋ณด๊ณ context window์ ๊ธธ์ด์ ๋ฐ๋ฅธ ์ํฅ์ ๋ํด ์์๋ณด๊ณ ์ ํ๋ค.
Lost in the Middle: How Language Models Use Long Contexts (Liu et al., 2023)
'Lost in the Middle' ๋ ผ๋ฌธ์ 2023๋ 7์ ์ ๋์จ ๋ ผ๋ฌธ์ผ๋ก ์์ ์ค๋ช ํ 'Extending Context Window...'์ LongNet์ ๋ฐํ ์ดํ๋ก context window์ ์ ํํ ์ํฅ์ ๋ํด ํ๊ฐ ๋ฐ ๋ถ์ํ๊ธฐ ์ํด ์์ฑ๋์๋ค. ์ด ๋ ผ๋ฌธ์์ ํ๋ ์คํ๋ค์ ์์ฝํด์ ์ค๋ช ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๋ฌ ๋ฌธ์๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฃผ๊ณ ๊ทธ ์ค ํ๋์ ๋ฌธ์๋ง ์ ๋ต์ ํฌํจํ๊ณ ์๋ ์ง๋ฌธ์
๋์ง๊ณ , ๊ทธ ์ง๋ฌธ์ ์์น์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๋ณํ๋ฅผ ํ์ ํด ๋ณด์!
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ชจ๋ธ์ด ์ ๋ต ๋ฌธ์๊ฐ input text์ ์ด๋ค ์์น์ ์์ ๋ ๊ฐ์ฅ ์ ์ฐพ์๋ด๋์ง๋ฅผ ์์๋ผ ์ ์๋ค. ๋ ผ๋ฌธ์์ ์ฌ๋ฌ ๊ฐ์ง ์คํ์ ์งํํด ๋ณด๋๋ฐ ๋๋ถ๋ถ์ ์คํ์์ ๋ค์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ U์ํ ๊ทธ๋ํ๋ฅผ ์ป๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ ๋ชจ๋ธ์ input text์ ์ด์ ๊ณผ ๋ ๋ถ๋ถ์ ์ ๋ต ๋ฌธ์๊ฐ ์์ ๋ ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋ฌํ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด ์๋ฌด๋ฆฌ ์ ๋ ฅ์ด ๊ธธ๋ค๊ณ ํด์(= context window length๊ฐ ๊ธธ๋ค๊ณ ํด์) ์ฑ๋ฅ์ด ๋์์ง์ง๋ ์์ ๋ฟ๋๋ฌ, ๊ทธ ๋ชจ๋ ์ ๋ณด๋ฅผ ํ์ฉํ์ง ๋ชปํ๋ค๋ผ๋ ๊ฒ์ ์ ์ ์๋ค. ์ค์ ๋ก ๋ ผ๋ฌธ์์๋ ๋ง์ง๋ง ๋ถ์์ ๋๋ฌด ๋ง์ ๋ฌธ์๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฃผ๋ ๊ฒ์ ์ฑ๋ฅ ๊ฐ์ ์ ๋ณ ์ํฅ์ ๋ฏธ์น์ง ๋ชปํ๊ณ , ๋ฐ๋ผ์ ๊ด๋ จ ์ ๋ณด๋ฅผ input context์ ์ด์ ์ ์ ๊ณตํด ์ฃผ๊ฑฐ๋ ์ ์ ์์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๋ซ๋ค๊ณ ์ฃผ์ฅํ๋ค.
My opinion ๐
๋ฌผ๋ก 'Lost in the Middle' ๋ ผ๋ฌธ์์๋ ์ ๋ณด ์ถ์ถ task์ ๋ํด์๋ง ์ฑ๋ฅ์ ํ๊ฐํ ๊ฒ์ด๋ผ ๋ชจ๋ task์ ๋ํด ์ด๋ฌํ ๊ฒฝํฅ์ด ์์ ๊ฒ์ด๋ผ๊ณ ๋ ๋จ์ ์ง์ ์ ์์ผ๋ ์ ๋ณด ์ถ์ถ task์์ ์ด๋ฌํ ๋ชจ์ต์ ๋ณด์ฌ์ค๋ค๋ ๊ฒ์ ๋ค๋ฅธ task์์๋ ์ด๋ฐ ๋น์ทํ ๊ฒฝํฅ์ ๋ ์๋ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค. ๐ฅ ๋ฐ๋ผ์ ๋ณด๋ค ํ์คํ ๊ฒ์ฆ์ ์ํด์๋ ๋ ๋์ ๋ฒ์์ task์ ๋ํด์ ์คํ์ ์งํํ๋ฉฐ ๋ณด๋ค ํ์คํ ๋ถ์์ ํ๋ ์ฐ๊ตฌ๋ค์ด ๋์์ค์ผ ํ๋ค. ๋ชจ๋ธ์ ์๋ก์ด method๋ฅผ ์ ์ฉํ์ฌ ์๋กญ๊ณ ๋ ๊ฐ์ ๋ ๋ชจ๋ธ์ ์ ์ํ๋ ๊ฒ๋ ์ข์ง๋ง, ์ด๋ฌํ method๋ก ์ธํด ๋์จ ๊ฒฐ๊ณผ์ ๋ฌธ์ ๋ ์๋์ง, ๊ด์ฐฎ์ ๊ฒ์ธ์ง ๋ถ์ํ๋ ๊ฒ๋ ์๋นํ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ค. ๐
์ด๋ ๊ฒ ํด์ LM์ context window์ ๋ํด์ ์์๋ณด์๋๋ฐ, ํ์์ ์๊ฒฌ์ ์ ๊น ๋งํด๋ณด์๋ฉด, ํ์๋ ์์ง ์ข ๋ ๋ง์ ์ฐ๊ตฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ๋ค. ํ์คํ๊ฒ context window์ length๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด ์ด์ ์ ๊ฐ์ง๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ง ์๋ ์ด์ ๋ฌด์์ context window๋ฅผ ๋๋ ค๊ฐ๋ ๊ฒ์ ๋๋ฌด ๋ฌด๋ชจํ ๋์ ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๋ฌผ๋ก ์ด๊ฒ์ ํ ์ฌ๋์ ์๊ฒฌ์ ๋ถ๊ณผํ๋ ๋๋ฌด ๋ฌด๊ฒ๊ฒ ๋ฃ์ง๋ ๋ง๊ณ , ๊ฐ๋ณ๊ฒ ํ๋ ค๋ฃ๊ธธ ๋ฐ๋๋ค! ๐ ์ด ๊ธ์ ์ฝ์ ์ฌ๋ฌ๋ถ๋ค์ ์๊ฒฌ๋ค๋ ๋๊ธ์ ๋จ๊ฒจ์ฃผ์๋ฉด ๊ฐ์ฌํ ๊ฒ ๊ฐ์ต๋๋ค! ํฌ์คํ ๋๊น์ง ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๐