๐Weight Sparse Transformers ๋ฆฌ๋ทฐ
๐ Ping. ๐ Ring. โ๏ธ Dig. A tiered review series: quick look, key ideas, deep dive.
- ๐ค ์ด ์ฐ๊ตฌ๋ ์ธ์ด ๋ชจ๋ธ์ ์๋ ์๋ฆฌ๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋๋ถ๋ถ์ ๊ฐ์ค์น๋ฅผ 0์ผ๋ก ์ ํํ weight-sparse Transformer๋ฅผ ํ๋ จํ๊ณ , ๊ฐ task์ ๋ํ ํต์ฌ circuit์ pruningํจ์ผ๋ก์จ ์ธ๊ฐ์ด ์ดํดํ ์ ์๋ circuit์ ์ถ์ถํฉ๋๋ค.
- ๐ Weight-sparse ๋ชจ๋ธ์ dense ๋ชจ๋ธ๋ณด๋ค ํจ์ฌ ์๊ณ (์ฝ 16๋ฐฐ) ๋ช ํํ๊ฒ ํด์ ๊ฐ๋ฅํ task-specific circuit์ ์์ฑํ๋ฉฐ, ์ด circuit๋ค์ ์์ฐ์ค๋ฌ์ด ๊ฐ๋ ๊ณผ ์ง๊ด์ ์ธ ์ฐ๊ฒฐ์ ํตํด ๋์ ์์ค์ ์ดํด๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๐ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ํ์ฅํ๋ฉด ํด์ ๊ฐ๋ฅ์ฑ๊ณผ ์ฑ๋ฅ ๊ฐ์ Pareto frontier๊ฐ ๊ฐ์ ๋์ง๋ง, ์์ฒ๋ง ๊ฐ์ ๋น-์ ๋ก ํ๋ผ๋ฏธํฐ ์ด์์ผ๋ก ํ์ฅํ๋ฉด์ ํด์ ๊ฐ๋ฅ์ฑ์ ์ ์งํ๋ ๊ฒ์ ์ฌ์ ํ ๋์ ๊ณผ์ ์ด๋ฉฐ, ์ ์๋ ๋ฐฉ๋ฒ์ bridge๋ฅผ ํตํด ๊ธฐ์กด dense ๋ชจ๋ธ์ ๋์์ ์ค๋ช ํ๋ ๋ฐ์๋ ์ ์ฉ๋ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
์ด ๋ ผ๋ฌธ์ mechanistic interpretability ๋ถ์ผ์ ํต์ฌ ๋ชฉํ์ธ language model ๋ด์์ ์ฌ๋์ ์ดํด๊ฐ ๊ฐ๋ฅํ circuit์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ๊ธฐ์กด dense ๋ชจ๋ธ์ superposition ๋ฌธ์ ๋ก ์ธํด circuit์ ์ดํดํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๋๋ถ๋ถ์ ๊ฐ์ค์น๊ฐ 0์ธ weight-sparse transformer๋ฅผ ํ๋ จํฉ๋๋ค. ์ด ๋ชจ๋ธ๋ค์ ๊ฐ ๋ด๋ฐ์ด ์์์ ์ฐ๊ฒฐ๋ง์ ๊ฐ์ง๋๋ก ํ์ฌ ๋ชจ๋ธ์ ์ฐ์ฐ์ ๊ทน์ ์ผ๋ก ๋จ์ํํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก (Core Methodology)
- Weight-Sparse Model ํ๋ จ (Sparse Training):
- ์ํคํ
์ฒ (Architecture): GPT-2 ์คํ์ผ์ decoder-only transformer๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ชจ๋ ๊ฐ์ค์น์ bias์ sparsity๋ฅผ ์ ์ฉํฉ๋๋ค. ์ด๋ก ์ธํด ๋ชจ๋ธ์ width๋ฅผ ๋๋ฆฌ๋ฉด์๋ 0์ด ์๋ ํ๋ผ๋ฏธํฐ(L0 norm)์ ์๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค. ๊ฐ์ฅ ํฌ์ํ ๋ชจ๋ธ์ ์ฝ 1/1000์ ๊ฐ์ค์น๋ง 0์ด ์๋๋๋ค. ๋ํ, ๋ชจ๋ node ์์น์์ ์ฝ 1/4์ activation์ด 0์ด ์๋ โmild activation sparsityโ๋ฅผ
AbsTopKํ์ฑํ ํจ์๋ฅผ ํตํด ๊ฐ์ ํฉ๋๋ค.RMSNorm์ ์ฌ์ฉํ์ฌ residual stream์์ 0 ๊ฐ์ด ํน๋ณํ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ก ํ๊ณ , normalization ๊ฐ์ค์น๋ฅผ MLP/attention ๊ฐ์ค์น์ ํตํฉํ์ฌ L0๋ฅผ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค. - ์ต์ ํ (Optimization):
AdamWoptimizer๋ฅผ ์ฌ์ฉํ์ฌ cross-entropy loss๋ฅผ ์ต์ํํฉ๋๋ค. L0 ๊ฐ์ค์น ํฌ์์ฑ ์ ์ฝ ์กฐ๊ฑด์ ์ ์งํ๊ธฐ ์ํด ๊ฐ ํ๋ จ ๋จ๊ณ์์AdamW๋ฅผ ์ ์ฉํ ํ ๊ฐ ๊ฐ์ค์น ํ๋ ฌ์์ ๊ฐ์ฅ ํฐ magnitude๋ฅผ ๊ฐ์ง entry๋ฅผ ์ ์ธํ ๋๋จธ์ง๋ฅผ 0์ผ๋ก ์ค์ ํฉ๋๋ค. ํ๋ จ ๊ณผ์ ๋์ L0 norm์ fully dense ์ํ์์ ๋ชฉํ L0๊น์ง ์ ํ์ ์ผ๋ก annealingํฉ๋๋ค. Gradient clipping, learning rate warmup ๋ฐ L0์ ๋น๋กํ๋ learning rate ์ค์ผ์ค์ ์ฌ์ฉํฉ๋๋ค. ํน์ ๋ด๋ฐ์ด๋ attention channel์ด ์ต์ j=4๊ฐ์ 0์ด ์๋ ๊ฐ์ ๊ฐ์ง๋๋ก ๊ฐ์ ํ์ฌ dead neuron์ ์ค์ ๋๋ค.
- ์ํคํ
์ฒ (Architecture): GPT-2 ์คํ์ผ์ decoder-only transformer๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ชจ๋ ๊ฐ์ค์น์ bias์ sparsity๋ฅผ ์ ์ฉํฉ๋๋ค. ์ด๋ก ์ธํด ๋ชจ๋ธ์ width๋ฅผ ๋๋ฆฌ๋ฉด์๋ 0์ด ์๋ ํ๋ผ๋ฏธํฐ(L0 norm)์ ์๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค. ๊ฐ์ฅ ํฌ์ํ ๋ชจ๋ธ์ ์ฝ 1/1000์ ๊ฐ์ค์น๋ง 0์ด ์๋๋๋ค. ๋ํ, ๋ชจ๋ node ์์น์์ ์ฝ 1/4์ activation์ด 0์ด ์๋ โmild activation sparsityโ๋ฅผ
- ํด์ ๊ฐ๋ฅ์ฑ ์ธก์ (Measuring Interpretability):
- ํ์คํฌ ๋ถํฌ (Task Distribution): 20๊ฐ์ง์ ๊ฐ๋จํ๊ณ ๋ช
ํํ Python next-token ์ด์ง ์์ธก ํ์คํฌ๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค. ์์๋ก๋
single double quote(๋ฌธ์์ด ๋ซ๋ ๋ฐ์ดํ ์์ธก) ๋ฐbracket counting(๊ดํธ ์ค์ฒฉ ๊น์ด ์ธ๊ธฐ) ๋ฑ์ด ์์ต๋๋ค. - ๊ฐ์ง์น๊ธฐ (Pruning): ๊ฐ ํ์คํฌ์ ๋ํด ๋ชจ๋ธ์ ๊ฐ์ง์น๊ธฐํ์ฌ ํ์คํฌ ๋ถํฌ์์ ๋ชฉํ loss(๊ธฐ๋ณธ๊ฐ 0.15)๋ฅผ ๋ฌ์ฑํ๋ ๊ฐ์ฅ ์์ circuit์ ์ป์ต๋๋ค. ๊ฐ์ง์น๊ธฐ๋ ๋ชจ๋ ํ ํฐ ์์น์์ node์ ๋ถ๋ถ ์งํฉ์ ์ญ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ญ์ ๋ node๋ค์
mean-ablated๋๋๋ฐ, ์ด๋ ํด๋น node์ activation์ด pretraining ๋ถํฌ์์ ํ๊ท activation ๊ฐ์ผ๋ก ๊ณ ์ ๋จ์ ์๋ฏธํฉ๋๋ค.- Structured Pruning Algorithm: ๊ฐ node(i)์ ๋ํด mask parameter \tau_i๋ฅผ ํ์ตํฉ๋๋ค. ์ด mask๋ node ์์น x_i๋ฅผ x_i \odot \sigma(\tau_i)๋ก ๊ฒ์ดํ
ํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ฌ๊ธฐ์ \sigma๋ Heaviside step function์
๋๋ค.
sigmoid-derivative surrogate gradient๋ฅผ ์ฌ์ฉํ์ฌ Heaviside step function์ ํตํด ์ญ์ ํํ์ฌ \tau_i๋ฅผ ํ๋ จํฉ๋๋ค. ํ์คํฌ loss์ circuit ํฌ๊ธฐ(mask์ 0์ด ์๋ ์์ ์)์ joint objective๋ฅผ ์ต์ํํฉ๋๋ค. - Node ๋ฐ Edge ์ ์: โnodeโ๋ ๊ฐ๋ณ ๋ด๋ฐ, attention channel, residual channel read, residual channel write๋ฅผ ์๋ฏธํ๋ ๊ฐ์ฅ ์ธ๋ถํ๋ ๋จ์์ ๋๋ค. โedgeโ๋ ๊ฐ์ค์น ํ๋ ฌ์ 0์ด ์๋ entry๋ก, ๋ node๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค.
- Structured Pruning Algorithm: ๊ฐ node(i)์ ๋ํด mask parameter \tau_i๋ฅผ ํ์ตํฉ๋๋ค. ์ด mask๋ node ์์น x_i๋ฅผ x_i \odot \sigma(\tau_i)๋ก ๊ฒ์ดํ
ํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ฌ๊ธฐ์ \sigma๋ Heaviside step function์
๋๋ค.
- ํด์ ๊ฐ๋ฅ์ฑ ์งํ: ๊ตฌ์ฑ๋ ํ์คํฌ ์ ๋ฐ์ ๊ฑธ์ณ circuit์ edge ์์ ๊ธฐํ ํ๊ท ์ ์ฃผ์ ์ ๋์ ํด์ ๊ฐ๋ฅ์ฑ ์งํ๋ก ์ฌ์ฉํฉ๋๋ค.
- ํ์คํฌ ๋ถํฌ (Task Distribution): 20๊ฐ์ง์ ๊ฐ๋จํ๊ณ ๋ช
ํํ Python next-token ์ด์ง ์์ธก ํ์คํฌ๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค. ์์๋ก๋
- Dense ๋ชจ๋ธ์ ์ํ ๋ธ๋ฆฟ์ง (Bridges):
- ๊ธฐ์กด dense ๋ชจ๋ธ์ ์ดํดํ๊ธฐ ์ํด, dense ๋ชจ๋ธ๊ณผ weight-sparse ๋ชจ๋ธ์ activation ์ฌ์ด์ ๋งคํ๋๋ ์ผ๋ จ์
bridges๋ฅผ ํ์ตํฉ๋๋ค. ๊ฐ bridge๋ dense์์ sparse๋ก ๋งคํํ๋ encoder์ sparse์์ dense๋ก ๋งคํํ๋ decoder๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. - ์์ค ํญ (Loss Terms):
- Normalized MSE: ๋ธ๋ฆฟ์ง ์ธ์ฝ๋๊ฐ dense activation์ผ๋ก๋ถํฐ sparse activation์ ์ ํํ๊ฒ ์์ธกํ๊ณ , ๊ทธ ๋ฐ๋๋ ๋ง์ฐฌ๊ฐ์ง์ธ์ง ํ๋ จํฉ๋๋ค: L_{NMSE} = \sum_i (NMSE(f_i(h^d_i), h^s_i) + NMSE(g_i(h^s_i), h^d_i)).
- KL Divergence: sparse ๋ชจ๋ธ์ด dense ๋ชจ๋ธ์ activation์ ์์ฉํ๊ณ dense ๋ชจ๋ธ์ด sparse ๋ชจ๋ธ์ activation์ ์์ฉํ๋๋ก ํ๋ จํฉ๋๋ค. ์ด๋ dense ๋ฐ sparse ๋ ์ด์ด์ ํผํฉ์ ํตํ hybrid forward pass์ ์ถ๋ ฅ logit๊ณผ ์๋ dense ๋ชจ๋ธ์ logit ๊ฐ์ KL divergence๋ฅผ ์ต์ํํฉ๋๋ค: L_{KL,d \to s} = \sum_i KL(y^d, (M^s_{unemb} \circ M^s_L \circ \cdots \circ M^s_i \circ f_i)(h^d_i)) L_{KL,s \to d} = \sum_i KL(y^d, (M^d_{unemb} \circ M^d_L \circ \cdots \circ M^d_i \circ g_i)(h^s_i))
- ๊ธฐ์กด dense ๋ชจ๋ธ์ ์ดํดํ๊ธฐ ์ํด, dense ๋ชจ๋ธ๊ณผ weight-sparse ๋ชจ๋ธ์ activation ์ฌ์ด์ ๋งคํ๋๋ ์ผ๋ จ์
์ฃผ์ ๊ฒฐ๊ณผ (Results)
- ํด์ ๊ฐ๋ฅ์ฑ ํฅ์: Weight-sparse ๋ชจ๋ธ์ dense ๋ชจ๋ธ๊ณผ ์ ์ฌํ pretraining loss๋ฅผ ๊ฐ์ง ๋, ํ์คํฌ๋ณ circuit์ด 16๋ฐฐ ๋ ์์ต๋๋ค. ์ด circuit๋ค์ ๋ชจ๋ธ ํ๋์ ๋ํด ์ถฉ๋ถํ๊ณ ํ์์ ์์ด ๊ฒ์ฆ๋์์ต๋๋ค.
- ์ค์ผ์ผ๋ง ํน์ฑ: ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ํ์ฅํ๋ฉด(total parameter count ์ฆ๊ฐ) capability-interpretability Pareto frontier๊ฐ ๊ฐ์ ๋ฉ๋๋ค. L0 norm์ ์ค์ด๋ฉด capability์ interpretability ์ฌ์ด์ trade-off๊ฐ ๋ฐ์ํฉ๋๋ค.
- ์ ์ฑ์ circuit ๋ถ์:
- Closing Strings:
0.mlp๋ ์ด์ด์ ๋ ๋ด๋ฐ์ด โquote detectorโ์ โquote type classifierโ residual channel์ ์์ฑํ๊ณ ,10.attn.head82๊ฐ ์ด๋ฅผ key์ value๋ก ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ๋ซ๋ ๋ ๋จ๊ณ ๋ฉ์ปค๋์ฆ์ ๋ฐํ๋์ต๋๋ค. - Counting Nesting Depth:
[ํ ํฐ ์๋ฒ ๋ฉ์ด โbracket detectorโ๊ฐ ๋๊ณ ,2.attnํค๋๊ฐ ์ด๋ฆฐ ๊ดํธ ์๋ฅผ ํ๊ท ํ์ฌ โlist depthโ๋ฅผresidual channel 1249์ ์ธ์ฝ๋ฉํฉ๋๋ค. ์ดํ4.attnํค๋๊ฐ attention sink๋ฅผ ์ฌ์ฉํ์ฌ list depth๋ฅผ ์ด์ง ์ถ๋ ฅ์ผ๋ก thresholdingํฉ๋๋ค. ์ด ์ดํด๋ฅผ ํตํด ๋ชจ๋ธ์ ์์ด๋ adversarial example์ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌ์ฑํ์ต๋๋ค. - Tracking Variable Type:
set or stringํ์คํฌ์์layer 4attention head๊ฐ ๋ณ์ ์ด๋ฆ(current)์set()๋๋""ํ ํฐ์ผ๋ก ๋ณต์ฌํ๊ณ ,layer 6attention head๊ฐ ์ด ์ ๋ณด๋ฅผ ์ต์ข ํ ํฐ ์์น๋ก ๋ณต์ฌํ๋ ๋ ๋จ๊ณ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
- Closing Strings:
- ๊ธฐ์กด ๋ชจ๋ธ ์ค๋ช (Bridges): Weight-sparse ๋ชจ๋ธ๊ณผ dense ๋ชจ๋ธ ์ฌ์ด์ bridge๋ฅผ ํ๋ จํ์ฌ dense ๋ชจ๋ธ์ ํํ์ ์กฐ์ํ ์ ์์์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. sparse ๋ชจ๋ธ์์ โquote type classifierโ ๋๋ โcurrent line begins withโ์ ๊ฐ์ node๋ฅผ ์กฐ์ํ๊ณ ์ด๋ฅผ bridge๋ฅผ ํตํด dense ๋ชจ๋ธ๋ก ๋งคํํ์ฌ dense ๋ชจ๋ธ์ ํ๋(์: ๋ฐ์ดํ ์ ํ ์์ธก, ์ฝ๋ก ์ถ๋ ฅ)์ ์ํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํ ์ ์์์ต๋๋ค.
๋ ผ์ ๋ฐ ํ๊ณ (Discussion & Limitations)
- Weight-sparse ๋ชจ๋ธ์ dense ๋ชจ๋ธ๋ณด๋ค ํ๋ จ ๋ฐ ์ถ๋ก ์ปดํจํ ๋น์ฉ์ด ๋งค์ฐ ๋นํจ์จ์ ์ ๋๋ค (100-1000๋ฐฐ). ์ด๋ก ์ธํด ์ต์ ์ (frontier) ๋ชจ๋ธ์ ์์ ํ ํด์ํ๊ฑฐ๋ de novo๋ก ํ๋ จํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
- ๋ฏธ๋ ๋ฐฉํฅ์ผ๋ก๋ interpretable model organism์ GPT-3 ์์ค๊น์ง ํ์ฅํ์ฌ ๋ณดํธ์ ์ธ circuit motif๋ฅผ ์ฐ๊ตฌํ๊ฑฐ๋, ํน์ ์ค์ํ ํ์คํฌ(์: deception)์ ๋ํด sparse bridged model์ ํ๋ จํ๋ ๊ฒ์ ์ ์ํฉ๋๋ค. ๋ํ, sparse circuit์ด ์๋ํ๋ ํด์ ๊ฐ๋ฅ์ฑ(automated interpretability)์ ์๋ก์ด ๊ธฐ๋ณธ ์์๋ฅผ ์ ๊ณตํ ์ ์๋ค๊ณ ๋ด ๋๋ค.
- ํ๊ณ์ ์ผ๋ก๋ ์ปดํจํ ๋นํจ์จ์ฑ, ์ฌ์ ํ ๋ํ๋๋ polysemantic features, ์ด์งํ๋์ง ์๋ feature์ ์กด์ฌ, mean ablation์ faithfulness ํ๊ณ, ํด์ ๊ฐ๋ฅ์ฑ ์ ์์ ํ์ฅ ํ์์ฑ, ๊ฐ์ง์น๊ธฐ ๋ฐฉ๋ฒ ๊ฐ์ , ๊ทธ๋ฆฌ๊ณ ๋ณต์กํ ํ์คํฌ์ ๋๊ท๋ชจ ๋ชจ๋ธ์ ๋ํ ์ค์ผ์ผ๋ง ๋ถํ์ค์ฑ ๋ฑ์ด ์์ต๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
๐ง AI์ ๋ธ๋๋ฐ์ค๋ฅผ ์ด๋ค
๐ฏ ๋ค์ด๊ฐ๋ฉฐ: ์ ์ด ๋ ผ๋ฌธ์ด ์ค์ํ๊ฐ?
์ฌ๋ฌ๋ถ, ํน์ ์๋์ฐจ ์์ง ํ๋๋ฅผ ์ด์ด๋ณธ ์ ์์ผ์ ๊ฐ์? ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ์๋์ฐจ๊ฐ โ์ด๋ป๊ฒโ ์์ง์ด๋์ง ์ ํํ ๋ชจ๋ฅด๋ฉด์๋ ๋งค์ผ ์ด์ ์ ํฉ๋๋ค. ํธ๋ค์ ๋๋ฆฌ๋ฉด ์ฐจ๊ฐ ๋์๊ฐ๊ณ , ์ ์ ์ ๋ฐ์ผ๋ฉด ์์ผ๋ก ๊ฐ์ฃ . ๊ทธ๋ฐ๋ฐ ๋ง์ฝ ์๋์ฐจ๊ฐ ๊ฐ์๊ธฐ ์ด์ํ ํ๋์ ํ๋ค๋ฉด? ์๋ฌด๋ ์ ๊ทธ๋ฐ์ง ๋ชจ๋ฅธ๋ค๋ฉด ์ด๋จ๊น์?
๋ฐ๋ก ์ด๊ฒ์ด ์ง๊ธ AI ๋ถ์ผ์์ ์ผ์ด๋๊ณ ์๋ ์ผ์ ๋๋ค. ChatGPT, Claude, Gemini ๊ฐ์ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM)์ ๋๋ผ์ด ๋ฅ๋ ฅ์ ๋ณด์ฌ์ฃผ์ง๋ง, ์ ์ โ์โ ๊ทธ๋ฐ ๋ต๋ณ์ ํ๋์ง๋ ๊ฐ๋ฐ์๋ค์กฐ์ฐจ ์ ํํ ๋ชจ๋ฆ ๋๋ค. ์ด ๋ ผ๋ฌธ์ ๋ฐ๋ก ๊ทธ โ์โ๋ฅผ ์ดํดํ๊ธฐ ์ํ ์ค์ํ ํ ๊ฑธ์์ ๋๋ค.
โ์ฐ๋ฆฌ๋ ์ ๊ฒฝ๋ง์ ๋ฅ๋ ฅ์ ๋น ๋ฅด๊ฒ ํฅ์์์ผฐ์ง๋ง, ์ ์ ๊ทธ๊ฒ๋ค์ด ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํด์๋ ๊ฑฐ์ ์ดํดํ์ง ๋ชปํ๊ณ ์๋ค.โ
โ ๋ ผ๋ฌธ ์๋ก ์์
๐ก ํต์ฌ ์์ด๋์ด: ๋ ๊ณ ๋ธ๋ก์ฒ๋ผ ๋จ์ํ๊ฒ ๋ง๋ค์
๋ณต์กํ ๋ vs ๋จ์ํ ๋
์, ์ฌ๊ธฐ์ ํ์ธ๋ง ์ ์๋์ฒ๋ผ ์์ฃผ ๊ฐ๋จํ ๋น์ ๋ก ์์ํด๋ณผ๊ฒ์.
์ผ๋ฐ์ ์ธ ์ ๊ฒฝ๋ง์ ๋ง์น ๋ชจ๋ ์ฌ๋์ด ๋ชจ๋ ์ฌ๋๊ณผ ์ฐ๊ฒฐ๋ ์์ ๋คํธ์ํฌ์ ๊ฐ์ต๋๋ค. 100๋ช ์ด ์๋ค๋ฉด, ํ ์ฌ๋์ด 99๋ช ๋ชจ๋์ ์น๊ตฌ์ธ ์ ์ด์ฃ . ๋๊ฐ ๋๊ตฌ์๊ฒ ์ด๋ค ์ ๋ณด๋ฅผ ์ ๋ฌํ๋์ง ์ถ์ ํ๊ธฐ๊ฐ ๊ฑฐ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋ฐ๋ฉด ์ด ๋ ผ๋ฌธ์์ ์ ์ํ๋ Weight-Sparse(๊ฐ์ค์น-ํฌ์) ๋ชจ๋ธ์ ๋ง์น ๊ฐ ์ฌ๋์ด ๋ฑ 3~4๋ช ์ ์น๊ตฌ๋ง ์๋ ๋คํธ์ํฌ์ ๋๋ค. ํจ์ฌ ์ถ์ ํ๊ธฐ ์ฝ๊ฒ ์ฃ ?
+---------------------------+---------------------------+
| Dense Model | Sparse Model |
| (All connected) | (Few connections) |
| | |
| *----*----* | *----* |
| |\ /|\ /| | | | |
| | \/ | \/ | | * *----* |
| | /\ | /\ | | | |
| *----*----* | *----* |
| | |
| All neurons connected | Only few connections |
| -> Hard to trace | -> Easy to trace! |
+---------------------------+---------------------------+
โSuperpositionโ ๋ฌธ์ ๋?
๊ธฐ์กด ์ ๊ฒฝ๋ง์์ ์ ํด์์ด ์ด๋ ค์ด์ง ์กฐ๊ธ ๋ ๊น์ด ๋ค์ด๊ฐ๋ณผ๊น์? ํต์ฌ ๋ฌธ์ ๋ ๋ฐ๋ก โSuperposition(์ค์ฒฉ)โ์ด๋ผ๋ ํ์์ ๋๋ค.
์ด๋ฑํ์๋ ์ดํดํ ์ ์๊ฒ ์ค๋ช ํด๋๋ฆด๊ฒ์. ์ฌ๋ฌ๋ถ์ ๋ฐฉ์ ์ฑ ์์ด ํ๋ ์๋ค๊ณ ์์ํด๋ณด์ธ์. ์ด ์ฑ ์ ์์ ์ฐํ, ๊ณต์ฑ , ์ค๋งํธํฐ, ๊ฐ์์ ๋ชจ๋ ์ฌ๋ ค๋์์ผ ํฉ๋๋ค. ๊ณต๊ฐ์ด ๋๋ํ๋ฉด ๊ฐ๊ฐ ์ ์๋ฆฌ์ ๋๊ฒ ์ฃ . ํ์ง๋ง ์ฑ ์์ด ์์ฃผ ์๋ค๋ฉด? ์ฐํ ์์ ๊ณต์ฑ ์ ๊ฒน์ณ ๋๊ณ , ์ค๋งํธํฐ์ ๊ฐ์ ๋ด์ง ์์ ๋ฃ์ด๋๋ ์์ผ๋ก โ์์ถโ์ ํด์ผ ํฉ๋๋ค.
์ ๊ฒฝ๋ง์์๋ ๋น์ทํ ์ผ์ด ์ผ์ด๋ฉ๋๋ค. ๋ด๋ฐ(๋ด๋ฐ = ์ ๊ฒฝ์ธํฌ, ์ฆ ๊ณ์ฐ์ ๋ด๋นํ๋ ์์ ๋จ์)์ ๊ฐ์๊ฐ ํํํด์ผ ํ ๊ฐ๋ ์ ์๋ณด๋ค ์ ์ผ๋ฉด, ํ๋์ ๋ด๋ฐ์ด ์ฌ๋ฌ ๊ฐ๋ ์ โ๊ฒน์ณ์โ ํํํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก Superposition์ ๋๋ค.
๐ ํต์ฌ ํต์ฐฐ: ๊ฐ์ค์น์ ๋๋ถ๋ถ์ 0์ผ๋ก ๋ง๋ค๋ฉด, ๊ฐ ๋ด๋ฐ์ด ์์์ ๋ค๋ฅธ ๋ด๋ฐ๋ค๊ณผ๋ง ์ฐ๊ฒฐ๋์ด โ์ฝํโ์ด ํ๋ฆฐ๋ค!
๐ฌ ๋ฐฉ๋ฒ๋ก : ์ด๋ป๊ฒ ํฌ์ ๋ชจ๋ธ์ ๋ง๋ค์๋?
Step 1: Weight-Sparse Training (๊ฐ์ค์น ํฌ์ ํ์ต)
์ฐ๊ตฌ์ง์ GPT-2 ์คํ์ผ์ Transformer ๋ชจ๋ธ์ ํ์ต์ํค๋, ํ ๊ฐ์ง ํน๋ณํ ์ ์ฝ์ ๊ฑธ์์ต๋๋ค: ๊ฐ์ค์น(weight)์ ๋๋ถ๋ถ์ 0์ผ๋ก ์ ์งํ๋ ๊ฒ์ ๋๋ค.
๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ป๊ฒ ํ์๊น์?
- AdamW ์ตํฐ๋ง์ด์ ๋ก ํ์ต ์คํ ์งํ
- ๊ฐ ๊ฐ์ค์น ํ๋ ฌ์์ ์ ๋๊ฐ์ด ๊ฐ์ฅ ํฐ ์์ k๊ฐ๋ง ์ ์ง (๋๋จธ์ง๋ 0์ผ๋ก)
- ํ์ต ์ด๊ธฐ์๋ Dense(๋ฐ์ง)๋ก ์์ํด์ ์ ์ง์ ์ผ๋ก Sparse(ํฌ์)ํ๊ฒ ์ ํ
- ๊ฐ์ฅ ํฌ์ํ ๋ชจ๋ธ์ ์ฝ 1000๊ฐ ์ค 1๊ฐ์ ๊ฐ์ค์น๋ง 0์ด ์๋!
์, ์ด๊ฒ ๋ฌด์จ ์๋ฏธ์ผ๊น์? ์ผ๋ฐ ๋ชจ๋ธ์์๋ ํ๋์ ๋ด๋ฐ์ด 2048๊ฐ์ ๋ค๋ฅธ ๋ด๋ฐ๊ณผ ์ฐ๊ฒฐ๋ ์ ์๋ค๋ฉด, ์ด ํฌ์ ๋ชจ๋ธ์์๋ ๋จ 2~3๊ฐ์ ๋ด๋ฐ๊ณผ๋ง ์ฐ๊ฒฐ๋ฉ๋๋ค. ๋ง์น ๋ณต์กํ๊ฒ ์ฝํ ์คํ๋๋ฅผ ํ์ด์ ๊น๋ํ๊ฒ ์ ๋ฆฌํ ๊ฒ๊ณผ ๊ฐ์ฃ .
+-----------------------------------------------------------+
| Training Process Visualization |
| |
| Start (Dense) --> End (Sparse) |
| |
| ################ #.................# |
| ################ .....#............ |
| ################ Gradual ..........#...... |
| ################ Annealing #................. |
| ################ --> .........#....... |
| |
| (All weights active) (Only 0.1% active!) |
+-----------------------------------------------------------+
Step 2: Circuit Pruning (ํ๋ก ๊ฐ์ง์น๊ธฐ)
์, ์ด์ ํฌ์ ๋ชจ๋ธ์ ํ์ต์์ผฐ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ์ ํ ๋ชจ๋ธ ์ ์ฒด๋ฅผ ์ดํดํ๊ธฐ๋ ์ด๋ ต์ฃ . ์ฌ๊ธฐ์ ์ฐ๊ตฌ์ง์ ๊ธฐ๋ฐํ ์์ด๋์ด๋ฅผ ๋ ๋๋ค: โํน์ ์์ ์ ์ํํ๋ ๋ฐ ํ์ํ ์ต์ํ์ ๋ถํ๋ง ์ฐพ์๋ด์!โ
์ด๊ฒ์ โPruning(๊ฐ์ง์น๊ธฐ)โ์ด๋ผ๊ณ ํฉ๋๋ค. ๋๋ฌด์ ๋ถํ์ํ ๊ฐ์ง๋ฅผ ์ณ๋ด๋ฏ์ด, ํน์ ์์ ์ ํ์ ์๋ ๋ด๋ฐ๋ค์ ์๋ผ๋ด๋ ๊ฑฐ์ฃ .
๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ:
- ๊ฐ ๋ ธ๋(๋ด๋ฐ, ์ดํ ์ ์ฑ๋ ๋ฑ)์ ๋ง์คํฌ(mask) ํ๋ผ๋ฏธํฐ๋ฅผ ๋ถ์
- ๋ง์คํฌ๊ฐ 0์ด๋ฉด ํด๋น ๋ ธ๋๋ โํ๊ท ๊ฐโ์ผ๋ก ๋์ฒด (Mean Ablation)
- โํน์ ์์ ์ ์์ค(loss)โ๊ณผ โํ๋ก ํฌ๊ธฐโ๋ฅผ ๋์์ ์ต์ํํ๋๋ก ๋ง์คํฌ ํ์ต
- ๊ฒฐ๊ณผ์ ์ผ๋ก ํด๋น ์์ ์ ๊ผญ ํ์ํ ๋ ธ๋๋ค๋ง ๋จ๊น
โ๋ ธ๋โ์ โ์ฃ์งโ๋?
์ด ๋ ผ๋ฌธ์์ ์ฌ์ฉํ๋ ์ค์ํ ์ฉ์ด๋ค์ ์ ๋ฆฌํด๋ณผ๊ฒ์.
๋ ธ๋(Node): ๊ณ์ฐ์ ์ํํ๋ ๊ฐ์ฅ ์์ ๋จ์์ ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก๋: - ๊ฐ๋ณ ๋ด๋ฐ (MLP์ ํ์ฑํ ๊ฐ) - ์ดํ ์ ์ฑ๋ (Query, Key, Value์ ๊ฐ ์ฐจ์) - ์์ฐจ ์คํธ๋ฆผ(Residual Stream) ์ฑ๋์ ์ฝ๊ธฐ/์ฐ๊ธฐ
์ฃ์ง(Edge): ๊ฐ์ค์น ํ๋ ฌ์์ 0์ด ์๋ ๊ฐ ํ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฆ, ๋ ๋ ธ๋ ์ฌ์ด์ โ์ฐ๊ฒฐโ์ด์ฃ .
๊ฐ์ฅ ๋จ์ํ MLP ํ๋ก๋ฅผ ์๋ก ๋ค๋ฉด: ํ๋์ ๋ด๋ฐ์ด ํ๋์ ์์ฐจ ์ฑ๋์์ ์ฝ๊ณ , ํ๋์ ์์ฐจ ์ฑ๋์ ์ฐ๋ ๊ฒฝ์ฐ โ 3๊ฐ์ ๋ ธ๋์ 2๊ฐ์ ์ฃ์ง๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๐ ํต์ฌ ๊ฒฐ๊ณผ: ์ ๋ง ํด์ ๊ฐ๋ฅํด์ก๋?
๊ฒฐ๊ณผ 1: 16๋ฐฐ ๋ ์์ ํ๋ก!
์ฐ๊ตฌ์ง์ ๋์ผํ ์ฑ๋ฅ(pretraining loss)์ ๊ฐ์ง Dense ๋ชจ๋ธ๊ณผ Sparse ๋ชจ๋ธ์ ๋น๊ตํ์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๋๋ผ์ ์ต๋๋ค:
โจ ๋์ผํ ์์ ์ฑ๋ฅ์์, Sparse ๋ชจ๋ธ์ ํ๋ก๋ Dense ๋ชจ๋ธ๋ณด๋ค ์ฝ 16๋ฐฐ ์์์ต๋๋ค!
์ด๊ฒ ์ ์ค์ํ ๊น์? ํ๋ก๊ฐ ์๋ค๋ ๊ฒ์ ๊ณง โ์ดํดํ๊ธฐ ์ฝ๋คโ๋ ๊ฒ์ ๋๋ค. 1000๊ฐ์ ๋ถํ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ธฐ๊ณ๋ณด๋ค 60๊ฐ์ ๋ถํ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ธฐ๊ณ๊ฐ ๋ถ์ํ๊ธฐ ํจ์ฌ ์ฝ๊ฒ ์ฃ ?
+-------------------------------------------------------------+
| Circuit Size Comparison |
| |
| Dense Model ################################ (~16,000) |
| |
| Sparse Model ## (~1,000) |
| |
| ^ |
| 16x smaller! |
+-------------------------------------------------------------+
๊ฒฐ๊ณผ 2: ๋ฅ๋ ฅ vs ํด์๊ฐ๋ฅ์ฑ ํธ๋ ์ด๋์คํ
์ธ์์ ๊ณต์ง ์ ์ฌ์ ์์ต๋๋ค. ๊ฐ์ค์น๋ฅผ ํฌ์ํ๊ฒ ๋ง๋ค๋ฉด ํด์๊ฐ๋ฅ์ฑ์ ์ข์์ง์ง๋ง, ๋ชจ๋ธ์ ๋ฅ๋ ฅ์ ์ด๋ป๊ฒ ๋ ๊น์?
์ฐ๊ตฌ์ง์ ์ด๊ฒ์ โPareto Frontier(ํ๋ ํ ๊ฒฝ๊ณ)โ๋ก ๋ถ์ํ์ต๋๋ค. ํ๋ ํ ๊ฒฝ๊ณ๋ ๋ฌด์์ผ๊น์?
์๋์ฐจ๋ฅผ ์ด ๋๋ฅผ ์๊ฐํด๋ณด์ธ์. ์ฐ๋น๊ฐ ์ข์ผ๋ฉด์ ๋์์ ์์ฒญ ๋น ๋ฅธ ์ฐจ๋ฅผ ์ํ์ง๋ง, ๋ณดํต์ ๋ ์ค ํ๋๋ฅผ ์๋ณดํด์ผ ํฉ๋๋ค. ์ด์ฒ๋ผ ๋ ๊ฐ์ง ๋ชฉํ(๋ฅ๋ ฅ vs ํด์๊ฐ๋ฅ์ฑ) ์ฌ์ด์์ โ์ต์ ์ ์ ํ๋คโ์ ์ฐ๊ฒฐํ ์ ์ด ํ๋ ํ ๊ฒฝ๊ณ์ ๋๋ค.
์ฐ๊ตฌ์ง์ด ๋ฐ๊ฒฌํ ๊ฒ:
- Lโ(0์ด ์๋ ๊ฐ์ค์น ์)๋ฅผ ์ค์ด๋ฉด โ ํด์๊ฐ๋ฅ์ฑ โ, ๋ฅ๋ ฅ โ
- ๋ชจ๋ธ ํฌ๊ธฐ(์ด ํ๋ผ๋ฏธํฐ ์)๋ฅผ ๋๋ฆฌ๋ฉด โ ๋ ๊ฐ์ง ๋ชจ๋ ๊ฐ์ !
์ฆ, ๋ ํฐ ๋ชจ๋ธ์ ๋ง๋ค๋ ํฌ์ํ๊ฒ ์ ์งํ๋ฉด, ๋ฅ๋ ฅ๋ ์ข๊ณ ํด์๋ ์ ๋๋ ๋ชจ๋ธ์ ๋ง๋ค ์ ์์ต๋๋ค. ํ์ง๋ง ํ์ฌ ๊ธฐ์ ๋ก๋ ์์ฒ๋ง ๊ฐ์ ๋น์(้้ถ) ํ๋ผ๋ฏธํฐ๋ฅผ ๋์ด์๋ฉด ์ด์ ์ด ์ค์ด๋ ๋ค๊ณ ํฉ๋๋ค.
๊ฒฐ๊ณผ 3: ๊ฐ์ค์น ํฌ์์ฑ์ด ํ์ฑํ ํฌ์์ฑ์ ์ ๋ํ๋ค
์ฌ๋ฏธ์๋ ๋ถ๊ฐ ๋ฐ๊ฒฌ์ด ์์์ต๋๋ค. ๊ฐ์ค์น๋ฅผ ํฌ์ํ๊ฒ ๋ง๋ค๋ฉด, ํ์ฑํ(activation) ๊ฐ๋ ์์ฐ์ค๋ฝ๊ฒ ํฌ์ํด์ง๋ค๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ kurtosis(์ฒจ๋)๋ผ๋ ํต๊ณ๋์ผ๋ก ์ธก์ ํ๋๋ฐ, ๊ฐ์ค์น๊ฐ ํฌ์ํ ์๋ก ํ์ฑํ์ kurtosis๊ฐ ๋์์ก์ต๋๋ค. Kurtosis๊ฐ ๋๋ค๋ ๊ฒ์ ๋๋ถ๋ถ์ ๊ฐ์ด 0 ๊ทผ์ฒ์ ๋ชจ์ฌ์๊ณ , ๊ฐ๋ ํฐ ๊ฐ์ด ๋ํ๋๋ค๋ ๋ป์ด์์. ์ด๋ ๊ฐ ๋ด๋ฐ์ด ํน์ ์ํฉ์์๋ง โ๋ถ์ด ์ผ์ง๋คโ๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ํด์ํ๊ธฐ ๋ ์ฌ์์ง๋๋ค.
๐ ์ค์ ํ๋ก ๋ถ์: AI ๋ด๋ถ๋ฅผ ๋ค์ฌ๋ค๋ณด๋ค
์ด๋ก ์ ์ฌ๊ธฐ๊น์ง. ์ด์ ์ง์ง ํฅ๋ฏธ๋ก์ด ๋ถ๋ถ์ ๋๋ค. ์ฐ๊ตฌ์ง์ ์ค์ ๋ก ๋ชจ๋ธ ๋ด๋ถ์ ํ๋ก๋ฅผ ๋ถ์ํด์, ์ธ๊ฐ์ด ์ดํดํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๊ฒฌํ์ต๋๋ค!
์ฌ๋ก 1: ๋ฌธ์์ด ๋ซ๊ธฐ ํ๋ก (String Closing Circuit)
์ฒซ ๋ฒ์งธ ์ฌ๋ก๋ ์์ฃผ ๊ฐ๋จํ ์์
์
๋๋ค: Python ์ฝ๋์์ ๋ฌธ์์ด์ด ์์๋ฐ์ดํ(')๋ก ์์ํ์ผ๋ฉด ์์๋ฐ์ดํ๋ก ๋ซ๊ณ , ํฐ๋ฐ์ดํ(")๋ก ์์ํ์ผ๋ฉด ํฐ๋ฐ์ดํ๋ก ๋ซ์์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด: - print("Hello World โ ์ฌ๊ธฐ์ ๋ค์์ ์ฌ ํ ํฐ์? ") - print('Hello World โ ์ฌ๊ธฐ์ ๋ค์์ ์ฌ ํ ํฐ์? ')
๋ฐ๊ฒฌ๋ ํ๋ก (๋จ 12๊ฐ์ ๋ ธ๋์ 9๊ฐ์ ์ฃ์ง!)
Step 1 - ์ฒซ ๋ฒ์งธ MLP ๋ ์ด์ด(0.mlp): - (" ์ ('์ ์๋ฒ ๋ฉ์ ๋ ์ข
๋ฅ์ ๋ด๋ฐ์ผ๋ก ๋ณํ - โ๋ฐ์ดํ ๊ฐ์ง๊ธฐโ ๋ด๋ฐ (์ฑ๋ 985): (", (' ๋ชจ๋์์ ์์ - โ๋ฐ์ดํ ์ ํ ๋ถ๋ฅ๊ธฐโ ๋ด๋ฐ (์ฑ๋ 460): ("์์ ์์, ('์์ ์์
Step 2 - 10๋ฒ์งธ ์ดํ ์ ํค๋(10.attn.head82): - โ๋ฐ์ดํ ๊ฐ์ง๊ธฐโ๋ฅผ Key๋ก ์ฌ์ฉ โ ๋ฌธ์์ด ์์ ์์น์ ์ฃผ๋ชฉ - โ๋ฐ์ดํ ์ ํ ๋ถ๋ฅ๊ธฐโ๋ฅผ Value๋ก ์ฌ์ฉ โ ์ด๋ค ๋ฐ์ดํ์ธ์ง ์ ๋ณด ๋ณต์ฌ - ๋ง์ง๋ง ํ ํฐ์ ์ฌ๋ฐ๋ฅธ ๋ซ๋ ๋ฐ์ดํ ์์ธก!
+----------------------------------------------------------------+
| String Closing Circuit Diagram |
| |
| Input: print("Hello |
| |
| +----------------------------------------------------------+ |
| | Layer 0 (MLP) | |
| | | |
| | (" token --> [Quote Detector: +] [Quote Type: +] | |
| | (' token --> [Quote Detector: +] [Quote Type: -] | |
| +----------------------------------------------------------+ |
| | |
| v |
| +----------------------------------------------------------+ |
| | Layer 10 (Attention Head 82) | |
| | | |
| | Key: Quote Detector (Where did string start?) | |
| | Value: Quote Type (Which kind of quote?) | |
| | | |
| | --> Copy info to last token! | |
| +----------------------------------------------------------+ |
| | |
| v |
| Output: ") <-- Correct closing quote! |
| |
+----------------------------------------------------------------+
๐ก ๋๋ผ์ด ์ : ์ด 4๊ฐ์ ํต์ฌ ๊ตฌ์ฑ์์๋ ์ด 41๊ฐ์ ์ฃ์ง๋ง ๊ฐ์ง๊ณ ์๊ณ , ๊ทธ ์ค 9๊ฐ๋ง ์ด ํ๋ก์ ์ฌ์ฉ๋ฉ๋๋ค. ๋งค์ฐ ๊น๋ํ๊ฒ ๋ถ๋ฆฌ๋์ด ์์ฃ !
์ฌ๋ก 2: ๊ดํธ ์ค์ฒฉ ๊น์ด ์ธ๊ธฐ (Bracket Counting)
๋ ๋ฒ์งธ ์ฌ๋ก๋ ์กฐ๊ธ ๋ ๋ณต์กํฉ๋๋ค: Python์์ ๋ฆฌ์คํธ๊ฐ ์ค์ฒฉ๋์ด ์์ ๋, ์ฌ๋ฐ๋ฅด๊ฒ ๊ดํธ๋ฅผ ๋ซ๋ ๊ฒ์ ๋๋ค.
values = [5, 3โ ๋ค์์?](๋จ์ผ ๋ฆฌ์คํธ)values = [[5, 3โ ๋ค์์?]](์ค์ฒฉ ๋ฆฌ์คํธ)
๋ฐ๊ฒฌ๋ ์๊ณ ๋ฆฌ์ฆ (3๋จ๊ณ)
1๏ธโฃ ์๋ฒ ๋ฉ ๋จ๊ณ:
[ ํ ํฐ์ ์๋ฒ ๋ฉ์ด ํน์ ์์ฐจ ์ฑ๋(759, 826, 1711)์ โ์ด๋ฆฐ ๊ดํธ ๊ฐ์ง๊ธฐโ ์ญํ ์ ๊ธฐ๋กํฉ๋๋ค.
2๏ธโฃ ์นด์ดํ ๋จ๊ณ:
2๋ฒ์งธ ๋ ์ด์ด์ ์ดํ ์ ํค๋๊ฐ ๋๋ผ์ด ์ผ์ ํฉ๋๋ค. Query์ Key๊ฐ ๊ฑฐ์ 0์ด๋ผ์ softmax ํ ๋ชจ๋ ์์น์ ๋์ผํ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํฉ๋๋ค. ์ฆ, โ์ด๋ฆฐ ๊ดํธ ๊ฐ์ง๊ธฐโ์ ์ปจํ ์คํธ ํ๊ท ์ ๊ณ์ฐํ๋ ๊ฒ์ด์ฃ ! ์ด ํ๊ท ๊ฐ์ด ๋ฐ๋ก โ์ค์ฒฉ ๊น์ดโ๋ฅผ ๋ํ๋ด๋ ์ ํธ๊ฐ ๋ฉ๋๋ค.
3๏ธโฃ ์๊ณ๊ฐ(Thresholding) ๋จ๊ณ:
4๋ฒ์งธ ๋ ์ด์ด์ ์ดํ
์
ํค๋๊ฐ โAttention Sinkโ๋ฅผ ํ์ฉํฉ๋๋ค. ์ค์ฒฉ ๊น์ด๊ฐ ํน์ ๊ฐ์ ๋์ผ๋ฉด ]]๋ฅผ, ์๋๋ฉด ]๋ฅผ ์ถ๋ ฅํฉ๋๋ค. Softmax๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์๊ณ๊ฐ ํจ์์ฒ๋ผ ์๋ํ๋ ๊ฑฐ์ฃ !
+------------------------------------------------------------------+
| Bracket Counting Algorithm |
| |
| Input: values = [[5, 3 |
| |
| Step 1: Embedding |
| +--------------------------------------------------------------+|
| | [ token -> "Open Bracket Detector" activated (+1) ||
| | [ token -> "Open Bracket Detector" activated (+1) ||
| | 5, 3 tokens -> Detector inactive (0) ||
| +--------------------------------------------------------------+|
| | |
| v |
| Step 2: Counting (Layer 2 Attention) |
| +--------------------------------------------------------------+|
| | Q ~ 0, K ~ 0 -> Equal weight to all positions ||
| | = Compute "average" across context ||
| | ||
| | Average = (1 + 1 + 0 + 0) / 4 = 0.5 ||
| | -> This value is the "nesting depth" signal! ||
| +--------------------------------------------------------------+|
| | |
| v |
| Step 3: Thresholding (Layer 4 Attention + Sink) |
| +--------------------------------------------------------------+|
| | Nesting depth > Threshold? ||
| | ||
| | YES -> Output ]] ||
| | NO -> Output ] ||
| +--------------------------------------------------------------+|
| |
| Output: ]] <-- Correct closing! |
| |
+------------------------------------------------------------------+
๐ฏ ์ด ์ดํด๋ฅผ ๋ฐํ์ผ๋ก ์ ๋์ ๊ณต๊ฒฉ ์ฑ๊ณต!
์ฐ๊ตฌ์ง์ ์ด ํ๋ก์ ์ฝ์ ์ ์ ํํ ํ์ ํ์ต๋๋ค. โํ๊ท โ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์:
- ๋ฆฌ์คํธ ์์ ์ฃผ์์ผ๋ก
[๋ฌธ์๋ฅผ ๋ง์ด ๋ฃ์ผ๋ฉด โ ํ๊ท ์ด ๋์์ ธ์ ์ค์ ์ ๋ฐ - ๋ฆฌ์คํธ ์์ ๊ฐ์๊ฐ ๋งค์ฐ ๋ง์ผ๋ฉด โ ํ๊ท ์ด โํฌ์โ๋์ด ์ค์ ์ ๋ฐ
๋๋๊ฒ๋, ์ด ์ ๋์ ๊ณต๊ฒฉ์ ๋์ผํ ๋ฅ๋ ฅ์ Dense ๋ชจ๋ธ์๋ ํตํฉ๋๋ค! ์ด๋ Dense ๋ชจ๋ธ๋ ๋น์ทํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค๋ ๊ฐ์ ์ ์ฆ๊ฑฐ์ ๋๋ค.
์ฌ๋ก 3: ๋ณ์ ํ์ ์ถ์ (Variable Type Tracking)
์ธ ๋ฒ์งธ ์ฌ๋ก๋ ๋ ๊ณ ์์ค์ ์ธ์ง ๋ฅ๋ ฅ์ ๋๋ค:
current = set()์ดํ โcurrent.add๊ฐ ์ ์ current = ""์ดํ โcurrent +=๊ฐ ์ ์
๋ฐ๊ฒฌ๋ 2-hop ์๊ณ ๋ฆฌ์ฆ
Hop 1 (4๋ฒ์งธ ๋ ์ด์ด, Head 73):
์ต๊ทผ ํ ํฐ์ ์ฃผ๋ชฉํ๋ ์ดํ
์
ํค๋๊ฐ ๋ณ์ ์ด๋ฆ โcurrentโ์ ์๋ฒ ๋ฉ์ set() ๋๋ "" ํ ํฐ ์์น๋ก ๋ณต์ฌํฉ๋๋ค. ๋ง์น โ์ด ์์น์ current๋ผ๋ ๋ณ์๊ฐ ์ ์๋์ด ์๋คโ๊ณ ๋ฉ๋ชจ๋ฅผ ๋จ๊ธฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
Hop 2 (6๋ฒ์งธ ๋ ์ด์ด, Head 26):
๋์ค์ โcurrentโ๊ฐ ๋ค์ ๋ํ๋๋ฉด, ์ด ํค๋๋ โcurrentโ ์๋ฒ ๋ฉ์ Query/Key๋ก ์ฌ์ฉํด์ ์์ ๋ฉ๋ชจํด๋ ์์น(set() ๋๋ "")๋ฅผ ์ฐพ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋น ์์น์ ํ์
์ ๋ณด๋ฅผ ๋ง์ง๋ง ํ ํฐ์ผ๋ก ๋ณต์ฌํด์ ์ฌ๋ฐ๋ฅธ ์์ฑ์ ์์ธกํฉ๋๋ค.
+------------------------------------------------------------------+
| Variable Type Tracking: 2-Hop Algorithm |
| |
| Code: current = set() |
| ... |
| current. |
| |
| +--------------------------------------------------------------+|
| | Hop 1 (Layer 4, Head 73) ||
| | ||
| | "current" -----copy----> "set()" position ||
| | ||
| | [Memo: current is defined here!] ||
| +--------------------------------------------------------------+|
| | |
| v |
| +--------------------------------------------------------------+|
| | Hop 2 (Layer 6, Head 26) ||
| | ||
| | At "current.": ||
| | Q/K = "current" embedding ||
| | | ||
| | Find "set()" position -> Copy type info ||
| +--------------------------------------------------------------+|
| | |
| v |
| Output: .add <-- Method matching set type! |
| |
+------------------------------------------------------------------+
๐ Bridge: ๊ธฐ์กด ๋ชจ๋ธ๋ ์ดํดํ ์ ์์๊น?
Weight-sparse ๋ชจ๋ธ์ ํฐ ๋จ์ ์ด ์์ต๋๋ค: ์ฒ์๋ถํฐ ์๋ก ํ์ตํด์ผ ํ๋ค๋ ๊ฒ์ด์ฃ . ์ด๋ฏธ ๋ฐฐํฌ๋ ChatGPT๋ Claude ๊ฐ์ ๋ชจ๋ธ์ ์ดํดํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
์ฐ๊ตฌ์ง์ โBridge(๋ค๋ฆฌ)โ๋ผ๋ ์๋ฆฌํ ์์ด๋์ด๋ฅผ ์ ์ํฉ๋๋ค.
๊ธฐ๋ณธ ๊ฐ๋
- ๊ธฐ์กด Dense ๋ชจ๋ธ๊ณผ ์๋ก์ด Sparse ๋ชจ๋ธ์ ๋๋ํ ๋์ต๋๋ค
- ๊ฐ ๋ ์ด์ด๋ง๋ค โBridgeโ๋ฅผ ์ค์นํฉ๋๋ค (Linear + Activation)
- Bridge๋ Dense ํํ โ๏ธ Sparse ํํ ๋ณํ์ ํ์ตํฉ๋๋ค
- Sparse ๋ชจ๋ธ์์ ๋ฐ๊ฒฌํ โํด์ ๊ฐ๋ฅํ ๊ฐ์ โ์ Bridge๋ฅผ ํตํด Dense ๋ชจ๋ธ์ ์ ์ฉ!
+------------------------------------------------------------------+
| Bridge Architecture |
| |
| +-------------+ +-------------+ |
| | Dense Model | |Sparse Model | |
| | (Existing) | | (Interpret) | |
| +-------------+ +-------------+ |
| | | |
| | +--------------+ | |
| Layer 1+-------->| Bridge 1 |<----------+Layer 1 |
| | | (Encoder/ | | |
| | | Decoder) | | |
| | +--------------+ | |
| | | |
| Layer 2+---------+--------------+-----------+Layer 2 |
| | | Bridge 2 | | |
| v +--------------+ v |
| ... ... |
| |
| -> Transfer Sparse model's interpretation to Dense model! |
| |
+------------------------------------------------------------------+
์คํ ๊ฒฐ๊ณผ
์ฐ๊ตฌ์ง์ โ๋ฐ์ดํ ์ ํ ๋ถ๋ฅ๊ธฐโ ์ฑ๋์ ์กฐ์ํด์, ํฐ๋ฐ์ดํ ๋ฌธ์์ด์ ์์๋ฐ์ดํ๋ฅผ ์ถ๋ ฅํ๋๋ก Dense ๋ชจ๋ธ์ ํ๋์ ์ฑ๊ณต์ ์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค. ์ด๋ Sparse ๋ชจ๋ธ์ ํด์์ด Dense ๋ชจ๋ธ์๋ ์ด๋ ์ ๋ ์ ์ฉ๋๋ค๋ ์ฆ๊ฑฐ์ ๋๋ค.
โ ๏ธ ์ฃผ์: ์ด๊ฒ์ ์์ง ์๋น์ ์ธ ๊ฒฐ๊ณผ์ด๋ฉฐ, ๋ชจ๋ ํ๋ก๊ฐ ์ ์ ์ด๋๋์ง๋ ๋ ์ฐ๊ตฌ๊ฐ ํ์ํฉ๋๋ค.
โ ๏ธ ํ๊ณ์ ๊ณผ ๋ฏธ๋ ์ฐ๊ตฌ ๋ฐฉํฅ
1. ๊ณ์ฐ ํจ์จ์ฑ ๋ฌธ์
๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ๋๋ค. Sparse ๋ชจ๋ธ์ Dense ๋ชจ๋ธ๋ณด๋ค 100~1000๋ฐฐ ๋ ๋ง์ ํ์ต/์ถ๋ก ๋น์ฉ์ด ๋ญ๋๋ค.
์ ๊ทธ๋ด๊น์? GPU์ Tensor Core๋ ๋ฐ์ง(dense) ํ๋ ฌ ์ฐ์ฐ์ ์ต์ ํ๋์ด ์์ต๋๋ค. ๋ถ๊ท์นํ๊ฒ 0์ด ์์ธ ํฌ์(sparse) ํ๋ ฌ์ ์ด๋ฐ ์ต์ ํ๋ฅผ ํ์ฉํ ์ ์์ด์. ๋ง์น ๋๋ก ๋์ ์ธํ๋ถํํ ์คํ๋ก๋๋ฅผ ๋ฌ๋ฆฌ๋ ์คํฌ์ธ ์นด์ ๊ฐ์ต๋๋ค.
2. ๋ค์์ฑ(Polysemantic) ๋ด๋ฐ
์๋ฒฝํ๊ฒ โํ๋์ ๋ด๋ฐ = ํ๋์ ๊ฐ๋ โ์ด ์๋๋๋ค. ํนํ ๋ณต์กํ ์์ ์์๋ ์ฌ์ ํ ์ฌ๋ฌ ๊ฐ๋ ์ด ์์์ ๋ด๋ฐ์ ๊ฑธ์ณ ๋ถ์ฐ๋์ด ์์ต๋๋ค. ๋ค๋ง Dense ๋ชจ๋ธ๋ณด๋ค๋ ํจ์ฌ ๋์์ก์ฃ .
3. ํฌ๊ธฐ ๊ฐ(Magnitude)์ ์๋ฏธ
๋ด๋ฐ์ด โ์ผ์ก๋ค/๊บผ์ก๋คโ๋ง ์ค์ํ ๊ฒ ์๋๋ผ, โ์ผ๋ง๋ ๊ฐํ๊ฒ ์ผ์ก๋์งโ๋ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ดํธ ์นด์ดํ ์์ ์ค์ฒฉ ๊น์ด๋ ํ์ฑํ์ ํฌ๊ธฐ๋ก ์ธ์ฝ๋ฉ๋ฉ๋๋ค. ์ด๊ฒ์ ์์ ํ ์ด์งํ(binarize)ํ๊ธฐ๋ ์์ง ์ด๋ ต์ต๋๋ค.
4. ๋ ํฐ ๋ชจ๋ธ๋ก์ ํ์ฅ
ํ์ฌ ์คํ์ ์์ฒ๋ง ํ๋ผ๋ฏธํฐ ๊ท๋ชจ์์ ์งํ๋์์ต๋๋ค. GPT-3 (1750์ต ํ๋ผ๋ฏธํฐ)์ด๋ GPT-4๊ธ ๋ชจ๋ธ์ ์ ์ฉํ๋ ค๋ฉด ์์ฒญ๋ ๋์ ์ด ํ์ํฉ๋๋ค. ์ฐ๊ตฌ์ง์ ์ด๊ฒ์ โ๋ชจ๋ธ ์๋ฌผ(Model Organism)โ ์ฐ๊ตฌ๋ก ๋ฐ์ ์ํค๊ณ ์ ํฉ๋๋ค.
๋ฏธ๋ ์ฐ๊ตฌ ๋ฐฉํฅ
- ๋ ํจ์จ์ ์ธ ํฌ์ ํ์ต ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฐ
- Mixture-of-Experts์์ ๊ฒฐํฉ (Expert ํฌ์์ฑ + Weight ํฌ์์ฑ)
- ์๋ํ๋ ํด์๊ฐ๋ฅ์ฑ ๋๊ตฌ ๊ฐ๋ฐ
- ์์ ์ฑ ๊ด๋ จ ํ๋(๊ฑฐ๋ถ, ์์์ ๋ฑ)์ ๋ํ ์ข์ ๋ฒ์ Bridge ์ ์ฉ
- ๋ ธ๋ ๋์ ์ฃ์ง ์ง์ ํ๋ฃจ๋
๐ ๊ด๋ จ ์ฐ๊ตฌ์ ๋งฅ๋ฝ
Sparse Autoencoders (SAE)์์ ๋น๊ต
์ต๊ทผ Anthropic, OpenAI ๋ฑ์์ Sparse Autoencoders๋ฅผ ์ฌ์ฉํ ํด์๊ฐ๋ฅ์ฑ ์ฐ๊ตฌ๊ฐ ํ๋ฐํฉ๋๋ค. SAE๋ ์ด๋ฏธ ํ์ต๋ Dense ๋ชจ๋ธ์ ํ์ฑํ๋ฅผ ํฌ์ํ ํํ์ผ๋ก ์ฌ๊ตฌ์ฑํฉ๋๋ค.
์ด ๋ ผ๋ฌธ์ ์ ๊ทผ๋ฒ(Weight Sparsity)๊ณผ SAE ์ ๊ทผ๋ฒ์ ์ฐจ์ด
| ๊ด์ | Weight Sparsity (์ด ๋ ผ๋ฌธ) | SAE ์ ๊ทผ๋ฒ |
|---|---|---|
| ๋ชจ๋ธ ํ์ต | ์ฒ์๋ถํฐ ์๋ก ํ์ต | ๊ธฐ์กด ๋ชจ๋ธ์ ์ ์ฉ |
| ํ๋ก ์์ ์ฑ | ์ฃ์ง๊น์ง ์์ ํ ํด์ | ๋ณต์กํ ๊ณ์ฐ์ ์ถ์ํ |
| ์ค์ฉ์ฑ | ๋นํจ์จ์ , ์ฐ๊ตฌ์ฉ | ์ค์ ๋ชจ๋ธ์ ์ ์ฉ ๊ฐ๋ฅ |
| ํ๋ก ํฌ๊ธฐ | ์์ญ ๊ฐ ๋ ธ๋/์ฃ์ง | ์์ฒ~์์ญ๋ง ํผ์ฒ |
Attribution Graphs์์ ๊ด๊ณ
์ต๊ทผ Anthropic์ โAttribution Graphsโ ์ฐ๊ตฌ(Ameisen et al., 2025)๋ ๋น์ทํ ๋ชฉํ๋ฅผ ์ถ๊ตฌํฉ๋๋ค. ๊ทธ๋ค์ Cross-layer Transcoder๋ฅผ ์ฌ์ฉํด์ ํผ์ฒ ๊ฐ์ ์ธ๊ณผ ๊ด๊ณ๋ฅผ ์ถ์ ํฉ๋๋ค.
๊ทธ๋ฌ๋ Attribution Graphs๋ ์ดํ ์ ํค๋ ๋ด๋ถ์ ๊ณ์ฐ(Q-K ์ํธ์์ฉ)์ ์์ ํ ์ค๋ช ํ์ง ๋ชปํฉ๋๋ค. ์ด ๋ ผ๋ฌธ์ Weight-Sparse ์ ๊ทผ๋ฒ์ ๊ทธ๋ฐ ์ธ๋ถ ์ฌํญ๊น์ง ๋๋ฌ๋ผ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
๐ ๊ฒฐ๋ก : ์ ์ด ์ฐ๊ตฌ๊ฐ ์ค์ํ๊ฐ?
AI ์์ ์ฑ์ ์ํ ๊ธฐ์ด
์ด ์ฐ๊ตฌ๋ ๋จ์ํ ํ์ ์ ํธ๊ธฐ์ฌ์ด ์๋๋๋ค. AI ์์คํ ์ด ์ ์ ๋ ๊ฐ๋ ฅํด์ง๋ฉด์, โ์ ๊ทธ๋ฐ ๊ฒฐ์ ์ ๋ด๋ ธ๋์งโ๋ฅผ ์ดํดํ๋ ๊ฒ์ ์์ ์ฑ์ ํต์ฌ์ด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, AI๊ฐ ๊ฑฐ์ง๋ง์ ํ๊ฑฐ๋, ์ ํดํ ์ฝํ ์ธ ๋ฅผ ์์ฑํ๊ฑฐ๋, ํธํฅ๋ ๊ฒฐ์ ์ ๋ด๋ฆด ๋, ๊ทธ โํ๋กโ๋ฅผ ์ฐพ์๋ด๊ณ ์์ ํ ์ ์๋ค๋ฉด ์ด๋จ๊น์? ์ด ๋ ผ๋ฌธ์ ๊ทธ๋ฐ ๋ฏธ๋๋ฅผ ํฅํ ์ค์ํ ๋ฐ๊ฑธ์์ ๋๋ค.
ํต์ฌ ๊ธฐ์ฌ ์์ฝ
- โ ๊ฐ์ค์น ํฌ์์ฑ์ด ํด์๊ฐ๋ฅ์ฑ์ ํ๊ธฐ์ ์ผ๋ก ํฅ์์ํจ๋ค๋ ๊ฒ์ ์ ์ฆ
- โ ์ค์ ์์ ์ ๋ํด ์ธ๊ฐ์ด ์์ ํ ์ดํดํ ์ ์๋ ํ๋ก๋ฅผ ์ถ์ถ
- โ ํ๋ก ์ดํด๋ฅผ ๋ฐํ์ผ๋ก ์ ๋์ ๊ณต๊ฒฉ๊น์ง ์ฑ๊ณต์ ์ผ๋ก ์ํ
- โ ๋ฅ๋ ฅ-ํด์๊ฐ๋ฅ์ฑ ํธ๋ ์ด๋์คํ์ ์ค์ผ์ผ๋ง ๋ฒ์น ๊ท๋ช
- โ Bridge๋ฅผ ํตํด ๊ธฐ์กด Dense ๋ชจ๋ธ ํด์์ ๊ฐ๋ฅ์ฑ ์ ์
์ด ๋ถ์ผ์ ๊ด์ฌ ์๋ ๋ํ์์๋ค์๊ฒ ๋ช ๊ฐ์ง ์์ฌ์ ์ ๋๋ฆฌ์๋ฉด:
- ํฌ์ ํ์ต ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ : ํ์ฌ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๋นํจ์จ์ ์ ๋๋ค. ๋ ์ข์ ์ต์ ํ ๊ธฐ๋ฒ์ด ํ์ํฉ๋๋ค.
- ์๋ํ๋ ํ๋ก ๋ถ์: ํ์ฌ ํ๋ก ํด์์ ์์์ ์ ๋๋ค. ์๋ํ ๋๊ตฌ ๊ฐ๋ฐ ๊ธฐํ๊ฐ ์์ต๋๋ค.
- Bridge ๋ฐฉ๋ฒ๋ก ํ์ฅ: ๋ ํฌ๊ณ ๋ณต์กํ ๋ชจ๋ธ์ Bridge๋ฅผ ์ ์ฉํ๋ ์ฐ๊ตฌ.
- ์์ ์ฑ ๊ด๋ จ ํ๋ก ์ฐ๊ตฌ: ๊ฑฐ๋ถ, ์์์, ๋ชฉํ ์ถ๊ตฌ ๋ฑ ์์ ์ฑ ๊ด๋ จ ํ๋์ ํ๋ก๋ฅผ ๋ถ์.
โ๏ธ Dig Review
โ๏ธ Dig โ Go deep, uncover the layers. Dive into technical detail.
๋ค์ด๊ฐ๊ธฐ: AI ์ ํ๋ก๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ค์ด ์ด์
์์ฆ ๊ฑฐ๋ ์ธ์ด ๋ชจ๋ธ(Large Language Model)๋ค์ ๋ง์น ๋ง๋ฒ์ฒ๋ผ ์์ฐ์ค๋ฝ๊ฒ ๋ง์ ๋ง๋ค์ด๋ด์ง๋ง, ์๋ง์์ ์ฌ์ ํ ๊น๋ง ์์ ๊ฐ์์. ๋ชจ๋ธ ์์์ ๋ฌด์จ ์๊ณ ๋ฆฌ์ฆ์ด ๋์๊ฐ๊ณ ์๋์ง ์ฌ๋ ๋์๋ ๋ณด์ด์ง ์๊ฑฐ๋ ์. ์๋ฅผ ๋ค์ด, ํธ๋์คํฌ๋จธ ๋ชจ๋ธ ์ ๋ด๋ฐ(neuron)๋ค์ด ์ธ์ , ์ ํ์ฑํ๋๋์ง ์์ธกํ๊ธฐ ์ด๋ ต๊ณ , ๊ฐ ๋ด๋ฐ์ด ์ด๋ค ๊ฐ๋ ์ ๋ํ๋ด๋์ง๋ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ดํด๊ฐ ์ด๋ ค์์. ์ด๋ฐ ๋ณต์กํจ์ ํ ์์ธ์ ์ค์ฒฉ(superposition) ๋ฌธ์ ์ธ๋ฐ์, ๊ฐ๋จํ ๋งํด ๋ฐ์ง ๋ชจ๋ธ(dense model)์์ ํ๋์ ๋ด๋ฐ์ด ์ฌ๋ฌ ๊ฐ์ง ํน์ง์ ์ฝ์ด์ ํํํด์. ๊ทธ๋ฌ๋ค ๋ณด๋ ๋ด๋ฐ์ ๋์์ด ๋ง์น ๊ฒน๊ฒน์ด ํฌ๊ฐ์ง ๊ทธ๋ฆผ์ฒ๋ผ ๋ณต์กํด์ ธ์. ์ด๋ฐ ์ํ์์ ์ฐ๋ฆฌ๊ฐ ํน์ ๋ด๋ฐ์ด๋ ์ฐ๊ฒฐ ํ๋ํ๋๊ฐ ๋ฌด์จ ์ญํ ์ ํ๋์ง ์ง๊ด์ ์ผ๋ก ์ดํดํ๊ธฐ ํ๋ค์ฃ .
๊ธฐ๊ณ๋ก ์ ํด์(Mechanistic Interpretability) ๋ถ์ผ์ ๋ชฉํ๋ ์ด ๊น๋ง ์์๋ฅผ ์ด์ด ๋ชจ๋ธ ๋ด๋ถ์ ํ๋ก๋ฅผ ์ฌ๋์ด ์ดํดํ ์ ์๋ ํํ๋ก ๋ฐํ๋ ๊ฑฐ์์. ํ์ง๋ง ์ผ๋ฐ์ ์ธ ๋ฐ์ง ์ ๊ฒฝ๋ง์์๋ ์๋ง์ ๊ฐ์ค์น๊ฐ ๋ณต์กํ๊ฒ ์ฝํ ์์ด์, ๋ง์น ๊ฑฐ๋ฏธ์ค์ฒ๋ผ ๊ผฌ์ธ ํ๋ก๋ฅผ ๋ถ์ํด์ผ ํ๋ ์ด๋ ค์์ด ์์ด์. ๊ทธ๋์ ์ต๊ทผ ์ฐ๊ตฌ๋ค์ ๋ด๋ฐ๋ค์ ํํ์ ์ต์ง๋ก ํฌ์ํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ํน์ํ ๊ธฐ๋ฒ๋ค์ ์ฐ๊ธฐ๋ ํ์ง๋ง, ์ฌ์ ํ ์์ ํ ์ดํดํ๊ธด ์ด๋ ค์ ์ด์.
๊ทธ๋ผ ์ด๋ป๊ฒ ํ๋ฉด ๋ชจ๋ธ ์ ํ๋ก๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์์๊น์? ์ด๋ฒ์ OpenAI ์ฐ๊ตฌ์ง์ ์ฐธ์ ํ ์๊ฐ์ ํด๋์ด์. ์์ ๋ชจ๋ธ์ ๋ง๋ค ๋๋ถํฐ "์ ์ ๋ฆฌ"๋ฅผ ์ํด๋ณด์๋ ๊ฑฐ์์. ์ฆ, ๋ชจ๋ธ ์ ๋ด๋ฐ๋ค์ ์๋ก ๋ค๋ฅ๋ค๋ฅ ์ฐ๊ฒฐํ์ง ๋ง๊ณ , ํ์ํ ์ต์ํ์ผ๋ก๋ง ์ด์ด์ฃผ๋ ๊ฑฐ์ฃ . ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ธ์ด ํ์ต์ ํ ๋๋ถํฐ ๊ฐ ๋ด๋ฐ์ด ๋ฑ ํ๋ ๊ฐ์ง ์ญํ ๋ง ํ๊ฒ ์ ๋ํ ์ ์์ง ์์๊น์? ์ด ์์ด๋์ด๊ฐ ๋ฐ๋ก ๊ฐ์ค์น ํฌ์ํ(weight sparsity)์์. ์ค๋ ์๊ฐํ ๋ ผ๋ฌธ "Weight-sparse transformers have interpretable circuits"๋ ์ด๋ ๊ฒ ๊ฐ์ค์น๋ฅผ ๊ฑฐ์ 0์ผ๋ก ๋ง๋ค์ด ๋ฒ๋ฆฐ ํฌ์ ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ํ๋ จํ๋๋, ์ ๋ง๋ก ๋ด๋ถ์ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด ์์ ํ๋ก๋ค์ด ๋ํ๋ฌ๋ค๋ ๊ฑธ ๋ณด์ฌ์ค๋๋ค!
๊ฐ์ค์น ํฌ์ ํธ๋์คํฌ๋จธ๋ ๋ฌด์์ผ๊น?
์ฐ์ "๊ฐ์ค์น ํฌ์ํ๋ ํธ๋์คํฌ๋จธ"๊ฐ ๋ญ์ง๋ถํฐ ์์๋ณผ๊ฒ์. ์ผ๋ฐ์ ์ธ ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์์๋ ๊ฐ ์ธต์ ๋ด๋ฐ๋ค์ด ์๋ง์ ๋ค๋ฅธ ๋ด๋ฐ๋ค๊ณผ ์ฐ๊ฒฐ๋์ด ์์ด์. ์๋ฅผ ๋ค์ด, ํ๋์ ๋ด๋ฐ์ด ๋ช ์ฒ ๊ฐ์ ์ ๋ ฅ ์ฑ๋๊ณผ ์ฐ๊ฒฐ๋ ์๋ ์์ด์. ์ด๋ฐ ์ํฉ์ ์ด๋ฑํ์ ๋๋์ด๋ก ๋น์ ํด ๋ณผ๊ฒ์. ํ ๊ต์ค์ ํ์์ด 100๋ช ์๋ค๊ณ ์์ํด์. ๋ฐ์ง ๋ชจ๋ธ์ด๋ผ๋ฉด ๊ทธ 100๋ช ์ด ๋ชจ๋ ์๋ก ์น๊ตฌ ๋งบ๊ณ ์๊ธฐํ๋ ๊ฑฐ์์. ๊ทธ๋ฌ๋ฉด ๋๊ฐ ๋๊ตฌ์๊ฒ ์ ๋ณด๋ฅผ ์ฃผ์๋์ง ์ถ์ ํ๊ธฐ ์ ๋ง ์ด๋ ต๊ฒ ์ฃ ! ๋ฐ๋๋ก ํฌ์ ๋ชจ๋ธ์์๋ ๊ฐ ํ์์ด ๋ฑ 2~3๋ช ์น๊ตฌ๋ง ์ฌ๊ท๋ผ๊ณ ์ ํํ๋ ๊ฑฐ์์. ๊ทธ๋ฌ๋ฉด ์ ๋ณด๊ฐ ํผ์ง๋ ๊ฒฝ๋ก๊ฐ ํจ์ฌ ๋จ์ํด์ง๊ฒ ์ฃ ? ๋๊ตฌํํ ๋ฌผ์ด๋ณด๋ฉด ๊ทธ ์ฌ๋์ด ๋ค์ ์ด์ผ๊ธฐ๋ฅผ ์ถ์ ํ๊ธฐ ์ฌ์์ง๋ ๊ฒ์ฒ๋ผ์. ํฌ์ ํธ๋์คํฌ๋จธ๋ ๋ง์ฐฌ๊ฐ์ง์์. ๊ฐ ๋ด๋ฐ์ด ๊ทน์์์ ๋ด๋ฐ์๋ง ์ฐ๊ฒฐ๋ ์ ์๋๋ก ์์ ํ์ต ๊ณผ์ ์์ ๊ฐ์ ํ ๋ชจ๋ธ์ด์ฃ .
ๅ ท์ฒด์ ์ผ๋ก, ์ด ๋ ผ๋ฌธ์์๋ ํ๋ จ ์ค ๋งค ๋จ๊ณ๋ง๋ค ๊ฐ์ค์น ํ๋ ฌ(weight matrix)์ ์์ฃผ ํฐ ๊ฐ๋ค ๋ช ๊ฐ๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ ์ ๋ถ 0์ผ๋ก ๋ง๋ค์ด๋ฒ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์ผ์ด์. ์๋ฅผ ๋ค์ด 100๊ฐ์ ์ฐ๊ฒฐ ์ค 1~5๊ฐ ์ ๋๋ง ๋จ๊ฒจ๋๊ณ 95๊ฐ ์ด์์ ์น ๋ค 0์ผ๋ก ๋ง๋ค์ด๋ฒ๋ฆฌ๋ ์์ด์์. ๊ทธ๋ฌ๋๊น ๊ฐ ๋ด๋ฐ์ ์ง์ง ๋ช ์ ๋๋ ๊ฒฝ๋ก๋ก๋ง ์ ํธ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฒ ๋ฉ๋๋ค. ์ด๋ฐ ์์ผ๋ก ํด์ ์ ์ฒด ๋ชจ๋ธ์ ๊ฐ์ค์น ์ค 95~99%๊ฐ 0์ธ ์์ฃผ ๋๋ฌธ๋๋ฌธ ์ฐ๊ฒฐ๋ ์ ๊ฒฝ๋ง์ ๋ง๋ค์์ด์. ์ํ์ ์ผ๋ก๋ L0 ๋ ธ๋ฆ ์ ์ฝ์ ์ค ๊ฑฐ๋ผ๊ณ ํ๋๋ฐ, ์ฝ๊ฒ ๋งํด "0์ด ์๋ ๊ฐ์ค์น์ ๊ฐ์๋ฅผ ์ค์ฌ๋ผ!"๋ผ๋ ๊ท์น์ ๊ฑธ๊ณ ํ๋ จ์ํจ ๊ฑฐ์์. ๋ํ ์ด๋ ๊ฒ ๋๋ถ๋ถ ์ฐ๊ฒฐ์ ์ฃฝ์ฌ๋ฒ๋ฆฌ๋ฉด ํ์ต์ด ๋ถ์์ ํ ์ ์์ด์, ํ์ต๋ฅ ์ ์กฐ์ ํ๋ ํน์ ์ค์ผ์ค(sharkfin learning rate) ๊ฐ์ ํ ํฌ๋๋ ์ผ์ด์. ๋ชจ๋ธ์ด ๋ฐฐ์ฐ๋ ๋ฐ์ดํฐ์ ์ Python ์ฝ๋์์. (์ฌ๋ฏธ์๊ฒ๋, ๋ชจ๋ธ์ด ์ฝ๋ ์์์ ์ฌ๋ซ๋ ๊ดํธ๋ ๋ฐ์ดํ ๊ฐ์ ๊ท์น์ ์ตํ์ผ ํ๋๊น, ํ๋ก ๋ถ์์ด ๋ ํ์คํ ๋๋ฌ๋๊ฒ ์ข์ ์ ํ์ด์์.)
๊ทธ๋ฆผ์ผ๋ก ํ๋ฒ ๋ณผ๊น์? ์๋ ๊ทธ๋ฆผ์ ์ฐ๊ตฌ์ง์ด ์ ์ํ ํ๋ จ ๋ฐ ํด์ ๊ณผ์ ์ ํ๋์ ๋ณด์ฌ์ค์. ๋จผ์ ๊ฐ์ค์น ํฌ์ํ ์ ์ฝ์ ๊ฑธ๊ณ ํธ๋์คํฌ๋จธ๋ฅผ ์๋ก ํ๋ จ์ํต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ํ๋ จ๋ ํฌ์ ๋ชจ๋ธ์ ๋ํด, ์ฐ๊ตฌ์ง์ด ์ค๋นํ ๋ช ๊ฐ์ง ๋จ์ํ ๊ณผ์ (task)๋ฅผ ์ํํ๊ฒ ํด์. ๊ฐ ๊ณผ์ ์ ๋ํด์ ๋ชจ๋ธ ์์์ ๊ทธ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ ๋ง ํ์ํ ๋ถ๋ถ๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง ๋ด๋ฐ๊ณผ ์ฐ๊ฒฐ์ ๋ค ๋์ด๋ฒ๋ฆฝ๋๋ค. ์ด๋ ๊ฒ ํด์ ๊ณผ์ ๋ณ๋ก ์ต์ ํ๋ก๋ฅผ ๋ฝ์๋ด๋ ๊ฑฐ์ฃ .
๊ทธ๋ฆผ 1: ์ฐ๊ตฌ์ง์ ์ ์ฒด ์คํ ๊ณผ์ . ์ฐ์ ๊ฐ์ค์น ํฌ์ํ๋ฅผ ์ ์ฉํ์ฌ ํฌ์ ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์ ํ๋ จํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฏธ๋ฆฌ ์ ํด๋ ๊ฐ๋จํ ์์
๋ค์ ๋ชจ๋ธ์๊ฒ ์ฃผ๊ณ , ๊ทธ ์์
์ ์ํํ๋ ๋ฐ ๊ผญ ํ์ํ ๋ด๋ฐ๋ค๊ณผ ์ฐ๊ฒฐ๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ ํ๊ท ๊ฐ์ผ๋ก ๋์ฒด(์ผ์ข
์ ๋นํ์ฑํ)ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์๋ผ๋
๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ ์์
์ ์ํ ๋ชจ๋ธ ์ ์ ์ฉ ํ๋ก๋ฅผ ์ป์ ์ ์์ด์. (โป ๊ทธ๋ฆผ์์ print("Circuit sparsity ...") ๊ฐ์ ์ฝ๋๋ ๋ชจ๋ธ์ด ์ค์ ๋ก ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ์์๋ฅผ ๋ณด์ฌ์ค ๊ฒ์
๋๋ค.)
ํ๋ก ์ฐพ๊ธฐ: ํ์ํ ๋ถ๋ถ๋ง ๋จ๊ธฐ๊ณ ์๋ผ๋ด๊ธฐ
๊ทธ๋ ๋ค๋ฉด ์์์ ๋งํ "ํ์ํ ๋ถ๋ถ๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง ๋์ด๋ธ๋ค"๋ ๊ฑธ ์ด๋ป๊ฒ ํ์๊น์? ์ฐ๊ตฌ์ง์ ๋ชจ๋ธ์ด ์ด๋ค ํน์ ์์ ์ ํ ๋ ์ฐ๋ ํ๋ก๋ง ๋ฝ์๋ด๊ธฐ ์ํด, ์ผ์ข ์ ๊ฐ์ง์น๊ธฐ ์๊ณ ๋ฆฌ์ฆ(pruning)์ ์ฌ์ฉํ์ด์. ์ฝ๊ฒ ๋งํด ๋ชจ๋ธ ์ ๋ด๋ฐ ํ๋ํ๋์ ์ค์์น๋ฅผ ๋ฌ์๋ค๊ณ ์์ํด๋ด ์๋ค. ์ค์์น๋ฅผ ๋๋ฉด ๊ทธ ๋ด๋ฐ์ ์ ๋ฌ์ ๋ชป ํ๊ฒ ๋๊ณ ์. ์ฒ์์ ๋ชจ๋ ๋ด๋ฐ์ ์ค์์น๋ฅผ ์ผ ๋ฌ์ ์์ ํ ๋ชจ๋ธ๋ก ์์ ์ ํด๋ด์. ๊ทธ๋ฌ๋ค "์ด ๋ด๋ฐ์ ์ ์จ๋ ๋๊ฒ ๋๋ฐ?" ์ถ์ ๊ฒ ์์ผ๋ฉด ์ค์์น๋ฅผ ๊บผ ๋ณด๋ ๊ฑฐ์์. ๊ทธ๋๋ ๋ชจ๋ธ์ด ๊ทธ ์์ ์ ์ ํด๋ด๋ฉด, "์, ์ด ๋ด๋ฐ์ ํ์ ์๊ตฌ๋!" ํ๊ณ ์๊ตฌํ ์ ๊ฑฐํ๋ ๊ฑฐ์ฃ . ์ด๋ ๊ฒ ์ต๋ํ ๋ง์ ๋ด๋ฐ์ ๊บผ์ ์์ ๋, ์ ๋ง ์ค์ํ ๋ด๋ฐ๋ค์ ๋๊น์ง ์ผ๋๋ฉด ๊ฒฐ๊ตญ ์ต์ํ์ ๋ด๋ฐ๊ณผ ์ฐ๊ฒฐ๋ง ๋จ์ ์์ ํ๋ก๊ฐ ๋์ค๊ฒ ์ฃ ? ๋ฐ๋ก ์ด๋ฐ ์๋ฆฌ์ ์๊ณ ๋ฆฌ์ฆ์ด์์.
๋ฌผ๋ก ์ค์ ๋ก๋ ๋ ๋๋ํ ๋ฐฉ๋ฒ์ ์ผ์ด์. ๋ด๋ฐ ๋จ์๋ก 0/1 ๋ง์คํฌ๋ฅผ ๋ฌ์ "์ด ๋ด๋ฐ ์ด๋ฆด๊น ๋ง๊น"๋ฅผ ๊ธฐ๊ณ์ ์ผ๋ก ํ์ต์ํจ ๊ฑฐ์์. ๊ทธ๋ฆฌ๊ณ ์์ ๊บผ๋ฒ๋ฆฌ๋ ๋์ , ๊ทธ ๋ด๋ฐ์ด ํ๊ท ์ ์ผ๋ก ๋ด๋ฟ๋ ๊ฐ(ํ๊ท ํ์ฑํ)์ ๋ฃ์ด์ ๋ชจ๋ธ์ ๊ตด๋ ค๋ดค์ด์. ์ด๋ ๊ฒ ํ๋ฉด ํด๋น ๋ด๋ฐ์ ํจ๊ณผ๋ง ์ ๊ฑฐ๋๊ณ , ์์ ํ 0์ผ๋ก ๋ ๋ฆฌ๋ ๊ฒ๋ณด๋ค ๋ชจ๋ธ ์ฑ๋ฅ์ ๋ ์ถฉ๊ฒฉ์ ์ฃผ๊ฑฐ๋ ์. ๊ทธ๋์ ์ด ๋ฐฉ๋ฒ์ ํ๊ท ์ ๊ฑฐ(mean ablation)๋ผ๊ณ ํด์. ๊ฒฐ๊ตญ ๋จ์ ๋ด๋ฐ๋ค๊ณผ ์ฐ๊ฒฐ๋ก ์ด๋ฃจ์ด์ง ์์ ํ๋ก(circuit)๋ฅผ ์ฐพ์๋ผ ์ ์์์ต๋๋ค. ์ด๊ฑธ ํ๋ก ๋ฐ๊ฒฌ(circuit discovery)๋ผ๊ณ ๋ถ๋ฅผ๊ฒ์.
๊ทธ๋ผ ์ด ํ๋ก์ ํฌ๊ธฐ(๋จ์ ๋ด๋ฐ๊ณผ ์ฐ๊ฒฐ์ ์)๊ฐ ๊ณง ๋ชจ๋ธ ํด์ ์ฉ์ด์ฑ์ ์ฒ๋๊ฐ ๋ฉ๋๋ค. ์๋ํ๋ฉด ํ๋ก๊ฐ ์์์๋ก ์ฌ๋์ด ๋ค์ฌ๋ค๋ณด๋ฉด์ ์ดํดํ๊ธฐ ์ฝ์์์. ์์ปจ๋ ์๋ฐฑ ๊ฐ ๋ด๋ฐ์ด ๋ณต์กํ๊ฒ ์ฐ๊ฒฐ๋ ํ๋ก๋ณด๋ค, ์ด๋ ๊ฐ ๋ด๋ฐ์ด ๊ฐ๋จํ ์ฐ๊ฒฐ๋ ํ๋ก๊ฐ ํจ์ฌ ๋ฌด์จ ์ญํ ์ ํ๋์ง ์ค๋ช ํ๊ธฐ ์ฝ๊ฒ ์ฃ . ์ด ๋ ผ๋ฌธ์์๋ ๊ทธ๋์ "์ธํฐํ๋ฆฌํฐ๋น๋ฆฌํฐ(ํด์ ๊ฐ๋ฅ์ฑ)"๋ฅผ ํ๋ก ํฌ๊ธฐ๋ก ์ ์ํ์ด์. ์์ ํ๋ก = ๋์ ํด์ ๊ฐ๋ฅ์ฑ์ธ ์ ์ด์ฃ .
์ฐ๊ตฌ์ง์ ๋ชจ๋ธ์ ํ๊ฐํ๊ธฐ ์ํด ๊ฐ๋จํ ํ๋จ ๋ฌธ์ ๋ค์ ์ฌ๋ฌ ๊ฐ ๋ง๋ค์์ด์. ๊ฐ ๋ฌธ์ ๋ ๋ชจ๋ธ์๊ฒ ๋ ๊ฐ์ง ์ ํ์ง ์ค ํ๋๋ฅผ ๊ณ ๋ฅด๊ฒ ํ๋ ํํ์์. (์๋ฅผ ๋ค๋ฉด, ๋ฐ์ดํ๋ฅผ ํ๋๋ง ์ด๊ณ ๋ฌธ์ฅ์ ๋๋์ ๋, ๋ค์์ ๋ซ๋ ๋ฐ์ดํ๋ฅผ ์ถ๋ ฅํด์ผ ๋ง์๊น์ ์๋๋ฉด ๋ค๋ฅธ ๋ฌธ์๋ฅผ ์ถ๋ ฅํด์ผ ํ ๊น์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ธ ๊ฑฐ์์.) ๋ชจ๋ธ์ด ์ ๋ต์ ๋งํ๋ ๋์ ๋ด๋ถ์์๋ ์ด ๋ ์ค ํ๋๋ฅผ ๊ณ ๋ฅด๋ ๊ณ์ฐ ํ๋ก๊ฐ ๋์๊ฐ๊ฒ ์ฃ . ๊ทธ ์ฑ๊ณต์ ์ธ ํ๋ก๋ง ์ ๋ฝ์๋ธ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ๊ทธ ํ๋ก๋ฅผ ์ ๋ง ์ฐ๋ฆฌ๊ฐ ์์ ํ ์ดํดํ ์ ์๋์ง ๋ฉด๋ฐํ ๋ถ์ํ์ด์.
ํฌ์ ๋ชจ๋ธ vs. ๋ฐ์ง ๋ชจ๋ธ: ๋ ์์ ํ๋ก = ๋ ์ ์ดํด๋๋ ํ๋ก
์ด์ ํต์ฌ ์ง๋ฌธ์ผ๋ก ๋์์ ๋ด ์๋ค: โ๊ฐ์ค์น ํฌ์ํ๊ฐ ์ ํ๋ก๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด์ค๊น?โ ์ด์ ๋ํ ๋ต์, ์ฐ๊ตฌ์ง์ ๋ฐ์ง ๋ชจ๋ธ๊ณผ์ ๋น๊ต ์คํ์ผ๋ก ๋ณด์ฌ์ค๋๋ค. ๋๊ฐ์ด Python ์ฝ๋๋ฅผ ํ์ตํ์ง๋ง ๊ฐ์ค์น ํฌ์ํ ์ ์ฝ์ ์ฐ์ง ์์ ์ผ๋ฐ ํธ๋์คํฌ๋จธ(์ฆ ๋ฐ์ง ๋ชจ๋ธ)๋ฅผ ํ๋ ์ค๋นํ๊ณ , ์ฐ๋ฆฌ ํฌ์ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ์ด ๋น์ทํ ์์ค์ด ๋๋๋ก ๋ง์ถฐ์. ๋ ๋ชจ๋ธ์ด ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฅ๋ ฅ(capability)์ ๋น์ทํ๊ฒ ๋ง๋ ํ์, ์๊น ๋งํ ๊ฐ์ง์น๊ธฐ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ฐ๊ฐ ์ต์ ํ๋ก๋ฅผ ์ฐพ์๋ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ๋ก์ ํฌ๊ธฐ(๋จ์ ๋ด๋ฐ/์ฐ๊ฒฐ ์)๋ฅผ ๋น๊ตํ์ด์.
๊ฒฐ๊ณผ๋ ์ด๋ ์๊น์? ํฌ์ ํธ๋์คํฌ๋จธ ์ชฝ์ด ํจ์ฌ ๋ ์์ ํ๋ก๋ง์ผ๋ก ๋์ผํ ๋ฌธ์ ๋ฅผ ํ ์ ์์์ด์. ์๋ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด, ์ธ๋ก์ถ์ ๋ฌธ์ ํ์ด ์ฑ๋ฅ(์์์๋ก ์ข์)์ด๊ณ ๊ฐ๋ก์ถ์ ์ฐพ์๋ธ ํ๋ก์ ํฌ๊ธฐ(์์์๋ก ํด์ํ๊ธฐ ์ข์)์์. ์ฃผํฉ์ ์ ์ ํฌ์ ๋ชจ๋ธ, ํ๋์ ์ ์ ๋ฐ์ง ๋ชจ๋ธ์ธ๋ฐ์. ๊ฐ์ ์ฑ๋ฅ ์์ค์์ ํฌ์ ๋ชจ๋ธ์ ๋ฐ์ง ๋ชจ๋ธ๋ณด๋ค ํ๋ก ํฌ๊ธฐ๊ฐ ์ฝ 16๋ถ์ 1๋ฐ์ ์ ๋ผ์! ์ด๋ฅผํ ๋ฉด, ๋ฐ์ง ๋ชจ๋ธ์ ํน์ ์ ํ๋๋ฅผ ๋ด๋ ค๋ฉด ํ๋ก์ 100๊ฐ์ ์์๊ฐ ํ์ํ๋ค๋ฉด, ํฌ์ ๋ชจ๋ธ์ ๊ฒจ์ฐ 6๊ฐ ์ ๋ ์์๋ง์ผ๋ก๋ ํด๋ด๋ ์ ์ด์์. ์ด๊ฑด ์์ฒญ๋ ์ฐจ์ด์ฃ .
๊ทธ๋ฆผ 2: ํฌ์ ๋ชจ๋ธ์ ๋ฐ์ง ๋ชจ๋ธ๋ณด๋ค ํจ์ฌ ์์ ํ๋ก๋ก๋ ๊ฐ์ ์ฑ๋ฅ์ ๋ฌ์ฑํฉ๋๋ค. ์ธ๋ก์ถ์ ํ์คํฌ ์์ค(์์์๋ก ์ ํํจ)์ด๊ณ ๊ฐ๋ก์ถ์ ํ๋ฃจ๋ ํ ๋จ์ ํ๋ก์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ ๋๋ค. ํ๋์ ๋ฐ์ง ๋ชจ๋ธ์ ๋นํด ์ฃผํฉ์ ํฌ์ ๋ชจ๋ธ์, ๋์ผํ ์ฑ๋ฅ ์์ค์์ ํ์ํ ํ๋ก ๊ท๋ชจ๊ฐ ํ์ ํ ์์ต๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ๋ชจ๋ ํ์คํฌ์ ๋ํด ํ๊ท ์ ์ผ๋ก 16๋ฐฐ๋ ์์ ํ๋ก๋ฅผ ๋ณด์ฌ์ฃผ์์ด์. ๋ค์ ๋งํด, ํฌ์ํ๋ ๋ชจ๋ธ์ผ์๋ก ํ๋ก๊ฐ ๋จ์ํด์ ธ์ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ๊ฐ ๋๋ค๋ ์ค์ฆ์ ๊ทผ๊ฑฐ์์.
์ ์ด๋ฐ ์ฐจ์ด๊ฐ ์๊ธธ๊น์? ํฌ์ ๋ชจ๋ธ์์๋ ๊ฐ ๋ด๋ฐ์ด ์ค์ง ๋ช ๊ฐ์ ๊ฒฝ๋ก๋ง ์ฝ๊ณ ์ฐ๋ค ๋ณด๋, ๋ชจ๋ธ์ด ๊ตณ์ด ๋ณต์กํ๊ฒ ์ด๊ฒ์ ๊ฒ ์ฝ์ด์ฐ์ง ์๊ฒ ๋ฉ๋๋ค. ํ๋์ ๊ฐ๋ ์ ํํํ๋ ค๊ณ ๋ถํ์ํ๊ฒ ๋ง์ ๋ด๋ฐ์ ๋์ํ๊ฑฐ๋, ์ฌ๋ฌ ๋ด๋ฐ์ ๊ฑธ์ณ ๋ถ์ฐ์ํฌ ์ด์ ๊ฐ ์ค์ด๋๋ ๊ฑฐ์ฃ . ๋ฐ๋ฉด ๋ฐ์ง ๋ชจ๋ธ์ ๊ฐ์ฉํ ์ฐ๊ฒฐ์ด ๋๋ฌด ๋ง์์ ํ ๋ด๋ฐ์ ์ฌ๋ฌ ์๋ฏธ๊ฐ ๊ฒน์น๋ ์ค์ฒฉ ํ์์ด ์ฌํ๊ณ , ํ๋ก๋ฅผ ์ฐพ๋๋ผ๋ ์ฌ๊ธฐ์ ๊ธฐ ํฉ์ด์ง ํฐ ํ๋ก๊ฐ ๋ํ๋๋ ๊ฑฐ์์. ํฌ์ํ๋ก ์ผ์ข ์ ๊ท์จ์ ๊ฐ์ ํ๋๋, ๋ชจ๋ธ์ด ์ค์ค๋ก "ํ ๋ด๋ฐ, ํ ์ญํ " ์์ผ๋ก ์๋ฃจ์ ์ ์ฐพ์๊ฐ ์ ์ ๋๋ค.
์ฐ๊ตฌ์ง์ ์ด ํ๋ก๋ค์ด ์ ๋ง ์ ํํ ๊ทธ ์์ ์ ํ์ํ ๊ธฐ๋ฅ๋ง ๋ด๋นํ๋์ง๋ ๊ฒ์ฆํ์ด์. ์ฐพ์ ํ๋ก์ ๋ด๋ฐ๋ค๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง ๋ชจ๋๋ฅผ ๋ค ํ๊ท ๊ฐ์ผ๋ก ๋์ฒดํด๋ฒ๋ ค๋ (์ฆ ํ๋ก ์ด์ธ๋ฅผ ๋ชฝ๋ ๋ฌด๋ ฅํ์์ผ๋) ๋ชจ๋ธ์ ํด๋น ์์ ์ฑ๋ฅ์ ๊ฑฐ์ ๊ทธ๋๋ก์์ด์. ๊ทธ๋ฐ๋ฐ ๋ฑ ๊ทธ ํ๋ก์ ๋ด๋ฐ๋ค๋ง ์ ๊ฑฐํ๋ฉด ๋ชจ๋ธ์ด ์์ ์ ์์ ํ ๋ง์ณค์ต๋๋ค. ์ด๊ฑด ๋ฌด์จ ๋ป์ผ๊น์? ๋ค, ์ฐพ์๋ธ ์์ ํ๋ก๊ฐ ๊ทธ ์์ ์ ์ํํ๋ ๋ฐ ๊ผญ ํ์ํ๊ณ ๋ ์ถฉ๋ถํ ๋ถ๋ถ์ด๋ ๋ป์ด์์. ์ฆ, ํ๋ก ํด์์ ์ ํ์ฑ๊น์ง ์ ์ฆํ ๊ฑฐ์ฃ . ์์ ํ๋ก๋ฅผ ์ดํดํ๋ฉด ๋ชจ๋ธ์ ๊ทธ ํ๋์ ์จ์ ํ ์ดํดํ๋ค๊ณ ํ ์ ์์ผ๋๊น์.
ํ์ง๋ง ์ด ์ ๊ทผ์๋ ํ ๊ฐ์ง ๊ณ ๋ฏผ์ด ์์ด์. ์ด๋ ๊ฒ ํฌ์ ๋ชจ๋ธ์ ํ๋ จํ๋ ๊ฒ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ผ๋ ๊ฑฐ์์. ์ฐ๊ฒฐ์ด ๋๋ถ๋ถ ์์ผ๋, ์ํ๋ ์ฑ๋ฅ์ ๋ด๊ธฐ๊น์ง ๋ฐ์ดํฐ๋ฅผ ํจ์ฌ ์ค๋ ํ์ตํด์ผ ํ์ด์. ๋ ํฌ์ ๋ชจ๋ธ์ ์ค์ ์๋น์ค์ ์ฐ๊ธฐ์ ์๋๊ฐ ๋๋ฆด ์๋ ์๊ณ ์ (ํ๋ ฌ ๋๋ถ๋ถ์ด 0์ด๋ผ ๊ณ์ฐ ๋ญ๋น๊ฐ ํฌ๊ฑฐ๋ ์). ๊ทธ๋ฌ๋ ์ง๊ธ ์ํ๋ก๋ ์ต์ ๊ฑฐ๋ ๋ชจ๋ธ ๊ท๋ชจ๋ก ํฌ์ ๋ชจ๋ธ์ ๋ง๋ค๊ธด ์ด๋ ต์ต๋๋ค (์ฐ๊ตฌ์์๋ ์์ฒ๋ง ๊ฐ ์ ๋์ ๋น์(zero๊ฐ ์๋) ํ๋ผ๋ฏธํฐ๊น์ง ์คํํ๋๋ฐ, ๋ ํฌ๊ฒ ํ๋ ๊ฑด ๋์ ๊ณผ์ ๋ผ๊ณ ํด์). ๊ทธ๋๋ ์ด ์ฐ๊ตฌ๋ "์ฑ๋ฅ ์ข์ ๋ชจ๋ธ์ ๋ง๋๋ ๊ฒ๊ณผ ํด์ํ๊ธฐ ์ฌ์ด ๋ชจ๋ธ์ ๋ง๋๋ ๊ฒ ์ฌ์ด์ ์ ์ถฉ์ ์ด ์๋ค"๋ ๊ฑธ ์ฒ์์ผ๋ก ์ ๋์ ์ผ๋ก ๋ณด์ฌ์ค ์ฌ๋ก์์. ๋ค์์ ์ค๋ช ํ ๊ท๋ชจ ํ์ฅ ์คํ์์๋ ์ด ์ ์ถฉ์ ์ ์ด๋ป๊ฒ ์ข ๋ ๊ฐ์ ํ ์ ์๋์ง๋ ๋ค๋ฃน๋๋ค.
๋ชจ๋ธ ํฌ๊ธฐ์ ํด์ ๊ฐ๋ฅ์ฑ์ ์ค๋ค๋ฆฌ๊ธฐ
๊ทธ๋ ๋ค๋ฉด ๋ชจ๋ธ์ ํฌ๊ธฐ(ํ๋ผ๋ฏธํฐ ์)๋ฅผ ํค์ฐ๋ฉด ํด์ ๊ฐ๋ฅ์ฑ์๋ ์ด๋ค ์ํฅ์ด ์์๊น์? ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ธ์ด ํฌ๊ณ ๋ณต์กํด์ง๋ฉด ๋ ๊น๊ณ ๋ํดํ ํ๋ก๊ฐ ์๊ธธ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฌ์์. ํ์ง๋ง ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ ๊ผญ ๊ทธ๋ ์ง๋ง์ ์๋ค๋ ํฅ๋ฏธ๋ก์ด ์ฌ์ค์ ๋ณด์ฌ์ค๋๋ค.
์ฐ๊ตฌ์ง์ ์ฌ๋ฌ ํฌ๊ธฐ์ ํฌ์ ๋ชจ๋ธ์ ๋ง๋ค์ด ๋น๊ตํ์ด์. ์๋ฅผ ๋ค์ด ์ ์ฒด ํ๋ผ๋ฏธํฐ ์(๋ชจ๋ธ ํญ๊ณผ ๊น์ด)๋ฅผ ๋ฌ๋ฆฌํ๋ฉด์, ํฌ์์จ(์ ์ฒด ์ค 0์ด ์๋ ๊ฐ์ค์น ๊ฐ์)๋ ๋ค์ํ๊ฒ ์กฐ์ ํ์ด์. ๊ทธ๋ ๊ฒ ํด์ "๋ชจ๋ธ ๋ฅ๋ ฅ vs. ํด์ ๊ฐ๋ฅ์ฑ" ์ฌ์ด์ ๊ด๊ณ ๊ณก์ ์ ์ดํด๋ดค์ต๋๋ค. ์๋ ๊ทธ๋ฆผ์ฒ๋ผ, ๊ฐ๋ก์ถ์ ๋ชจ๋ธ์ ํ์ต ์ฑ๋ฅ(ํ๋ฆฌํธ๋ ์ธ ์์ค)์ด๊ณ ์ธ๋ก์ถ์ ์ฐพ์ ํ๋ก์ ํฌ๊ธฐ์์. ๊ฐ ๊ณก์ ํ๋ํ๋๋ ๋ชจ๋ธ์ ์ด ํ๋ผ๋ฏธํฐ ๊ท๋ชจ๋ฅผ ๋ํ๋ด๊ณ , ๊ณก์ ์ ์ ๋ค์ ํฌ์ํ ์ ๋(L0 ๊ฐ)๋ฅผ ๋ฌ๋ฆฌํ ๊ฒฝ์ฐ๋ค์ด์์. ๊ทธ๋ํ์์ ์ผ์ชฝ ์๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์๋ก ๋ ์ฑ๋ฅ ์ข๊ณ ํ๋ก ์์์ ์ด์์ ์ธ ์ํ์์.
๊ทธ๋ฆผ 3: ๋ชจ๋ธ ๊ท๋ชจ์ ํฌ์ํ ์ ๋์ ๋ฐ๋ฅธ ์ฑ๋ฅ-ํด์๊ฐ๋ฅ์ฑ ํธ๋ ์ด๋์คํ. ์๊น๋ณ ๊ณก์ ์ ๋ชจ๋ธ์ ์ด ํฌ๊ธฐ(ํ๋ผ๋ฏธํฐ ์)๋ฅผ ๋ํ๋ด๊ณ , ๊ณก์ ์์ ์ ๋ค์ ํฌ์ ๋ชจ๋ธ์ ๋น์ ํ๋ผ๋ฏธํฐ ์(L0)๋ฅผ ๋ณํ์ํจ ์ผ์ด์ค๋ค์ ๋๋ค. ๊ณก์ ์ด ์ผ์ชฝ ์๋๋ก ๊ฐ์๋ก ๋ ์ข์ต๋๋ค. ๋ณด๋ผ์/ํ๋์ ๊ณก์ (ํฐ ๋ชจ๋ธ๋ค)์ด ์ฃผํฉ/๋ ธ๋ (์์ ๋ชจ๋ธ๋ค)๋ณด๋ค ์ผ์ชฝ ์๋ ์์น๋ก ๋ ๋ด๋ ค๊ฐ ์์ฃ . ์ด๋ ๋ชจ๋ธ์ ํฌ๊ฒ ๋ง๋ค๋ฉด ๋์ผํ ํฌ์์จ์์๋ ๋ ๋์ ์ฑ๋ฅ๊ณผ ์์ ํ๋ก๋ฅผ ๋์์ ์ป์ ์ ์์์ ๋ปํฉ๋๋ค. ๋ค์ ๋งํด, ๋ชจ๋ธ ํญ์ ๋๋ฆฌ๋ฉด ํด์ ๊ฐ๋ฅ์ฑ์ ํด์น์ง ์์ผ๋ฉด์๋ ์คํ๋ ค ํฅ์์ํฌ ์ ์๋ค๋ ๊ฑฐ์์. ์ด ๋ฐ๊ฒฌ์ "๋ชจ๋ธ์ด ์ปค์ง์๋ก ๋ ํด์ ๋ถ๊ฐ๋ฅํด์ง ๊ฒ"์ด๋ผ๋ ์ผ๋ฐ์ ์ธ ์ง๊ฐ์ ๋ค์ง๋ ํฅ๋ฏธ๋ก์ด ๊ฒฐ๊ณผ์ ๋๋ค.
ํ์ง๋ง ์ฃผ์ํด์ผ ํ ์ ์ด ์์ด์. ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด ๋ชจ๋ธ์ด ์ปค์ ธ๋ ์ด๋ ์ ๋๊น์ง๋ ์ข๋ค๊ฐ, ํ๊ณ๋ฅผ ๋์ด๊ฐ๋ฉด ๊ณก์ ์ด ๋ ์ข์์ง ์๋ ์์ด์. ์์ง ์์ต~์์ญ์ต ๊ฐ ๊ท๋ชจ์ ํ๋ผ๋ฏธํฐ๊น์ง๋ ํฌ์ ๋ชจ๋ธ๋ก ๊ฒ์ฆํ๊ธฐ ์ด๋ ค์์, ์ด ๋ฐฉ๋ฒ์ด ์์ฃผ ๋๊ท๋ชจ ๋ชจ๋ธ์๋ ํตํ ์ง๋ ๋ฏธ์ง์์์. ๊ทธ๋ผ์๋ ์ค์ํ ๊ฑด, ์ ๋นํ ๊ท๋ชจ ํ๋๋ ์คํ๋ ค ํด์ ๊ฐ๋ฅํ ํ๋ก๋ฅผ ์ป๋ ๋ฐ ์ ๋ฆฌํ ์ ์๋ค๋ ์ ์ด ํ์ธ๋ ๊ฑฐ์์. ์์ผ๋ก ๋ ํฐ ํฌ์ ๋ชจ๋ธ์ ๋ง๋ค ๊ธฐ์ ๋ง ๋ท๋ฐ์นจ๋๋ค๋ฉด, ์ฑ๋ฅ๊ณผ ํด์๋ ฅ ๋ ๋ค ์ก๋ ๋ชจ๋ธ๋ ๊ฟ์ ์๋์ง ๋ชฐ๋ผ์.
์ค์ ํ๋ก ์์ ์ดํด๋ณด๊ธฐ: ์์ง๋ง ๋๋ํ ๋ด๋ฐ๋ค
๋ง๋ก๋ง ๋ค์ผ๋ฉด ๊ฐ์ด ์ ์ฌ ์ ์์ผ๋, ์ค์ ๋ก ๋ชจ๋ธ ์์์ ์ฐพ์๋ธ ํ๋ก๋ค์ด ์ด๋ป๊ฒ ์๊ฒผ๋์ง ์๋ฅผ ๋ค์ด ๋ณผ๊ฒ์. ์ ๋ง ์ ๊ธฐํ๊ฒ๋, ํฌ์ ํธ๋์คํฌ๋จธ์์ ๋ฝ์๋ธ ํ๋ก๋ค์ ์ฐ๋ฆฌ๊ฐ ์ง์ ์ดํดํ ์ ์์ ๋งํผ ๊ฐ๋จํ ๊ตฌ์ฑ์ด์์ด์. ๊ฒ๋ค๊ฐ ๊ฐ ๋ถ๋ถ์ด ๋ด๋นํ๋ ๊ธฐ๋ฅ๋ ์ฌ๋ ์ ์ฅ์์ ์ง๊ด์ ์ผ๋ก ๋ฉ๋์ด ๊ฐ์ต๋๋ค.
์์ 1: ๋ฐ์ดํ ๋ซ๊ธฐ(๋ฌธ์์ด ๋ง๋ฌด๋ฆฌ) ํ๋ก
์ฒซ ๋ฒ์งธ ์์๋ ๋ฌธ์์ด์ ๋๊น์ง ๋ซ์์ฃผ๋ ์์
์ด์์. ํ์ด์ฌ ์ฝ๋์์ ๋ฌธ์์ด์ " "๋ ' '๋ก ์ด์์ผ๋ฉด, ๋์ค์ ๊ทธ์ ๋ง๋ ๋ซ๋ ๋ฐ์ดํ๋ก ๋๋ด์ผ ํ์์์. ํฌ์ ๋ชจ๋ธ์๊ฒ print("Hello, world ๊ฐ์ ์
๋ ฅ์ ์ฃผ๊ณ , ์ฌ๋ฐ๋ฅด๊ฒ "Hello, world"๋ก ๋๋งบ๋์ง๋ฅผ ๋ฌป๋ ์์ ์์
์ ์๊ฐํด๋ด
์๋ค. ๋ชจ๋ธ์ด ์ด๊ฑธ ์ ๋๋ก ํด๋ธ๋ค๋ฉด, ๋ด๋ถ์ ์ฌ๋ ๋ฐ์ดํ๋ฅผ ์ธ์ํ๊ณ ๋์๋๋ ๋ซ๋ ๋ฐ์ดํ๋ฅผ ์ถ๋ ฅํ๋ ๋
ผ๋ฆฌ๊ฐ ์์ด์ผ๊ฒ ์ฃ .
์ค์ ๋ก ํฌ์ ๋ชจ๋ธ์ ํ๋ฃจ๋ํด์ ์ด ์์ ์ ํ๋ก๋ฅผ ๋ฝ์๋ณด๋, ๋ฑ ๋ ๊ฐ์ MLP ๋ด๋ฐ๊ณผ ํ๋์ ์ดํ ์ ํค๋๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์์ ํ๋ก๊ฐ ๋ํ๋ฌ์ด์! ๋ฏฟ๊ธฐ ์ด๋ ค์ธ ์ ๋๋ก ๋จ์ํ๋ฐ์, ์ด ๊ฐ๊ฐ์ด ๋ฌด์จ ์ญํ ์ ํ๋์ง๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ๋ฐ๋ก ์ ์ ์์ต๋๋ค. ์๋ ๊ทธ๋ฆผ์ ๊ทธ "๋ฐ์ดํ ๋ซ๊ธฐ" ํ๋ก์ ์์ธ๋์์. ์ด 12๊ฐ์ ๋ ธ๋(๋ด๋ฐ ๋๋ ์ฑ๋)์ ๊ทธ ์ฌ์ด 9๊ฐ์ ์ฐ๊ฒฐ(์ฃ์ง)๋ง์ ๋ณด์ฌ์ฃผ๊ณ ์๋๋ฐ, ์ด๊ฒ ์ด ์์ ์ ๊ฑฐ์ ์๋ฒฝํ ์ํํ๋ ๋ฐ ์ถฉ๋ถํ ์ ์ฒด ํ๋ก๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฆผ 4: ๋ฌธ์์ด ๋ฐ์ดํ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๋ซ์์ฃผ๋ ํ๋ก์ ๊ตฌ์กฐ. ์ด ์์ ํ๋ก ์์์ ๋ฑ ๋ ๊ฐ์ MLP ๋ด๋ฐ(์ฌ๊ฐํ ๋ชจ์)๊ณผ ํ๋์ ์ดํ ์ ํค๋(์ ๋ชจ์)๊ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ํ๋์ ๋ด๋ฐ์ ์ ๋ ฅ ํ ํฐ ์คํธ๋ฆผ์์ ๋ฐ์ดํ๊ฐ ๋ฑ์ฅํ๋์ง ๊ฐ์งํ๋ "๋ฐ์ดํ ๊ฐ์ง๊ธฐ" ์ญํ ์ ํ๊ณ , ๋ ๋ค๋ฅธ ๋ด๋ฐ์ ๊ทธ ๋ฐ์ดํ๊ฐ single์ธ์ง double์ธ์ง ๊ตฌ๋ถํ๋ "๋ฐ์ดํ ์ข ๋ฅ ๋ถ๋ฅ๊ธฐ" ์ญํ ์ ํด์. ์ด ๋ ์ ํธ๋ ์ดํ ์ ๋ฉ์ปค๋์ฆ์ ํตํด ์ฌ์ฉ๋๋๋ฐ, ์ดํ ์ ํค๋๋ ๋ฌธ์ฅ์ ๋ ๋ถ๋ถ์์ ์์ ๊ฐ์ง๋ ์ ๋ณด๋ค์ ์ฐธ์กฐํ์ฌ ์๋ง์ ๋ซ๋ ๋ฐ์ดํ๋ฅผ ์ถ๋ ฅํ๋๋ก ํฉ๋๋ค. ์์ฝํ๋ฉด, ๋ด๋ฐ ํ๋๊ฐ ๋ฐ์ดํ ์์น๋ฅผ ์ฐ์ด์ฃผ๊ณ , ๋ ํ๋๋ ๋ฐ์ดํ ์ข ๋ฅ๋ฅผ ์๋ ค์ฃผ๋ฉด, ์ดํ ์ ํค๋๊ฐ "์, ์ฌ๊ธฐ๋ ๋ฐ์ดํ๋ฅผ ๋ซ์์ค์ผ๊ฒ ๊ตฌ๋!" ํ๊ณ ์ ๋ต ๋ฐ์ดํ๋ฅผ ๋ด๋๋ ๊ฒ์ด์ฃ . ๋๋๊ฒ๋ ์ด ํ๋ก์ ๋์ ์๋ฆฌ๋ฅผ ์ฌ๋์ด ๋จ๊ณ๋ณ๋ก ์ค๋ช ํ ์ ์๊ฒ ๋ ๊ฑฐ์์. ์ค์ ๋ก ์ฐ๊ตฌ์ง์ ์ด ํ๋ก์ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก, ๋ชจ๋ธ์ ์์ผ ์ ์๋ ํน์ํ ์ ๋ ฅ๋ ์ค๊ณํด๋ดค์ด์. ์์ปจ๋ ๋ชจ๋ธ์ด ๋ฐ์ดํ๋ฅผ ์ ๋๋ก ๋ซ์ง ๋ชปํ๋๋ก ๊ต๋ฌํ๊ฒ ํจ์ ์ ํ ์ ๋ ฅ์ ๋ง๋ค์ด๋ณธ ๊ฑฐ์ฃ . ๊ทธ๋ฌ๋๋ ์์ธก๋๋ก ๋ชจ๋ธ์ด ์ค๋ต์ ๋ด๋๋ผ๋ ๊ฒ๋๋ค! ์ด์ฒ๋ผ ๋ชจ๋ธ ๋ด๋ถ๋ฅผ ์ดํดํ๋ฉด ๊ทธ ๋ชจ๋ธ์ ์ฝ์ ๊น์ง๋ ์์ํ ์ ์๋ค๋ ๊ฑธ ๋ณด์ฌ์ฃผ๋ ์ฌ๋ฏธ์๋ ์ฌ๋ก์์ด์.
์์ 2: ๊ดํธ ๊น์ด ์ธ๊ธฐ ํ๋ก
๋ ๋ฒ์งธ๋ก ์ดํด๋ณผ ํ๋ก๋, ์ฌ๋ฌ ๊ฒน์ผ๋ก ์ค์ฒฉ๋ ๊ดํธ์ ๊น์ด๋ฅผ ์ธ๋ ์์
์ด์์. ํ์ด์ฌ ์ฝ๋๋ ์ํ ์์์์ ๊ดํธ [ ]๋ฅผ ์ฌ๋ซ๋ ๊ท์น์ ์๊ฐํด๋ณด๋ฉด, ๊ดํธ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ด๋ฉด ๊ทธ๋งํผ ๋ซ์์ผ ํ์ฃ . ์๋ฅผ ๋ค์ด [[5, 3]๋ผ๋ ์
๋ ฅ์ด ์์ผ๋ฉด ]๊ฐ ํ๋ ๋ ํ์ํ๊ณ , [[[ ]์ฒ๋ผ ์ธ ๊ฒน์ผ๋ก ์ด์์ผ๋ฉด ์ธ ๊ฒน ๋ซ์์ผ ๋ง์์. ๋ชจ๋ธ์ด ์ด๋ฌํ ์ค์ฒฉ ๊น์ด๋ฅผ ์ถ์ ํด์ ๋ง๋ ๊ฐ์์ ๋ซ๋ ๊ดํธ๋ฅผ ์ถ๋ ฅํ๋์ง๋ฅผ ํ
์คํธํ๋ ๊ณผ์ ์
๋๋ค.
ํฌ์ ๋ชจ๋ธ์์ ์ด ๊ธฐ๋ฅ์ ๋ด๋นํ๋ ํ๋ก๋ฅผ ๋ฝ์ ๋ถ์ํ ๊ฒฐ๊ณผ, ์๋นํ ํฅ๋ฏธ๋ก์ด ์๊ณ ๋ฆฌ์ฆ์ด ๊ทธ ์์ ๊ตฌํ๋์ด ์์์ด์. ์๋ ๊ทธ๋ฆผ์ ๋
ผ๋ฌธ์ ์๊ฐ๋ "๊ดํธ ๊น์ด ์ธ๊ธฐ" ํ๋ก ๊ฐ๋ต๋์์. ์ผํ ๋ณต์กํด ๋ณด์ด์ง๋ง, ํต์ฌ ์์ด๋์ด๋ ์ด๋ ์ต๋๋ค: ์ดํ
์
ํค๋๊ฐ ๋ฌธ์ฅ ์ ์ฒด๋ฅผ ๋ณด๋ฉฐ "์ฌ๋ ๊ดํธ" ์ ํธ๋ค์ ๋ชจ์์ ํ ๊ตฐ๋ฐ๋ก ์์ฝํด์. ์๋ฅผ ๋ค์ด ๋ฌธ์ฅ์ [๊ฐ ์ธ ๋ฒ ๋์ค๋ฉด, ์ดํ
์
์ด ๊ทธ๊ฑธ ์บ์นํด์ "์ง๊ธ ๊น์ด 3์ด์ผ!"๋ผ๋ ์์ ๊ฐ์ ์์ฐจ ์คํธ๋ฆผ์ ํน์ ์ฑ๋์ ์ ์ฅํด๋ก๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ค์ ๊ทธ ๊ฐ์ ์ฝ์ด์ ํ์ํ ]์ ๊ฐ์๋ฅผ ๊ฒฐ์ ํ๋ ๊ฑฐ์ฃ . ์ฝ๊ฒ ๋งํด, ๋ชจ๋ธ์ด ์ด๋ฆฐ ๊ดํธ์ ๊ฐ์๋ฅผ ์ธ์ด ์ ์ฅํด๋๋ค๊ฐ, ๋ซ๋ ์์ ์ ๊ทธ ์ซ์๋งํผ ๋ซ๋ ๊ดํธ๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ์์ ํ๋ก๋ฅผ ํ์ตํ ๊ฑฐ์์. ์ด ๊ณผ์ ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ด๋ฐ๊ณผ ๋ ๊ฐ ์ ๋์ ์ดํ
์
ํค๋๊ฐ ํ์
ํ๋ ๋ ๋จ๊ณ ์๊ณ ๋ฆฌ์ฆ์ด ์จ์ด ์์๋๋ฐ์, ์ฌ๋ ์ฐ๊ตฌ์๊ฐ ๊ทธ ๊ตฌ์กฐ๋ฅผ ์์ ํ ํด์ํด์ ์ค๋ช
ํ ์ ์์์ต๋๋ค. ์ด๊ฒ๋ ๋๋จํ์ฃ !
๊ทธ๋ฆผ 5: ์ค์ฒฉ๋ ๊ดํธ ๊น์ด๋ฅผ ์ถ์ ํ๋ ํ๋ก์ ๊ฐ๋
๋. ๊ดํธ ๊น์ด ํ๋ก๋ 2๊ฐ์ ์ดํ
์
ํค๋์ ๋ช ๊ฐ์ ๋ด๋ฐ์ด ํ๋ ฅํ์ฌ ๋์ํฉ๋๋ค. ๋จผ์ ํ ์ดํ
์
ํค๋๊ฐ "์ฌ๋ ๊ดํธ ๊ฐ์ง๊ธฐ" ์ญํ ์ ํด์ ์
๋ ฅ์์ [ ํ ํฐ๋ค์ ์ฐพ์ผ๋ฉด, ๊ทธ ์ ๋ณด๋ฅผ Residual(์์ฐจ) ์ฑ๋์ ํฉ์ฐํด์. ์ด ๊ฐ์ ํ์ฌ ๊ดํธ๊ฐ ๋ช ๊ฒน์ธ์ง ๋ํ๋ด๋ "์ค์ฒฉ ๊น์ด" ์ ํธ๊ฐ ๋ฉ๋๋ค. ์ดํ ๋ค๋ฅธ ์ดํ
์
ํค๋๋ ๋ด๋ฐ๋ค์ด ์ด ๊น์ด ์ ํธ๋ฅผ ํ๊ท ๋ด๊ฑฐ๋ ์๊ณ๊ฐ์ ๋ฐ๋ผ ํด์ํด์, ์ต์ข
์ถ๋ ฅ์์ ํ์ํ ๊ฐ์์ ]๋ฅผ ๋ด๋ณด๋ด๋๋ก ๋์ต๋๋ค. ๊ฒฐ๊ตญ ๋ชจ๋ธ์ ๊ดํธ๋ฅผ ์ฌ๋ ๋งํผ ๋ซ์์ฃผ๋ ๊ท์น์ ์ ํํ ํ๋กํํ์ฌ ๊ตฌํํ ๊ฑฐ์์. ์ด๋ฐ ๋ณต์กํ ๊ธฐ๋ฅ๋ ํฌ์ ๋ชจ๋ธ์์๋ ๋ถํด ๊ฐ๋ฅํ ๋ช ๋จ๊ณ ๋
ผ๋ฆฌํ๋ก๋ก ๋ํ๋ฌ๊ณ , ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ํ๋ํ๋ ์ถ์ ํ๋ฉฐ ์ดํดํ ์ ์์์ด์.
๊ทธ ๋ฐ์ ๋ฐ๊ฒฌ: ๋ณ์ ํ์ ์ถ์ ํ๋ก ๋ฑ
์ด ๋
ผ๋ฌธ์์ ๋ถ์ํ ํ๋ก๋ ์ ๋ ๊ฐ์ง๋ฟ๋ง์ด ์๋์์. ๋ ๋ค๋ฅธ ์์๋ก, ์ด๋ค ๋ณ์(current)๊ฐ ์งํฉ์ธ์ง ๋ฌธ์์ด์ธ์ง ์ถ์ ํ๋ ํ๋ก๋ ์์์ด์. ์๋ฅผ ๋ค์ด ์ฝ๋์์ current = set()์ธ์ง current = ""์ธ์ง์ ๋ฐ๋ผ, ๋ชจ๋ธ์ด ๋์ค์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋ ์ํฉ์ ๊ฐ์ ํด ๋ณผ ์ ์์ฃ . ํฌ์ ๋ชจ๋ธ์ ์ด๋ฅผ ์ํด ๋ ๋จ๊ณ์ง๋ฆฌ ์ดํ
์
ํ๋ก๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๋จผ์ ํ ์ดํ
์
ํค๋๊ฐ current๋ผ๋ ๋ณ์๊ฐ ๋ฑ์ฅํ ๊ณณ์ ๊ธฐ์ตํ๊ณ , ๋ค์ ์ธต์ ๋ค๋ฅธ ํค๋๊ฐ ๊ทธ ๋ณ์์ ํ์
ํ์(์งํฉ์ด๋ฉด {}, ๋ฌธ์์ด์ด๋ฉด "" ์ด๋ฐ)์ ์ฝ์ด์์, ์ต์ข
์ ์ผ๋ก ๋ณ์์ ํ์
์ ๋ง๋ ์ฒ๋ฆฌ๋ฅผ ๊ฒฐ์ ํ๋ ์์ด์์ด์. ์ด ํ๋ก์ ์ฌ์ฉ๋ ๋ด๋ฐ๊ณผ ์ฑ๋์ด ์ด 100๊ฐ ์ ๋ ๋๊ณ ๊ฝค ์ปธ์ง๋ง, ๊ทธ๋๋ ์ฌ๋์ด ํด์ ๊ฐ๋ฅํ ์ ๋๋ก ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ถํดํ ์ ์์๋ค๊ณ ํฉ๋๋ค.
๊ธฐ์กด ๋ชจ๋ธ์๋ ์ ์ฉํ ์ ์์๊น?
ํฌ์ ๋ชจ๋ธ์ ์ด๋ ๊ฒ ๋ฉ์ง๊ฒ ํด์ ๊ฐ๋ฅํ ํ๋ก๋ฅผ ๋ณด์ฌ์คฌ์ง๋ง, ํ์ค์ ์ผ๋ก ์ง๊ธ ๋์๊ฐ๋ ์ต์ฒจ๋จ ๋ํ AI ๋ชจ๋ธ๋ค์ ๋๋ถ๋ถ ๋ฐ์ง ๋ชจ๋ธ์ด์์. ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ ์ด๋ฏธ ์ ํ์ฉํ๊ณ ์๋ GPT-๊ฐ์ ๋ฐ์ง ๊ฑฐ๋ ๋ชจ๋ธ ๋ด๋ถ๋ ์ด๋ฐ ์์ผ๋ก ํด์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค ๋ฐฉ๋ฒ์ด ์์๊น์?
์ฐ๊ตฌ์ง์ ์ด์ ๋ํ ์ฒซ ๊ฑธ์์ผ๋ก ๋ธ๋ฆฟ์ง(bridge)๋ผ๋ ๊ฐ๋ ์ ์ ์ํ์ด์. ๊ฐ๋จํ ๋งํ๋ฉด, ๋ฐ์ง ๋ชจ๋ธ๊ณผ ํฌ์ ๋ชจ๋ธ์ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ์์ ๊ฐ๊ต ์ ๊ฒฝ๋ง์ ๋๊ณ , ๋ ์ฌ์ด์ ํํ์ ํธํ์ํค๋ ๊ฑฐ์์. ํฌ์ ๋ชจ๋ธ ์ชฝ์ ์ฐ๋ฆฌ๊ฐ ํ๋ก๋ฅผ ํด์ํ ์ ์์ผ๋, ๊ทธ ์ ๋ณด๋ฅผ ๋ธ๋ฆฟ์ง๋ฅผ ํตํด ๋ฐ์ง ๋ชจ๋ธ๋ก ํฌ์ํด๋ณด๋ ๊ฑฐ์ฃ . ์๋ฅผ ๋ค์ด, ํฌ์ ๋ชจ๋ธ์์ "๋ฐ์ดํ ์ข ๋ฅ ๋ถ๋ฅ๊ธฐ" ๋ด๋ฐ์ ์ฐพ์๋ค๋ฉด, ๋ธ๋ฆฟ์ง๋ฅผ ํตํด ๋ฐ์ง ๋ชจ๋ธ์์๋ ๋น์ทํ ์ญํ ์ ํ๋ ํ์ฑ ํจํด์ ์ฐพ์๋ณผ ์ ์๋ค๋ ๊ฒ๋๋ค. ์ค์ ์คํ์์, ํฌ์ ๋ชจ๋ธ์์ ๋ด๋ฐ ํ๋๋ฅผ ์กฐ์ํด์ ํน์ ํน์ง์ ๋ฐ๊พธ๋ฉด, ๋ธ๋ฆฟ์ง๋ฅผ ๊ฑฐ์ณ ์ฐ๊ฒฐ๋ ๋ฐ์ง ๋ชจ๋ธ์ ์ถ๋ ฅ ํ๋๋ ์์๋๋ก ๋ฐ๋๋ ์ด๊ธฐ ์ฑ๊ณต ์ฌ๋ก๋ฅผ ๋ณด์์ด์. ๋ฌผ๋ก ์์ง์ ๊ฐ๋ ์ฆ๋ช ์์ค์ด์ง๋ง, ์ด๊ฒ ๋ฐ์ ํ๋ฉด ๊ธฐ์กด์ ๋ณต์กํ ๋ชจ๋ธ๋ค๋ ๋ถ๋ถ๋ถ๋ถ ํด๋ถํด๋ณผ ์ ์๋ ๋๊ตฌ๊ฐ ๋ ์ ์๊ฒ ์ฃ ?
๋ง๋ฌด๋ฆฌ: ๊ฐ๋จํ ํ๋ก, ํฐ ํต์ฐฐ
์ด ์ฐ๊ตฌ๋ โ์ ์ด์ ์ดํดํ๊ธฐ ์ฌ์ด ๋ชจ๋ธ์ ๋ง๋ค๋ฉด ์ด์ฉ๋ฉด ๋ต์ด ๋ณด์ผ์ง๋ ๋ชฐ๋ผ!โ๋ผ๋ ์ญ๋ฐ์์ด ์ผ๋ง๋ ๋๋ผ์ด ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋์ง ๋ณด์ฌ์คฌ์ด์. ์์ฝํ์๋ฉด:
- ๊ฐ์ค์น ํฌ์ํ๋ฅผ ํตํด ๋ด๋ฐ ์ฐ๊ฒฐ์ ๋ํญ ์ค์ธ ํธ๋์คํฌ๋จธ๋ฅผ ํ๋ จํ๋, ๋ชจ๋ธ์ด ์ค์ค๋ก ๋ ๋ชจ๋ํ๋๊ณ ํด์ ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ๊ฒ ๋์์ด์. ์ด๋ ๋ง์น ๋ณต์กํ๊ฒ ์ํจ ์ด์ดํฐ ์ค์ ์ฒ์๋ถํฐ ๊ฐ์ง๋ฐํ ์ ๋ฆฌํ๋ฉด์ ์ฐ๋ ๋๋์ด์์.
- ์ด๋ ๊ฒ ๋ง๋ ํฌ์ ๋ชจ๋ธ์ ๋์ผํ ๋ฅ๋ ฅ์ ๋ฐ์ง ๋ชจ๋ธ๋ณด๋ค ํจ์ฌ ์์ ํ๋ก๋ก ํ์คํฌ๋ฅผ ํด๊ฒฐํ๊ณ , ๊ทธ๋งํผ ์ดํดํ๊ธฐ ์ฌ์ด ์ฒญ์ฌ์ง์ ์ ๊ณตํ์ต๋๋ค. ์ฌ์ง์ด ๊ทธ ํ๋ก๊ฐ ์ ๋ง ํ์ํ ๋ถ๋ถ์๋ ์คํ์ผ๋ก ๊ฒ์ฆํ์ฃ .
- ํ๋ก ์์ ๋ถ์์ ํตํด, ๋ชจ๋ธ ๋ด๋ถ์ ์กด์ฌํ๋ ์์ฐ์ค๋ฌ์ด ๊ฐ๋ ๋จ์(์: ๋ฐ์ดํ ๊ฐ์ง, ๊ดํธ ๊น์ด ๊ณ์ฐ ๋ฑ)๋ฅผ ์ง์ ํ์ธํ์ด์. ์ด๋ AI๊ฐ ๋ฌธ์ ๋ฅผ ํ ๋ ์ฌ๋ ๋น์ทํ ๋ ผ๋ฆฌ ๋จ๊ณ๋ก ์ฒ๋ฆฌํ๊ณ ์์ ๊ฐ๋ฅ์ฑ์ ์์ฌํฉ๋๋ค.
- ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ํค์ฐ๋ฉด ํฌ์ ๋ชจ๋ธ์ ์ฑ๋ฅ๊ณผ ํด์๊ฐ๋ฅ์ฑ ๋ชจ๋ ํฅ์๋ ์ ์๋ค๋ ๊ฒฐ๊ณผ๋, ํด์ ๊ฐ๋ฅ AI ์ฐ๊ตฌ์ ์๋ก์ด ๊ธธ์ ๋ณด์ฌ์ค๋๋ค. ๊ผญ ์์ ๋ชจ๋ธ๋ง ํด์ํ ์ ์๋ ๊ฒ ์๋๋ผ, ํฐ ๋ชจ๋ธ๋ ์ค๊ณ๋ง ์ ํ๋ฉด ํฌ๋ช ํ๊ฒ ๋ง๋ค ์ ์๋ค๋ ํฌ๋ง์ด์ฃ .
- ๋ง์ง๋ง์ผ๋ก, ์์ ํ ํฌ์ ๋ชจ๋ธ๋ก ํ๋ จํ์ง ์๋๋ผ๋ ๋ธ๋ฆฟ์ง ๊ธฐ๋ฒ์ฒ๋ผ ํ์ฌ์ ๊ฐ๋ ฅํ ๋ฐ์ง ๋ชจ๋ธ์ ๋ถ๋ถ์ ์ผ๋ก๋ผ๋ ์ดํดํด๋ณด๋ ค๋ ์๋๊ฐ ์ด์ด์ง๊ณ ์์ด์. ์ฅ๊ธฐ์ ์ผ๋ก๋ ์์ฐ ํ์ฅ์์ ์ฐ์ด๋ AI์๋ ์ด๋ฐ ํด์ ๊ฐ๋ฅํ ํ๋ก ๊ฐ๋ ์ ์ ๋ชฉํ ์ ์์์ง ๋ชจ๋ฆ ๋๋ค.
์ด๋ฒ ๋ ผ๋ฌธ์ ๊ฐ์ฅ ํฐ ์์๋, โํด์ ๊ฐ๋ฅ์ฑ ๋ ์ฑ๋ฅโ์ด๋ผ๋ ์ค๋ ๋๋ ๋ง๋ฅผ ์ ๋ฉด๋ํํ ์๋ก์ด ํจ๋ฌ๋ค์์ ์ ์ํ๋ค๋ ๋ฐ ์์ด์. ๋ฌผ๋ก ์ง๊ธ์ ํฌ์ ๋ชจ๋ธ์ ํ๋ จํ๋ ๋น์ฉ์ด ํฌ๊ณ , ์์ ํ ์ค์ฉํํ๋ ค๋ฉด ๊ฐ ๊ธธ์ด ๋ฉ๋๋ค. ํ์ง๋ง ๊ฒฐ๊ณผ๋ก ์ป์ด์ง ํ๋ก์ ๋ช ํํจ์ ๋ณด๋ฉด, ์์ผ๋ก AI๋ฅผ ํฌ๋ช ํ๊ฒ ๋ง๋๋ ์ฐ๊ตฌ ๋ฐฉํฅ์ ๊ฐ๋ ฌํ ์๊ฐ์ ์ค ๊ฒ๋ง์ ํ์คํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ AI์ ๋ด๋ถ ํ๋ก๋ฅผ ์ดํดํ๊ณ ์ ๋ขฐํ ์ ์๊ฒ ๋๋ ๋ฏธ๋๊ฐ ์กฐ๊ธ ๋ ๊ฐ๊น์์ง ๊ฒ ๊ฐ์ง ์๋์? ๐๐ค