Pair Training 02 KO - teamswyg/laya-tools GitHub Wiki
์ค์ ๊ด๋ จ์ฑ ํ์ต 02: ์์ ๋ชจ๋ธ์ ๋ง๋ค์์ง๋ง ์ผ๋ฐํ๋ ์์ง ์คํจ
English ยท ์คํ ์ ๊ณํ ยท ์ ์ฒด ์ง๊ณ์ ๋ชจ๋ธ ํด์ ยท ์์ 2,400๊ฐ ํ๊ฐ
Go๋ก ์ค์ CoSQA ๊ด๋ จ์ฑ ํ์ต์ ์คํํ๋ค. ๊ฒ์ฆ AUC๊ฐ 0.475~0.513์ผ๋ก ์ถฉ๋ถํ ์์ ์ ํธ๋ฅผ ๋ณด์ฌ์ฃผ์ง ๋ชปํ๋ค. ๊ธฐ๋ณธ ๋ชจ๋ธ๋ก ์น๊ฒฉํ์ง ์๊ณ , reserve1 2,403๊ฐ์ reserve2 2,401๊ฐ๋ฅผ ์ด๋ฒ์๋ ํ๊ฐํ์ง ์์๋ค. ์ด ๋ณด๋ฅ๋ ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ๋ด๋ฆฐ ๊ฐ๋ฐ ํ๋จ์ด๋ฉฐ ์ฌ์ ๋ฑ๋ก๋ ํต๊ณ์ ํฉ๊ฒฉ ํ์ ์ ์๋๋ค. 3์ง์ ์์ ํ์ผ ํฌ๊ธฐ๋ฅผ ํ์ง ๊ฐ์ ์ผ๋ก ํด์ํ์ง ์๋๋ค.
๋ฌด์์ ํ์ตํ๋
์ง๋ฌธ๊ณผ ์ฝ๋๊ฐ ๊ด๋ จ๋๋ฉด 1, ์๋๋ฉด 0์ธ ์ด์ง ๊ต์ฐจ ์ํธ๋กํผ๋ฅผ ์ต์ํํ๋ค. ์๋ ํฉ์ฑ ํ๋ณด ์์ ํ์ต๊ธฐ์ ๋ถ๋ฆฌ๋ internal/pairlearn ๋ฐ cmd/riido-pairtrain์ ์ถ๊ฐํ๋ค. ์์ฑ ๋ชจ๋ธ์ด๋ ๊ธฐ์กด Laya ์ธ์ฝ๋๋ฅผ ํ์ตํ ๊ฒ์ด ์๋๋ค. 8,192๊ฐ ๊ณ์๋ก ๋จ์ดยท์ธ์ ๋ ๋จ์ด์ ๊ต์ฐจ ํน์ง๊ณผ ๋จ์ด ๊ฒน์นจ์ ์ ์๋ก ๋ฐ๊พธ๋ ๋
๋ฆฝ์ ์ธ ๊ฒฝ๋ ์คํ์ด๋ค. ์ ํธ์ ์์ผ๋ฉฐ ์ ์๋ ๊ฒ์ฆ๋ ํ๋ฅ ์ด ์๋๋ค.
๋ถํ ์ ์ ์คํ๊ณผ ๋์ผํ๋ค. development 12,189๊ฐ ์ค ์ ๋ ฅ ๋ฒ์ ์์ 11,263๊ฐ๋ฅผ ํ์ตํ๊ณ 926๊ฐ๋ ์ ๋ ฅ ํ๋ ๋๋ฌธ์ ํ์ต์์ ์ ์ธํ๋ค. validation 607๊ฐ ์ค 553๊ฐ๋ก ์ ํํ๊ณ 54๊ฐ๋ ์ ์ธํ๋ค. ๋ฐ๋ผ์ ์๋ ๊ฒฐ๊ณผ๋ ๋ฒ์ ์ ๊ฒ์ฆ ์๋ฃ๋ง์ ๊ฒฐ๊ณผ๋ค. ์ต์ข ์ํ์์๋ ๊ธด ์ ๋ ฅ๋ ๋ฒ๋ฆฌ์ง ์๊ณ BM25๋ก ๋ณต๊ทํด์ผ ํ๋ค. ์๋ฌธ ํ์ผ ์ ์ฒด๋ ์ถ์ฒ ๊ฒ์ฆยท๋ถํ ์์ฑ์ ์ฝ์ง๋ง ์๋น ์ํ์ ํน์งยท์ ์ยท๋ผ๋ฒจ์ ํ์ต์ด๋ ์ ํ์ ์ฐ์ง ์๋๋ค.
seed 2๊ฐ ร ํ์ต๋ฅ 2๊ฐ ร FP32/3์ง STE = 8๊ฐ ์ค์ ์ ๊ฐ๊ฐ 20 epoch ์คํํ๋ค. batch128, L2=0.0001์ ๊ณ ์ ํ๋ค. ๊ฐ seedยทํ์ต ๋ฐฉ์๋ง๋ค ๊ฒ์ฆ ์์ค์ด ๊ฐ์ฅ ์์ epoch์ ํ์ต๋ฅ ์ ์ ํํ๋ค. ์ ํ FP32์์ INT8์ 3์ง PTQ๋ฅผ ๋ง๋ค๊ณ 3์ง STE๋ ๋ณ๋๋ก ์ ํํด ์ด 8๊ฐ ํ์ผ์ ์์ฑํ๋ค. ๊ฒ์ฆ AUC๋ ์ ํ ํ ์ง๋จ ์งํ์ด๋ฉฐ ์๋ก์ด ๋ ๋ฆฝ ์ํ์ด ์๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ์ฝ๊ฒ ์ฝ๊ธฐ
AUC๋ ๊ด๋ จ ์์ด ๋น๊ด๋ จ ์๋ณด๋ค ๋์ ์ ์๋ฅผ ๋ฐ๋ ์ ๋๋ค. 0.5 ๋ถ๊ทผ์ด๋ฉด ์ด ์๋ฃ์์ ์ ์ฉํ ์์ ๊ตฌ๋ถ์ด ๊ฑฐ์ ์๋ค๋ ๋ป์ด๋ค. ์ ๋ขฐ๊ตฌ๊ฐ ์๋ ๊ฒ์ฆ ์ ์ถ์ ์ด๋ฏ๋ก ์์ ์ฐจ์ด์ ์ฐ์ด์ ์ฃผ์ฅํ์ง ์๋๋ค.
| ๋ฐฉ์ | seed1729 ๊ฒ์ฆ AUC | seed2718 ๊ฒ์ฆ AUC | ํ์ผ ํฌ๊ธฐ |
|---|---|---|---|
| FP32 | 0.4937 | 0.5045 | 32,792B |
| INT8 | 0.4935 | 0.5053 | 8,216B |
| 3์ง PTQ | 0.5028 | 0.5133 | 1,633 / 1,636B |
| 3์ง STE | 0.4751 | 0.5062 | 1,639 / 1,630B |
์ ํ FP32์ ํ์ต ์์ค์ ์ฝ 0.680์ผ๋ก ๋ด๋ ค๊ฐ์ง๋ง ๊ฒ์ฆ ์์ค์ ์ฝ 0.693์ ๋จธ๋ฌผ๋ ๋ค. ๋ชจ๋ ์ ๋ ฅ์ 0.5๋ฅผ ๋ด๋ ๊ธฐ์ค์ ์์ค์ ์ฝ 0.693147์ด๊ณ ํ์ต ์์ฑ ๋น์จ๋ง ์ฐ๋ ๊ธฐ์ค์ ๊ฒ์ฆ์์ 0.693824๋ค. ๋ฐ๋ผ์ 'ํ์ต ์ฝ๋๊ฐ ๋์๋ค'์ '์๋ก์ด ์ฝ๋์๋ ์ธ ๋งํด์ก๋ค'๋ฅผ ๊ตฌ๋ถํด์ผ ํ๋ค. ์๋ฏธ ์ผ๋ฐํ๊ฐ ์ฝํ๋ค๋ ์ฆ๊ฑฐ์ด๋ฉฐ, ๋ ํฐ ๋ชจ๋ธ๋ง์ด ์ ์ผํ ๋ต์ด๋ผ๋ ์ฆ๊ฑฐ๋ ์๋๋ค.
๋ฉ๋ชจ๋ฆฌยทCPU์ ์ฌํ
- Apple M4 Pro, 24GiB RAM, Go1.27.1, CPU ์คํ. ์ฒซ ์ ์ฒด ์คํ wall3.87์ด, userCPU3.52์ด, ์ต๋RSS236,814,336B(225.84MiB), swap0. ์์ฒ ์ฝ๊ธฐยทํน์ง ์ค๋นยท8ํ ํ์ตยท๋ด๋ณด๋ด๊ธฐ๋ฅผ ํฌํจํ๋ฉฐ ๋จ์ผ ์ถ๋ก ๋น์ฉ์ด ์๋๋ค.
- ํฌ์ ํน์ง์ offset, uint16 index, float64 value์ ์ฐ์ ๋ฐฐ์ด์ ์ ์ฅํ๋ค. ํน์ง index/value ๋ ผ๋ฆฌ payload๋ 70,556,830B(67.29MiB); ๋ฐฐ์ด ์ฌ์ ์ฉ๋ยทoffsetยท๋ผ๋ฒจยท์์ฒยท๋ฐํ์์ ๋ณ๋๋ค. ๋ฐ์ดํฐ์ ๋ณ payload ์ํ 320MB๋ก ๋ฌด์ ํ ์บ์๋ฅผ ๋ง๋๋ค.
- ๋ณ๋ ํ๋กํ์ผ ์คํ์์ Go ์์กด heap ํ๋ณธ ์ฝ 80.94MiB, ๊ทธ์ค ์ค๋น๋ ํน์ง ๋ฐฐ์ด์ด ์ฝ 95.48%. CPU ํ๋ณธ์ ํฌ์ ์ ์ ๊ณ์ฐ ์ฝ 35.83%, Fit ์์ฒด ์ฝ 21.50%, ํน์ง ์ค๋น ์์ฒด ์ฝ 4.67%์๋ค. ํฌํจ ์๊ฐ๋ผ๋ฆฌ ํฉ์ฐํ์ง ์๋๋ค. pprof๋ ์ ์ฒด RSS๋ GPU ์ธก์ ์ด ์๋๋ค. GPUยทSIMD ๊ฐ์์ ๊ตฌํ/์ฌ์ฉํ์ง ์์๋ค.
- ํ์ต ๋ฃจํ๋ ๋จ์ผ ์์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉฐ lockยท๊ณต์ ๊ฐ๋ณ ์ํ๊ฐ ์๋ค. ์ ์ญ 3์ง scale์ batch๋ง๋ค ๋ค์ ๊ณ์ฐํ๊ณ backward๋ identity STE๋ฅผ ์ด๋ค. ํ์ผ์ ์์๋ ๋ฐํ์ decode๋ ๊ณ์๋น float64์ฌ์ ๊ณ์ ๋ฉ๋ชจ๋ฆฌ 64KiB๋ค.
- ํ๋กํ์ผ ์ถ๊ฐ ๋ฐ AUC ์ง๋จ ์ถ๊ฐ ํ ์ฌ์คํํด๋ 8๊ฐ ๋ชจ๋ธ SHA256์ด ์ต์ด ์คํ๊ณผ ๋ชจ๋ ๊ฐ์๋ค. ์์ฒยท๊ณํยท๋ถํ ยท๋ชจ๋ธ ํด์๋ ์ง๊ณ JSON์ ์๋ค. CPU/heap ์๋ณธ๊ณผ ๊ฐ์ค์น๋ Git์ ๋ฃ์ง ์์๋ค.
go run ./cmd/riido-pairtrain --out .cache/pair-training-new \
--cpu-profile .cache/pair-training-cpu.pprof \
--heap-profile .cache/pair-training-heap.pprof
์ ๋ฌธ์์ ๊ณ ์ CoSQA ํ์ผ์ ๋จผ์ ๋ก์ปฌ์ ์ค๋นํด์ผ ํ๋ค. ์ถ๋ ฅ ํด๋๋ ์ ๊ฒ์ด์ด์ผ ํ๋ค. ์ด ๋ช
๋ น์๋ ์ต์ข
์ํ ๋จ๊ณ๊ฐ ์์ผ๋ฉฐ ์ข
๋ฃ ์ฝ๋ 0์ ์คํ ์ฑ๊ณต๋ง ์๋ฏธํ๋ค. .hbin์ ๊ธฐ์กด riido-hints --model ... --sha256 ...๊ณผ ํ์ผ ํ์์ด ๊ฐ์ง๋ง ์ค์ฌ์ฉ ๊ถ์ฅ ๋ชจ๋ธ์ด ์๋๋ค.
๋ค์ ์คํ๊ณผ ๊ณต๊ฐ ๋ฒ์
๋ค์ ๊ฐ๋ฐ ์คํ์ ํ์ต๋ ๋จ์ด ์ผ์นยท๊ธธ์ด ๋ฑ ์์ ํน์ง ๊ธฐ์ค์ ๊ณผ, ๊ต์ฐจ ํน์ง์ ์ถฉ๋ยท๊ณผ์ ํฉ์ ๋ถ๋ฆฌํ๋ ๋์กฐ๊ตฐ์ ๋จผ์ ๋น๊ตํ๋ค. ํ์ํ๋ฉด ๋ผ์ด์ ์ค๋ฅผ ํ์ธํ ์ ์ ์๋ฏธ ์๋ฒ ๋ฉ์ ๋ณ๋ ์คํ์ผ๋ก ์ถ๊ฐํ๋ค. ๊ตฌ์กฐ ์ ํ์ ๊ฒ์ฆ ์๋ฃ๋ฅผ ๋ฐ๋ณต ์ฌ์ฉํ๋ค๋ ์ด๋ ฅ์ ์ ์งํ๋ฉฐ, ์ค์ ์ ๊ณ ์ ํ ๋ค์๋ง reserve1์ ํ ๋ฒ ํ๊ฐํ๋ค. ์ค์ ํ๋ณด ๊ฒ์ยท์ต์ข ์์ ์ฑ๊ณตยทLLM ํธ์ถ ์ ๊ฐ์ ์ฌ์ ํ ๋ณ๋ ๊ฒ์ฆ์ด ํ์ํ๋ค.
CoSQA ์ ์ ๋ฐฐํฌ๋ณธ์ ์ฝ๋๋ MIT, ๋ฐ์ดํฐ๋ C-UDA๋ค. ์ด๋ฒ์๋ ๋ก์ปฌ ๊ณ์ฐ ์ฌ์ฉ๊ณผ ์ง๊ณ ๊ณต๊ฐ๋ง ํ๋ค. ์๋ฌธยท๋ผ๋ฒจ ํยท๋ชจ๋ธ ๋ณธ์ฒด๋ GitHub์ ์ฌ๋ฆฌ์ง ์์๋ค. ์ ๊ฐ์ค์น์ Hugging Face ๋ฐฐํฌ๋ ์ถ์ฒยท๋ผ์ด์ ์คยท๊ณต๊ฐ ๋ด์ฉยท๋ชจ๋ธ ๊ฒ์ฆ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ถ ํ ๋ณ๋๋ก ์ฒ๋ฆฌํ๋ฉฐ, ์ด๋ฒ ๊ธฐ๋ก์ ๊ฒ์ ์๋ฃ๋ฅผ ๋ปํ์ง ์๋๋ค.