Stored Utility Next 58 KO - teamswyg/laya-tools GitHub Wiki

๊ฐœ์„  ์—ฌ์ง€ ๋‹ค์Œ์—๋Š” ๋ฌด์—‡์„ ์ค€๋น„ํ•˜๋‚˜

English ยท 58 ๊ฒฐ๊ณผ ยท ์‚ฌ์ „ ๊ณ„ํš ยท ๊ณต๊ฐœ ์›์ฒœ57

58์—์„œ ํ™•์ธํ•œ ๊ฒƒ์€ ํ•™์Šตํ•  ์ด์œ ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐœ์„  ์—ฌ์ง€๋‹ค. ์•„์ง ํ•™์Šตํ•  ์ค€๋น„๊ฐ€ ๋๋‚ฌ๋‹ค๋Š” ๋œป์€ ์•„๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ข‹์€ ๊ณ ์ • ๊ธฐ์ค€ BM25๋Š” ์•Œ๋ ค์ง„ 51๊ฐœ ์š”์ฒญ์—์„œ 91ํšŒ, ์ •๋‹ต์„ ๋ฏธ๋ฆฌ ์•„๋Š” oracle์€ 73ํšŒ๋ฅผ ํ™•์ธํ–ˆ๋‹ค. ์ฐจ์ด 18/91, ์•ฝ 19.7802%๋กœ ํ•„์š” ํšจ์šฉ ํ•˜ํ•œ 5%๋ฅผ ํ†ต๊ณผํ–ˆ๋‹ค. ์›๋ž˜ ์ˆœ์„œ๋Š” 109ํšŒ, ๋‹จ์–ดยท์ˆœ์„œ ๊ธฐ์ค€์€ 92ํšŒ, ์ข์€ ๊ทœ์น™์€ 91ํšŒ์˜€์œผ๋ฉฐ ์ข์€ ๊ทœ์น™์˜ 72๊ฐœ ์š”์ฒญ ๋ชจ๋‘ BM25๋กœ ๋ณต๊ท€ํ–ˆ๋‹ค. ์ด๋Š” ๋ชจ๋ธ์ด ๋‹ฌ์„ฑํ•œ ๊ฐœ์„ ์ด๋‚˜ ์‹ค์ œ ์‹คํ–‰ ๋น„์šฉ ์ ˆ๊ฐ์ด ์•„๋‹ˆ๋‹ค.

์ „์ฒด 17๊ทธ๋ฃนยท๋ผ๋ฒจ 16๊ทธ๋ฃน๋„ ๊ธฐ์กด ์ตœ์†Œ 15 ๊ธฐ์ค€์„ ์ด๋ฏธ ์ถฉ์กฑํ•œ๋‹ค. ๋‹ค์Œ ๋ชฉํ‘œ๋Š” ์ข‹์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ ๊ทธ๋ฃน๋งŒ ๊ณจ๋ผ ์ƒˆ๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ ์ˆซ์ž๋ฅผ ๋” ์ฑ„์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ๋ฌธ์žฅ์ด ์‹ค์ œ ํ–‰๋™์„ ์ถฉ์‹คํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š”์ง€, ๋‹ค๋ฅธ ์ž‘์„ฑ ์›์ฒœ์—์„œ๋„ ํ†ตํ•˜๋Š”์ง€, ์–ด๋А ์ž๋ฃŒ๋ฅผ ํ•™์Šตยท๊ฐœ๋ฐœ ๊ฒ€์ฆยท๋ณด์ •์— ์‚ฌ์šฉํ• ์ง€๋ฅผ ์ค€๋น„ํ•œ๋‹ค.

์ด ๋ฌธ์„œ๋Š” ๋‹ค์Œ59์˜ ์ค€๋น„ ์ œ์•ˆ์ด๋‹ค. ์ƒˆ ์‹คํ–‰ยท๋ผ๋ฒจยท์—ญํ•  ๋ฐฐ์ •ยท์›์ฒœ ํ™•๋ณดยทํ•™์Šตยท๊ฐ€์ค‘์น˜ยท๋ชจ๋ธ/์œ ๋ฃŒ ํ˜ธ์ถœยท๋ณดํ˜ธ ์ตœ์ข… ์ ‘๊ทผ์€ ๋ชจ๋‘ 0์ด๋ฉฐ training_ready=false๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ํ˜„์žฌ fit 0์€ ์ค€๋น„ ์กฐ๊ฑด์ด ๋ถ€์กฑํ•ด์„œ๋‹ค. ์ƒˆ ์‚ฌ๋žŒ ์Šน์ธ ์ ˆ์ฐจ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ดํ›„์˜ ์‹คํ–‰ ์ž๊ฒฉ ํ™•์ธ์€ ์‚ฌ์ „ ์‹คํ–‰ ๊ณ„ํš๊ณผ ์ž๋™ ๊ฒ€์‚ฌยทCI gate๋กœ ์ง„ํ–‰ํ•œ๋‹ค. ๊ธฐ์กด ์‚ฌ์šฉ์ž ์Šน์ธ ๋ฒ”์œ„์™€ CI ๋ณ‘ํ•ฉ ๊ธฐ์ค€์„ ์œ ์ง€ํ•œ๋‹ค.

์ค€๋น„ํ•  ์„ธ ๊ฐ€์ง€ ์‚ฐ์ถœ๋ฌผ

์•„๋ž˜ ์ด๋ฆ„์€ ์•ž์œผ๋กœ ๋งŒ๋“ค ์‚ฐ์ถœ๋ฌผ์˜ ์ œ์•ˆ์ด๋ฉฐ, ์ด ๋ฌธ์„œ๊ฐ€ ๊ทธ ํŒŒ์ผ์˜ ์ƒ์„ฑยท๊ฒ€ํ†  ์™„๋ฃŒ๋ฅผ ๋œปํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ œ์•ˆ ์‚ฐ์ถœ๋ฌผ ๋‹ด์„ ๋‚ด์šฉ ์ค€๋น„ ์™„๋ฃŒ ์กฐ๊ฑด ์ค‘๋‹จยท๋ณด๋ฅ˜ ์กฐ๊ฑด
caption-coverage-59.json ๊ธฐ์กด 72๋ถ€๋ชจยท216์„ค๋ช…์„ ์›ํ˜• 18๊ฐœ, ์ž…๋ ฅ ๋ฒ”์œ„, ๊ด€์ธก ํ•„๋“œ, ์›์ฒœยทliteral ๊ณ„์•ฝ์— ์—ฐ๊ฒฐ ๋ชจ๋“  ์„ค๋ช…์˜ ๋ฒ”์œ„์™€ ๊ทผ๊ฑฐ๋ฅผ ๋…๋ฆฝ ๊ฒ€ํ† ํ•˜๊ณ  ๋ˆ„๋ฝยท๋ชจํ˜ธํ•จ์„ ๋ช…์‹œ ๋ฌธ์žฅ๊ณผ ๊ณ„์•ฝ ๋ถˆ์ผ์น˜, ์˜ˆ์‚ฐ ์ดˆ๊ณผ, ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ด€์ธก์€ ๋ณด๋ฅ˜. ๊ธฐ์กด ์ •๋‹ต์„ ๋ฌธ์žฅ์— ๋งž์ถฐ ๋ฐ”๊พธ์ง€ ์•Š์Œ
source-transfer-59.json ์ด๋ฏธ ํ™•๋ณดํ•œ57์˜ semver/glob์—์„œ ๋ฒ”์œ„๋ฅผ ์ขํžŒ ์†์„ฑ ํ•˜๋‚˜์”ฉ์˜ ์ œ์•ˆ ์›๋ณธ revisionยท๋ผ์ด์„ ์ŠคยทํŒŒ์ผ/๋ฌธ์„œยทhelper ๊ด€๊ณ„์™€ ๋…๋ฆฝ ๊ธฐ๋Œ€๊ฐ’ ์„ค๊ณ„๊ฐ€ ์—ฐ๊ฒฐ๋จ ๊ถŒ๋ฆฌยทclosureยท๋ฌธ์žฅ ์ถฉ์‹ค์„ฑยท๊ทœ๋ฒ”๊ณผ ์‹ค์ œ ๋™์ž‘ ๊ตฌ๋ถ„์ด ํ•ด๊ฒฐ๋˜์ง€ ์•Š์œผ๋ฉด ์‹คํ–‰ยท๋ผ๋ฒจ ์ƒ์„ฑ ์ค‘๋‹จ
role-recipe-59.json ์—ฐ๊ฒฐ ์š”์†Œ ์ „์ฒด์˜ ๊ฐœ๋ฐœ ํ•™์Šตยท๊ฐœ๋ฐœ ๊ฒ€์ฆยท๊ฐœ๋ฐœ ๋ณด์ •ยท์™ธ๋ถ€ ์›์ฒœ ์ „์ด ์ง„๋‹จ ๋ฐฐ์ • ๊ทœ์น™ ๊ด€๊ณ„ ๊ทธ๋ž˜ํ”„ยท๊ณ ์ • ๊ทœ์น™ยทseedยท์—ญํ• ๋ณ„ coverage์™€ ๋ถ€์กฑ ์‹œ ์ค‘๋‹จ ์กฐ๊ฑด์„ ์‹คํ–‰ ์ „์— ๊ณ ์ • ์—ฐ๊ฒฐ ์š”์†Œ๊ฐ€ ์—ญํ• ์„ ๋„˜๋‚˜๋“ค๊ฑฐ๋‚˜ coverage๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ๋ฐฐ์ •ยทfit ๋ณด๋ฅ˜. ์ข‹์€ ์ ์ˆ˜๋ฅผ ์–ป์œผ๋ ค๊ณ  ๊ทธ๋ฃน/seed๋ฅผ ๋‹ค์‹œ ์„ ํƒํ•˜์ง€ ์•Š์Œ

1. ์„ค๋ช…๊ณผ ํ–‰๋™์˜ ์ผ์น˜๋ถ€ํ„ฐ ํ™•์ธํ•œ๋‹ค

ํ˜„์žฌ ์ž๋ฃŒ๋Š” ๋‹ต ์žˆ์Œ 34ยท๋‹ต ์—†์Œ 17ยทunknown 21์ด๋‹ค. ์•Œ๋ ค์ง„ 51๊ฐœ์—๋„ ์„ค๋ช…์ด ์งง๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ ์ผ๋ฐ˜์ ์ธ ํ•จ์ˆ˜ ์ดํ•ด๋ฅผ ์ธ์ฆํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ ์š”์ฒญ๊ณผ ํ›„๋ณด ์„ค๋ช…์ด ๋ฌด์—‡์„ ์š”๊ตฌํ•˜๊ณ  ์–ด๋–ค ์ž…๋ ฅ์—์„œ๋งŒ ๊ฒ€์ฆํ–ˆ๋Š”์ง€ ํ•จ๊ป˜ ์ฝ๋Š”๋‹ค. ๋ฐ˜ํ™˜๊ฐ’๋ฟ ์•„๋‹ˆ๋ผ ์˜ค๋ฅ˜ ์ •์ฒด์„ฑ, ํ˜ธ์ถœ ์ˆœ์„œ, ์›์ž์  ์ƒํƒœ ๋ฐ˜์˜, ์†Œ์œ ๊ถŒ๊ณผ ์ž…๋ ฅ ๋ถˆ๋ณ€์„ฑ ๋“ฑ ํ•ด๋‹น ์›ํ˜•์˜ ๊ด€์ธก์„ ์—ฐ๊ฒฐํ•œ๋‹ค. ๋ถ€์ •ยทํฌํ•จ/์ œ์™ธ ๊ฒฝ๊ณ„ยท์ˆœ์„œยท์˜ค๋ฅ˜๊ฐ€ ๋ฌธ์žฅ์— ๋น ์ง€์ง€ ์•Š์•˜๋Š”์ง€๋„ ํ™•์ธํ•œ๋‹ค.

๊ฒ€ํ† ํ‘œ์—๋Š” ์›๋ž˜ ๋ถ€๋ชจ/ํ›„๋ณด ID์™€ ์ˆœ์„œ, text SHA, contract/source ํ•€, ๋ช…์‹œํ•œ ๋ฒ”์œ„, ๋…๋ฆฝ ๊ฒ€ํ†  ์ƒํƒœ์™€ ๋‚จ์€ ๋ถˆํ™•์‹ค์„ฑ์„ ๊ธฐ๋กํ•œ๋‹ค. ๊ฒ€ํ†  ๊ณผ์ •์—์„œ๋Š” 58์˜ ์ˆœ์œ„๋‚˜ ๊ทธ๋ฃน๋ณ„ ์ด๋“์œผ๋กœ ๋ฌธ์žฅ์„ ๊ณ ๋ฅด์ง€ ์•Š๋Š”๋‹ค. scorer๊ฐ€ ๋ฐ›์„ ์ •๋ณด๋Š” ๊ณ„์† ์š”์ฒญ๊ณผ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ํ›„๋ณด ์„ค๋ช…๋ฟ์ด๋ฉฐ, IDยท์ •๋‹ตยท์›์ฒœยท๊ทธ๋ฃนยท์—ญํ• ยท๊ฒ€ํ†  ์ƒํƒœ๋Š” ํŠน์ง•์—์„œ ์ œ์™ธํ•œ๋‹ค.

๊ธฐ์กด 512๋ฐ”์ดํŠธยท์ •๊ทœํ™” 32๋‹จ์–ด ํ•œ๋„๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ์ด ์˜ˆ์‚ฐ ์•ˆ์—์„œ ์ •ํ™•ํžˆ ์„ค๋ช…ํ•˜๊ธฐ ์–ด๋ ค์šด ๋™์ž‘์„ ์ž˜๋ผ์„œ ์ •๋‹ต์œผ๋กœ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. ๋” ์ข์€ ์†์„ฑ์„ ์ค€๋น„ํ•œ๋‹ค๋ฉด ๋ณ„๋„ ๋ฒ„์ „๊ณผ ์›๋ž˜ ๋ถ€๋ชจยท์›์ฒœยท์—ฐ๊ฒฐ ๊ทธ๋ฃน ๊ด€๊ณ„๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. ์ˆ˜์ • ๋ฌธ๊ตฌยท๋ฒˆ์—ญยท์˜ค๋‹ตยท๋ฐ˜์ „ ์ž…๋ ฅ์€ ์ƒˆ ๋…๋ฆฝ ๋ถ€๋ชจ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๊ธฐ์กด56a/b์˜ ๋ฌธ๊ตฌยท๋ผ๋ฒจยท17๊ทธ๋ฃน๊ณผ unknown 21์€ ๊ทธ๋Œ€๋กœ ๋ณด์กดํ•œ๋‹ค. ํŒ๋‹จ ๋ณด๋ฅ˜๋Š” ์˜ค๋‹ต์ด๋‚˜ ๋‹ต ์—†์Œ์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.

2. ๋‹ค๋ฅธ ์ž‘์„ฑ ์›์ฒœ์œผ๋กœ์˜ ์ „์ด๋ฅผ ์ž‘๊ฒŒ ์ค€๋น„ํ•œ๋‹ค

ํ˜„์žฌ 72๊ฐœ๋Š” ํ•œ ํ˜‘์—… ํ•ฉ์„ฑ ์ž‘์„ฑ ํ๋ฆ„์˜ ์˜์–ด ์ž๋ฃŒ๋‹ค. ๋‹ค๋ฅธ ์—์ด์ „ํŠธ๊ฐ€ ๊ฒ€ํ† ํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค๋งŒ์œผ๋กœ synthetic_single_pipeline์ด ํ•ด์†Œ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค.57์—์„œ ์ด๋ฏธ ์›๋ณธ ์ฝ”๋“œยท๋ฌธ์„œยทMIT ๊ณ ์ง€๋ฅผ ํ™•๋ณดํ•œ ๋‘ ์›์ฒœ์„ ํ™œ์šฉํ•˜์—ฌ, ํ”„๋กœ์ ํŠธ ์ด์ „๋ถ€ํ„ฐ ์กด์žฌํ•œ ์ž‘์„ฑ ๊ทผ๊ฑฐ์™€ ์ด๋ฒˆ์— ๋งŒ๋“  ๋ฌธ๊ตฌ๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

๊ธฐ์กด ๊ณต๊ฐœ ์›์ฒœ ๋‹ค์Œ์— ์ค€๋น„ํ•  ์†์„ฑ ์ œ์•ˆ ์œ ์ง€ํ•  ๊ฒฝ๊ณ„
Masterminds/semver ๊ณ ์ • ์›๋ฌธ, ํŒŒ์‹ฑ ๋ฌธ์„œ ๋ช…์‹œํ•œ ์œ ํ•œ ์ž…๋ ฅ์—์„œ strict parsing๊ณผ ๋А์Šจํ•œ ๋ฒ„์ „ ๋ณด์ •์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์†์„ฑ permissive NewVersion๊ณผ strict ๊ณ„์•ฝ์„ ์„ž์ง€ ์•Š์Œ. ์ƒˆ API๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋ณ„๋„ ๊ด€์ธก ๊ณ„ํš๋ถ€ํ„ฐ ๊ณ ์ •
doublestar ๊ณ ์ • ์›๋ฌธ, Match ๋ฌธ์„œ ์ง€์ •ํ•œ / ๊ฒฝ๋กœ์—์„œ *์™€ /**/์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฒ”์œ„ ์ฐจ์ด ์ „์ฒด glob ๋ฌธ๋ฒ• ์ธ์ฆ์ด๋‚˜ ํ”Œ๋žซํผ๋ณ„ PathMatch ์„ฑ๋Šฅ์œผ๋กœ ํ™•๋Œ€ํ•˜์ง€ ์•Š์Œ

์›๋ณธ ๋ฌธ์„œ์˜ ์œ„์น˜ยท๋ฐ”์ดํŠธ์™€ ์ƒˆ caption์˜ ์ž‘์„ฑ ํ๋ฆ„์„ ๋ณ„๋„๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  ๊ธฐ์กด ์›์ฒœ manifest์˜ revisionยทํŒŒ์ผ SHAยทmoduleยทMIT ์ €์ž‘๊ถŒ/๊ณ ์ง€๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ๊ตฌํ˜„์„ ๋ณต์‚ฌํ•ด expected๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , ๊ณต๊ฐœ ๋ฒ”์œ„์˜ ๋…๋ฆฝ literal ๊ธฐ๋Œ€๊ฐ’๊ณผ ์ง€์›/unknown ์ •์ฑ…์„ ๋จผ์ € ์„ค๊ณ„ํ•œ๋‹ค. ๋ฌธ์„œ์—์„œ ๊ฐ€์ ธ์˜จ ์งง์€ ํ‘œํ˜„๋งŒ์œผ๋กœ ์™„์ „ํ•œ ๊ณ„์•ฝ์ด๋ผ๊ณ  ๋‹จ์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด๋Š” ๋‘ scoped proposal์ด๋ฉฐ ์ƒˆ ๋ถ€๋ชจยทtruthยทํ—ˆ์šฉ ์ง‘ํ•ฉ์€ ์•„์ง 0์ด๋‹ค.57์˜ 62๊ด€์ธก์„ 62์š”์ฒญ์œผ๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ๊ฐ™์€ helper๋ฅผ ์‚ฌ์šฉํ•˜๋Š” wrapper๋ฅผ ๋ณ„๋„ ๊ฐ€์กฑ์œผ๋กœ ์„ธ์ง€ ์•Š๋Š”๋‹ค.57์—์„œ ํ™•์ธํ•œ ํฐ ์ˆซ์ž ๋น„๊ต ์ฐจ์ด์™€ ๋” ๊ฐ•ํ•œ glob ์˜ค๋ฅ˜ ์ •์ฑ…๋„ ๋ณด์กดํ•œ๋‹ค. ๊ทœ๋ฒ”์  ๊ธฐ๋Œ€ยท์‹ค์ œ API ๋™์ž‘ยท๋” ๊ฐ•ํ•œ ์š”์ฒญ ์ •์ฑ…์„ ๊ตฌ๋ณ„ํ•ด์•ผ ํ•œ๋‹ค. ์™ธ๋ถ€ ์›์ฒœ์ด๋ผ๋Š” ์ด์œ ๋งŒ์œผ๋กœ ํ•ฉ์„ฑ ์›ํ˜•๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ๋Š์ง€ ์•Š๋Š”๋‹ค.

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

3. ์—ญํ• ์€ ์—ฐ๊ฒฐ ์š”์†Œ ์ „์ฒด์— ๋ฐฐ์ •ํ•œ๋‹ค

58์˜ ์ˆœ์œ„ยท์ ์ˆ˜ยท๊ทธ๋ฃน๋ณ„ ๋น„์šฉ์€ ์ด๋ฏธ ๊ด€์ธกํ–ˆ๋‹ค. ์•ž์œผ๋กœ membership SHA์™€ seed ๊ทœ์น™์„ ๊ณ ์ •ํ•˜๋Š” ๋ชฉ์ ์€ ๊ฒฐ๊ณผ๊ฐ€ ์œ ๋ฆฌํ•œ ๊ทธ๋ฃน์ด๋‚˜ seed๋ฅผ ๊ณจ๋ผ ๋ฐฐ์ •์„ ๋ฐ”๊พธ๋Š” ์ผ์„ ๋ง‰๋Š” ๊ฒƒ์ด๋‹ค. ์ด์ „ ์ž๋ฃŒ๋ฅผ ๋ณด์ง€ ์•Š์•˜๋˜ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๊ฑฐ๋‚˜ ๋ธ”๋ผ์ธ๋“œ ๊ฒ€์ฆ์„ ๋ณต์›ํ•˜๋Š” ์žฅ์น˜๊ฐ€ ์•„๋‹ˆ๋‹ค.

๊ฐ™์€ ์›ํ˜•ยทํ•ต์‹ฌ ๋™์ž‘ยท๋ณต์‚ฌ ์ฝ”๋“œยท์ž์ฒด ์ž‘์„ฑ helper/ํƒ€์ž…/์˜ค๋ฅ˜ sentinelยท์ค‘๋ณต ์š”์ฒญ/ํ›„๋ณดยท์˜ค๋‹ตยท๋ถ€๋ชจ/ํ˜•์ œยท๋ฒˆ์—ญ์„ ์ „์ด์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค. ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ด€์ธก ๊ธฐ๋ฐ˜์˜ ๊ธฐ์กด infrastructure ์˜ˆ์™ธ๋Š” ์ด์œ ์™€ ์›์ฒœ ํ•€์„ ๋ณด์กดํ•˜๋ฉฐ, ๊ทธ๋ฃน ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋ ค๊ณ  ์ƒˆ๋กœ์šด ์˜ˆ์™ธ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. ์ „์ฒด component์˜ ์ •๋ ฌ๋œ membership๊ณผ source ๊ด€๊ณ„๋กœ ์•ˆ์ •์ ์ธ SHA๋ฅผ ๋งŒ๋“ค๊ณ , ๊ฐ™์€ component๋Š” ํ•ญ์ƒ ๊ฐ™์€ ์—ญํ• ์„ ๊ฐ–๋Š”๋‹ค.

์—ญํ• ์€ development_train, development_validation, development_calibration, transfer_development ๊ฐ™์€ ๊ฐœ๋ฐœ ์šฉ๋„๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ๊ทœ์น™๊ณผ ๊ณ ์ • seed, ์—ญํ• ๋ณ„ ํ•„์š”ํ•œ ํ–‰๋™ยท๋ฌธ์žฅ ํ˜•ํƒœยท์–ธ์–ด coverage, ์ž๋ฃŒ ๋ถ€์กฑ ์‹œ ์ค‘๋‹จ ์กฐ๊ฑด์„ ๋จผ์ € ์ž‘์„ฑํ•œ๋‹ค. ์ด๋ฏธ ๋ณธ ์ž๋ฃŒ๋ฅผ ์ƒˆ ์—ญํ•  ์ด๋ฆ„์œผ๋กœ ๋ฏธ๊ด€์ธก ๊ฒ€์ฆ์ด๋‚˜ protected final์ด๋ผ๊ณ  ๋ถ€๋ฅด์ง€ ์•Š๋Š”๋‹ค. ์‹ค์ œ ๋ฐฐ์ • ์ˆ˜๋Š” ๊ด€๊ณ„์™€ coverage๋ฅผ ๊ฒ€์ฆํ•œ ๋’ค ๊ธฐ๋กํ•˜๋ฉฐ, ์ง€๊ธˆ ๋น„์œจ์ด๋‚˜ ์—ญํ•  ์ˆ˜๋ฅผ ํ™•๋ณด ๊ฒฐ๊ณผ๋กœ ์ ์ง€ ์•Š๋Š”๋‹ค.

unknown-only component๋„ ๊ด€๊ณ„ ๊ทธ๋ž˜ํ”„์™€ ์ „์ฒด ๋ถ„๋ชจ์— ๋‚จ๊ธด๋‹ค. unknown 21์€ ํ•™์Šต ์ •๋‹ตยท๋น„์šฉยทTop ์ง€ํ‘œ์— ๋„ฃ์ง€ ์•Š๊ณ , ์•Œ๋ ค์ง„ ๋ถ€๋ชจ๊ฐ€ ์žˆ๋Š” ๊ทธ๋ฃน๊ณผ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ์—ญํ• ์˜ coverage๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ทœ๋ชจ๋‚˜ ํ•˜ํ•œ์„ ๋‚ฎ์ถ”์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ์‹ค์ œ ์›์ฒœ์„ ๋” ์ค€๋น„ํ•œ๋‹ค. ๊ฐ™์€ ์ž‘์„ฑ ํ๋ฆ„์˜ ํ†ต๊ณ„์  ๋…๋ฆฝ์„ฑ์„ seed๋กœ ๋ณด์ฆํ•˜์ง€ ์•Š๋Š”๋‹ค.

๊ทธ๋‹ค์Œ์—์•ผ ํ•™์Šต ์‹คํ–‰ ๊ณ„ํš์„ ๋งŒ๋“ ๋‹ค

์„ธ ์ค€๋น„ ์‚ฐ์ถœ๋ฌผ๊ณผ ๋…๋ฆฝ ๋‚ด์šฉ ๊ฒ€ํ† ๊ฐ€ ๋๋‚˜๋ฉด, ๋ณ„๋„ ๊ณ„ํš์— ๋ฐ์ดํ„ฐ/์›์ฒœ/๊ทธ๋ฃน/์—ญํ•  SHA, ๊ธฐ์ค€ ๋ฐฉ์‹, ํšจ์šฉยทํ’ˆ์งˆยท๋ณด๋ฅ˜ ์กฐ๊ฑด, ๋ฉ”๋ชจ๋ฆฌยท์ €์žฅ ์˜ˆ์‚ฐ, fit ํšŸ์ˆ˜์™€ ๋ฐฐํฌ ์ž๊ฒฉ์„ ๊ณ ์ •ํ•œ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ์ƒˆ fit ํšŸ์ˆ˜๋‚˜ ์‹คํ–‰์„ ์Šน์ธํ•˜์ง€ ์•Š๋Š”๋‹ค. ์—ฌ๊ธฐ์„œ ์‹คํ–‰ ์ž๊ฒฉ ํ™•์ธ์€ ๊ธฐ์กด ์‚ฌ์šฉ์ž ์Šน์ธ ๋ฒ”์œ„ ์•ˆ์˜ ์ž๋™ ๊ฒ€์‚ฌยทCI ๊ธฐ์ค€ ์ถฉ์กฑ์„ ๋œปํ•˜๋ฉฐ ์ƒˆ ์‚ฌ๋žŒ ์Šน์ธ ์ ˆ์ฐจ๊ฐ€ ์•„๋‹ˆ๋‹ค.

  1. FP32 ์ฃผ ํ›„๋ณด: ์ž‘์€ ๊ณ„์ˆ˜ ๋ชจ๋ธ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ๋น„๊ต๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์•ˆ์ด๋‹ค. ์‹ค์ œ๋กœ ํ•™์Šต๋œ ๊ธฐ์ค€ checkpoint์™€ ๊ฐ™์€ ์—ญํ• ยท์ž…๋ ฅยทํ›„๋ณด ๋ณด์กด ์กฐ๊ฑด์„ ๊ธฐ๋กํ•œ๋‹ค. ์ค€๋น„ ๋‹จ๊ณ„์—์„œ ์ ํ•ฉ์„ฑ์ด๋‚˜ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.
  2. INT8/PTQ child: ๊ฐ™์€ FP32 checkpoint์˜ ์••์ถ• ํŒŒ์ƒ๋ฌผ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค. ๋ณ„๋„์˜ ์ƒˆ ๋…๋ฆฝ ํ•™์Šต์ด๋‚˜ ๋ฐ์ดํ„ฐ ํ™•๋ณด๋กœ ์„ธ์ง€ ์•Š๊ณ , ์ˆœ์œ„ยทํ’ˆ์งˆยท๋ณด๋ฅ˜์™€ ์‹ค์ œ runtime ์ž์›์„ ๋”ฐ๋กœ ๋Œ€์กฐํ•œ๋‹ค.
  3. ์‚ผ์ง„ STE sibling: ๋™์ผํ•œ ๋ฐ์ดํ„ฐ์™€ ์—ญํ• ์—์„œ ๋ณ„๋„ ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ํ˜•์ œ ์‹คํ—˜์œผ๋กœ ๋‘”๋‹ค. FP32/INT8์˜ ๊ฒฐ๊ณผ๋ฅผ ๋Œ€์‹ ํ•˜๊ฑฐ๋‚˜ 1.58-bit ํ‘œํ˜„๋งŒ์œผ๋กœ ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌยทCPU/GPU ๊ฐœ์„ ์„ ์ฃผ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. fitยทseedยทartifact ์ˆ˜๋Š” ์š”์ฒญ ์ˆ˜์™€ ๊ตฌ๋ถ„ํ•œ๋‹ค.

ํ˜„์žฌ no_roles_planยทsynthetic_single_pipeline๊ณผ fit 0์„ ์œ ์ง€ํ•œ๋‹ค. ์‹คํŒจยทunknownยท์žฌ์‹œ๋„ยท์ „์ฒด ํ›„๋ณด๋ฅผ ๋ณด์กดํ•˜๋ฉฐ, ํ•„์š” ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์œผ๋ฉด ์ค€๋น„ ๋˜๋Š” ํ•™์Šต์„ ์ค‘๋‹จํ•œ๋‹ค. ์šด์˜ ํ™œ์„ฑํ™”ยท๊ธฐ๋ณธ ๋ชจ๋ธ ๊ต์ฒดยท์ƒˆ HF ๊ฐ€์ค‘์น˜ ๊ณต๊ฐœ๋Š” ์ด๋ฒˆ ๋ฒ”์œ„์— ์—†๋‹ค. ์ดํ›„ ์‹ค์ œ ๊ฐ€์ค‘์น˜๊ฐ€ ์ƒ๊ธฐ๋”๋ผ๋„ ์›์ฒœ/ํ•™์Šต ์ž์‚ฐ/๊ฐ€์ค‘์น˜ ๋ผ์ด์„ ์Šค์™€ ๋ฐฐํฌ ์ž๊ฒฉ์„ ๋”ฐ๋กœ ํ™•์ธํ•˜๊ณ , ๋ชจ๋ธ ๋ณธ์ฒด๋Š” Git์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค.

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