Claim Checks 66 69 KO - teamswyg/laya-tools GitHub Wiki

์ž‘์€ ์ฃผ์žฅ ํžŒํŠธ๋ฅผ ํ•™์Šต ๋ฐ์ดํ„ฐ๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ66โ€“69

English ยท ์ด์ „ ์ค€๋น„64โ€“67

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

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

์™„๋ฃŒํ•œ ์ผ ๊ด€์ธก ๊ฒฐ๊ณผ ๋‹ค์Œ ํ•™์Šต์—์„œ ์“ฐ๋Š” ๋œป
์—ญํ•  ๋ฐฐ์ •66 ๋ผ๋ฒจ ๊ทธ๋ฃน train10ยทvalidation3ยทcalibration3 ๊ฐ™์€ ์ฝ”๋“œ ๊ฐ€์กฑ์„ ์—ฌ๋Ÿฌ ์—ญํ• ์— ๋‚˜๋ˆ„์ง€ ์•Š๋Š”๋‹ค.
upstream ์„ค๋ช…68 ์˜์–ด ์š”์ฒญ4๊ฐœยทํ›„๋ณด10๊ฐœยท์ฝ”๋“œ ๊ฐ€์กฑ2๊ฐœ. ๊ณ ์ • ํ˜ธ์ถœ12๊ฐœ์™€ String3๊ฐœ๋ฅผ ๊ด€์ธกํ•ด15๊ฐœ ๋น„๊ต๊ฐ€ ๋ชจ๋‘ ์ผ์น˜ ๋ฏธ๋ฆฌ ์กด์žฌํ•˜๋˜ MIT ์„ค๋ช…์„ ํ•œ์ •๋œ ์˜๋ฏธ ๋ชฉํ‘œ์— ์—ฐ๊ฒฐํ•œ๋‹ค.
ํ•™์Šต ์ œ์™ธ ์—ฐ๊ฒฐ69 ์ ๊ฒฉ ์–‘์„ฑ35ยท์Œ์„ฑ95, known ์ œ์™ธ23ยทunknown63 ์ œ์™ธ๋Š” ํ•™์Šต ๊ฐ€์ค‘์น˜0์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์›๋ž˜ ํ›„๋ณด์™€ ์ •๋‹ต์„ ๋ณด์กดํ•œ๋‹ค.
์ž…๋ ฅ ํ•œ๋„69 ์›๋ž˜ ์š”์ฒญ72๊ฐœ์™€ ์„ค๋ช…216๊ฐœ ๋ชจ๋‘ ๊ธฐ์กด512bytesยท32๋‹จ์–ด ํ•œ๋„ ์•ˆ์— ์žˆ์Œ ๋ฌธ์žฅ์„ ์ค„์ด๊ฑฐ๋‚˜ ํ•œ๋„๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ๋ณ€ํ™˜ํ•œ๋‹ค.

์–ด๋–ค ๋ฌธ์žฅ์ด ํ•™์Šต์— ๋“ค์–ด๊ฐ€๋‚˜

์›๋ž˜ ํ•จ์ˆ˜ ๊ฒ€์‚ฌ์˜ ์ •๋‹ต๊ณผ ๊ทธ ํ•จ์ˆ˜๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์žฅ์˜ ํ’ˆ์งˆ์€ ๊ตฌ๋ถ„ํ•œ๋‹ค. ํ•จ์ˆ˜์˜ ๋™์ž‘์ด ๋งž๋”๋ผ๋„ ์„ค๋ช…์ด ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ ์„ค๋ช…์€ ํ›„๋ณด ๋ชฉ๋ก์— ๋‚จ๊ธฐ๋ฉด์„œ ์†์‹ค ๊ณ„์‚ฐ์—์„œ๋งŒ ์ œ์™ธํ•œ๋‹ค. ์š”์ฒญ21๊ฐœ์˜ unknown ์ƒํƒœ๋„ ๋ณด์กดํ•˜๋ฉฐ ์Œ์„ฑ ์ •๋‹ต์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.

ํ•™์Šต์— ๋ฐ˜์˜๋˜๋Š” ํ›„๋ณด๊ฐ€ ์žˆ๋Š” ๊ทธ๋ฃน ์ˆ˜๋Š” train9ยทvalidation3ยทcalibration3์ด๋‹ค. ๊ธฐ์กด ์ค€๋น„ ํ•˜ํ•œ์„ ๊ทธ๋Œ€๋กœ ๋งŒ์กฑํ•œ๋‹ค. Go ํˆฌ์˜ ๋„๊ตฌ๋Š” known train90ํ–‰ยทvalidation36ํ–‰์„ ๋ชจ๋‘ ๋ณด์กดํ•˜๊ณ , ์ด ๊ฐ€์šด๋ฐ ์ œ์™ธ๋œ18ยท1ํ–‰์—๋Š” ๊ฐ€์ค‘์น˜0์„ ๋„ฃ๋„๋ก ์ค€๋น„ํ–ˆ๋‹ค. Calibration์˜ known27ยทunknown9ํ›„๋ณด๋Š” ๊ฐ์‚ฌ ์ž๋ฃŒ๋กœ ๋‚จ๊ธฐ๊ณ  fit์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค. ์‹ค์ œ ์›๋ž˜72๊ฐœ ํˆฌ์˜์€ ๋ณ„๋„์˜ ๊ณ ์ • ๊ณ„ํš์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

๊ณต๊ฐœ ์„ค๋ช…์„ ์–ด๋–ป๊ฒŒ ๊ฒ€์ฆํ–ˆ๋‚˜

Semver ๋‘ ์š”์ฒญ์€ ์ •ํ™•ํžˆ v1.2.3์—์„œ leading v๋ฅผ ํ—ˆ์šฉํ• ์ง€๋งŒ ๋ฌป๋Š”๋‹ค. NewVersion ํ›„๋ณด์˜ ์ธ์šฉ์€ ํ•จ์ˆ˜ ์ „์šฉ ์ฃผ์„์ด ์•„๋‹Œ package-level bullet์ด๋ฏ€๋กœ, ๊ฐ™์€ ๋ฌธ์„œ์˜ parsing ๋งฅ๋ฝ๊ณผ ํ•จ์ˆ˜ ๊ฒฝ๋กœ๋ฅผ ํ•จ๊ป˜ ๊ธฐ๋กํ–ˆ๋‹ค. Glob ๋‘ ์š”์ฒญ์€ ๋ช…์‹œํ•œ ๋‘ ํŒŒ์ผ ์ด๋ฆ„์—์„œ ์ค‘์ฒฉ ๊ฒฝ๋กœ๋ฅผ ํฌํ•จํ• ์ง€๋งŒ ๋ฌป๋Š”๋‹ค. ์ด ์œ ํ•œ ๋ฒ”์œ„์˜ ํ›„๋ณด ์ •๋‹ต ์ œ์•ˆ์€ ์–‘์„ฑ5ยท์Œ์„ฑ5๋‹ค. ๋ณด์กฐ ๊ด€์ธก์ธ missing-patch acceptance์™€ String์€ ๋ชจ๋ธ ๋ชฉํ‘œ์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜๋‹ค.

์›๋ณธ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ€ ์˜ˆ์ƒ๊ณผ ๋งž๋Š” ๊ฒƒ, ์„ค๋ช…์ด ๋ช…์‹œํ•œ ํ•œ์ • ๋ฒ”์œ„์—์„œ ์ด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ, ์ƒˆ ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ์ž‘์„ฑ ์›์ฒœ์„ ์ถฉ๋ถ„ํžˆ ํฌํ•จํ•˜๋Š” ๊ฒƒ์€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒ€ํ† ๋‹ค. ๊ธฐ์กด72๊ฐœ๋Š” ๊ฐ™์€ ํ•ฉ์„ฑ ์˜์–ด ์ž‘์„ฑ ํ๋ฆ„์ด๊ณ , upstream์˜ ๋„ค ์š”์ฒญ๋„ AI-assisted ์ดˆ์•ˆ์ด๋‹ค. ๋ฌธ์„œ ๋ฒˆ์—ญยท๊ฒ€์‚ฌ ํ•ญ๋ชฉ ์ˆ˜ยทํ›„๋ณด ์ˆ˜๋ฅผ ๋…๋ฆฝ ์ž‘์—… ์ˆ˜๋กœ ์„ธ์ง€ ์•Š๋Š”๋‹ค. ์›๋ฌธ๊ณผ ์ „์ฒด MIT ๊ณ ์ง€๋ฅผ ๋ณด์กดํ•˜๊ณ , ๋ชจ๋ธ ๋ณธ์ฒด๋Š” GitHub์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์ˆ˜์น˜๋ฅผ ์ฝ๋Š” ๋ฐฉ๋ฒ•

์—ญํ•  ๋ฐฐ์ •66์˜ ์ „์ฒด ์ž์‹ ํ”„๋กœ์„ธ์Šค peak RSS๋Š”16.64MiB, ๊ณต๊ฐœ ํ•จ์ˆ˜ ๊ด€์ธก68์€6.89MiB์˜€๋‹ค. ์ด๋Š” ์ž๋ฃŒ ์ค€๋น„์™€ ํ•จ์ˆ˜ ๊ด€์ธก ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ’์ด๋‹ค. Go heap, GPU ์‚ฌ์šฉ๋Ÿ‰, ์ž‘์€ ๋ชจ๋ธ์˜ ์ถ”๋ก  ๋น„์šฉ, ๋™์‹œ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์€ ๋ณ„๋„ ์ธก์ •ํ•ด์•ผ ํ•œ๋‹ค. 0.00์ดˆ๋กœ ๋ฐ˜์˜ฌ๋ฆผ๋œ CPU ์‹œ๊ฐ„๋„ CPU ์ž‘์—…์ด ์—†์—ˆ๋‹ค๋Š” ๋œป์€ ์•„๋‹ˆ๋‹ค. ์›์‹œ ๋กœ๊ทธยท๊ฐœ์ธ ๊ฒฝ๋กœยท๋กœ์ปฌ ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๊ณต๊ฐœ ๊ธฐ๋ก์—์„œ ์ œ์™ธํ–ˆ๋‹ค.

๋‹ค์Œ ์‹คํ–‰

๊ณ ์ • ์—ญํ• ์˜ ์ €์žฅ ์ˆœ์œ„ ์ง‘๊ณ„69๋Š” ์›๋ž˜ ํ•จ์ˆ˜ ์ •๋‹ต51์š”์ฒญ์„ ์œ ์ง€ํ–ˆ๋‹ค. ๊ฒ€์ฆ ์—ญํ• ์˜ ๋‹จ์ผ ์ตœ์„  ๊ธฐ์ค€์€ lexical22ํšŒ, ์ •๋‹ต์„ ์•„๋Š” ์ˆœ์„œ๋Š”17ํšŒ์˜€๋‹ค. ๊ธฐ์กด5% ํ•„์š”์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐœ์„  ์—ฌ์ง€์ด๋ฉฐ ํ•™์Šต ์„ฑ๊ณผ๋Š” ์•„๋‹ˆ๋‹ค. ์ „์ฒด๋Š” ๋‹จ์ผ BM25๊ธฐ์ค€91ํšŒ/oracle73ํšŒ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ์—ญํ• ๋งˆ๋‹ค ๋‹ค๋ฅธ ์ตœ์„  ๊ธฐ์ค€์„ ํ•ฉ์นœ90ํšŒ๋กœ ์ „์ฒด ๊ธฐ์ค€์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ์„ค๋ช… mask๊ฐ€ ๋ชจ๋‘ true์ธ ์š”์ฒญ๋งŒ ๋ณด๋Š” B์ง„๋‹จ์—๋Š” ๋ณ„๋„ gate๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค.

์›๋ž˜72๊ฐœ๋ฅผ ๋จผ์ € ๊ณ ์ • ์—ญํ• ยท์†์‹ค mask๋Œ€๋กœ ๋ฐฐ์—ด์— ๋ณ€ํ™˜ํ•˜๊ณ , ๊ฐ™์€ ์—ญํ• ๊ณผ ์›๋ž˜ ํ•จ์ˆ˜ ์ •๋‹ต์—์„œ ๊ณ ์ • ๊ธฐ์ค€์˜ ๊ฒ€์‚ฌ ๋น„์šฉ์„ ํ™•์ธํ•œ๋‹ค. ๊ทธ ๋’ค ์ƒˆ upstream4๊ฐœ๋ฅผ ๋ณ„๋„ ๋ฒ„์ „์œผ๋กœ ๊ฒฐํ•ฉํ•  ๋•Œ ์ „์ฒด ์ฝ”๋“œ ๊ฐ€์กฑ ๊ด€๊ณ„์™€ ์—ญํ• ์„ ๋‹ค์‹œ ๊ณ ์ •ํ•œ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  seedยท์—ญํ• ยทํ›„๋ณดยทmask๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. FP32 ๋ถ€๋ชจ๊ฐ€ ์‹ค์ œ ํšจ์šฉ์„ ๋ณด์ธ ๋’ค INT8/PTQ ์ž์‹๊ณผ ์‚ผ์ง„ STE ํ˜•์ œ๋ฅผ ๋น„๊ตํ•œ๋‹ค. ๋„๋ฉ”์ธ๋ณ„2400๊ฐœ ๋ณดํ˜ธ ์ตœ์ข… ์š”์ฒญ ๋ชฉํ‘œ๋Š” ๋ณ„๋„๋กœ ์œ ์ง€ํ•œ๋‹ค.

์ง„ํ–‰ ์ด์Šˆ19์—์„œ CIยท์‹คํ–‰ยท๊ฒŒ์‹œ์˜ ์™„๋ฃŒ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ „ ์ค€๋น„ ๋ฌธ์„œ์˜ ๋‹น์‹œ ๋ฏธ์‹คํ–‰ ์ƒํƒœ๋Š” ์—ญ์‚ฌ ๊ธฐ๋ก์œผ๋กœ ๋‚จ๋Š”๋‹ค.