BGE-m3-ko Inversion (V3)
Reconstructs Korean text from BAAI/bge-m3 sentence embeddings (vec2text). Meaning is
recovered at any length (re-embedding cos 0.92โ0.95), but exact wording degrades with
length โ a study of the privacy risk of leaked embeddings. Korean model card below;
code and English docs: github.com/lifehardmod/bge-m3-ko-vec2text.
BAAI/bge-m3 ๋ฌธ์ฅ ์๋ฒ ๋ฉ์์ ํ๊ตญ์ด ์๋ฌธ์ ๋๋๋ฆฌ๋ ๋ชจ๋ธ์ด๋ค. ์๋ฒ ๋ฉ ๋ฒกํฐ๋ง ์ฃผ์ด์ก์ ๋ ๊ทธ๊ฒ์ด ์ด๋ค ๋ฌธ์ฅ์์ ๋์๋์ง ์ผ๋ง๋ ๋ณต์๋๋์ง๋ฅผ ๋ค๋ฃจ๋ฉฐ, ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์๋ฒ ๋ฉ์ด ์ ์ถ๋์ ๋์ ํ๋ผ์ด๋ฒ์ ์ํ์ ๊ฐ๋ ํ๋ ์ฉ๋๋ก ๋ง๋ค์๋ค.
๊ตฌ์กฐ๋ Morris et al. (2023)์ vec2text๋ฅผ ๋ฐ๋ฅธ๋ค. ์๋ฒ ๋ฉ์ ํ ๋ฒ์ ๋ฌธ์ฅ์ผ๋ก ํผ์น๋ inversion ๋ชจ๋ธ๊ณผ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ์๋ฒ ๋ฉํด ๋ชฉํ ๋ฒกํฐ์์ ์ฐจ์ด๋ฅผ ์ค์ฌ๊ฐ๋ฉฐ ์ฌ๋ฌ ๋ฒ ๊ณ ์ณ ์ฐ๋ corrector ๋ชจ๋ธ๋ก ์ด๋ฃจ์ด์ง๋ค. ์ด ์ ์ฅ์๋ ๊ทธ์ค ํ ๋ถ๋ถ์ด๋ฉฐ, ๋๋จธ์ง ํ๋์ ํจ๊ป ์จ์ผ ํ๋ค.
- inversion:
terriapurplewave/bge-m3-ko-inversion-v3 - corrector:
terriapurplewave/bge-m3-ko-corrector-v3
์ด๋ฆ์ด ๋น์ทํ ์ด์ ๋ชจ๋ธ๊ณผ๋ ๋ณ๊ฐ๋ค.
bge-m3-ko-inversion(V1)์ ์๋ฒ ๋๊ฐdragonkue/BGE-m3-ko(ํ๊ตญ์ด ํ์ธํ๋ํ)์ด๊ณ 64ํ ํฐยท์ํค ๋จ๋ ์ผ๋ก ํ์ตํ ๋ค๋ฅธ ๋ชจ๋ธ์ด๋ค. ์ด V3๋ ์๋ฒ ๋๊ฐ ํ์คBAAI/bge-m3, ์ต๋ 256ํ ํฐ, 6๊ฐ ๋๋ฉ์ธ ํ์ต์ผ๋ก ์์ ํ ์๋ก ๋ง๋ค์๋ค. ์๋ฒ ๋๊ฐ ๋ค๋ฅด๋ฏ๋ก ๋ ๋ชจ๋ธ์ ํธํ๋์ง ์๋๋ค(V1 ๊ฐ์ค์น์ V3 ๊ฐ์ค์น๋ฅผ ์์ด ์ธ ์ ์๋ค).
๊ตฌ์ฑ
- ์๋ฒ ๋(๊ณ ์ ):
BAAI/bge-m3, dense 1024์ฐจ์, CLS ํ๋ง + L2 ์ ๊ทํ - ๋์ฝ๋ ๋ฐฑ๋ณธ:
google/mt5-base - ์ต๋ ๊ธธ์ด: 256 ํ ํฐ
- ํ์ต ๋ฐ์ดํฐ: ํ๊ตญ์ด 4.1M ์ฒญํฌ. ์ํค๋ฐฑ๊ณผ, ์นํ ์คํธ(HAERAE KOREAN-WEBTEXT), ๋ด์ค, ๊ต๊ณผ์ํ ํฉ์ฑ๋ฌธ, ์ง์-์๋ต, QA ๋ฌธ๋งฅ์ ์ฌ์ฏ ๋๋ฉ์ธ. ํ ํฐ ๊ธฐ์ค์ผ๋ก ์๋ผ ์๋ฒ ๋ฉ ๋จ๊ณ์์ ์ ๋จ์ด ์๊ธฐ์ง ์๊ฒ ํ๊ณ , ๋ฐ๋ณตยท์ ํ์ง ์ฒญํฌ๋ ๊ฑธ๋ฌ๋๋ค.
- ํ์ต: inversion 9.4 epoch, corrector 10 epoch. RTX GPU ํ ์ฅ.
์ฑ๋ฅ
ํ๊ตญ์ด ๊ฒ์ฆ์ (๋ณ๋ held-out, ํ์ต ๋ฐ์ดํฐ์ ๊ฒน์น์ง ์์)์์ ์ธก์ ํ๋ค. ๊ธธ์ด ๊ตฌ๊ฐ๋ณ๋ก 150๊ฐ ์ดํ์ ๋ฌธ์ฅ์ ๋ฌด์์ ์ถ์ถ(seed 42)ํด ๋ณต์ํ ๋ค ์งํ๋ฅผ ๊ณ์ฐํ๋ค. word-F1์ ์ด์ ์งํฉ, char-F1์ ์์ ์งํฉ์ F1์ด๊ณ , cos๋ ๋ณต์๋ฌธ์ ๋ค์ ์๋ฒ ๋ฉํด ์๋ณธ ๋ฒกํฐ์ ์ฐ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ค. ํ์ corrector ์์น๋ 20 ์คํ ยทbeam 4, N=80, ๋ถํธ์คํธ๋ฉ 95% ์ ๋ขฐ๊ตฌ๊ฐ์ด๋ค.
inversion ๋จ๋ ์ ์๋ฒ ๋ฉ์ ํ ๋ฒ์ ํผ์น ์ด์์ด๊ณ , corrector๋ ๊ทธ ์ด์์ 20ํ ๊ณ ์ณ ์ด ๊ฒฐ๊ณผ๋ค. ๋์ ๋๋ํ ๋๋ฉด corrector์ ๊ธฐ์ฌ์ ๊ธธ์ด์ ๋ฐ๋ฅธ ํ๊ณ๊ฐ ํจ๊ป ๋๋ฌ๋๋ค.
| ๊ธธ์ด(ํ ํฐ) | inversion word-F1 | corrector word-F1 [95% CI] | char-F1 | cos |
|---|---|---|---|---|
| 32โ80 | 0.31 | 0.42 [0.38, 0.46] | 0.77 | 0.95 |
| 81โ128 | 0.23 | 0.28 [0.25, 0.31] | 0.71 | 0.93 |
| 129โ192 | 0.18 | 0.24 [0.22, 0.26] | 0.68 | 0.93 |
| 193โ256 | 0.18 | 0.21 [0.19, 0.23] | 0.66 | 0.92 |
ํ ๊ธ์๊น์ง ๋ง๋ ์์ ์ผ์น๋ ์ฌ์ค์ 0์ ๊ฐ๊น๋ค. ์ด๋ ๊ฒฐํจ์ด๋ผ๊ธฐ๋ณด๋ค ์ ๋ณด๋์ ๋ฌธ์ ๋ค. 1024์ฐจ์ ๋ฒกํฐ ํ๋๊ฐ ๋ด๋ ์ ๋ณด๋ ํ์ ๋ผ ์์ด, ๋ฌธ์ฅ์ด ๊ธธ์ด์ง์๋ก ๊ฐ์ ๋ฒกํฐ๋ก ๋งคํ๋ ์ ์๋ ์๋ฌธ ํ๋ณด๊ฐ ๊ธ๊ฒฉํ ๋์ด๋๋ค.
ํํธ ๋ณต์๋ฌธ์ ๋ค์ ์๋ฒ ๋ฉํ์ ๋์ ์ฝ์ฌ์ธ ์ ์ฌ๋(cos)๋ ๊ธธ์ด์ ๋ฌด๊ดํ๊ฒ 0.92~0.95๋ก ์ ์ง๋๋ค. ์ฆ ์ฌ์๋ฒ ๋ฉ ๊ธฐ์ค์ผ๋ก๋ ์๋ณธ์ ๊ฑฐ์ ๋๋ฌํ๋ฉฐ, ๋จ์ ๊ฐ๊ฒฉ(1 โ cos โ 0.05โ0.08)์ ๊ธธ์ด๊ฐ ๋์ด๋ ํฌ๊ฒ ๋ฒ์ด์ง์ง ์๋๋ค. ์ด ๊ฐ๊ฒฉ์ ์๋ฒ ๋ฉ์ด paraphrase์ ๋ถ๋ณํ๋๋ก ํ์ต๋๋ฉฐ ๋ฒ๋ฆฐ ์ ๋ณด โ ์ด์, ์กฐ์ฌ, ๋์์ด ์ ํ โ ์ ํํ์ ํด๋นํ๊ณ , ์ด๋ค ๋์ฝ๋ฉ์ด๋ ์ถ๊ฐ ํ์ต์ผ๋ก๋ ๋์ ์ ์๋ค. ์ ๋ฆฌํ๋ฉด, ์๋ฒ ๋ฉ์ด ๋ด์ ์๋ฏธ๋ ๊ธธ์ด์ ์๊ด์์ด ๊ฑฐ์ ๋ค ๋ณต์๋์ง๋ง, ๊ทธ ์๋ฏธ๋ฅผ ์๋์ ์ ํํ ํํ์ผ๋ก ๋๋๋ฆฌ๋ ์ผ์ ๊ธธ์๋ก ๋ค๋์ผ ๋ฌธ์ ๊ฐ ๋์ด ์ด๋ ค์์ง๋ค. ์ด์ ๋จ์ ์ ํ๋ (word-F1)๊ฐ ๊ธธ์ด์ ๋ฐ๋ผ ๋จ์ด์ง๋ ๋ฐ๋ฉด ์์ ๋จ์(char-F1)์ ์๋ฏธ(cos)๊ฐ ๋น๊ต์ ์ ์ง๋๋ ๊ฒ์ด ์ด ์ฑ์ง์ ๊ทธ๋๋ก ๋ณด์ฌ์ค๋ค.
๋ณต์ ์์
๊ฒ์ฆ์ ๋ฌธ์ฅ์ ์๋ฒ ๋ฉํ ๋ค ๊ทธ ๋ฒกํฐ๋ง์ผ๋ก ๋ณต์ํ ๊ฒฐ๊ณผ๋ค. ์๋ฌธ์ ๋ชจ๋ธ์ ์ฃผ์ง ์์๋ค. ์ ๋๋ ๊ฒฝ์ฐ์ ๋ฌด๋์ง๋ ๊ฒฝ์ฐ๋ฅผ ํจ๊ป ์ฃ๋๋ค.
์งง์ ๋ฌธ์ฅ (โค 80 ํ ํฐ)
๋ ์ง์ ๊ณ ์ ๋ช ์ฌ๊ฐ ๊ทธ๋๋ก ์ด์๋๋ ๊ฒฝ์ฐ:
์๋ฌธ 1998๋ 6์ 29์ผ, ๊ตฌ์กฐ์กฐ์ ์ ์ผํ์ผ๋ก ๋๋์ํ, ๋ํ์ํ, ๋๋จ์ํ, ๊ฒฝ๊ธฐ์ํ, ์ถฉ์ฒญ์ํ์ ํด์ถ๋ช ๋ น์ ๋ด๋ ค 5๊ฐ ์ํ๋ค์ด ์ ๊ฑฐ๋นํ๋ค. ๊ณต๋ฌด์๋ 98๋ ๋น์ 5๋ง๋ช ๊ฐ์ถ๊ณํ์ ๋ฐํํ์ฌ ์คํ์ ๋ค์ด๊ฐ๋ค.
๋ณต์ 1998๋ 6์ 29์ผ, ๋๋์ํ, ๋ํ์ํ, ๊ฒฝ๊ธฐ์ํ, ์ถฉ์ฒญ์ํ ๋ฑ 5๊ฐ ์ํ์ด ๊ตฌ์กฐ์กฐ์ ๋ช ๋ น์ ๋ฐ๋ผ ํด์ถ๋นํ๋ค. ๊ตฌ์กฐ์กฐ์ ๋ช ๋ น์ด ๋ด๋ ค์ง 5๊ฐ ์ํ์ ๊ณต๋ฌด์ 5๋ง๋ช ๊ฐ์ถ๊ณํ์ ํฌํจ๋์๋ค.
๊ฑฐ์ ๊ทธ๋๋ก ๋ณต์๋๋ ๊ฒฝ์ฐ:
์๋ฌธ ํ๋์ด๋ฑํ๊ต๋ ๊ฒฝ๊ธฐ๋ ๊ณ ์์ ์ผ์ฐ๋๊ตฌ์ ์๋ ๊ณต๋ฆฝ ์ด๋ฑํ๊ต์ด๋ค. ํ๊ต ์ฐํ 2006๋ 9์ 1์ผ ๊ฐ๊ต (โฆ) 2006๋ ๊ฐ๊ต ๊ณ ์์์ ์ด๋ฑํ๊ต
๋ณต์ ํ๋์ด๋ฑํ๊ต๋ ๊ฒฝ๊ธฐ๋ ๊ณ ์์ ์ผ์ฐ๋๊ตฌ์ ์๋ ๊ณต๋ฆฝ ์ด๋ฑํ๊ต์ด๋ค. ํ๊ต ์ฐํ 2006๋ 9์ 1์ผ ๊ฐ๊ต (โฆ) 2006๋ ๊ฐ๊ต ๊ณ ์์์ ์ด๋ฑํ๊ต
์งง์๋ ๋ฌด๋์ง๋ ๊ฒฝ์ฐ. ๊ณก ์ ๋ชฉ์ฒ๋ผ ์๋ฒ ๋ฉ์ด ์ฝํ๊ฒ ๋ถ๋๋ ๊ณ ์ ๋ช ์ฌ๋ ๋ฐ๋ณต์ ๋น ์ง๊ธฐ ์ฝ๋ค:
์๋ฌธ ํ๊ตญ์์๋ ์ผ์ฃผ์ผ ๋ง์ 1๋ง์ฅ์ด ํ๋งค๋์ด (โฆ) ์ธ๊ธฐ ๋ํ์ ์ผ์ผ์ผฐ๋ค. ์์ ์ ์ ๋ช ํ ๋ ธ๋๋ Starlight, Hysteria, Bliss, Blackout.
๋ณต์ ํนํ ์ ๋ช ํ ๊ณก์ผ๋ก๋ 'Black Light', 'Hysteria', 'Psyche', 'Psyche', 'Psyche' โฆ (๋ฐ๋ณต) โฆ ๋ฑ์ด ์๋ค. 2009
์ค๊ฐ ๊ธธ์ด (110โ150 ํ ํฐ)
๊ฐ๋ ๊ณผ ์ฉ์ด๊ฐ ์ด์๋๊ณ ํํ์ ์ฌ๊ตฌ์ฑ๋๋ ๊ฒฝ์ฐ:
์๋ฌธ ํํ์ ์๊ฐ ๊ฐ์น(TVM)๋ ์ ์ฌ์ ์์ต ๋ฅ๋ ฅ์ผ๋ก ์ธํด ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ํํ๊ฐ ๋ฏธ๋์ ๊ฐ์ ๊ธ์ก๋ณด๋ค ๋ ๊ฐ์น๊ฐ ์๋ค๋ ๊ฐ๋ ์ ๋ํ๋ด๋ ๊ธ์ต ๊ฐ๋ ์ ๋๋ค. (โฆ) TVM์ ํฌ์ ์ต์ ์ ๋น๊ตํ๊ณ ๋์ถ, ๋ชจ๊ธฐ์ง, ๋ฆฌ์ค, ์ ์ถ, ์ฐ๊ธ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฐ๋ ์ ์ธํ๋ ์ด์ ์ ์ํฅ๊ณผ ๋ฏธ๋์ ์ง๊ธ๊ธ ์๋ น ์ํ์ ๊ณ ๋ คํฉ๋๋ค.
๋ณต์ ์๊ฐ ๊ฐ์น(TVM)๋ ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ํํ์ ๊ฐ์น๊ฐ ๋ฏธ๋์ ๊ฐ์ง ์ ์๋ ์ ์ฌ์ ์ด์ต์ ๋น๋กํ๋ค๋ ๊ฐ๋ ์ ๋๋ค. (โฆ) ์ด๋ฌํ ๊ฐ์น๋ ์ธํ๋ ์ด์ , ๊ธ๋ฆฌ ์์น, ์ด์์จ ์์น ๋ฑ ๋ค์ํ ์์ธ์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค. TVM์ ์ฌ์ฉํ๋ฉด ํฌ์์๋ ํ์ฌ ํํ ๊ฐ์น๋ณด๋ค ๋ฏธ๋์ ๋ ๋ง์ ๋์ ๋ฒ ์ ์์ต๋๋ค.
์ฃผ์ ๋ ๋ง์ง๋ง ๋ ผ๋ฆฌ๊ฐ ํ๋ค๋ฆฌ๋ ๊ฒฝ์ฐ:
์๋ฌธ ์์ ์ ์ธ ์์์ฌ ๊ณต๊ธ์ ํ์๋ก ํ๋ ๊ธฐ์ ์ ์์์ฌ ๊ฐ๊ฒฉ ๋ณ๋์ด ์ฌํ ๊ฒฝ์ฐ ํ๊ธ ํ๋ฆ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ ํ์์ํ์ ๊ฑฐ๋ํ๋ฉด ๋ฏธ๋ ์์ ์ ๊ฑฐ๋ํ ์์์ฌ ๊ฐ๊ฒฉ์ ๋ณ๋ํญ์ ์ธํ๋ฆฌ ์น๋ฏ์ด(ํค์งยทhedge) ํ์ฌ ์์ ์ ๊ฒฐ์ ํ ์ ์๋ค. (โฆ)
๋ณต์ ๊ธฐ์ ์ด ๊ธ๊ฒฉํ ๋ณ๋์ ๊ฒช์ ๊ฒฝ์ฐ ์์์ฌ ๊ฐ๊ฒฉ์ด ๊ธ๋ณํ ์๋ฐ์ ์๊ธฐ ๋๋ฌธ์ (โฆ) ๋ฆฌ์คํฌ ํค์ง(์ํ ํค์ง)๊ฐ ํ์ํ๋ค. ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ธฐ์ ์ ํ์์ํ ๊ฑฐ๋์์ ์์์ฌ์ ํ๋ฆ์ ํต์ ํ ์ ์๋ (โฆ) ์ธํ๋ฆฌ๋ฅผ ์น๋ ํํ๋ก ๊ฑฐ๋๋ ์ ์๋ค.
Java ๋ฌธ๋ฒ ์ค๋ช
. ํต์ฌ ์์ฌ($ ๊ธฐํธ, ํด๋์ค ์ด๋ฆ, ๊ฐ๋
์ฑ)๋ ๋จ์ง๋ง ์ฌ์ค๊ด๊ณ๊ฐ ๋ค์งํ๋ค:
์๋ฌธ ๋ฌ๋ฌ ๊ธฐํธ '$'๋ Java์์ ๋ณ์ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ ์ ํจํ ๋ฌธ์์ด๊ธฐ๋ ํ์ง๋ง (โฆ) ์ปดํ์ผ๋ฌ์์ (โฆ) ๋ด๋ถ ํด๋์ค ๋ฐ ์ต๋ช ํด๋์ค์ ๋ช ๋ช ๊ท์น์ ์ฌ์ฉ๋ฉ๋๋ค. (โฆ) '$'๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ์ ์๊ณ (โฆ)
๋ณต์ Java์์ "๋ฌ๋ฌ" ๊ธฐํธ๋ ์ผ๋ฐ์ ์ผ๋ก ํด๋์ค ์ด๋ฆ์ผ๋ก ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ณ์ ์ด๋ฆ์ (โฆ) ์ฝ๋๋ฅผ ๋ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฌ๋ฌ ๊ธฐํธ๋ ๋๋ค ๊ท์น์ ์ํด ์ ์๋๋ฉฐ (โฆ)
๊ธด ๋ฌธ์ฅ (220โ256 ํ ํฐ)
๋ด์ค ๊ธฐ์ฌ. ์์ฌ(์๋ณด์นด๋ยท์ฝ๋ ์คํ ๋กคยทLDLยท์ฐ๊ตฌ)๋ ๋จ์ง๋ง ๊ธฐ๊ด๋ช ยท๊ธฐ๊ฐ ๊ฐ์ ์ธ๋ถ๋ ์ง์ด๋ธ๋ค:
์๋ฌธ ์๋ณด์นด๋๊ฐ ์ฝ๋ ์คํ ๋กค ์์น๋ฅผ ๋ฎ์ถ๋ ๋ฐ ๋์์ด ๋๋ค๋ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๊ฐ ๋์๋ค. ๋ฏธ๊ตญ ํ์ค๋ฒ ์ด๋์๋ํ๊ต ํฌ๋ฆฌ์ค ์๋ํผ ์ฐ๊ตฌํ์ (โฆ) 6๊ฐ์๊ฐ ์คํ์ ์งํํ๋ค. ์ฐธ๊ฐ์ 1000๋ช ์ (โฆ) ์๋ณด์นด๋๋ฅผ ์ญ์ทจํ ๊ทธ๋ฃน์ ์ด ์ฝ๋ ์คํ ๋กค๊ณผ '๋์ ์ฝ๋ ์คํ ๋กค'์ธ ์ ๋ฐ๋ ์ฝ๋ ์คํ ๋กค LDL ์์น๊ฐ ๊ฐ์ํ ๊ฒ์ด๋ค.
๋ณต์ ์๋ณด์นด๋๊ฐ ์ฝ๋ ์คํ ๋กค ์์น๋ฅผ ๋ฎ์ถ๋ ๋ฐ ๋์์ด ๋๋ค๋ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๊ฐ ๋์๋ค. ๋ฏธ๊ตญ ์บ๋ฆฌํฌ๋์์ฃผ ํผ์ธ ๋ฒ๊ทธ์ ํ ์ฐ๊ตฌํ์ ์๋ณด์นด๋๋ฅผ ์ญ์ทจํ ๊ทธ๋ฃน๊ณผ ์ญ์ทจํ์ง ์์ ๊ทธ๋ฃน์ ๋น๊ตํ ๊ฒฐ๊ณผ, ์ ๋ฐ๋ ์ง๋จ๋ฐฑ์ง(LDL)๊ณผ HDL ์์น๊ฐ (โฆ) ์ํฅ์ ๋ฏธ์ณค๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํ๋ค. (โฆ)
ํ ๋ก ๋ฌธ. ํ์(ํผยท์ก์ค๋ก )์ "๋ ์ด๋ก ยท์คํ์ ๊ฒ์ฆ"์ด๋ผ๋ ์ฃผ์ ๋ ์ ์ง๋์ง๋ง ์ธ๋ถ ๋ ผ์ง๋ ์ฌ์์ฑ๋๋ค:
์๋ฌธ ์คํ์ ์ธ ๊ฒ์ฆ์ ๊ณผํ ์ด๋ก ์ ์ค์ํ ๋ถ๋ถ์ด๋ฉฐ, ๋ ์ด๋ก ์ ์์ง ์ด ๋ถ๋ถ์ ํต๊ณผํ์ง ๋ชปํ์ต๋๋ค. ํผ: ๋ ์ด๋ก ์ด ๊ฒ์ฆํ๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ ๊ทธ๊ฒ์ด ์๋ชป๋์๋ค๋ ๊ฒ์ ์๋ฏธํ์ง ์์ต๋๋ค. (โฆ) ์ก์ค๋ก : ๊ทธ๋ฌ๋ ๋ ์ด๋ก ์ ๋์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ์ง ์์ต๋๋ค. (โฆ)
๋ณต์ ํผ: ๋ ์ด๋ก ์ ์์ง ๊ฒ์ฆ๋์ง ์์์ง๋ง, ๊ทธ๊ฒ์ ์ฌ์ ํ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. (โฆ) ์ก์ค๋ก : ๊ทธ๋ฌ๋ ๊ทธ ์ฑ๊ณต์ ์คํ์ ์ฆ๊ฑฐ์ ์ํด ๋ท๋ฐ์นจ๋์ง ์์ต๋๋ค. (โฆ) ํผ: (โฆ) ์คํ์ ๊ฒ์ฆ์ ๊ณผํ์ ์ด๋ก ์ ์ ์ํ๋ ๋ฐ ์ค์ํ ์์์ ๋๋ค.
๊ณ ์ ๋ช ์ฌ๊ฐ ์ด์ดํ ๋ฌธ์์์๋ ์ด๋ฆยท์์น๊ฐ ์๋ก ๋ค์์ธ๋ค. ์ด๋ฆยท์๊นยท์์ผ์ด ๋์ด๋ ์บ๋ฆญํฐ ์ค๋ช ์์๋ ํญ๋ชฉ์ ๊ณจ๊ฒฉ๋ง ๋จ๊ณ ๊ฐ์ด ์ด๊ธ๋๋ค.
์ค์น
์ด ๋ชจ๋ธ์ ์๋ฒ ๋๋ก BAAI/bge-m3๋ฅผ ์ฐ๋๋ก ์์ ํ vec2text ํฌํฌ๊ฐ ํ์ํ๋ค. ๊ณต์ PyPI์
vec2text์๋ ์ด ์๋ฒ ๋ ๋ถ๊ธฐ์ ๋ช ๊ฐ์ง ๋ก๋ฉ ๊ด๋ จ ์์ ์ด ์์ด ๊ทธ๋๋ก๋ ๋ก๋๋์ง ์๋๋ค.
ํฌํฌ๋ ์ด ์ ์ฅ์์ vec2text/ ๋๋ ํฐ๋ฆฌ์ ํจ๊ป ๋ฃ์ด ๋์๋ค(๋๋ ํ์ต์ ์ด ์์ค ํธ๋ฆฌ๋ฅผ ๊ทธ๋๋ก
์ฌ์ฉํ๋ฉด ๋๋ค).
๊ฒ์ฆ๋ ํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ๋ค. ํนํ transformers๋ 4.44.2๋ฅผ ์ด๋ค. 5.x ๊ณ์ด์ mt5 ํ ํฌ๋์ด์ ๋์์ด ๋ฌ๋ผ ์ฌํ์ด ๊นจ์ง๋ค.
python 3.12
torch 2.11.0 (cu128)
transformers==4.44.2
sentencepiece==0.2.1
safetensors==0.8.0
datasets==3.6.0
์ฌ์ฉ๋ฒ
์ด ์ ์ฅ์์ ๊ฐ์ค์น๋ ํ์ค from_pretrained ๊ฒฝ๋ก์์ forward๊ฐ ์ด๊ธ๋๋ฏ๋ก,
InversionConfig๋ก ๋ผ๋๋ฅผ ๋ง๋ ๋ค state_dict๋ฅผ ์ง์ ์ ์ฌํด์ผ ํ๋ค.
import torch, vec2text
from vec2text.models import CorrectorEncoderModel, InversionModel
from vec2text.models.config import InversionConfig
from safetensors.torch import load_file
def load(cls, repo_dir):
m = cls(InversionConfig.from_pretrained(repo_dir))
m.load_state_dict(load_file(f"{repo_dir}/model.safetensors"), strict=False)
return m.to("cuda").eval()
inv = load(InversionModel, "path/to/bge-m3-ko-inversion-v3")
corr = load(CorrectorEncoderModel, "path/to/bge-m3-ko-corrector-v3")
corrector = vec2text.load_corrector(inv, corr)
inp = inv.embedder_tokenizer(["๋ณต์ํ ํ๊ตญ์ด ๋ฌธ์ฅ"], return_tensors="pt",
padding="max_length", truncation=True, max_length=256).to("cuda")
with torch.no_grad():
emb = inv.call_embedding_model(input_ids=inp.input_ids, attention_mask=inp.attention_mask)
print(vec2text.invert_embeddings(embeddings=emb, corrector=corrector,
num_steps=20, sequence_beam_width=4))
๋์ฝ๋ฉ ์ค์ ์ ๊ธธ์ด์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋๋ ํธ์ด ๋ซ๋ค. ์งง์ ๋ฌธ์ฅ์ ๋ฐ๋ณต ์ต์ ์์ด ๋๋ ์ชฝ์ด ์ด์ ๋ณต์์ด ์ข๊ณ , ๊ธด ๋ฌธ์ฅ์ ๋ฐ๋ณต ์ต์ (repetition_penalty 1.3, no_repeat_ngram 4)๋ฅผ ์ผ์ผ ๊ฐ์ ๊ตฌ์ ์ด ๋ํ์ด๋๋ฉฐ ๋ฌด๋์ง๋ ๊ฒ์ ๋ง๋๋ค.
ํ๊ฐ ์ฌํ
์ ์ฑ๋ฅํ๋ ๋ค์ ์กฐ๊ฑด์์ ๋์จ ๊ฐ์ด๋ค.
- ์๋ฒ ๋:
BAAI/bge-m3dense, max_length 256, CLS ํ๋ง + L2 ์ ๊ทํ - ์ถ๋ก : num_steps 20, sequence_beam_width 4
- ํ๋ณธ: ๊ธธ์ด ๊ตฌ๊ฐ๋ณ ๋ฌด์์ 80๋ฌธ์ฅ(seed 42), ํ์ต๊ณผ ๊ฒน์น์ง ์๋ held-out ๊ฒ์ฆ์
- ์งํ: word-F1(์ด์ ์งํฉ F1), char-F1(์์ ์งํฉ F1), cos(๋ณต์๋ฌธ ์ฌ์๋ฒ ๋ฉ๊ณผ ์๋ณธ์ ์ฝ์ฌ์ธ), ์ ๋ขฐ๊ตฌ๊ฐ์ ๋ถํธ์คํธ๋ฉ 1000ํ
- ๋์ฝ๋ฉ์ ๊ธธ์ด์ ๋ง์ถฐ: 128 ํ ํฐ ์ดํ๋ ๋ฐ๋ณต ์ต์ ๋ฅผ ๋๊ณ , ๊ทธ ์ด์์ repetition_penalty 1.3 ยท no_repeat_ngram 4
์งง์ ๋ฌธ์ฅ์์ ๋ฐ๋ณต ์ต์ ๋ฅผ ๋๋ ํธ์ด ์ด์ ๋ณต์์ด ์ข๊ณ , ๊ธด ๋ฌธ์ฅ์์๋ ์ผ์ผ ๊ฐ์ ๊ตฌ์ ์ด ๋ํ์ด๋๋ฉฐ ๋ฌด๋์ง๋ ๊ฒ์ ๋ง๋๋ค. ์ด ๋์ ์ต์ ์ด ๋ฐ๋๋ผ๋ ์ ์ ์ค์์ผ๋ก ํ์ธํ๋ค.
ํ๊ณ์ ์ฉ๋
- ์์ ๋ณต์๊ธฐ๊ฐ ์๋๋ผ ๋ถ๋ถ ๋ณต์๊ธฐ๋ค. ์ฃผ์ , ๊ณ ์ ๋ช ์ฌ, ํต์ฌ ๊ตฌ์ ์ ์ ์์ง๋ง ์ธ๋ถ๋ ํ๋ฆด ์ ์๋ค.
- ์๋ฒ ๋๋ฅผ ๋ฐ๊พธ๋ฉด ๋ค์ ํ์ตํด์ผ ํ๋ค. ์ด ๋ชจ๋ธ์
BAAI/bge-m3dense ์ ์ฉ์ด๋ค. - ํ๋ผ์ด๋ฒ์ ์ฐ๊ตฌ์ ๋ฐฉ์ด ๊ธฐ๋ฒ ํ๊ฐ๋ฅผ ์ํ ๊ฒ์ด๋ค. ํ์ธ์ ์๋ฒ ๋ฉ์ ๋ฌด๋จ ๋ณต์ํ๋ ๋ฐ ์ฐ์ง ๋ง ๊ฒ.
์ธ์ฉ
@inproceedings{morris2023text,
title={Text Embeddings Reveal (Almost) As Much As Text},
author={Morris, John X. and Kuleshov, Volodymyr and Shmatikov, Vitaly and Rush, Alexander M.},
booktitle={EMNLP},
year={2023}
}
- Downloads last month
- -
Model tree for terriapurplewave/bge-m3-ko-corrector-v3
Base model
BAAI/bge-m3