Development Labels 39 KO - teamswyg/laya-tools GitHub Wiki

ํ•™์Šตยท๊ฒ€์ฆ ์ •๋‹ต ๊ฒฝ๋กœ์˜ ์ œํ•œ๋œ ์ˆœ์ฐจ ์ฒ˜๋ฆฌ โ€” ์‹คํ—˜ 39

๊ฐœ๋ฐœ ์ž๋ฃŒ 13,021๊ฐœ ์ „์ฒด์˜ ์ •๋‹ต ์ค€๋น„ ๊ฒฐ๊ณผ๋ฅผ ์ง‘๊ณ„ํ–ˆ๋‹ค. ๊ธฐ์กด ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์–ป์€ ์ž‘์—…์€ 12,669๊ฐœ์ด๋ฉฐ, ๊ณต๋ฐฑ ํŒจ์น˜ 292๊ฐœยทํฌ๊ธฐ ์ดˆ๊ณผ 2๊ฐœยท๊ธฐ์กด ๊ฒฝ๋กœ ์—†์Œ 58๊ฐœ๋ฅผ ๋ณ„๋„๋กœ ๋ณด์กดํ–ˆ๋‹ค. ๋ชจ๋ธ ํ•™์Šต์ด๋‚˜ ํ’ˆ์งˆ ๊ฐœ์„  ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ตœ์ข… ํ‰๊ฐ€ 2,402๊ฐœ์™€ ๋ฏธ์„ ํƒ ํ˜•์ œ ์ž‘์—…์€ ๋Œ€์ƒ์—์„œ ์ œ์™ธํ–ˆ๋‹ค.

์›๋ž˜ ๊ณ„ํš์„ ๋จผ์ € ๊ณ ์ •ํ–ˆ๋‹ค. ์ž…๋ ฅ์€ ์‹คํ—˜ 36์˜ ๊ณ ์ • Parquet์™€ ์‹คํ—˜ 37์˜ ๊ณ ์ • ์—ญํ•  ์†Œ์†์ด๋‹ค. ๊ฐœ๋ฐœ ID๋ฅผ Arrow ๋‹จ๊ณ„์—์„œ ์„ ํƒํ•œ ๋’ค ์„ ํƒ๋œ ํŒจ์น˜๋งŒ ๊ด€๋ฆฌ์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. Parquet ๋‚ด๋ถ€์—์„œ ๋‹ค๋ฅธ ํ–‰์˜ ๋ฐ”์ดํŠธ๊ฐ€ ์••์ถ• ํ•ด์ œ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ฃผ์žฅ์€ ์•„๋‹ˆ๋‹ค. ์ตœ์ข… ์—ญํ• ์˜ ํŒจ์น˜๋ฅผ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜ ์ •๋‹ต์„ ์ƒ์„ฑยท์ฑ„์ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ฒซ ๋ณ€ํ™˜์€ JSON ํ•œ ํ–‰์ด 117,856,291๋ฐ”์ดํŠธ์—ฌ์„œ ์‚ฌ์ „ 16MiB ํ•œ๋„์—์„œ ์ค‘๋‹จ๋๋‹ค. ์ง„๋‹จ ์žฌ์‹คํ–‰๋„ ๊ฐ™์€ ํฌ๊ธฐ์—์„œ ์‹คํŒจํ–ˆ๊ณ  ๋ฏธ์™„์„ฑ ์ถœ๋ ฅ์€ ์‚ญ์ œํ–ˆ๋‹ค. ํ•œ๋„๋ฅผ ์˜ฌ๋ฆฌ์ง€ ์•Š๊ณ  ํฌ๊ธฐ ์ดˆ๊ณผ ์ฒ˜๋ฆฌ ๋ณด์™„์„ ์‹ค์ œ ์ •๋‹ต ๋ถ„์„ ์ „์— ๊ณ ์ •ํ–ˆ๋‹ค. ์„ ํƒ๋œ ํŒจ์น˜์˜ UTF-8 ๊ธธ์ด๋ฅผ Arrow์—์„œ ๊ตฌํ•œ ๋’ค, ๊ธฐ์กด ํŒ๋…๊ธฐ ํ•œ๋„์ธ 2MiB ์ดˆ๊ณผ ์›๋ฌธ์€ Python ๋ฌธ์ž์—ด์ด๋‚˜ ์ถœ๋ ฅ์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค. IDยท์›๋ž˜ ๋ฐ”์ดํŠธ ์ˆ˜ยทํฌ๊ธฐ ์ดˆ๊ณผ ํ‘œ์‹œ์™€ patch:null๋งŒ ๋‚จ๊ธด๋‹ค. ํ•ด๋‹น ์ž‘์—…์€ ์ •๋‹ต์„ ์•Œ ์ˆ˜ ์—†๋Š” ์‹คํŒจ์ด๋ฉฐ ๋นˆ ์ •๋‹ต์œผ๋กœ ๊ฐ„์ฃผํ•˜์ง€ ์•Š๋Š”๋‹ค.

๊ตฌ๋ถ„ ํ•™์Šต ๊ฒ€์ฆ ํ•ฉ๊ณ„
๊ณ ์ • ์ž‘์—… ์ˆ˜ 7,335 5,686 13,021
์ง€์› ํ˜•์‹์œผ๋กœ ๊ธฐ์กด ๊ฒฝ๋กœ๋ฅผ ์–ป์€ ์ž‘์—… 7,294 5,375 12,669
๊ณต๋ฐฑ๋งŒ ์žˆ๋Š” ํŒจ์น˜ 0 292 292
ํฌ๊ธฐ ์ดˆ๊ณผ ํŒจ์น˜ 1 1 2
ํŒŒ์‹ฑ์€ ์„ฑ๊ณตํ–ˆ์œผ๋‚˜ ๊ธฐ์กด ๊ฒฝ๋กœ ์—†์Œ 40 18 58
๊ธฐ์กด ๊ฒฝ๋กœ ์ฐธ์กฐ 21,715 15,399 37,114
์ž‘์—… ํ•˜๋‚˜์˜ ์ตœ๋Œ€ ๊ธฐ์กด ๊ฒฝ๋กœ ์ˆ˜ 265 137 265

์ €์žฅ์†Œ๋ณ„ ์ „์ฒด ์ง‘๊ณ„. ์‹คํŒจ 294๊ฐœ๋Š” ๊ณต๋ฐฑ 292๊ฐœ์™€ ํฌ๊ธฐ ์ดˆ๊ณผ 2๊ฐœ๋ฅผ ํฌํ•จํ•œ๋‹ค. ํฌ๊ธฐ ์ดˆ๊ณผ ์›๋ฌธ์€ ๊ฐ๊ฐ 8,020,190๋ฐ”์ดํŠธยท102,783,478๋ฐ”์ดํŠธ์˜€๋‹ค. ์ƒˆ ํŒŒ์ผ ๋ธ”๋ก์€ ์ „์ฒด 2,401๊ฐœ๋‹ค. ํŒŒ์‹ฑ๋œ ํŒจ์น˜์˜ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ธ”๋ก์€ 0๊ฐœ์ง€๋งŒ, ํŒŒ์‹ฑ ์‹คํŒจ๊ฐ€ 0์ด๋ผ๋Š” ๋œป์€ ์•„๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ฒฝ๋กœ ์—†๋Š” 58๊ฐœ๋„ ๊ฒ€์ƒ‰ ์‹คํŒจ๋‚˜ ์„ฑ๊ณต์œผ๋กœ ์•„์ง ์ฑ„์ ํ•˜์ง€ ์•Š์•˜๋‹ค.

Go์˜ ๋ณ„๋„ ๊ฐœ๋ฐœ reader๋Š” ์ตœ๋Œ€ 256MiB ์ „์ฒด ํŒŒ์ผ์˜ SHA-256์„ ๋จผ์ € ์ˆœ์ฐจ ๊ฒ€์ฆํ•˜๊ณ , ๋‹ค์‹œ ์ฝ์œผ๋ฉฐ ์ตœ๋Œ€ 16MiB JSONL ํ–‰์„ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ฝ๊ธฐ๋„ ํ•ด์‹œ๋ฅผ ํ™•์ธํ•œ๋‹ค. ๊ฐœ๋ฐœ ID ๋ฐฐ์—ด์˜ ์ด์ง„ ํƒ์ƒ‰๊ณผ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€ ๋ฐฐ์—ด๋กœ ๋ˆ„๋ฝยท์ค‘๋ณตยท๋‹ค๋ฅธ ์—ญํ• ์„ ๊ฑฐ๋ถ€ํ•˜๋ฉฐ, ๊ธฐ์กด ํ‰๊ฐ€ reader์˜ 32MiB/4,096ํ–‰ ๊ณ„์•ฝ์€ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ํŒจ์น˜๋งˆ๋‹ค ๋ณด์œ ํ•˜๋Š” ์›๋ฌธ์„ ํ•ด์ œํ•˜๊ณ  ๊ฒฝ๋กœ ๋ฌธ์ž์—ด๋งŒ ๋ณต์‚ฌํ•œ๋‹ค. ์ „์ฒด ์›๋ฌธ ํŒŒ์ผ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ ์ „์—ญ ์ž ๊ธˆยท์บ์‹œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. SIMD ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ฃผ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด ์ค€๋น„ ๋‹จ๊ณ„์—์„œ Python/PyArrow๋Š” ๊ธฐ์กด ๊ด€๋ฆฌ์šฉ Parquet ๋ณ€ํ™˜์—๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. ๋Ÿฐํƒ€์ž„ยทGo CLIยทCI์˜ Python ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํŒจ์น˜ ์ ์šฉ์ด๋‚˜ ๋ฐ์ดํ„ฐ์…‹ ์ฝ”๋“œ ์‹คํ–‰์€ ์—†๋‹ค. ์›๋ฌธยทํŒจ์น˜ยท์ž‘์—…๋ณ„ ์ •๋‹ต์€ 0600 ๋กœ์ปฌ ํŒŒ์ผ๋กœ ์œ ์ง€ํ•˜๋ฉฐ GitHub์—๋Š” ์ฝ”๋“œยท๊ณ„ํšยท์ง‘๊ณ„๋งŒ ๊ฒŒ์‹œํ•œ๋‹ค.

# ๊ณ ์ • ๊ฐœ๋ฐœ ์ž๋ฃŒ์˜ ๋น„๊ณต๊ฐœ ํˆฌ์˜ ์ƒ์„ฑ(๊ธฐ์กด ๊ด€๋ฆฌ์šฉ PyArrow ํ™˜๊ฒฝ)
python scripts/training/project_development_labels.py \
  --input .cache/training-source-36/data/train-00000-of-00001.parquet \
  --membership .cache/training-partition-37/membership.json \
  --output .cache/development-patches-new.jsonl
# ๊ณ ์ • SHA-256๊ณผ ๊ณ„ํš์„ ๊ฒ€์ฆํ•œ ํ›„ ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ง‘๊ณ„/๋น„๊ณต๊ฐœ ์ •๋‹ต ์ €์žฅ
go run ./cmd/riido-developmentlabels \
  --projection .cache/development-patches-new.jsonl \
  --out .cache/development-labels-new

์ตœ์ข… ๋น„๊ณต๊ฐœ ํˆฌ์˜์€ 13,021ํ–‰ยท110,290,640๋ฐ”์ดํŠธ, SHA-256 6bed55ca053705e59b1362f982b86cbd977fa3d216312a018b1657dfb9fd284b๋‹ค. ์žฌ๋ณ€ํ™˜ ํŒŒ์ผ์ด ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ผ์น˜ํ–ˆ์œผ๋ฉฐ ์ผ๋ฐ˜ ์žฌ์‹คํ–‰๊ณผ ์‹ค์ œ ์ „์ฒด race ์‹คํ–‰์˜ ๊ณต๊ฐœ ์ง‘๊ณ„ยท๋น„๊ณต๊ฐœ ์ •๋‹ต๋„ ์ผ์น˜ํ–ˆ๋‹ค. ํ•ฉ์„ฑ ๊ฒ€์ฆ์€ ์ตœ์ข…/๋ฏธ์„ ํƒ ID ๊ฑฐ๋ถ€, ๋ˆ„๋ฝ/์ค‘๋ณต, ์Šคํ‚ค๋งˆ/ํ•ด์‹œ/๊ฒฝ๊ณ„ ํฌ๊ธฐ, ํฌ๊ธฐ ํ‘œ์‹œ ๋ชจ์ˆœ, ๊ณต๋ฐฑ ํŒจ์น˜, ์ž…๋ ฅ ๋ณด์กด ๋ฐ ์›๋ฌธ๊ณผ ๋…๋ฆฝ์ ์ธ ๊ฒฝ๋กœ ์ €์žฅ์„ ๋‹ค๋ฃฌ๋‹ค. ์ „์ฒด raceยทvetยทํ˜•์‹ยทredacted scan์„ ํ†ต๊ณผํ•œ ๋’ค ๊ณต๊ฐœํ•œ๋‹ค.

์ˆ˜์ง‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ณ„๋„๋กœ ์‹คํ–‰ ์ค‘์ด๋ฏ€๋กœ ์ด ๋‹จ๊ณ„์˜ ์‹œ๊ฐ„์„ ๋‹จ๋… ์‹คํ–‰ ์„ฑ๋Šฅ์œผ๋กœ ๋ณด๊ณ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํŠนํžˆ Arrow๊ฐ€ ํฐ ์••์ถ• ๋ธ”๋ก์„ ์ฝ๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ Go reader์˜ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‹ค๋ฅด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•œ ๊ฒƒ์ด๋ฉฐ ์ธก์ • ์—†์ด RSS ๊ฐœ์„ ์œจ์„ ์ฃผ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์Œ์€ ์™„์ „ํ•œ ์ˆ˜์ • ์ „ ํŒŒ์ผ ๋ชฉ๋ก๊ณผ ์ •๋‹ต ๊ฒฝ๋กœ์˜ ์—ฐ๊ฒฐ ๊ฒ€์‚ฌ๋‹ค. ์ด๋ฒˆ ๊ฒฐ๊ณผ๋งŒ์œผ๋กœ 37,114๊ฐœ ๊ฒฝ๋กœ๊ฐ€ ์‹ค์ œ ํ›„๋ณด ๋ชฉ๋ก์— ๋ชจ๋‘ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์—†๋‹ค. ์ •๋‹ต ๊ฒฝ๋กœ๋Š” ๋ชฉํ‘œ/์‚ฌํ›„ ํ‰๊ฐ€์šฉ์ด๋ฉฐ ์ถ”๋ก  ํŠน์ง•์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค. ๊ณผ๊ฑฐ ๋ผ์ด์„ ์Šคยท์ด์Šˆ ์ด์šฉ ์กฐ๊ฑดยทํ•™์Šต ์Šน์ธ์€ ๋ฏธ์™„๋ฃŒ๋‹ค. ์ด ์ž๋ฃŒ๋งŒ์œผ๋กœ ๋‚œ์ด๋„ยท์ž‘์—… ๋ถ„ํ• ยท๋ชจ๋ธ ๋ผ์šฐํŒ… ๋˜๋Š” ์‹ค์ œ LLM ๋น„์šฉ ์ ˆ๊ฐ์„ ์ž…์ฆํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ƒˆ ๋ชจ๋ธ/Hugging Face ๋ฐฐํฌ๋„ ์—†๋‹ค.

Source / ์›๋ณธ ยท PR #62