Retrieval Audit 06 KO - teamswyg/laya-tools GitHub Wiki
๊ฒ์ ์๋ฃ ์ ๊ฒ 06: 2,400๊ฐ์ ์๋ก ๋ค๋ฅธ ์ง๋ฌธ์ ์ค๋นํ๊ธฐ
์์ง ๊ฒ์ ์ฑ๋ฅ ์ํ์ด ์๋๋ค. 24๊ฐ ์ง๋ฌธ์ ํ๋ณด 100๊ฐ์ฉ์ ๋ถ์ฌ๋ ์ง๋ฌธ 2,400๊ฐ๊ฐ ๋์ง๋ ์๋๋ค. ๊ธฐ์กด CoSQA ๋ถ๋ฅ ์ํ์ ์คํจ๋ฅผ ์ ์งํ๋ฉด์, ์ค์ ํ๋ณด ์ฐพ๊ธฐ ์ํ์ ์ธ ๋ณ๋ ์๋ฃ์ ํธํฅ๊ณผ ๋ถ๋ฆฌ ๊ฐ๋ฅ์ฑ์ ์กฐ์ฌํ๋ค. ์๋ฌธยท์ง๋ฌธยท์ฝ๋ยท๊ฐ์ค์น๋ ๊ณต๊ฐํ์ง ์๋๋ค.
ํ์ธํ ์์น
| ํญ๋ชฉ | ์ |
|---|---|
| ํจ์/์ค๋ช ์ | 14,291 |
| ์ ์ฅ์ | 213 |
| ์๋ฌธ์ยท๊ณต๋ฐฑ ์ ๊ทํ ํ ๊ณ ์ ์ค๋ช | 11,678 |
| ์ฃผ์ยท์์์ ์ ์ธํ ๊ณ ์ Go ํ ํฐ์ด | 14,291 |
| ์ค๋ช ์ ํจ์ ์ด๋ฆ์ด ๋ ๋ฆฝ๋ ๋จ์ด๋ก ๋ฑ์ฅ | 12,908 |
| ์ค๋ช ์ ์ฒด๊ฐ ์ฝ๋์ ์ ๊ทํ ํ ๊ทธ๋๋ก ํฌํจ | 2 |
| ์ค๋ช ์ด ์ธ ๋จ์ด ๋ฏธ๋ง | 104 |
| ๊ฒฝ๋กยทํจ์ ๋ฐ์ท๋ฌธ์์ ์ฐพ์ ์์ฑ ์ฝ๋ ๋จ์ | 34 |
| ์ ์ฅ์ยท๋์ผ ์ค๋ช ยท๋์ผ ์ฝ๋๋ก ์ฐ๊ฒฐํ ๊ทธ๋ฃน | 205 |
ํจ์ ์ด๋ฆ ์ถํ์ ๋์๋ฌธ์๋ฅผ ๋ฌด์ํ๊ณ ๋ฌธ์ยท์ซ์ยท๋ฐ์ค ๋จ์ด ๊ฒฝ๊ณ๋ฅผ ํ์ธํ๋ค. ์ด๊ฒ๋ง์ผ๋ก ๋ถ์ ํ ๋ฐ์ดํฐ ๋์ถ์ด๋ผ๊ณ ๋จ์ ํ์ง ์๋๋ค. ๋ค๋ง ์ฌ์ฉ์๊ฐ ํจ์ ์ด๋ฆ์ ๋ชจ๋ฅด๋ ํ์ ๋ฅ๋ ฅ๊ณผ ์ด๋ฆ ๊ฒ์ ๋ฅ๋ ฅ์ ๊ตฌ๋ถํด์ผ ํ๋ค. ์ ์ฒด ํ์์ ํจ์ ์ด๋ฆ์ด ์๋ ํ์ 1,383๊ฐ์ด๋ฏ๋ก ํ์ฌ ์๋ฃ๋ง์ผ๋ก 'ํจ์ ์ด๋ฆ์ ๋ชจ๋ฅด๋ ์ง๋ฌธ 2,400๊ฐ' ์ํ์ ๋ง๋ค ์ ์๋ค. ๊ฐ์ ์ค๋ช ์ ์ฌ์์ฑํด ์๋ง ์ฑ์ฐ์ง ์๋๋ค.
codeKey๋ Go scanner๋ก ์ฃผ์ยท์์์ ์ ๊ฑฐํ์ง๋ง ๋ฌธ์์ด ๋ด์ฉ๊ณผ ํ ํฐ ๊ฒฝ๊ณ๋ฅผ ์ ์งํ๋ค. ๋ณ์๋ช
๋ณ๊ฒฝยท์๋ฏธ์ ๋ณต์ ๊น์ง ์ฐพ์๋ค๋ ๋ป์ ์๋๋ค. ๋์ผ ์ ์ฅ์ ๋๋ ๋์ผ ์ค๋ช
/์ฝ๋๋ก ์ฐ๊ฒฐ๋ ์ฌ๋ก๋ฅผ ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ํฅํ ํ์ต/ํ๊ฐ ๋์ถ์ ์ค์ผ ์ ์๋ค. ๊ฐ์ฅ ํฐ ๊ทธ๋ฃน์ ํ ์ ์ฅ์์ 2,579๊ฐ๋ผ, ๊ทธ๋ฃน ํ๋๋ก ์์น ๋ชฉํ๋ฅผ ์ฑ์ฐ๋ ๊ฒ์ ํผํ๊ณ ์ถ์ฒ๋ณ ์ฑ๋ฅ๋ ๋ณด๊ณ ํด์ผ ํ๋ค. ์์ง ๋ถํ ์ด๋ ์ ์ธ ์ ์ฑ
์ ํ์ ํ์ง ์์๋ค.
์์ฑ ์ฝ๋์ ์ด์ฉ ์กฐ๊ฑด
์์ฒ์ CodeSearchNet ๋ฐฐํฌ๋ณธ์ ๊ณ ์ Parquet๋ค. SHA256์ cb78d8951e9623bc2460d9b29c3c4152724f28c4f685fc019e0aafa071d2b18f, ํฌ๊ธฐ๋ 9,751,451๋ฐ์ดํธ๋ค. Python์ ์ ์ง๊ด๋ฆฌ์ฉ Parquet ํฌ์์๋ง ์ฐ๋ฉฐ ์ ๊ฒ ๊ณ์ฐ์ Go๋ค.
๊ฒฝ๋ก๋ง ๋ณด๊ณ ์์ฑ ์ฝ๋๋ฅผ ํ์ ํ ์ ์๋ค. chromedp/cdproto๋ 2,579๊ฐ ํ๊ณผ 114๊ฐ ๊ฒฝ๋ก๋ฅผ ์ฐจ์งํ๋ค. ํ๋ณธ์ผ๋ก ์์ฒ commit์ domstorage.go๋ฅผ ํ์ธํ์ผ๋ฉฐ ํค๋์ Generated by the cdproto-gen command.๊ฐ ์์๋ค. ํ์ธํ ํ์ผ SHA256์ 86521cac6e076b84c700a6236787d5be52fb211ab06de518db919fe76d48efa0์ด๋ค. ์ด๊ฒ์ผ๋ก ๋๋จธ์ง 113๊ฐ ํ์ผ๋ ๊ฒ์ฌํ๋ค๊ณ ์ฃผ์ฅํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์์ 34๊ฐ๋ ์์ฑ ์ฝ๋ ์ ์ฒด ์๊ฐ ์๋๋ค.
vendor ๊ฒฝ๋ก๊ฐ 0๊ฐ์ฌ๋ ์ 3์ ์ฝ๋๊ฐ ์๋ค๋ ์๋ฏธ๋ ์๋๋ค. ๊ธฐ์กด ์ถ์ฒยท๋ฃจํธ ๋ผ์ด์ ์ค ์ ๊ฒ์ ์ผ๋ถ ์ ์ฅ์๋ง ๋ค๋ฃฌ๋ค. ํ์ผ๋ณ ๊ณ ์ง, ์์ฑ ์ฝ๋, ์ค๋ณต๊ณผ ์ง๋ฌธ ์ถ์ฒ๋ฅผ ์ถ๊ฐ ์ ๊ฒํด์ผ ํ๋ฉฐ, ๊ฒฐ๊ณผ์ license_cleared=false๋ฅผ ์ ์งํ๋ค. ์ค๋ช
๊ธฐ๋ฐ ์ง๋ฌธ์ ์ค์ ์ฌ์ฉ์ ์์ฒญ๊ณผ ๊ตฌ๋ถํ๋ค.
๋ค์ ํ๊ฐ ๊ณ์ฝ
- ๊ฒ์ ์ง๋ฌธ์ ์ต์ 2,400๊ฐ์ ์๋ก ๋ค๋ฅธ ์ง๋ฌธ์ผ๋ก ์ผ๋ค. ํ๋ณด ์, ๋ฐ๋ณต ์คํ, ๋ฒ์ญยท๋จ์ ์ฌ์์ฑ์ผ๋ก ์๋ฅผ ๋ถํ๋ฆฌ์ง ์๋๋ค.
- ์ค์ ์์ฐ์ด ํ์ ์ฃผ์ฅ์ ํจ์ ์ด๋ฆ์ ๋ชจ๋ฅด๋ ๋ ๋ฆฝ ์ง๋ฌธ ์๋ฃ๊ฐ ํ์ํ๋ค. ํ์ฌ ์ค๋ช ๊ธฐ๋ฐ ์ํ์ ๋ณ๋ ๋๋ฆฌ ์งํ๋ก ๊ธฐ๋กํ๋ค. ์ด๋ฆ ์ ๋ฌด๋ณ ๊ฒฐ๊ณผ๋ฅผ ๋๋๊ณ , ์ด๋ฆ ์ ๊ฑฐ ์ํ์ ์ธ์์ ์ธ ๋ณด์กฐ ์ํ์์ ํ์ํ๋ค.
- ์ ์ฅ์ยท์ค๋ณต ์ฐ๊ฒฐ ๊ทธ๋ฃน์ ๋ถ๋ฆฌํ๊ณ ์ถ์ฒ๋ณ ๊ฒฐ๊ณผ์ ์ง์ค๋๋ฅผ ๊ณต๊ฐํ๋ค. ์ด์ฉ ์กฐ๊ฑด์ด ํ์ธ๋ ์๋ฃ๋ง ์ฑํํ๋ค. ๋ชจ๋ธ ์ ์๋ฅผ ๋ณด๊ณ ์ฌ์ด ์ฌ๋ก๋ฅผ ๊ณ ๋ฅด์ง ์๋๋ค.
- ์๋ ค์ง ์ ๋ต ํจ์์ ์์, Recall@k/MRR, ๊ฒ์ฌ ํ๋ณด ์, ์ค๋น ์๊ฐ, ๊ฒ์ p50/p95, ์ ์ฒด RSS๋ฅผ ์ธก์ ํ๋ค. ๋ค๋ฅธ ํ๋ณด๋ ๋ฏธํ์ ์ด๋ฉฐ ๋ฌด์กฐ๊ฑด ์ค๋ต์ผ๋ก ์ธ์ง ์๋๋ค.
- ์ค์ ์์ด์ ํธ ์์ ์ฑ๊ณต๋ฅ ยท์ด ์๊ฐยทLLM ์ฌ์ฉ๋์ ๋ณ๋ ์ํ์ด๋ค. ์ด ์๋ฃ์ ์ ์๋ก ๋น์ฉ ์ ๊ฐ์ด๋ ์ค์ฌ์ฉ ์ค๋น ์๋ฃ๋ฅผ ์ฃผ์ฅํ์ง ์๋๋ค. CoSQA reserve ๋ ๋ฌถ์์ ๊ทธ๋๋ก ๋ฏธํ๊ฐ ์ํ๋ค.
์ฌํ
๊ณ ์ Parquet์ ์ ์ง๊ด๋ฆฌ์ฉ PyArrow ํ๊ฒฝ์ ์ค๋นํ ๋ค ์คํํ๋ค. ํฌ์ ํ์ผ์ ์๋ฌธ์ ํฌํจํ๋ฏ๋ก .cache ๋ฐ์ ๊ณต๊ฐํ์ง ์๋๋ค. ์ถ๋ ฅ ํ์ผ์ ์ ๊ฒ์ด์ด์ผ ํ๋ค.
python scripts/training/project_retrieval_audit.py \
--input .cache/codesearchnet-go/go/test-00000-of-00001.parquet \
--output .cache/retrieval-audit-new.jsonl
go run ./cmd/riido-retrievalaudit --input .cache/retrieval-audit-new.jsonl
Go CLI๋ ๋ก์ปฌ JSONL์ ์ ๊ฒํ๋ ๋๊ตฌ์ด๋ฉฐ ์ ๋ ฅ ์ ์ฒด 64MiB/ํ 2MiB/100,000ํ ํ๋๋ฅผ ๋๋ค. ๋ฏธ์ง ํ๋ยท์ฌ๋ถ JSONยท๋น ์๋ฃ๋ฅผ ๊ฑฐ๋ถํ๋ค. ์์ฒ ๊ณ ์ ํด์๋ ํฌ์ ๋๊ตฌ๊ฐ ํ์ธํ๊ณ Go ๊ฒฐ๊ณผ๋ ํฌ์ ํ์ผ์ ํด์๋ฅผ ๊ธฐ๋กํ๋ค. Go CLI ๋จ๋ ์ผ๋ก ์ถ์ฒ๋ฅผ ์ธ์ฆํ์ง๋ ์๋๋ค. ๋งต์ ์คํ๋ผ์ธ ์ค๋ณต ์ ๊ฒ์๋ง ์ฌ์ฉํ๋ฉฐ ์ถ๋ก ๊ฒฝ๋ก๊ฐ ์๋๋ค.
Apple M4 Pro/Go1.27.1์์ ์ปดํ์ผ๋ ์ ๊ฒ ๋๊ตฌ์ ์ฌ์คํ์ wall 0.66์ด, user CPU 0.30์ด, ์ต๋ RSS 63,143,936๋ฐ์ดํธ์๋ค. ์ถ๋ ฅ์ ์ฒซ ์คํ๊ณผ ๋ฐ์ดํธ ๋จ์๋ก ๊ฐ์๋ค. Parquet ํฌ์ยท๋ค์ด๋ก๋ ์๊ฐ์ ํฌํจํ์ง ์์ผ๋ฉฐ ๋ชจ๋ธ ์ถ๋ก ์ฑ๋ฅ๋ ์๋๋ค.