Training Source 36 KO - teamswyg/laya-tools GitHub Wiki

๋ณ„๋„ ํ•™์Šต ์ž๋ฃŒ์˜ ์ค‘๋ณตยท์ถœ์ฒ˜ ๊ฒ€์‚ฌ โ€” ์‹คํ—˜ 36

์ƒˆ ํ›„๋ณด๊ตฐ 15,423๊ฐœ ์ž‘์—… ๊ทธ๋ฃน, 35๊ฐœ ์ €์žฅ์†Œ๋ฅผ ํ™•๋ณดํ–ˆ๋‹ค. ์•„์ง ํ•™์Šตยท๊ฒ€์ฆยท์ตœ์ข… ํ‰๊ฐ€ ๋ถ„ํ• ์ด๋‚˜ ๋ชจ๋ธ ํ•™์Šต์€ ์•„๋‹ˆ๋‹ค. ๊ธฐ์กด ํ‰๊ฐ€ ์ž๋ฃŒ์˜ ์ž‘์—… IDยท์ •๊ทœํ™”๋œ ์งˆ๋ฌธยท์ฝ”๋“œ ์‹œ์ ยท์ €์žฅ์†Œ ์ด๋ฆ„๊ณผ ๊ฒน์น˜์ง€ ์•Š๋Š” ๋ณ„๋„ ์ž๋ฃŒ๋ฅผ ํ™•์ธํ•œ ๋‹จ๊ณ„๋‹ค.

๊ธฐ์กด SWE-bench/SWE-bench ๊ณ ์ •๋ณธ์—๋Š” test/dev๋งŒ ์žˆ์—ˆ๋‹ค. ์› ๋ฐฐํฌ๋ณธ์˜ ๊ณ ์ • revision์€ ๋ณ„๋„ train 19,008๊ฐœ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋‹ค์šด๋กœ๋“œ ์ „์— ํŒŒ์ผ ํฌ๊ธฐยทSHA-256ยท๋ถ„์„ ๊ทœ์น™์„ ๊ณ„ํš์— ๊ณ ์ •ํ–ˆ๋‹ค. ์ตœ์‹  main์œผ๋กœ ์ž๋™ ๊ฐฑ์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํ•ญ๋ชฉ ๊ฒฐ๊ณผ
์›๋ž˜ train ํ–‰ / ๊ณ ์œ  ID 19,008 / 19,008
๊ณ ์œ  ์ •๊ทœํ™” ์งˆ๋ฌธ / ์ €์žฅ์†Œยท์ˆ˜์ • ์ „ ์ปค๋ฐ‹ 18,257 / 16,138
์—ฐ๊ฒฐ๋œ ์ž‘์—… ๊ทธ๋ฃน / ๋Œ€ํ‘œ ์ž‘์—… 15,423 / 15,423
๊ฐ™์€ ๊ทธ๋ฃน์˜ ์ถ”๊ฐ€ ํ–‰ 3,585
๊ธฐ์กด ํ‰๊ฐ€ ์ž๋ฃŒ์™€ ์ง์ ‘ ๊ฒน์นœ IDยท์งˆ๋ฌธยท์‹œ์  ๋ชจ๋‘ 0
๊ธฐ์กด ํ‰๊ฐ€ ์ž๋ฃŒ์™€ ๊ฒน์นœ ์ €์žฅ์†Œ ์ด๋ฆ„ 0
ํ‰๊ฐ€ยท์ด์ „ ์ž๋ฃŒ์™€์˜ ์—ฐ๊ฒฐ๋กœ ์ œ์™ธ๋œ ํ•™์Šต ํ–‰ 0
ํ›„๋ณด ์ €์žฅ์†Œ 35

ID, ์†Œ๋ฌธ์žยท๊ณต๋ฐฑ ์ •๊ทœํ™” ์งˆ๋ฌธ, ์ €์žฅ์†Œ/์ˆ˜์ • ์ „ ์ปค๋ฐ‹ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๊ฐ™์œผ๋ฉด ์—ฐ๊ฒฐํ•˜๊ณ  ์—ฐ์‡„ ์—ฐ๊ฒฐ๋„ ๊ฐ™์€ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์—ˆ๋‹ค. ๊ธฐ์กด ํ‰๊ฐ€ ์›๋ณธ 2,594๊ฐœ ์ „์ฒด๋ฅผ ๋น„๊ตํ–ˆ์œผ๋ฉฐ, 2,400๊ฐœ์— ์„ ํƒ๋˜์ง€ ์•Š์€ ํ˜•์ œ ์ž‘์—…๋„ ๋ณดํ˜ธํ•œ๋‹ค. ์ด์ „ ๋ฌธ์„œ ๊ฒ€์ƒ‰์˜ etcdยทKubernetesยทLXD ์ €์žฅ์†Œ๋„ ์ œ์™ธ ๋Œ€์ƒ์œผ๋กœ ๋‘”๋‹ค. ํ‰๊ฐ€ ๋˜๋Š” ์ œ์™ธ ์ €์žฅ์†Œ์— ๋‹ฟ๋Š” ๊ทธ๋ฃน์€ ์ „์ฒด ์ œ์™ธํ•˜๊ณ , ๋‚˜๋จธ์ง€ ๊ทธ๋ฃน์—์„œ ID ์‚ฌ์ „์ˆœ ์ฒซ ์ž‘์—… ํ•˜๋‚˜๋ฅผ ๋Œ€ํ‘œ๋กœ ์‚ผ๋Š”๋‹ค. ๋‚œ์ด๋„ยท์ •๋‹ตยท๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋Š” ๋ณด์ง€ ์•Š์•˜๋‹ค. ์ €์žฅ์†Œ๋ณ„ ์ „์ฒด ์ง‘๊ณ„.

ํ›„๋ณด ๊ทธ๋ฃน์—์„œ๋„ pandas 3,639๊ฐœ(์•ฝ 23.6%), Qiskit 1,314๊ฐœ ๋“ฑ ํŽธ์ค‘์ด ์žˆ๋‹ค. ๊ฐ™์€ ์งˆ๋ฌธ์˜ ์˜๋ฏธ์ƒ ๋ณ€ํ˜•, ํฌํฌยท์ด๋ฆ„ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์ €์žฅ์†Œ ๋ณ„์นญ, ๊ธฐ์กด ๋ชจ๋ธ ์‚ฌ์ „ํ•™์Šต ์˜ค์—ผ๊นŒ์ง€ ์—†๋‹ค๊ณ  ์ฆ๋ช…ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ํ˜„์žฌ ๋น„๊ต๋Š” ์ •ํ™•ํ•œ ๋ฌธ์ž์—ด๊ณผ ๋ช…์‹œํ•œ ์ •๊ทœํ™”ยท์—ฐ๊ฒฐ ๊ทœ์น™์ด๋‹ค. 15,423๊ฐœ๋ฅผ ๋ชจ๋‘ ๋…๋ฆฝ ๊ด€์ธก์œผ๋กœ ์ทจ๊ธ‰ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.

Python์€ ๊ธฐ์กด PyArrow ํ™˜๊ฒฝ์˜ ๊ด€๋ฆฌ์ž ์ „์šฉ Parquet ๋ณ€ํ™˜์—๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. ๊ณ ์ • ์›๋ณธ ํ•ด์‹œยท19,008ํ–‰ยท๋ฌธ์ž์—ด ํ•„๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ , ํ•œ ๋ฒˆ์— 128ํ–‰์”ฉ instance_id, repo, base_commit, problem_statement๋งŒ ๋‚ด๋ณด๋‚ธ๋‹ค. patchยทํžŒํŠธยทํ…Œ์ŠคํŠธ ํ•„๋“œ๋Š” Go ์ž…๋ ฅ์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ์…‹ ์Šคํฌ๋ฆฝํŠธ๋„ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. projectionยท๊ฐ์‚ฌ ์ถœ๋ ฅ์€ 0600์ด๋ฉฐ ๋‹ค์šด๋กœ๋“œยท๊ฐ์‚ฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” 0700์ด๋‹ค.

์‹ค์ œ ์ค‘๋ณต ๊ฒ€์‚ฌยท์—ฐ๊ฒฐยท๋Œ€ํ‘œ ์„ ํƒ์€ Go์˜ ์ •๋ ฌ ๋ฐฐ์—ด๊ณผ union-find๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋ณ„๋„ ํ•™์Šต reader๋งŒ 96MiBยท32,768ํ–‰์„ ํ—ˆ์šฉํ•˜๋ฉฐ ๊ธฐ์กด ํ‰๊ฐ€ reader์˜ 32MiBยท4,096ํ–‰ ํ•œ๋„๋‚˜ ์ œํ’ˆ ๋Ÿฐํƒ€์ž„ ํ•œ๋„๋Š” ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ์›๋ฌธ ํ•œ ํ–‰์€ ๊ธฐ์กด 1MiB ํ•œ๋„๋ฅผ ์œ ์ง€ํ•œ๋‹ค.

go run ./cmd/riido-trainaudit --out .cache/training-audit-new

๊ณ ์ • projection์€ ๋กœ์ปฌ ๊ด€๋ฆฌ์ž ๋ณ€ํ™˜์œผ๋กœ ์ค€๋น„ํ•ด์•ผ ํ•œ๋‹ค. ์‹คํ–‰์€ ๋„คํŠธ์›Œํฌ ์—†์ด ์ง‘๊ณ„ results.json๊ณผ ๋น„๊ณต๊ฐœ ๋Œ€ํ‘œ ๋ชฉ๋ก candidates.json์„ ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์“ด๋‹ค. ์›๋ณธ Parquet 106,606,519๋ฐ”์ดํŠธ, ์š”์ฒญ projection 41,811,016๋ฐ”์ดํŠธ๋‹ค. ์›๋ณธ ์ „์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ํ’€๊ฑฐ๋‚˜ Docker ์ด๋ฏธ์ง€๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์•˜๋‹ค. M4 Pro CPU์˜ Go ๊ฒ€์‚ฌ ์ „์ฒด๋Š” 2.04์ดˆ, user 1.70์ดˆ, system 0.04์ดˆ, ์ตœ๋Œ€ RSS 175,915,008๋ฐ”์ดํŠธ(์•ฝ 167.8MiB)์˜€๋‹ค. ๋‹ค์šด๋กœ๋“œยทParquet ๋ณ€ํ™˜์€ ์ด ์ˆ˜์น˜์— ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ชจ๋ธ ์ถ”๋ก  ์ˆ˜์น˜๋„ ์•„๋‹ˆ๋‹ค.

projection ์žฌ๋ณ€ํ™˜, ์ผ๋ฐ˜ ์žฌ์‹คํ–‰, ์‹ค์ œ ์ „์ฒด ์ž๋ฃŒ race ์‹คํ–‰์—์„œ ๊ฐ๊ฐ ํŒŒ์ผ์ด ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ผ์น˜ํ–ˆ๋‹ค. ๊ธฐ์กด 2,400๊ฐœ ํ‰๊ฐ€ ์„ ํƒ ์ง€๋ฌธ๋„ ๊ทธ๋Œ€๋กœ๋‹ค. ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ๋กœ ์—ฐ์‡„ ์ œ์™ธยท๋Œ€ํ‘œ ์„ ํƒยท์ž…๋ ฅ ์ˆœ์„œ ๋ถˆ๋ณ€ยท์ž…๋ ฅ ๋น„๋ณ€๊ฒฝยท์ค‘๋ณต ID ๊ฑฐ์ ˆยทํ•„๋“œ ๊ฒฉ๋ฆฌยท๊ธฐ์กด ํ•œ๋„ ์œ ์ง€ยท์ถœ๋ ฅ ๊ถŒํ•œยท๋ฎ์–ด์“ฐ๊ธฐ ๋ฐฉ์ง€๋ฅผ ๊ฒ€์‚ฌํ•œ๋‹ค. PyArrow ํ…Œ์ŠคํŠธ๋Š” ๋กœ์ปฌ ๊ด€๋ฆฌ์ž ํ™˜๊ฒฝ์—์„œ ์ˆ˜ํ–‰ํ•˜๋ฉฐ CI์— ์ƒˆ Python ๋Ÿฐํƒ€์ž„์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋ผ์ด์„ ์Šค: ๊ณ ์ • ๋ฐ์ดํ„ฐ ์นด๋“œ์—๋Š” ๋ช…์‹œ์  ๋ผ์ด์„ ์Šค ํ•ญ๋ชฉ์ด ์—†๋‹ค. ์ž๋ฃŒ ์ด๋ฆ„์˜ train์ด๋‚˜ SWE-bench ๋„๊ตฌ ์ฝ”๋“œ์˜ MIT ๋ผ์ด์„ ์Šค๋งŒ์œผ๋กœ ์› ์ด์ŠˆยทํŒจ์น˜ ๋ฐ ํŒŒ์ƒ ๋ชจ๋ธ ๋ฐฐํฌ๊ฐ€ ๋ชจ๋‘ ์Šน์ธ๋๋‹ค๊ณ  ํŒ๋‹จํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ ์ €์žฅ์†Œ์˜ ํ•ด๋‹น ๊ณผ๊ฑฐ ์‹œ์  ๋ผ์ด์„ ์Šคยท์ถœ์ฒ˜ยท์ œ3์ž ์ž๋ฃŒ๋ฅผ ๊ฒ€ํ† ํ•œ ๋’ค ํ•™์Šต ๋ฒ”์œ„์™€ ๋ฐฐํฌ ์—ฌ๋ถ€๋ฅผ ์ •ํ•œ๋‹ค. TrainingApproved=false๋Š” ์ด ์—ฐ๊ตฌ ๋‹จ๊ณ„์˜ ๋ฏธ์™„๋ฃŒ ์ƒํƒœ์ด๋ฉฐ ๋ฒ•๋ฅ  ํŒ๋‹จ์ด ์•„๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ณต๊ฐœํ•˜๋Š” ๊ฒƒ์€ ์ž์ฒด ์ฝ”๋“œยท๊ณ„ํšยท์ง‘๊ณ„๋ฟ์ด๊ณ , ์›๋ฌธยทํŒจ์น˜ยท๋Œ€ํ‘œ ์ž‘์—… ๋ชฉ๋กยท๋ชจ๋ธ ํŒŒ์ผ์€ ์˜ฌ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„๋Š” ๋ผ์ด์„ ์Šค์™€ ์ €์žฅ์†Œ ๋ณ„์นญ ํ™•์ธ, ์ €์žฅ์†Œ์™€ ๊ด€๋ จ ์ž‘์—…์„ ํ•จ๊ป˜ ๋ถ„๋ฆฌํ•˜๋Š” ํ•™์Šต/๊ฒ€์ฆ/์ƒˆ ์ตœ์ข… ํ‰๊ฐ€ ์„ค๊ณ„, ์ตœ์†Œ 2,400๊ฐœ ์ตœ์ข… ์ž‘์—… ํ™•๋ณด, ๊ทธ๋ฆฌ๊ณ  ๋ณ„๋„ ํ›„๋ณด์˜ ํŒŒ์ผ ๋ชฉ๋กยทํ•™์Šต ๋ผ๋ฒจ ์ค€๋น„๋‹ค. ๋ชจ๋ธ์˜ ๋ชฉํ‘œ๋Š” โ€œ๋ณด์กฐ ๊ฒ€์ƒ‰์„ ์“ธ ๋•Œ ๋น„์šฉ์ด ์ค„์–ด๋“ค ๊ฐ€๋Šฅ์„ฑโ€์ด๋ผ๋Š” ํžŒํŠธ๋‹ค. ํŒŒ์ผ ์ˆ˜์ • ๋ชฉ๋ก๋งŒ์œผ๋กœ ์ž‘์—… ๋‚œ์ด๋„ยท๋ถ„ํ•  ๊ฐ€๋Šฅ์„ฑยท๋ชจ๋ธ ๋ผ์šฐํŒ… ์ •๋‹ต์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๊ธฐ์กด ํ‰๊ฐ€ ์ž๋ฃŒ๋กœ ํ•™์Šตํ•˜์ง€ ์•Š์•˜๊ณ , ๊ธฐ์กด ์ตœ์ข… ์˜ˆ๋น„ ํ‰๊ฐ€์…‹์„ ์ฑ„์ ํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ Hugging Face ๋ชจ๋ธ ๋ฐฐํฌ๋„ ์—†๋‹ค.

Follow-up / ํ›„์†: Frozen train/validation/final roles / ํ•™์Šตยท๊ฒ€์ฆยท์ตœ์ข… ๋ถ„ํ•  ์™„๋ฃŒ.