Resident Resource Usage 56d KO - teamswyg/laya-tools GitHub Wiki

์ƒ์ฃผ ํžŒํŠธ ๋น„์šฉ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•56d

English ยท ์‹ค์ œ ๊ฒฐ๊ณผ ยท ๊ตฌํ˜„ ๊ฒฝ๊ณ„

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

๋จผ์ € ํžŒํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์ง์ ‘ ์จ๋ณด๊ธฐ

์ €์žฅ์†Œ ๋ฃจํŠธ์—์„œ Go1.27.1๋กœ ๋นŒ๋“œํ•œ๋‹ค. Python์ด๋‚˜ GPU๋Š” ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

CGO_ENABLED=0 go build -trimpath -buildvcs=false -p=1 -o bin/riido-shortclaim ./cmd/riido-shortclaim
bin/riido-shortclaim --baseline lexical_ordered < examples/shortclaim/order.json
bin/riido-shortclaim --stream --baseline lexical_ordered < examples/shortclaim/resident.jsonl

์ฒซ ๋ช…๋ น์€ ๋ณด๊ธฐ ์ข‹์€ JSON ํŒŒ์ผ ํ•œ ๊ฑด์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ๋ช…๋ น์€ ์‹ค์ œ ํ•œ ์ค„ JSONL์„ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ŠคํŠธ๋ฆผ์€ JSON ํ•œ ์ค„์„ ๋ณด๋‚ด๋ฉด ์‘๋‹ต ํ•œ ์ค„์„ ๋ฐ›๋Š”๋‹ค. ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค์— ๋‹ค์Œ ์ค„์„ ๊ณ„์† ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. verification_order์— ์›๋ž˜ ํ›„๋ณด๊ฐ€ ๋ชจ๋‘ ๋‚จ๊ณ  ์ƒํƒœ๋Š” unverified_heuristic์ด๋‹ค. ์ŠคํŠธ๋ฆผ ์ข…๋ฃŒ๋Š” ์ž…๋ ฅ ์ข…๋ฃŒ๋กœ ์•Œ๋ฆฐ๋‹ค. ์ž˜๋ชป๋œ JSON์ด๋‚˜ ํ›„๋ณด ์ œํ•œ ์œ„๋ฐ˜์„ ์„ฑ๊ณตํ•œ ํžŒํŠธ๋กœ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.

์ด ๋น„์šฉ ์ธก์ •์ด Laya ONNX ์ถ”๋ก ์ด๋‚˜ Codex ํ† ํฐ ๊ฐ์†Œ๋ฅผ ์ฆ๋ช…ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. Codexยทriido-daemon ์—ฐ๋™์€ ๋ณ„๋„ ์„ ํƒ์ด๋ฉฐ ์ด ๋ช…๋ น์ด ์ž๋™ ๋“ฑ๋กํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ธก์ • ์ž๋ฃŒ ์ค€๋น„ํ•ด ๋ณด๊ธฐ

CGO_ENABLED=0 go build -trimpath -buildvcs=false -p=1 -o bin/riido-residentperf ./cmd/riido-residentperf
bin/riido-residentperf --stage prepare --out .cache/my-resident-preparation

์ƒˆ ์ถœ๋ ฅ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. corpus.json์—๋Š” ์ •ํ™•ํ•œ ์ „์†ก bytes์™€ ์›๋ž˜ ๋ถ€๋ชจ ์—ฐ๊ฒฐ, preparation.json์—๋Š” ์„ ํƒ ์ˆ˜ยทํ•ด์‹œยท์†Œ์Šค ๋ชฉ๋ก, build-recipe.json์—๋Š” ๊ณ ์ • ๋นŒ๋“œ ์กฐ๊ฑด์ด ์žˆ๋‹ค. ์ค€๋น„๋Š” child ์ž์› ์ธก์ •ยท์ƒˆ ์ •๋‹ต ๊ฐ์‚ฌยทํ•™์Šตยท๋ชจ๋ธ ํ˜ธ์ถœ์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ •๊ทœํ™” ํŠน์ง• ํ•ด์‹œ๋Š” ์ค‘๋ณต ์„ ํƒ ๊ธฐ์ค€์ด๋ฉฐ, ์›๋ฌธ ๋ฌธ๋ฒ•์ด ๋‹ค๋ฅธ ์š”์ฒญ์˜ ์•ˆ์ „ํ•œ ๊ฒฐ๊ณผ ์บ์‹œ ํ‚ค๊ฐ€ ์•„๋‹ˆ๋‹ค.

๊ฒŒ์‹œ๋œ ๊ณต์‹ ์‹คํ–‰์„ ์ฝ๊ฑฐ๋‚˜ ์žฌํ˜„ํ•˜๊ธฐ

๊ธฐ๊ณ„ ์‹คํ–‰ ๊ณ„ํš, ์›๋ณธ ์—ฐ๊ฒฐ corpus, ์‹คํ–‰ ์ „ ๋ด‰์ธ, ์›๋ฌธ ๊ฒฐ๊ณผ, ์ˆ˜์น˜ ์š”์•ฝ์„ ํ•จ๊ป˜ ์ฝ๋Š”๋‹ค. ์†Œ์Šค ์ปค๋ฐ‹ 60b03500fab417470d48d1a096be4ca1f43fafc2์™€ ์‹คํ–‰ ์ „ ๊ณ„ํš ์ปค๋ฐ‹ 891e52d83e9aaf39c87cb5ef55c6d492724bebf1์„ ๋ถ„๋ฆฌํ•ด ๊ณ ์ •ํ–ˆ๋‹ค.

๊ฒŒ์‹œ๋œ ๊ณต์‹ ๊ณ„ํš์€ darwin/arm64์™€ ์‹ค์ œ Go1.27.1 ๋‘ ๋ฐ”์ด๋„ˆ๋ฆฌ SHA์— ๋ฌถ์—ฌ ์žˆ๋‹ค. ๋‹ค๋ฅธ OSยทGo ๋ฒ„์ „ยท์ถ”๊ฐ€ ๋นŒ๋“œ ์˜ต์…˜์€ ๊ทธ๋Œ€๋กœ ํ†ต๊ณผํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ณ ์ • recipe ํ™˜๊ฒฝ์„ ์ ์šฉํ•ด ๋นŒ๋“œํ•˜๊ณ  ํ•ด์‹œ๋ฅผ ํ™•์ธํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ ํ˜•ํƒœ๋กœ ์‹คํ–‰ํ•œ๋‹ค.

bin/riido-residentperf --stage replay \
  --plan experiments/short-claim/execution-plan-56d.json \
  --plan-sha256 8c0b7a5b697e52d4afffbb5e4ca2f9b5d3c992a31d4eae4f9767bf57e2dbfed2 \
  --corpus experiments/short-claim/wire-corpus-56d.json \
  --binary bin/riido-shortclaim \
  --out .cache/my-separate-resident-replay

์ƒˆ ์‹คํ–‰์€ ์ƒˆ ๊ฐœ๋ฐœ ๊ด€์ธก์ด๋‹ค. ๊ธฐ์กด56d ๊ฒฐ๊ณผ์— ํ•ฉ์น˜๊ฑฐ๋‚˜ ์ตœ์ดˆ ๊ด€์ธก์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ๋ฐ”์ดํŠธยทํ™˜๊ฒฝ์ด ๋‹ค๋ฅด๋ฉด ์–ต์ง€๋กœ ํ•ด์‹œ๋ฅผ ์ˆ˜์ •ํ•ด ๊ธฐ์กด ๊ณ„ํš์œผ๋กœ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ , ๋ณ„๋„ ๊ณ„ํš๊ณผ ๊ฒฐ๊ณผ ๋ฒ„์ „์„ ๋จผ์ € ๋งŒ๋“ ๋‹ค. CLI๋Š” ์†Œ์Šค commit์˜ ํ˜•์‹์„ ๊ฒ€์‚ฌํ•˜๋ฉฐ Git blob31๊ฐœ์™€ ๊ทธ commit์˜ ์‹ค์ œ ๊ด€๊ณ„๋Š” ๊ฒŒ์‹œ๋œ ๋ณ„๋„ ๋ด‰์ธ ๊ธฐ๋ก์œผ๋กœ ํ™•์ธํ•œ๋‹ค.

์„ฑ๊ณต ํšŸ์ˆ˜๋งŒ ์ฝ์ง€ ๋ง๊ณ  ๋‹จ๊ณ„๋ณ„ ์ˆ˜, EOFยท์ข…๋ฃŒยทreader ์ •๋ฆฌ, ์˜ค๋ฅ˜, ์ž…์ถœ๋ ฅ ํ•ด์‹œ๋„ ํ™•์ธํ•œ๋‹ค. ์‹คํŒจ ๋’ค ํ›„์† ํ–‰์€ ๋ฏธ์‹œ์ž‘์œผ๋กœ ๋‚จ๊ณ  ์ž๋™ ์žฌ์‹œ๋„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ธฐ์กด ์ถœ๋ ฅ๋„ ๋ฎ์–ด์“ฐ์ง€ ์•Š๋Š”๋‹ค. ํ•™์Šต์ด๋‚˜ ์šด์˜ ์Šน์ธ ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ๋‹ค.

์ˆซ์ž๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

์ด Mac์—์„œ child peak RSS๋Š”9.2187510.515625MiB์˜€๊ณ  timed wire RTT์˜ ํ–‰๋ณ„ p95 ๋ฒ”์œ„๋Š”0.0218750.050333ms์˜€๋‹ค. ์ฒซ ์‘๋‹ต577.13ms๋Š” ๋ณ„๋„๋กœ ๋ณด์กดํ–ˆ๋‹ค. Controller์˜33.109375MiB peak๋Š” ์ค€๋น„์™€ ์ธก์ • ์ž‘์—…์„ ํฌํ•จํ•˜๋Š” ๋ณ„๋„ ๊ฐ’์ด๋‹ค. ์ด ๋‘ peak๋ฅผ ๋”ํ•ด ๋™์‹œ์— ์‚ฌ์šฉํ•œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ณด์ง€ ์•Š๋Š”๋‹ค.

72๊ฐœ ์›๋ณธ ์ค‘3ํ›„๋ณด48๊ฐœ๋งŒ ์„ ํƒํ–ˆ๊ณ  ๋‚˜๋จธ์ง€24๊ฐœ๋Š” ์ œ์™ธํ–ˆ๋‹ค. ์ด48๊ฐœ๋ฅผ25,080ํšŒ ๋ฐ˜๋ณตํ–ˆ์œผ๋ฉฐ ๋…๋ฆฝ์ ์ธ2400๊ฐœ ๊ณจ๋“ ์…‹์ด ์•„๋‹ˆ๋‹ค. ์ด๋ฒˆ corpus์˜ narrow_rule์€ ๋ชจ๋‘ ๋ฒ”์œ„ ๋ฐ– ์š”์ฒญ์ด๋ผ BM25 fallback์œผ๋กœ ์ฒ˜๋ฆฌ๋๋‹ค. ๋”ฐ๋ผ์„œ ์ข์€ ๋ฌธ๋ฒ• ์„ฑ๊ณต ๊ฒฝ๋กœ์˜ ์„ฑ๋Šฅ์ด๋‚˜ ์˜๋ฏธ ์ •ํ™•๋„๋ฅผ ์–ป์—ˆ๋‹ค๊ณ  ํ•ด์„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์Œ ์บ์‹œยทSIMDยท๋™์‹œ์„ฑยท๋ชจ๋ธ ์‹คํ—˜์€ ๋ณ„๋„ ๋น„๊ต ๊ณ„ํš์ด ํ•„์š”ํ•˜๋‹ค. ํ˜„์žฌ ์ž๋ฃŒ๋Š” ์ž‘์€ ๋น„ํ•™์Šต ๊ธฐ์ค€์„ ์˜ ์ž์› ๋น„์šฉ์„ ์ œ๊ณตํ•˜๋ฉฐ, LLM ์ ˆ๊ฐ ํšจ๊ณผ์™€ ๋ชจ๋ธ์˜ ์œ ์šฉํ•จ์€ ๋ณ„๋„ ์‹ค์ œ ์ž‘์—… ๊ฒ€์ฆ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค.