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

์ €์žฅ ์ •๋‹ต ๊ธฐ๋ฐ˜ ๋น„ํ•™์Šต ํšจ์šฉ58 ๊ณ„ํš

English ยท ์ด์ „ ๊ทธ๋ฃน ๊ฐ์‚ฌ ยท ๊ณต๊ฐœ ๋™์ž‘57

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

ํ™•์ธํ•  ์งˆ๋ฌธ

์งง์€ ํžŒํŠธ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ธฐ ์ „์—, ์ข‹์€ ์ˆœ์„œ๊ฐ€ ๋…๋ฆฝ ํ™•์ธ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์š”์ฒญ๊ณผ ํ›„๋ณด ์„ค๋ช…๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋„ค ๊ฐ€์ง€ ๊ณ ์ • ๊ธฐ์ค€์„ ๋น„๊ตํ•˜๊ณ , ์ •๋‹ต์„ ๋ฏธ๋ฆฌ ์•ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ ์ƒํ•œ์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด ์ƒํ•œ์€ ๋ชจ๋ธ์ด ๋‹ฌ์„ฑํ•œ ํšจ์šฉยท์‹ค์ œ ํ›„๋ณด ์‹คํ–‰ยทCPU/RSS/์‹œ๊ฐ„ยทLLM ํ† ํฐยท์š”๊ธˆ ์ ˆ๊ฐ์ด ์•„๋‹ˆ๋‹ค.

๋ด‰์ธ ์ž…๋ ฅ SHA256
๊ธฐ์กด48๋ถ€๋ชจ 0fe97dd65606f4239ef9187f1fc4d9c8dc2fcaebf342612b2071220896b92df0
์ถ”๊ฐ€24๋ถ€๋ชจ 0d2bf6980353cefc4327af165c0f60a6455c1feea920f354dc621019ce3ed21e
๊ธฐ์กด ์ €์žฅ ์ •๋‹ตยท๊ทธ๋ฃน 4128400c792d2151955a1d98f7d35aca6112d097a3ac20aa280a7357996636c4

72๋ถ€๋ชจ/216ํ›„๋ณด ์„ค๋ช…์€ ๋‹ต ์žˆ์Œ34ยท๋‹ต ์—†์Œ17ยทํŒ๋‹จ ๋ณด๋ฅ˜21์ด๋‹ค. ํ›„๋ณด2๊ฐœ์ธ ์š”์ฒญ12ยท3๊ฐœ48ยท4๊ฐœ12๋ฅผ ๋ชจ๋‘ ์œ ์ง€ํ•œ๋‹ค. ์ „์ฒด17/๋ผ๋ฒจ16์—ฐ๊ฒฐ ๊ทธ๋ฃน์€15์šด์˜ ํ•˜ํ•œ์„ ์ด๋ฏธ ํ†ต๊ณผํ–ˆ๋‹ค.15๊ฐœ repository ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ™์€ ํ•ฉ์„ฑ ์˜์–ด ์ž‘์„ฑ ํ๋ฆ„์˜ ํ•œ๊ณ„์™€ ๊ธฐ์กด unknown/pending์„ ์œ ์ง€ํ•œ๋‹ค.56a์—์„œ ์ด๋ฏธ ๋ณธ48๊ฐœ ์ˆœ์œ„๋Š” ์ƒˆ๋กœ์šด72๊ฐœ ์ง„๋‹จ๊ณผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

์ž…๋ ฅ ์—ฐ๊ฒฐ๊ณผ ํŠน์ง• ๊ฒฝ๊ณ„

Go storedaudit.Bind๋Š” ์ •ํ™•ํ•œ3raw SHA/๋ฐ”์ดํŠธ๋ฅผ ๋จผ์ € ํ™•์ธํ•˜๊ณ  ๋ถ€๋ชจยทํ›„๋ณด ID/์ˆœ์„œ/์ˆ˜ยทํ—ˆ์šฉ ์ธ๋ฑ์Šคยท์ƒํƒœยท๋ฒกํ„ฐ ๊ธฐ๋กยท๊ทธ๋ฃน membership์„ ์—ฐ๊ฒฐํ•œ๋‹ค. raw input SHA์™€ canonical typed-dataset SHA๋Š” ๋‹ค๋ฅด๋ฉฐ ํ˜ผ๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ค‘๋ณต/๋ฒ”์œ„ ๋ฐ–ยท๋ชจ์ˆœยท๋ถˆ์™„์ „ ์ž…๋ ฅ์€ ๊ณ ์ • ์˜ค๋ฅ˜๋กœ ๊ฑฐ์ ˆํ•œ๋‹ค. unknown์„ false๋‚˜ no-answer๋กœ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.

Text๋Š” ์›๋ฌธ request์™€ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” candidate ์„ค๋ช…๋งŒ ๊ฐ€์ง„๋‹ค. ์ •๋‹ตยทsource/prototype/contract/group/roleยท๋ฌธ์„œ ํŒŒ์ผ๋ช…์€ ๋ณ„๋„ metadata๋‹ค. scorer์—๋Š” predictable local candidate ID์™€ ๊ณ ์ • provenance๋งŒ ์ „๋‹ฌํ•˜๋ฉฐ ์ด ๊ฐ’๋“ค๋„ ํŠน์ง•์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์›๋ฌธ512๋ฐ”์ดํŠธ/์œ ํšจUTF-8์™€ ๊ธฐ์กด ์ •๊ทœํ™”32๋‹จ์–ด ๊ณ„์•ฝ์„ ์œ ์ง€ํ•˜๊ณ  ์ž๋ฅด๊ฑฐ๋‚˜ ๋‹ค์‹œ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์ค€๋น„ ํ…Œ์ŠคํŠธ์˜ ์ €์žฅ ์—ฐ๊ฒฐ๊ณผ literal ์ˆœ์—ด ๊ฒ€์‚ฌ๋Š” ์ƒˆ source truthยท์‹ค์ œ72๊ฐœ ์ˆœ์œ„ ๊ด€์ธก์ด ์•„๋‹ˆ๋‹ค.

๋น„์šฉ๊ณผ ๋Œ€์กฐ๊ตฐ

๋„ค ๊ธฐ์ค€ ์ˆœ์„œ๋Š” fixed_order, bm25, lexical_ordered, narrow_rule์ด๋‹ค. ์ข์€ ๋ฌธ๋ฒ•์ด ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ผ๋ฐ˜ ๋ฌธ์žฅ์€ ๊ธฐ์กด BM25๋กœ ๋ณต๊ท€ํ•˜๊ณ  fallback ๋ถ„๋ชจ๋Š”unknown์„ ํฌํ•จํ•œ72๋‹ค. ์š”์ฒญ์„ ๊ด€์ธก ๋’ค behavior-v1: ๋ฌธ๋ฒ•์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ํ›„๋ณด๋ฅผ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ๋™๋ฅ ์€ ์›๋ž˜ ์ˆœ์„œ๋‹ค.

  • ๋‹ต ์žˆ์Œ: ์ฒซ ํ—ˆ์šฉ ํ›„๋ณด๊นŒ์ง€ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜. ํ—ˆ์šฉ ์ง‘ํ•ฉ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ผ ์ˆ˜ ์žˆ๋‹ค. oracle๋„1ํšŒ๋‹ค.
  • ๋‹ต ์—†์Œ: ๊ธฐ์ค€๊ณผoracle ๋ชจ๋‘ ํ•ด๋‹น ํ›„๋ณด ์ „์ฒด๋ฅผ ํ™•์ธํ•œ๋‹ค.
  • unknown21: ์›๋ž˜72 ๋ถ„๋ชจยท๊ด€๊ณ„ยท์ด์œ ์— ๋‚จ๊ธฐ๋˜ ๋น„์šฉ/Top1/Top3์—์„œ ์ œ์™ธํ•œ๋‹ค. ์ œ์™ธ๋œ0์€ ์‹ค์ œ ํ™•์ธ0์˜ ์ฆ๊ฑฐ๊ฐ€ ์•„๋‹ˆ๋‹ค.
  • known51์™€answerable34์˜ ๋น„์šฉ์„ ๋ณ„๋„๋กœ ๋ณด๊ณ ํ•˜๊ณ , ์ž‘์€2~4ํ›„๋ณด์—์„œTop3๊ฐ€ ์‰ฝ๊ฒŒ ํฌํ™”๋˜๋Š” ํ•œ๊ณ„๋ฅผ ์œ ์ง€ํ•œ๋‹ค.
  • ๊ฐœ๋ณ„ ๋ถ€๋ชจ์™€๊ทธ๋ฃน๋ณ„ ๋น„์šฉ, known์ด ์žˆ๋Š”16๊ทธ๋ฃน์˜macro๋ฅผ ์ถ”๊ฐ€ ์ง„๋‹จ์œผ๋กœ ๋ณด๊ณ ํ•œ๋‹ค. macro๋Š”global5% ๊ธฐ์ค€์„ ๋Œ€์ฒดํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ตœ์„  ๊ธฐ์ค€์€known51 ํ•ฉ๊ณ„๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ํ•˜๋‚˜์˜ ๊ณ ์ • ๊ธฐ์ค€์ด๋ฉฐ ๋ถ€๋ชจ๋งˆ๋‹ค ์œ ๋ฆฌํ•œ ๊ธฐ์ค€์„ ๊ณ ๋ฅด๋Š” ํ•ฉ์„ฑ ์ •์ฑ…์ด ์•„๋‹ˆ๋‹ค. ๋™๋ฅ ์€ ์œ„ ๋ฐฐ์—ด ์ˆœ์„œ๋‹ค. ํ•„์š” ์—ฌ์ง€๋Š” (best_known_checks-oracle_known_checks)/best_known_checks์ด๊ณ  ์ •ํ™•ํ•œ ์ •์ˆ˜ ๋น„๊ต๋กœ5%์ด์ƒ์„ ํ™•์ธํ•œ๋‹ค.5%๋ฏธ๋งŒ/์ด๋ฏธ์ตœ์ ์ด๋ฉด ์ด ์ž๋ฃŒ์˜ ํ•™์Šต์„ ์ค‘๋‹จํ•œ๋‹ค. ํ†ต๊ณผํ•˜๋”๋ผ๋„ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธยทํ•™์Šต ์ ๊ฒฉ์„ ์ธ์ฆํ•˜์ง€ ์•Š๋Š”๋‹ค.

์‹คํ–‰ ๋ด‰์ธ๊ณผ ์ œํ•œ

์‹ค์ œ source freeze์˜9๊ฐœ non-test Go ์†Œ์Šค์™€13๊ฐœ support,3์ž…๋ ฅ/์‹คํ–‰๊ณ„ํšยทbinary SHA/๋ฐ”์ดํŠธยทGo1.27.1/CGO0/ํ”Œ๋žซํผ์„ ๊ณ ์ •ํ•œ๋‹ค. source/input freeze๋Š” ๋ณ„๋„40hex Git commit์ด๋ฉฐ ๊ฐ ์‹ค์ œ blob์„ ์‹คํ–‰ ์ „์— ๋Œ€์กฐํ•œ๋‹ค. ์ถ”๊ฐ€ Go ์†Œ์Šคยทunknown/duplicate/extra-array/noncanonical ๊ณ„ํšยท๋‹ค๋ฅธbinary๋ฅผ ๊ฑฐ์ ˆํ•œ๋‹ค.

๊ณต์‹ ์ง„๋‹จ์€1ํšŒยท์žฌ์‹œ๋„0์ด๋‹ค. new directory์™€exclusive ๊ฒฐ๊ณผ ํŒŒ์ผ์€ ์‹คํ–‰ ์ „์— ์˜ˆ์•ฝํ•œ๋‹ค. ์ด ๊ฒฝ๋กœ ์ œํ•œ์€global one-shot ๋ณด์žฅ์ด ์•„๋‹ˆ๋ฉฐ ์™ธ๋ถ€ ๊ณต์‹ ์›์žฅ์ด ํ•„์š”ํ•˜๋‹ค. dispatch/๊ฒ€์ฆ/์‹œ์ž‘ํ•œBaselines ํ˜ธ์ถœ/์™„๋ฃŒ control ranking/์™„๋ฃŒ row๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์‹คํŒจยท๋ถ€๋ถ„ ๊ฒฐ๊ณผ์™€ ํ˜ธ์ถœ ํ›„ ์ €์žฅ ์‹คํŒจ๋ฅผ ์ˆจ๊ธฐ์ง€ ์•Š๋Š”๋‹ค. ํ•œ request์˜Baselines ํ˜ธ์ถœ์€ ๋„ค control ranking์„ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ์„ฑ๊ณต ๋ชฉํ‘œ๋Š”72ํ˜ธ์ถœ/288ranking/72row์ด๋ฉฐ ์ƒˆ ๋…๋ฆฝ ํ‘œ๋ณธ์ด ์•„๋‹ˆ๋‹ค.

๊ฐ ์ž…๋ ฅยท์†Œ์Šคยท๊ฒฐ๊ณผ๋Š”1MiB, binary๋Š”64MiB๋ฅผ ์ƒํ•œ์œผ๋กœ ๋‘”๋‹ค. Git blob์€ํŒŒ์ผ๋ณ„5์ดˆ์™€bounded stdout์ด๋‹ค. ํ‰๊ฐ€10์ดˆ cooperative deadline์€bounded row ์‚ฌ์ด ๋ฐ ์™„๋ฃŒ ์‹œ ๊ฒ€์‚ฌํ•˜๊ณ  detached worker๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. GOMAXPROCS1ยทGo heap256MiB soft limit์€ ์„ค์ •์œผ๋กœ์„œRSS/CPU/GPU/์ง€์—ฐ ์‹ค์ธก์ด ์•„๋‹ˆ๋‹ค. ์ƒˆ resource/performance ์ฃผ์žฅ์ด๋‚˜ ์บ์‹œยทSIMDยทlock ์ตœ์ ํ™”๋Š” ์ด๋ฒˆ ๋ฒ”์œ„์— ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

๊ณต์‹ ๊ด€์ธก ์ „์— CI ์žฌํ˜„ ๊ธฐ์ค€๋„ ๊ณ ์ •ํ•œ๋‹ค. ์ˆœ์œ„, ์ •์ˆ˜ ํ™•์ธ ์ˆ˜, ์ƒํƒœ, ์ด์œ , ๋ถ„๋ชจ์™€ ๋‚˜๋จธ์ง€ ํ‰๊ฐ€ ๊ธฐ๋ก์€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค. Linux/macOS์˜ ๋ถ€๋™์†Œ์ˆ˜์  ๋ฐ˜์˜ฌ๋ฆผ ์ฐจ์ด์— ํ•œํ•ด ๋น„๊ฒ€์ฆ ์ ์ˆ˜๋Š” ์–‘์ชฝ ๋ชจ๋‘ ์œ ํ•œํ•˜๊ณ  abs(actual-saved) <= 1e-12*(1+abs(saved))์—ฌ์•ผ ํ•œ๋‹ค. ์ ์ˆ˜๋ฅผ ๋น„๊ตํ•œ ๋’ค ๊ทธ ํ•„๋“œ๋งŒ ์ œ๊ฑฐํ•ด ๋‚˜๋จธ์ง€๋ฅผ ์ •ํ™• ๋น„๊ตํ•œ๋‹ค. ์›๋ณธ ๊ฒฐ๊ณผ ํŒŒ์ผ์˜ SHA๋Š” ๋ณ„๋„๋กœ ๊ณ ์ •ํ•˜๋ฉฐ ์ ์ˆ˜ ํ—ˆ์šฉ์น˜๋ฅผ ๋ณด๊ณ ์„œ ์ˆ˜์ •์ด๋‚˜ ์ˆœ์œ„ ์ฐจ์ด ํ—ˆ์šฉ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. CI ๋ฐ˜๋ณต์€ ๊ณต์‹ ์ง„๋‹จ ํšŸ์ˆ˜๋‚˜ ๋…๋ฆฝ ์š”์ฒญ ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์Œ ํŒ๋‹จ

no_roles_plan๊ณผsynthetic_single_pipeline์„ ๋ณด์กดํ•œ๋‹ค. ํ•„์š” ํšจ์šฉ ๋’ค์—๋„ ๋ฌธ์žฅ ์ถฉ์‹ค์„ฑยทํ–‰๋™/์–ธ์–ด coverageยท์ž‘์„ฑ ํ๋ฆ„ยท๊ณต๊ฐœ ์›์ฒœ ์ „์ด ๊ด€๊ณ„๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ , ์—ฐ๊ฒฐ ์š”์†Œ ์ „์ฒด์˜train/validation/calibration membership๊ณผ ๋ณ„๋„ ํ•™์Šต ์‹คํ–‰ ๊ณ„ํš์„ ๋ด‰์ธํ•ด์•ผ ํ•œ๋‹ค. ์—ญํ• ์ด ์œ ๋ฆฌํ•˜๋„๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ๊ทธ๋ฃน์„ ๊ณ ๋ฅด์ง€ ์•Š๋Š”๋‹ค.58์€์—ญํ• 0ยทfit0ยทtraining_ready=false์ด๋ฉฐproduction ํ™œ์„ฑํ™”๋ฅผ ์Šน์ธํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋„๋ฉ”์ธ๋ณ„2400๊ฐœ์˜ ๊ณ ์œ  ๋ณดํ˜ธ ์ตœ์ข… ์š”์ฒญ์€ ์ถ”ํ›„ ์ตœ์ข… ํšจ์šฉยท์ผ๋ฐ˜ํ™” ์ฃผ์žฅ์šฉ ๋ณ„๋„ ๋ชฉํ‘œ๋‹ค. ๋ชจ๋“ development fit์˜ ์„ ํ–‰ ์ตœ์†Œ ์ˆ˜๋กœ ์žฌํ•ด์„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ณ€ํ˜•ยท๋ฐ˜์ „ยท๋ฒˆ์—ญยท๋ฆฌํ„ฐ๋Ÿดยท๋ฐ˜๋ณตยทseed/๋ชจ๋ธ ์ˆ˜๋กœ2400์„ ์ฑ„์šฐ์ง€ ์•Š๊ณ  ๊ธฐ์กด protected final/CoSQA reserve๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์žฌ๋ฐฐ์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค. FP32 ์ฃผ ํ›„๋ณดยทINT8/PTQ childยท๋ณ„๋„ ternary STE sibling์€ ์ดํ›„ ๋ณ„๋„ ์ž๊ฒฉ์„ ๊ฐ–์ถ˜ ๋น„๊ต๋กœ ์œ ์ง€ํ•œ๋‹ค.

์ƒˆ ๋ชจ๋ธ ๋ณธ์ฒด๋Š”Git์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค. ์ด๋ฒˆ์—๋Š” ์ž์ฒด ๊ณต๊ฐœ Apache-2.0 ์ž๋ฃŒ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ณ  LICENSE๋ฅผ ๋ด‰์ธํ•œ๋‹ค. ๊ธฐ์กด56a/b/c/d/e/57 ๊ฒฐ๊ณผ๋Š” ๊ณ ์น˜์ง€ ์•Š๋Š”๋‹ค. Go ํ‰๊ฐ€๊ธฐ์™€๊ณ„ํš์„๋จผ์ € ๋ด‰์ธํ•˜๊ณ ๊ฒฐ๊ณผ๋Š”๋ณ„๋„๋ฌธ์„œ์™€CI๊ฒ€์‚ฌ๋กœ์ถ”๊ฐ€ํ•˜๋ฉฐ, CI ํ†ต๊ณผยท์ž๋™ ๋ณ‘ํ•ฉ์„ํ™•์ธํ•œ๋’คWiki/์ด์Šˆ์—๊ทผ๊ฑฐ๋ฅผ์—ฐ๊ฒฐํ•œ๋‹ค.