Laya Original 19 KO - teamswyg/laya-tools GitHub Wiki
์๋ณธ Laya ์ฝ๋ ๋ชจ๋ธ์ ๊ฒ์ฆ ํ๊ฐ 19
์๋ณธ ๊ฐ์ค์น๋ฅผ FP32๋ก ์คํํด๋ ํ์ฌ ๊ด๋ จ์ฑ ๊ฒ์ฆ ๊ธฐ์ค์ ํต๊ณผํ์ง ๋ชปํ๋ค. ์ ์ ์์ AUC๋ 0.5008, ๊ฐ์ ์ง๋ฌธ์ INT8์ 0.5040, BM25๋ 0.5378์ด๋ค. ํ์ฌ ์ฒดํฌํฌ์ธํธยท์ ๋ ฅ ํ์ยท๊ณผ์ ์์ INT8 ๋ณํ๋ง ์ ๊ฑฐํ๋ค๊ณ ์ฑ๋ฅ์ด ๊ฐ์ ๋๋ค๋ ๊ทผ๊ฑฐ๊ฐ ์๋ค. ํ์ฌ ํค๋์ ์ถ๋ ฅ๊ฐ์ ๊ทธ๋๋ก ์ฆ๋ฅ์ฉ ์ ๋ต์ผ๋ก ์ฑํํ์ง ์๋๋ค.
๋น๊ต ์กฐ๊ฑด
๊ณํ์ ์ถ๋ก ์ ์ ์ปค๋ฐํ๊ณ ๊ณ ์ ํ๋ค. ์คํ 17b์ ๋์ผํ CoSQA ์์ฒยท๊ทธ๋ฃน ๋ถ๋ฆฌยท๊ฒ์ฆ 607๊ฐ๋ฅผ ์ฌ์ฉํ๋ค. ๊ธฐ์กด 4,096๋ฐ์ดํธ/64๋จ์ด ๋ฒ์์ ๋ง๋ ์๋ก ๋ค๋ฅธ ์ง๋ฌธ 553๊ฐ๋ง ์ถ๋ก ํ๊ณ 54๊ฐ๋ ๋ฒ์ ๋ฐ์ด์๋ค. ์ถ๊ฐ ํ ํฌ๋์ด์ ์ ์ธ๋ ์์๋ค. ์ง๋ฌธ๋ง๋ค ๋ ์ ํ์ง ์์๋ก ์คํํ 1,106ํ๋ ์ง๋ฌธ 1,106๊ฐ๋ฅผ ๋ปํ์ง ์๋๋ค.
์๋ณธ์ tindang/laya-code@25f97e5a2ec5f8cf7218a4f67504367d8832e1fe์ F16 ์ ์ฅ ๊ฐ์ค์น๋ฅผ FP32 CPU๋ก ์คํํ๋ค. ๋ชจ๋ธยท์ค์ ยทํ ํฌ๋์ด์ ยท์ค์น๋ Laya ์์ค์ ํด์๋ฅผ ์คํ 18 ๋ช
์ธ์ ๋์กฐํ๋ค. ์๊ฒฉ ๋ชจ๋ธ ์ ์ฅ์์ Python ์ฝ๋๋ฅผ ์คํํ์ง ์๋๋ค.
์
๋ ฅ์ File: [unavailable] + ์ฝ๋, ์ง๋ฌธ์ Is this source code relevant to the software change: "{query}"?, ์ ์ ์ ํ์ง ์์๋ false/true๋ค. ์ค์ ํ์ผ ๊ฒฝ๋ก๊ฐ ์์ผ๋ฏ๋ก ๊ทธ ์ฌ์ค์ ํ์ํ๋ค. ์ ์ ์์์ true ํ๋ฅ ์ด ์ฃผ ์งํ์ด๋ฉฐ ์ญ์ยทํ๊ท ์ ์ง๋จ์ฉ์ด๋ค. ์ด ๋ชจ๋ธ์ ์ํํธ์จ์ด ๋ณ๊ฒฝ๊ณผ ์ฝ๋์ ๊ด๋ จ์ฑ์ผ๋ก ํ์ต๋์ผ๋ฏ๋ก ์ผ๋ฐ ์์ฐ์ด ์ฝ๋ ๊ฒ์๊ณผ ๊ณผ์ ๊ฐ ๊ฐ๋ค๊ณ ๊ฐ์ ํ์ง ์๋๋ค.
๊ฒฐ๊ณผ
| ๋ฐฉ๋ฒ | ์ ์ ์์ AUC | ์ญ์ AUC | ๋ ์์ ํ๊ท ์ ์ AUC | ์์ ๋ณ๊ฒฝ ์ ํ๋จ ๋ถ์ผ์น |
|---|---|---|---|---|
| ์๋ณธ FP32, ์ด๋ฒ ์คํ | 0.5008 | 0.5212 | 0.5167 | 211/553 |
| INT8, ๊ณ ์ ๋ ์คํ 17b | 0.5040 | 0.5277 | 0.5214 | 217/553 |
| BM25, ๋์ผ ๋์ | 0.5378 | ํด๋น ์์ | ํด๋น ์์ | ํด๋น ์์ |
AUC๋ ๊ด๋ จ/๋น๊ด๋ จ ํญ๋ชฉ์ ์์๋ฅผ ์ผ๋ง๋ ๊ตฌ๋ถํ๋์ง ์ธก์ ํ๋ฉฐ 0.5 ๋ถ๊ทผ์ ์ด ๊ตฌ๋ถ์ด ๊ฑฐ์ ๋์ง ์๋ ์ํ๋ค. ๋ ๋ชจ๋ธ ๋ชจ๋ ์ฌ์ ๊ธฐ์ค AUCโฅ0.60 ๋ฐ BM25 ๋๋น +0.03์ ์ถฉ์กฑํ์ง ์๋๋ค. FP32์ INT8 ๊ฐ ์์ ์ฐจ์ด์ ํต๊ณ์ ์ฐ์ด์ ์ฃผ์ฅํ์ง ์๋๋ค. ์ฌ๋ฌ ์คํ์ ์ฌ์ฉํ ๊ฒ์ฆ ์๋ฃ์ด๋ฉฐ ๋ ๋ฆฝ์ ์ธ ์ต์ข ์ํ๋ ์๋๋ค.
์ ๋ ฅยท์ ๋ตยท์คํ ๋ถ๋ฆฌ
- Go๊ฐ ์ ์ฒด ์์ฒ ํด์์ ๊ทธ๋ฃน ๋ถ๋ฆฌ๋ฅผ ํ์ธํ๊ณ ๊ฒ์ฆ ๋์๋ง ์ถ์ถํ๋ค. Python์ ๋ณด๋ด๋ ํ์ผ์๋ ์ง๋ฌธยท์ฝ๋ยทํ ํฐยท์ ํ์งยท์๋ฆผ ์ฌ๋ถ๊ฐ ์๊ณ ์ ๋ต ๋ผ๋ฒจ์ ์๋ค.
- Python์ 1,106๊ฐ ์
๋ ฅ ์ ์ฒด๋ฅผ upstream
build_sequence๋ก ๋ค์ ๊ตฌ์ฑํ๋ค. Go ํ ํฐยท์ ํ์ง ์์น์ ๋ชจ๋ ์ผ์นํด์ผ ์ฒซ ์ถ๋ก ์ ์์ํ๋ค. ์ด๋ฒ ์คํ์ 1,106/1,106 ์ผ์นํ๋ค. - Python์ ์๋ณธ ๋ชจ๋ธ์ ์ ์๋ง ๋ก์ปฌ ํ์ผ์ ๊ธฐ๋กํ๋ค. Go๋ ์๋ ์์ฒ์์ ์ ๋ ฅ์ ์ฌ์์ฑํด ํ์ผ ์ ์ฒด ๋ฐ์ดํธ, ์์๋ณ ์์ฒญ ํด์, ๋ชจ๋ธยท๊ณํยท๋ถ๋ฆฌ ๋ช ์ธ๋ฅผ ๋์กฐํ๊ณ ๊ธฐ์กด ํ๊ฐ ์ฝ๋๋ก ์ง๊ณํ๋ค.
- BM25 ํต๊ณ๋ ๊ฐ๋ฐ ๋ถํ ๋ง ์ฌ์ฉํ๋ค. reserve๋ ์ ์ฒด ํด์ยท๋ถ๋ฆฌ ํ์ธ์ ์ํด ์ฝ์ง๋ง ๋ชจ๋ธ ์ถ๋ก ยทํ์ตยท์ฑ๋ฅ ์ ํ์ ์ฌ์ฉํ์ง ์๋๋ค. ์๋ฌธยท๊ฐ๋ณ ์ ์ ํ์ผ์ Git/HF์ ์ฌ๋ฆฌ์ง ์๋๋ค.
Go ์ง๊ณ๋ฅผ ๋ค์ ์คํํด ์๊ฐ ์ธ ๊ฒฐ๊ณผ๊ฐ ๋์ผํจ์ ํ์ธํ๋ค. ์๋ณธ ๋ชจ๋ธ ์ถ๋ก ์ ์ฒด๋ฅผ ๋ ๋ฒ ์คํํ ๊ฒ์ ์๋๋ค. ๋จ์ ๊ฒ์ฌ๋ ๊ฒ์ฆ ๋ถํ ยท๋ฒ์ ๋ฐ ์ ์ธ, ์ ํ์ง ์์, ๋ณ๊ฒฝ๋ ์์ฒญ๊ณผ ์๋ฆผ ์ ๋ณด ๊ฑฐ๋ถ, ์ ์ ์ฌ์ฌ์ฉ ๊ฑฐ๋ถ๋ฅผ ํ์ธํ๋ค.
๋น์ฉ๊ณผ ์ฌํ
Apple M4 Pro, macOS ARM64, CPU 4์ค๋ ๋, ์ต๋ 512ํ ํฐ. Python ์ฐธ์กฐ์ ์ธ๋ถ wall 85.46์ด, user CPU 163.06์ด, ์ต๋ RSS 3,009,675,264๋ฐ์ดํธ(์ฝ 2.80GiB). ๋ด๋ถ ์ธก์ 83.974์ด์๋ ๋ชจ๋ธ ์ค๋น์ 1,106ํ ์ถ๋ก ๋ฑ์ด ํฌํจ๋๋ค. 15๋ถยท8GiB RSS ์ ํ์ ํธ์ถ ์ฌ์ด์ ํ์ธํ๋ฉฐ ๊ฐ์ ์ ์ธ ํธ์ถ ๋ด๋ถ ์ ํ์ ์๋๋ค.
ํธ์ถ ์ค์๊ฐ 70.444ms, p95 96.377ms๋ Python์ ํ
์ ์ค๋นยทFP32 ์คํยทํ๋ฅ ๊ณ์ฐ ๊ตฌ๊ฐ์ด๋ค. INT8 ์คํ์ Go ํ ํฐํ ํฌํจ ํธ์ถ ์๊ฐ๊ณผ ๊ฒฝ๊ณ๊ฐ ๋ฌ๋ผ ์ ๋ฐํ ์๋ ๋น๊ต์ ์ฌ์ฉํ์ง ์๋๋ค. ๊ฒฐ๊ณผ์ Report.ProbeSeconds๋ ์ ์ฅ๋ ์ ์๋ฅผ Go๋ก ์ฌ์ยท์ง๊ณํ ์๊ฐ์ด๋ฉฐ ๋ชจ๋ธ ์ถ๋ก ์๊ฐ์ด ์๋๋ค. CPU ์ํ์ด๋ฉฐ GPUยทMPS ์ฑ๋ฅ์ ์ฃผ์ฅํ์ง ์๋๋ค.
go run ./cmd/riido-sourceprobe --stage prepare
python scripts/training/laya_original_validation.py --requests .cache/source19-requests.json --source-dir .cache/laya-code-source-18 --out .cache/source19-scores.json
go run ./cmd/riido-sourceprobe --stage evaluate
์๋ณธ ํ์ผ ์ค๋น์ maintainer ํ๊ฒฝ์ ์คํ 18์ ๋ฐ๋ฅธ๋ค. Python์ ์๋ณธ ๋ชจ๋ธ ๋น๊ต์ฉ ์ ์ง๊ด๋ฆฌ ๋๊ตฌ์ด๋ฉฐ ์ฌ์ฉ์ ๋ฐํ์์๋ ์ถ๊ฐํ์ง ์๋๋ค. ์ฌ์ค๋นยท์ฌ์ถ๋ก ์ ์ ์ถ๋ ฅ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋ค. sourceprobe์ --requestsยท--scores์ Python์ --requestsยท--out์ ๋ง์ถ๋ค. ์ง๊ณ ๊ฒฐ๊ณผ์ ํด์ยท๋ฒ์ ยท์ธก์ ๊ฐ์ ๊ธฐ๋กํ๋ค.
๋ค์ ๋ฐฉํฅ์ ๊ณผ์ ์ ๋ง๋ ์ฃผ์ฅ ํ์ต์ด๋ค. ํ์ฌ ์ฝ๋ ํค๋์ ์ ์๊ฐ ์ ์ฉํ๋ค๊ณ ์ ์ ํ ์ฆ๋ฅ๋ ๋ณด๋ฅํ๋ค. ์๋ณธ ์๋ฒ ๋ฉ์ ๊ฐ๋ฅ์ฑ, ๋ค๋ฅธ ํ์ต ๊ณผ์ , ์ค์ ๋ณ๊ฒฝ ์์ ์ ํ๋ณด ์์ ๋์์ ์ด๋ฒ ์ด์ง ๊ด๋ จ์ฑ ์ํ์ผ๋ก ํ์ ํ์ง ์์๋ค. ๋ฏธ์ฌ์ฉ 2,403๊ฐยท2,401๊ฐ reserve๋ ๋ค์ ํ๋ณด๊ฐ ๊ฒ์ฆ ๊ธฐ์ค์ ์ถฉ์กฑํ ๋๊น์ง ๋ณด์กดํ๋ค. ๊ธฐ๋ณธ ๋์ ๋ณ๊ฒฝยท์ ๊ท ๋ชจ๋ธ ํ์ตยทHF ๋ชจ๋ธ ๋ฐฐํฌ๋ ์๋ค.
Source: PR #42. Native evidence is local; Exact-head CI passed macOS, Linux, secrets and quality. Merged as f73fd7f78e54a33febbe7a0861154e6aff327f5b; software CI does not make the model-quality gate pass.