๐๏ธ ๋ชจ๋ธ ๊ตฌ์กฐ
- ์ ๋ ฅ ์ฒ๋ฆฌ: ์ ๋ ฅ ํ ์คํธ๋ฅผ Gemini ๊ธฐ๋ฐ Transformer๋ก ์ฒ๋ฆฌ
- Pooling: Mean pooling์ ์ฌ์ฉํด ์ ์ฒด ์ํ์ค๋ฅผ ํ๋์ ๋ฒกํฐ๋ก ์์ฝ
- ํฌ์: ์ ํ ํฌ์์ธต์ ํตํด ์ํ๋ ์ฐจ์์ ์๋ฒ ๋ฉ ์์ฑ (์ต๋ 3072์ฐจ์)
A.1) ๐ฏ ํ์ต ๋ฐฉ์
-
Loss Function: Noise-Contrastive Estimation (NCE) ๊ธฐ๋ฐ
- Query, Positive, Hard Negative๋ฅผ ํฌํจํ contrastive learning
- ๋ค์ํ ์๋ฒ ๋ฉ ์ฐจ์์ ๋ํด MRL(Multi-loss Representation Learning) ์ ์ฉ
-
ํ์ต ๋จ๊ณ:
- Pre-finetuning: ๋๊ท๋ชจ noisy ๋ฐ์ดํฐ๋ก ์ด๊ธฐ ์ ์
- Finetuning: ๋ค์ํ ์์ ๋ณ ๋ฐ์ดํฐ๋ก ์ธ๋ฐํ ์กฐ์
- Model Soup: ์ฌ๋ฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ํ๊ท ํํด ์ผ๋ฐํ ์ฑ๋ฅ ํฅ์
A.2) ๐งช ํ๊ฐ ๊ฒฐ๊ณผ
- ๋ฒค์น๋งํฌ: MMTEB, MTEB(Eng), MTEB(Code), XOR-Retrieve, XTREME-UP ๋ฑ
- ์ฑ๊ณผ:
- ๋ชจ๋ ๋ฒค์น๋งํฌ์์ 1์ ์ฑ๋ฅ ๊ธฐ๋ก
- ํนํ ๋ถ๋ฅ, ํด๋ฌ์คํฐ๋ง, ๊ฒ์ ์์ ์์ ๋๋๋ฌ์ง ์ฑ๋ฅ ํฅ์
- ์ ์์ ์ธ์ด(์: Assamese, Hindi)์์๋ ๋ฐ์ด๋ ์ฑ๋ฅ
A.3) ๐งฌ ๋ฐ์ดํฐ ํ์ง ํฅ์ ์ ๋ต
- Synthetic Data Generation: Gemini๋ฅผ ํ์ฉํด ๋ค์ํ ์์ ์ ๋ํ ๊ณ ํ์ง ํฉ์ฑ ๋ฐ์ดํฐ ์์ฑ
- Data Filtering: Gemini๋ก ์๋ชป๋ ์์ ์ ๊ฑฐ
- Hard Negative Mining: Gemini ๊ธฐ๋ฐ ํ๊ฐ๋ก ํจ๊ณผ์ ์ธ ๋ถ์ ์์ ์ ํ
A.4) ๐ Ablation Study ์์ฝ
- ์์ด ๋ฐ์ดํฐ๋ง์ผ๋ก๋ ๋ค๊ตญ์ด ์์ ์์ ๊ฐ๋ ฅํ ์ฑ๋ฅ ๋ฐํ
- ์์ ๋ค์์ฑ์ด ์ธ์ด ๋ค์์ฑ๋ณด๋ค ๋ ์ค์ํ ์์๋ก ์์ฉ
- Synthetic ๋ฐ์ดํฐ ์ฌ์ฉ ์ ์ฑ๋ฅ์ด ์ต๋ +17.6 ํฅ์๋จ
A.4.1) Hard Negative Mining
- Gemini๋ฅผ ํ์ฉํด retrieval ์์ ์์ ์ด๋ ค์ด ๋ถ์ ์์๋ฅผ ์ ํ
- ์ ์ ํ ์์ hard negative๋ ์ฑ๋ฅ ํฅ์, ๊ณผ๋ํ ์๋ ์คํ๋ ค ์ฑ๋ฅ ์ ํ
A.5) Pre-finetuning์ด๋?
- Pre-finetuning์ ๋ณธ๊ฒฉ์ ์ธ ํ์ต(finetuning)์ ๋ค์ด๊ฐ๊ธฐ ์ ์, ๋ชจ๋ธ์ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ๋จผ์ ์ ์์ํค๋ ๋จ๊ณ์์.
- ์ด ๋จ๊ณ์์๋ ๋ ธ์ด์ฆ๊ฐ ๋ง๊ณ ์ ์ ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด์ ๋ชจ๋ธ์ด โํ ์คํธ๋ฅผ ์๋ฒ ๋ฉํ๋ ๋ฐฉ์โ์ ์ต์ํด์ง๋๋ก ํฉ๋๋ค.
- ํนํ Gemini๋ ์๋ ์์ฑํ ๋ชจ๋ธ์ด๋ผ์, ์๋ฒ ๋ฉ์ฒ๋ผ ์ธ์ฝ๋ฉ ์ค์ฌ์ ์์ ์ ์ ์์ํค๋ ค๋ฉด ์ด ๋จ๊ณ๊ฐ ๊ผญ ํ์ํด์.
A.5.1) ๐ ํน์ง ์์ฝ
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| ๋ชฉ์ | Gemini์ ์์ฑ ๋ฅ๋ ฅ์ ์๋ฒ ๋ฉ ์์ ์ ๋ง๊ฒ ์กฐ์ |
| ๋ฐ์ดํฐ | ์น์์ ์์งํ (query, passage) ์ ๋ฑ ๋๊ท๋ชจ noisy ๋ฐ์ดํฐ |
| ๋ฐฉ์ | contrastive learning (positive๋ง ์ฌ์ฉ, hard negative ์์) |
| ํจ๊ณผ | ๋ชจ๋ธ์ด ์์ ์ ์ผ๋ก ์๋ฒ ๋ฉ์ ์์ฑํ ์ ์๋๋ก ๊ธฐ๋ฐ ๋ง๋ จ |
A.6) ๐งช ์ ์ค์ํ๊ฐ?
- Pre-finetuning ์์ด ๋ฐ๋ก ํ์ตํ๋ฉด ์ฑ๋ฅ์ด 30~40์ ๋๋ก ๋งค์ฐ ๋ฎ๊ฒ ๋์์.
- Pre-finetuning๋ง ํด๋ ์ฑ๋ฅ์ด 50์ ๋ ์ด์์ผ๋ก ํฌ๊ฒ ํฅ์๋จ.
- ์ดํ ์ ์ ๋ ๋ฐ์ดํฐ๋ก finetuning์ ํ๋ฉด 70์ ๋ ์ด์๊น์ง ์ฌ๋ผ๊ฐ์.
์์ฝํ์๋ฉด, Gemini Embedding์ Gemini ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก๊ณ , ๊ทธ๊ฑธ ์๋ฒ ๋ฉ ์ ์ฉ์ผ๋ก ์ ์๋ํ๊ฒ ๋ง๋ค๊ธฐ ์ํด pre-finetuning์ด๋ผ๋ ์ ์ ๋จ๊ณ๋ฅผ ๊ฑฐ์น ๊ฑฐ์์. ์ด๊ฒ ์์ผ๋ฉด ๋ชจ๋ธ์ด ์๋ฒ ๋ฉ์ ์ ๋๋ก ๋ชป ๋ฝ๋๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉํด์.
A.7) ๐ง ํ์ต ๋ฐฉ์: 3๋จ๊ณ ํ๋ จ ํ์ดํ๋ผ์ธ
A.7.1) ์ด๊ธฐํ (Initialization)
- ๊ธฐ๋ฐ ๋ชจ๋ธ: Gemini LLM์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ฌ์ฉ
- ์ด ๋จ๊ณ๋ ์ฌ์ค์ โ์ฌ์ ํ๋ จ(pre-training)โ์ผ๋ก ๊ฐ์ฃผ๋จ
- Gemini์ ๋ค๊ตญ์ด, ์ฝ๋ ์ดํด ๋ฅ๋ ฅ์ ๊ทธ๋๋ก ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ด์
A.7.2) Pre-finetuning
- ๋ชฉ์ : Gemini์ ์์ฑ ์ค์ฌ ๊ตฌ์กฐ๋ฅผ ์๋ฒ ๋ฉ ์ค์ฌ ๊ตฌ์กฐ๋ก ์ ์์ํค๊ธฐ
- ๋ฐ์ดํฐ: ์น ๊ธฐ๋ฐ์ ๋๊ท๋ชจ noisy (query, passage) ์
- ํน์ง:
- Hard negative ์์ด positive๋ง ์ฌ์ฉ
- ๋งค์ฐ ํฐ ๋ฐฐ์น ์ฌ์ด์ฆ ์ฌ์ฉ โ ์์ ์ ์ธ gradient ํ๋ณด
- ๋ง์ ํ์ต ์คํ ์ํ โ ๋ชจ๋ธ์ด โ์ธ์ฝ๋ฉโ์ ์ต์ํด์ง๋๋ก
A.7.3) Fine-tuning
- ๋ชฉ์ : ๋ค์ํ ์์ ์ ๋ํ ์ ๋ฐ ์กฐ์
- ๋ฐ์ดํฐ ๊ตฌ์ฑ:
- Task ๋ค์์ฑ: ๋ถ๋ฅ, ๊ฒ์, ํด๋ฌ์คํฐ๋ง ๋ฑ
- ์ธ์ด ๋ค์์ฑ: ๋ค๊ตญ์ด ํฌํจ
- ์ฝ๋ ์์ : CodeSearchNet ๋ฑ
- ๊ธฐ๋ฒ:
- Hard negative ํฌํจํ contrastive learning
- ๊ฐ ๋ฐฐ์น๋ ํ๋์ ์์ ๋ฐ์ดํฐ์ ๋ง ํฌํจ โ ๋ ๊ฐํ ํ์ต ์ ํธ
- ๋ค์ํ ํ์ดํผํ๋ผ๋ฏธํฐ ์กฐํฉ์ผ๋ก ์ฒดํฌํฌ์ธํธ ์์ฑ
A.7.4) Model Soup
- ์ฌ๋ฌ fine-tuning ์ฒดํฌํฌ์ธํธ๋ฅผ ํ๊ท ํํ์ฌ ์ผ๋ฐํ ์ฑ๋ฅ ํฅ์
- ๋ค์ํ ์กฐํฉ ์คํ ํ ์ต์ข ๋ชจ๋ธ ๊ตฌ์ฑ
A.8) ๐งฉ Masking ๊ธฐ๋ฒ์ด๋?
- ์ด masking์ loss ๊ณ์ฐ ์ false negative๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ ๋๋ค.
- ํนํ classification ์์ ์์ ๊ฐ์ query๋ ๊ฐ์ label์ด ๋ฐ๋ณต๋ ์ ์๊ธฐ ๋๋ฌธ์, ์๋ชป๋ ์์ฑ ์์(negative)๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
A.8.1) ๐ ์์์์์ ์ญํ
math
mask(i, j) =
0 \quad \text{if } q_i = q_j \text{ or } p^+_i = p^+_j \\
1 \quad \text{otherwise}- ์ฆ, ๊ฐ์ query๋ ๊ฐ์ positive target์ ๊ฐ์ง ๊ฒฝ์ฐ์๋ denominator์์ ์ ์ธ์์ผ์ ์๋ชป๋ ๋น๊ต๊ฐ ์ผ์ด๋์ง ์๋๋ก ํฉ๋๋ค.
- ์ด๋ก ์ธํด false negative๋ก ์ธํ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฐฉ์งํ ์ ์์ด์.
A.9) ๐ก ์ ์ค์ํ๊ฐ?
- ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ ์ฌ๋ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๊ธฐ ๋๋ฌธ์, ์๋ชป๋ ์์ฑ ์์๊ฐ ๋ค์ด๊ฐ๋ฉด ๋ชจ๋ธ์ด ํผ๋์ ๊ฒช์ต๋๋ค.
- ํนํ ๋ถ๋ฅ ์์ ์์๋ label ์๊ฐ ์ ๊ณ ์ค๋ณต์ด ๋ง๊ธฐ ๋๋ฌธ์, ์ด masking์ด ์์ผ๋ฉด ์ฑ๋ฅ์ด ํฌ๊ฒ ๋จ์ด์ง ์ ์์ด์.
A.9.1) Hard Negative Mining
- Gemini๋ฅผ ํ์ฉํ์ฌ ๊ฒ์(retrieval) ์์ ์์ ๋ชจ๋ธ์ด ๊ตฌ๋ถํ๊ธฐ ์ด๋ ค์ด ๋ถ์ ์์(hard negative)๋ฅผ ์ ๋ณํฉ๋๋ค.
- ์ ์ ํ ์์ hard negative๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ด ํฅ์๋์ง๋ง, ๋๋ฌด ๋ง์ ๊ฒฝ์ฐ ์คํ๋ ค ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
A.9.2) ์ด๊ธฐํ (Initialization)
- ๊ธฐ๋ฐ ๋ชจ๋ธ: ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ด๊ธฐ๊ฐ์ผ๋ก Gemini LLM์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ต๋๋ค.
- ์ด ๋จ๊ณ๋ ์ฌ์ค์ ์ฌ์ ํ๋ จ(pre-training)๊ณผ ์ ์ฌํ๋ฉฐ,
- Gemini๊ฐ ๊ฐ์ง ๋ค๊ตญ์ด ๋ฐ ์ฝ๋ ์ดํด ๋ฅ๋ ฅ์ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ํจ๊ณผ์ ์ผ๋ก ์ด์ํฉ๋๋ค.
A.9.3) Pre-finetuning
- ๋ชฉ์ : Gemini์ ์ฃผ ์์ฑ(generative) ๊ตฌ์กฐ๋ฅผ ์๋ฒ ๋ฉ ์ค์ฌ ๊ตฌ์กฐ๋ก ์์ฐ์ค๋ฝ๊ฒ ์ ํ์ํค๋ ๋ฐ ์์ต๋๋ค.
- ๋ฐ์ดํฐ: ์น์์ ์์งํ ๋๊ท๋ชจ noisy (query, passage) ์์ ์ฌ์ฉํฉ๋๋ค.
- ํน์ง:
- Hard negative ์์ด positive ์๋ง ํ์ฉํฉ๋๋ค.
- ๋งค์ฐ ํฐ ๋ฐฐ์น ์ฌ์ด์ฆ๋ฅผ ์ ์ฉํด ์์ ์ ์ธ gradient ํ๋ฆ์ ํ๋ณดํฉ๋๋ค.
- ์ถฉ๋ถํ ํ์ต ์คํ ์ ํตํด, ๋ชจ๋ธ์ด โ์ธ์ฝ๋ฉโ ๋ฐฉ์์ ์ต์ํด์ง๋๋ก ๋ง๋ญ๋๋ค.
A.9.4) Fine-tuning
- ๋ชฉ์ : ๋ค์ํ ์ค์ ์์ (task)์ ๋ง์ถฐ ์ ๋ฐํ๊ฒ ์กฐ์ ํ๋ ๊ณผ์ ์ ๋๋ค.
- ๋ฐ์ดํฐ ๊ตฌ์ฑ:
- ์์ ๋ค์์ฑ: ๋ถ๋ฅ, ๊ฒ์, ํด๋ฌ์คํฐ๋ง ๋ฑ ์ฌ๋ฌ ํํ์ ํ์คํฌ ํฌํจ
- ์ธ์ด ๋ค์์ฑ: ๋ค๊ตญ์ด ๋ฐ์ดํฐ ๋ฐ์
- ์ฝ๋ ๊ด๋ จ ์์ : CodeSearchNet ๋ฑ ์ฝ๋ ๋ฐ์ดํฐ์ ๋ ํฌํจ
- ํ์ต ๊ธฐ๋ฒ:
- Hard negative๊ฐ ํฌํจ๋ contrastive learning ๋ฐฉ๋ฒ ์ ์ฉ
- ๊ฐ ๋ฐฐ์น์๋ ํ๋์ ์์ ๋ฐ์ดํฐ์ ๋ง ์ฌ์ฉํ์ฌ ๊ฐํ ํ์ต ์ ํธ ์ ๊ณต
- ๋ค์ํ ํ์ดํผํ๋ผ๋ฏธํฐ ์กฐํฉ์ผ๋ก ์ฌ๋ฌ ์ฒดํฌํฌ์ธํธ ์์ฑ
A.9.5) Model Soup
- ์ฌ๋ฌ fine-tuning ์ฒดํฌํฌ์ธํธ๋ค์ ๊ฐ์ค์น๋ฅผ ํ๊ท ๋ด์ด ๊ฒฐํฉํจ์ผ๋ก์จ ์ผ๋ฐํ ์ฑ๋ฅ์ ๋์ ๋๋ค.
- ๋ค์ํ ์กฐํฉ ์คํ์ ๊ฑฐ์ณ ์ต์ข ๋ชจ๋ธ์ ๊ตฌ์ฑํฉ๋๋ค.
A.10) ๐งฉ Masking ๊ธฐ๋ฒ์ด๋?
Masking ๊ธฐ๋ฒ์ loss ๊ณ์ฐ ์ ์๋ชป๋ ์์ฑ ์์(false negative)๊ฐ ํฌํจ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๋๋ค.
ํนํ classification ์์ ์์๋ ๋์ผํ query๋ label์ด ๋ฐ๋ณตํด์ ๋ฑ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์์ฑ ์์๋ก ์๋ชป ์ธ์๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ธํด์ผ ํฉ๋๋ค.
A.10.1) ๐ ์์์์์ ์ญํ
์์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์ฆ, ๊ฐ์ query ๋๋ ๊ฐ์ positive target์ ๊ฐ๋ ๊ฒฝ์ฐ์๋ denominator(๋ถ๋ชจ)์์ ์ ์ธํ์ฌ ์๋ชป๋ ๋น๊ต๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํฉ๋๋ค. ์ด๋ฅผ ํตํด false negative๋ก ์ธํ ์ฑ๋ฅ ์ ํ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ง์์ค๋๋ค.
A.11) ๐ก ์ ์ค์ํ๊ฐ?
์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ ์ฌ๋(similarity)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๊ธฐ ๋๋ฌธ์, ์๋ชป๋ ์์ฑ ์์๊ฐ ๋ค์ด๊ฐ ๊ฒฝ์ฐ ๋ชจ๋ธ์ ํผ๋๊ณผ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
ํนํ ๋ถ๋ฅ(classification) ์์ ์ฒ๋ผ label ์ข ๋ฅ๊ฐ ์ ๊ณ ์ค๋ณต ๋น๋๊ฐ ๋์ ์ํฉ์์๋ masking ๊ธฐ๋ฒ ์์ด๋ ์ฑ๋ฅ ์ ํ ๋ฌธ์ ๊ฐ ์ฌ๊ฐํ๊ฒ ๋ํ๋ ์ ์์ต๋๋ค.