Static Alignment 05 KO - teamswyg/laya-tools GitHub Wiki
์ ์ ์๋ฒ ๋ฉ ํ์ต 05: ํ์ต ์ธต ์ถ๊ฐ๋ ์ดํ ๊ธฐ์ค์ ์ ๋์ง ๋ชปํจ
English ยท ๊ณ ์ ๊ณํ ยท ์ ์ฒด ๊ฒฐ๊ณผยท๋ชจ๋ธ ํด์ ยท ๊ฒ์ ์๋ฃ ์ ๊ฒ
๊ฒ์ฆ๋ Go ์ ์ ์๋ฒ ๋ฉ์ ์๋ณ์ ์ ์ฒ๋ฆฌ์ ์์ ํ์ต ์ธต์ ์ถ๊ฐํ์ง๋ง, ์ฃผ ํ๋ณด AUC0.5728์ ๊ธฐ์กด ์ดํ ๊ธฐ์ค์ 0.5729๋ฅผ ๋์ง ๋ชปํ๋ค. ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ด์ ๊ฐ ์์ด ๊ธฐ๋ณธ ์ ์ฉํ์ง ์๋๋ค. reserve1 2,403๊ฐ์ reserve2 2,401๊ฐ๋ ํ๊ฐํ์ง ์์๋ค. ์ด ๊ฒฐ๊ณผ๋ฅผ ์๋ ์ผ๋ก ํ๊ณ ๋ค๋ฅธ ์๋ฃ์ ์ ์๋ก ๋ฎ์ด์ฐ์ง ์๋๋ค.
์ค์ ๋ก ํ์ตํ ๊ฒ
development12,189๊ฐ ์ค ๋ฒ์ ์11,263๊ฐ๋ก ํ์ตํ๊ณ validation607๊ฐ ์ค553๊ฐ๋ก ์ค์ ์ ์ ํํ๋ค. ํ์ต926๊ฐ/๊ฒ์ฆ54๊ฐ๋ ๊ธฐ์กด ๊ธธ์ด ํ๋๋ก ์ ์ธ๋๋ค. ๋ชจ๋ธ ํํ์ด ์ปค์ก๋ค๊ณ ๊ธด ์ฌ๋ก๋ฅผ ๋ชฐ๋ ์ถ๊ฐ/์ ์ธํ์ฌ ๋น๊ต ๋์์ ๋ฐ๊พธ์ง ์์๋ค. ์ ์ฒ๋ฆฌ ํ4,096๋ฐ์ดํธ๋ฅผ ๋์ผ๋ฉด ์๋ผ ์ฐ์ง ์๊ณ ์ค๋ฅ๋ฅผ ๋ธ๋ค.
- 16๊ณ์ ์ดํ ๊ธฐ์ค์ : ์ง์ matching๊ณผ ์ ํํ ๊ฐ์ ํน์งยทํ์ต ์ค์ ์ด๋ค. ๊ธธ์ด ๋ค ์นธ์0์ด๋ค.
- 17๊ณ์: ์ ํน์ง์ ์ ์ฒ๋ฆฌํ ์ง๋ฌธ/์ฝ๋ ํ๊ท ๋ฒกํฐ์ cosine์ ํ๋ ์ถ๊ฐํ๋ค. camel/snake๋ฅผ ๋๋๊ณ ์๋ฌธ์ยท๋ฌธ์/์ซ์ ํ ํฐ์ ๊ณต๋ฐฑ์ผ๋ก ํฉ์น๋ค. ํค์๋๋ฅผ ์ ๊ฑฐํ์ง ์๋๋ค.
- 145๊ณ์: 17๊ณ์ ํน์ง์64์ฐจ์๋ณ ๊ณฑ(8๋ฐฐ scale)๊ณผ64์ฐจ์๋ณ ์ ๋ ์ฐจ์ด๋ฅผ ์ถ๊ฐํ๋ค. ๋ชจ๋ธ์ด ๊ฐ ์ฐจ์์์ ์ด๋ ์ผ์น/์ฐจ์ด๋ฅผ ์ค์ํ๊ฒ ๋ณผ์ง ํ์ตํ๋ค. ์ ์ฒด64ร64 ๋ณํ์ด๋ ์ธ์ฝ๋ ์์ฒด ํ์ต์ ์๋๋ค.
์ธ์ฝ๋ FP32/3์ง, ํ์ต ์ธต FP32/3์ง STE, seed2๊ฐ, ํ์ต๋ฅ 2๊ฐ๋ฅผ ๋น๊ตํ๋ค. ์ดํ ๊ธฐ์ค์ ์๋ ์ธ์ฝ๋๋ฅผ ๋ถ์ด์ง ์์๋ค. ์ด40์ค์ ์ ๊ฐ๊ฐ100 epoch, batch128, L2=0.0001๋ก ์คํํ๊ณ ๊ฐ ๊ตฌ์ฑ์ ๊ฒ์ฆ BCE ์ต์ epoch/ํ์ต๋ฅ ์ ๊ณจ๋๋ค. ์ ํ FP32์ INT8/PTQ ํ์๋ณธ๊น์ง ์ด40ํ์ผ์ ์ ์ฅํ๋ค. ๊ธฐ์กด CoSQA ๊ณ ์ ์์ฒ/๊ทธ๋ฃน ๋ถํ ๊ณผ Model2Vec ๊ณ ์ revision์ ์ ์งํ๋ค.
๊ฒฐ๊ณผ
๊ฐ์553๊ฐ ๊ฒ์ฆ ์์ AUC๋ค. ๋ฐ๋ณต ์ฌ์ฉํ ๊ฒ์ฆ ์๋ฃ์ ์ ์ถ์ ์ด๋ฉฐ ์๋ก์ด ๋ ๋ฆฝ ์ํ์ด๋ ํต๊ณ์ ๊ฐ์ ํ์ ์ด ์๋๋ค.
| ํน์ง / ์ธ์ฝ๋ / ํ์ต ์ธต | seed1729 | seed2718 |
|---|---|---|
| BM25 | 0.5378 | ๋์ผ ๊ธฐ์ค์ |
| ์ดํ / ์์ / FP32 | 0.5729 | 0.5730 |
| ์ดํ+cosine / FP32 / FP32 | 0.5748 | 0.5745 |
| ์ดํ+cosine / 3์ง / FP32 | 0.5742 | 0.5743 |
| 145๊ณ์ / FP32 / FP32, ์ฃผ ํ๋ณด | 0.5728 | 0.5723 |
| 145๊ณ์ / 3์ง / FP32 | 0.5682 | 0.5592 |
| 145๊ณ์ / FP32 / 3์ง STE | 0.5594 | 0.5567 |
| 145๊ณ์ / 3์ง / 3์ง STE | 0.5565 | 0.5545 |
INT8ยทPTQ๋ฅผ ํฌํจํ ์ ๋ถ๋ JSON์ ์๋ค. ์ฃผ ํ๋ณด๋ ์คํ ์ ์ normalized_alignment / fp32 / fp32 / seed1729๋ก ๊ณ ์ ํ๋ค. AUCโฅ0.60 ๋ฐ BM25๋ณด๋คโฅ0.03์ด๋ผ๋ ๋ค์ ์ต์ข
์ํ ๊ฒํ ์กฐ๊ฑด์ ํต๊ณผํ์ง ๋ชปํ๋ค. ์กฐ๊ธ ๋ ๋๊ฒ ๋์จ17๊ณ์ ๋ณํ์ผ๋ก ์ฃผ ํ๋ณด๋ฅผ ์ฌํ ๋ณ๊ฒฝํ์ง ์๋๋ค.
์ฌ์คํ์์40ํ์ผ SHA256์ด ๋ชจ๋ ๊ฐ์๋ค. ์ดํ ๊ธฐ์ค์ 8๊ฐ๋ ์ด์ ํ์ต์ ๊ณ์ ๋ฐฐ์ด๊ณผ ์ ํํ ๊ฐ์, ๋น๊ต ๊ธฐ์ค์ ๋ฐ๊พธ์ง ์์์์ ํ์ธํ๋ค. ์ ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ ๊ณ์ฝ์ด ๋ค๋ฅด๋ฏ๋ก ์ด์ ํ์ผ๊ณผ SHA๊ฐ ๊ฐ๋ค๋ ์๋ฏธ๋ ์๋๋ค.
์คํ ๋น์ฉ๊ณผ ์ฌ์ฉ
Apple M4 Pro/24GiB/Go1.27.1 CPU์์ ์์ฒ ๋ก๋ฉยทํน์ง ์ค๋นยท40์ค์ ํ์ตยท์ ์ฅ์ ํฌํจํ wall8.84์ด/userCPU8.58์ด, ์ต๋RSS106,676,224B(101.73MiB), swap0์ด์๋ค. ๋จ์ผ ์ถ๋ก ์ด๋ GPU ์ธก์ ์ด ์๋๋ค. ์ค์ ์ถ๋ก ์๋ ํ์ต ์ธต ์ธ์ ์ธ์ฝ๋ ํ์ ์ดํ๊ฐ ํ์ํ๋ค. ์์ head ํฌ๊ธฐ๋ง์ ์ ์ฒด ๋ชจ๋ธ ํฌ๊ธฐ์ฒ๋ผ ์ ์ํ์ง ์๋๋ค.
go run ./cmd/riido-staticprobe --stage setup
go run ./cmd/riido-aligntrain --out .cache/alignment-training-new
์์ ์ค๋นํ ๊ณ ์ CoSQA ์์ฒ์ด ํ์ํ๋ฉฐ ์ถ๋ ฅ ๋๋ ํฐ๋ฆฌ๋ ์ ๊ฒ์ด์ด์ผ ํ๋ค. ๊ณ ์ ๊ณํ ํด์๊ฐ ๋ค๋ฅด๋ฉด ์คํ์ ๊ฑฐ๋ถํ๋ค. ์ด ๋ช
๋ น์๋ final/reserve ํ์ตยท์ ํ ๊ธฐ๋ฅ์ด ์๋ค. ์ .align.json์ ์ฐ๊ตฌ ๊ฐ์ค์น์ด๋ฉฐ ๊ธฐ์กด riido-hints --model์ฉ .hbin์ด ์๋๋ค. Codex ๊ธฐ๋ณธ๊ฐ์ด๋ ์คํ ๊ถํ์ ๋ฐ๊พธ์ง ์๋๋ค.
Go ์ํ์ ๊ธฐ์กด ์ดํ ํน์ง ๋์ผ์ฑ, holdout ๋ด์ฉ ๋ณ๊ฒฝ์ ํ์ต ๊ฒฉ๋ฆฌ, ์๋ณธ/์ ๊ทํ ํ ์ ๋ ฅ ํ๋, 17/145์ฐจ์ ๊ฐ ๊ณตํต ํน์ง ์ผ์น์ ์ค์ ์๋ฒ ๋ฉ ๊ณฑ์ cosine ๊ด๊ณ๋ฅผ ํ์ธํ๋ค. macOS/Linux CI๋ ์ค์ ๊ณ ์ ์ธ์ฝ๋๋ก ์ด ๊ณ์ฝ์ ๊ฒ์ฌํ๋ค.
๋ค์ ๋ฐฉํฅ: ๋ถ๋ฅ์ ๊ฒ์์ ๊ตฌ๋ถํด ๊ฒ์ฆ
์ธ ๋ฒ์ ํํ ๋น๊ต์์ ์์ ์ผ๋ฐ ์์ด ํํ์ ๋ ๋ถ์ฌ๋ ํ์ฌ ์ฝ๋ ๊ด๋ จ์ฑ ๋ถ๋ฅ ๊ฐ์ ์ด ์ถฉ๋ถํ์ง ์์๋ค. ๊ฐ์ ๊ฒ์ฆ ์๋ฃ์์ ๊ณ์ยทํ์ต๋ฅ ๋ง ๊ณ์ ๋๋ฆฌ๋ ๊ฒ๋ณด๋ค, ์ฌ์ฉ ๋ชฉํ์ธ '๊ฒ์ฆํ ํ๋ณด ์์'๋ฅผ ๋ณ๋๋ก ํ๊ฐํ ์๋ฃ๋ฅผ ์ ๊ฒํ๋ค. ๊ธฐ์กด ๋ถ๋ฅ ์คํจ์ ์ต์2,400๊ฐ ํ๊ฐ ์๊ตฌ๋ ๊ทธ๋๋ก ์ ์งํ๋ค.
CoSQA+ ์ ์ ์๋ฃ์ ๋
ผ๋ฌธ์ ๋ณต์ ์ ๋ต ํ๋ณด์ ํ
์คํธ ๊ธฐ๋ฐ ์ฃผ์์ ๋ค๋ฃฌ๋ค. ํ์ธํ ์ ์ฅ์ revision 1ca3343833a4036a4c42c852eec24b62c1f280d4์๋ ๋ช
์์ LICENSE๊ฐ ์์๊ณ ๋ฐ์ดํฐ๋ Drive๋ก ์ฐ๊ฒฐ๋๋ค. ์ด์ฉ ์กฐ๊ฑด์ ํ์ธํ๊ธฐ ์ ์๋ ํ์ต/์ฌ๋ฐฐํฌ ์๋ฃ๋ก ์ฑํํ์ง ์์๋ค. ๋
ผ๋ฌธ์ ์๋ฃ ํ์ง ๋
ผ์๋ ์ฐ๋ฆฌ ๋ชจ๋ธ์ ๋ฎ์ ์ ์๋ฅผ ๋ฌดํจํํ์ง ์๋๋ค.
CodeSearchNet Hugging Face ๋ฐฐํฌ๋ณธ์ Go test Parquet9,751,451B๋ฅผ revision bd0cf261e357a3eb5c8fba490d23ec1a1cd59555์์ ํ๋ณดํ๋ค. ํจ์14,291๊ฐ/์ ์ฅ์213๊ฐ/๊ณ ์ ์ค๋ช
11,680๊ฐ๋ค. ์์ง ๋ชจ๋ธ ์ ์๋ฅผ ๋ด์ง ์์๋ค. ๋ฌธ์ ์ค๋ช
์ ์ฌ์ฉ์ ์ง๋ฌธ์ผ๋ก ๋์ผ์ํ๊ฑฐ๋ ๋๋จธ์ง ํจ์๋ฅผ ์ ๋ถ ์ค๋ต์ผ๋ก ์ทจ๊ธํ์ง ์๋๋ค. ๊ฒ์ ์์๋ ์ค๋ช
์ด ๊ฐ๋ฆฌํค๋ ์๋ ค์ง ํจ์์ ์์๋ฅผ ์ธก์ ํ๊ณ , ์ค์ ์์ด์ ํธ ๊ณผ์ ๋ ๋ณ๋๋ก ๊ฒ์ฆํด์ผ ํ๋ค.
์ ์ ์์ HF ์นด๋๋ ์ฝ๋๋ง๋ค ์ ์ ์ฅ์ ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ผ์ผ ํ๋ค๊ณ ์ค๋ช ํ๋ค. ์ฐ์ kubernetes/test-infra, lxc/lxd, etcd-io/etcd์ ๋ฐ์ดํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ์ค์ commit์์ Apache-2.0 ๋ฃจํธ ๋ผ์ด์ ์ค๋ฅผ ํ์ธํ๋ค. ์ด๊ฒ๋ง์ผ๋ก vendored ํ์ผ์ด๋ ๋ชจ๋ 213๊ฐ ์ ์ฅ์์ ๊ถ๋ฆฌ๋ฅผ ํ์ธํ๋ค๊ณ ์ฃผ์ฅํ์ง ์๋๋ค. ์์ฑ ์ฝ๋ยท์ค๋ณตยทvendor/๋ณ๋ ๊ณ ์งยท์ ์ฅ์ ๊ทธ๋ฃน ๋ถ๋ฆฌ์ query ์ค๋ช ๋ ธ์ถ ์ฌ๋ถ๋ฅผ ์ ๊ฒํ ๋ค ๋ณ๋ ๊ฒ์ ๊ณํ์ ๊ณ ์ ํ๋ค. ์์ฒ ์ ์ฒด๋ฅผ MIT๋ก ํ์ํ์ง ์๋๋ค.
์๋ฌธยท๋ผ๋ฒจยท๊ฐ์ค์น๋ Git์ ๋ฃ์ง ์์๋ค. ํ์ตยท์คํ์ Go, Parquet ๋ฉํ๋ฐ์ดํฐ ์ ๊ฒ๋ง ๋ก์ปฌ ์ ์ง๋ณด์์ฉ Python์ ์ฌ์ฉํ๋ค. HF์๋ ์๋ฌธ์ด๋ ๊ฒ์ฆ ์ ์ ๋ชจ๋ธ์ ์ฌ๋ฆฌ์ง ์์๋ค. ๋ชฉ์ ์ ์ฝ๋ ๊ด๋ จ์ฑ์ ์คํจ๋ฅผ ๊ฐ์ถ๋ ์ฌ์ด ์ํ์ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ, ๋ถ๋ฅยท๊ฒ์ยท์ค์ ์์ ๊ฐ๊ฐ์ ์ฆ๊ฑฐ๋ฅผ ํ๋ณดํ๋ ๊ฒ์ด๋ค.
๊ฒ์ฆํ ์ฐ๊ตฌ ๊ฒฐ๊ณผ ๊ณต๊ฐ
HF ๊ณ ์ ์ฐ๊ตฌ ๋ฌถ์์๋ 40๊ฐ ํ์ต ์ธต๊ณผ ๋ฌธ์๋ฅผ ํฌํจํ 47๊ฐ ํ์ผ์ด ์๋ค. ๊ณต๊ฐ ์ ์ฅ์์์ ๋ค์ ๋ด๋ ค๋ฐ์ ์ ์ฒด ํ์ผ ๋ชฉ๋ก๊ณผ ๋ฐ์ดํธยทSHA256์ ํ์ธํ๊ณ riido-hubcheck --require-ci๋ ํต๊ณผํ๋ค. ์์ค 1b9091c72e72d21c330b9d3e58cfe47957f73be0์ CI๊ฐ ํต๊ณผํ ๋ค ์
๋ก๋ํ์ผ๋ฉฐ PR28์ ๋ณํฉ๋๋ค. ์ด๋ ๋ฐฐํฌ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ์ด๋ฉฐ ํ์ง ํฉ๊ฒฉ์ด ์๋๋ค. JSON ํ์ต ์ธต์ ์์ถ๋ 1.58-bit ์คํ ๋ชจ๋ธ์ด ์๋๊ณ , ์ดํ ๋์กฐ๊ตฐ ์ธ์๋ ๋ณ๋ ์ธ์ฝ๋๊ฐ ํ์ํ๋ค. ๊ธฐ๋ณธ ์ ์ฉ๊ณผ LLM ์ ๊ฐ ์ฃผ์ฅ์ ์๋ค.