State Hints V3 KO - teamswyg/laya-tools GitHub Wiki

์ƒํƒœ ํžŒํŠธ V3: ์‹ค์ œ ์ด์–ด ํ•™์Šต๊ณผ ์—ฐ๊ตฌ ํ›„๋ณด ๊ฒŒ์‹œ

English ยท ๊ธฐ๋Šฅ ์•ˆ๋‚ด ยท ์ด์ „ 100๊ฑด ๊ด€์ฐฐ ยท Home

์งง์€ ์—…๋ฌด ๋ฉ”์‹œ์ง€์—์„œ ์ง„ํ–‰ยท์™„๋ฃŒ ๋ณด๊ณ ยท์งˆ๋ฌธ์„ ์ฝ์–ด ํ‘œ์‹œ๋ฅผ ์ œ์•ˆํ•˜๋Š” ์ž‘์€ Go ๋ชจ๋ธ์„ ์‹ค์ œ๋กœ ์ด์–ด ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ๊ณผ ๊ณต๊ฐœ ์ž๋ฃŒ์˜ ๊ฒŒ์‹œยท์ฝ๊ธฐ ๊ฒ€์ฆ๋„ ๋งˆ์ณค์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์™„๋ฃŒ ์˜คํ‘œ์‹œ๊ฐ€ ๋Š˜์—ˆ์œผ๋ฏ€๋กœ ์—ฐ๊ตฌ ํ›„๋ณด๋กœ๋งŒ ๊ณต๊ฐœํ•˜๋ฉฐ, ๊ธฐ๋ณธ ๋ชจ๋ธ์ด๋‚˜ ์ •์ฑ…์„ ์ž๋™์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๋Š” V3 ํ•™์Šต๊ณผ ๊ฒŒ์‹œ์˜ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ธ ์‹ค์ œ ๋คผ์ด๋„ reader ์—ฐ๊ฒฐ๊ณผ๋Š” ๋ณ„๋„์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ฒฐ๊ณผ๋Š” ํ•ฉ์„ฑ fixture reader์—์„œ ์–ป์—ˆ์œผ๋ฉฐ ์‹ค์ œ ์•ฑ ์กฐํšŒยท์—…๋ฌด ๋ณ€๊ฒฝยท์šด์˜ ์™„๋ฃŒ ํŒ๋‹จ์„ ๊ฒ€์ฆํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ฌด์—‡์„ ํ•™์Šตํ–ˆ๋‚˜์š”?

๋ชจ๋ธ์€ 1,024๊ฐœ ํŠน์ง•๊ณผ 8๊ฐœ ์˜๋ฏธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” FP32 ์„ ํ˜• softmax ๋ถ„๋ฅ˜๊ธฐ์ž…๋‹ˆ๋‹ค. Go์šฉ RSH ํŒŒ์ผ์€ 32,960๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ์ด ์•„๋‹ˆ๋ฉฐ, Laya ๊ฐ€์ค‘์น˜ยทLoRAยท์ฆ๋ฅ˜ยท1.58-bit ๋ชจ๋ธ์ด๋ผ๋Š” ์ฃผ์žฅ์„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

8๊ฐœ ์˜๋ฏธ๋Š” question, blocker, reference, progress, completion_report, cancel_request, planned, unclear์ž…๋‹ˆ๋‹ค. ํ‘œ์‹œ ์‹คํ—˜์˜ ๋Œ€์ƒ์€ ์ง„ํ–‰ยท์™„๋ฃŒ ๋ณด๊ณ ยท์งˆ๋ฌธ ์„ธ ์ข…๋ฅ˜์ž…๋‹ˆ๋‹ค. ์™„๋ฃŒ ๋ณด๊ณ ๋Š” ์ž‘์„ฑ์ž๊ฐ€ ๋๋ƒˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋Š” ๋ฌธ์žฅ์ด์ง€, ์‹ค์ œ ์—…๋ฌด ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•œ ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋ถ€๋ชจ๋Š” Go v0.2์ด๋ฉฐ, ๊ณ ์ • SHA-256์€ ae6761dc81501b39ae17f29b48f0f0a8b35305fe11e297b9a787af0f9636df05์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ€์ค‘์น˜์—์„œ ์ƒˆ ํ•ฉ์„ฑ 400๋ฌธ์žฅ์œผ๋กœ CE+AdamW๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. optimizer ์ƒํƒœ๋Š” ์ƒˆ๋กœ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ ํƒ ๋ชจ๋ธ ์กฐ๊ฑด ๊ฐ’
์„ ํƒ ํ›„๋ณด warm_lr005
epoch / batch / seed 40 / 32 / 1729
ํ•™์Šต๋ฅ  / decay 0.005 / 0.001
์ƒˆ optimizer ๊ฐฑ์‹  520ํšŒ
๋ˆ„์  training step 1,920 โ†’ 2,440
๋ณด์ • ์˜จ๋„ 1.0
confidence / margin 0.9 / 0.05 ์œ ์ง€

4๊ฐœ ํ›„๋ณด ์ค‘ validation 80๊ฐœ์˜ ์ง„ํ–‰ยท์™„๋ฃŒ ๋ณด๊ณ ยท์งˆ๋ฌธ๊ณผ none NLL๋กœ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. none์€ ๋‚˜๋จธ์ง€ 5๊ฐœ ์˜๋ฏธ์˜ ํ™•๋ฅ  ํ•ฉ์ž…๋‹ˆ๋‹ค. ๋ณ„๋„ calibration 80๊ฐœ๋กœ ์˜จ๋„๋ฅผ ์ •ํ•˜๊ณ  ๋ชจ๋ธยท์กฐ๊ฑด์„ ์ €์žฅํ•œ ๋’ค test 200๊ฐœ๋ฅผ ์ฒ˜์Œ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. test ๊ฒฐ๊ณผ์— ๋งž์ถ”์–ด ํ›„๋ณด ์„ ํƒ ๊ธฐ์ค€์ด๋‚˜ ํ‘œ์‹œ ๊ธฐ์ค€์„ ๋ฐ”๊พธ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ฌด์—‡์ด ์ข‹์•„์กŒ๊ณ , ๋ฌด์—‡์ด ๋‚˜๋น ์กŒ๋‚˜์š”?

๊ฐ™์€ ์ƒˆ ํ•ฉ์„ฑ test 200๊ฐœ์—์„œ ๋ถ€๋ชจ์™€ ์„ ํƒ ํ›„๋ณด๋ฅผ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค.

์ž‘์„ฑ์ž์˜ ์ฃผ์„๊ณผ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ ๋ถ€๋ชจ v0.2 ์—ฐ๊ตฌ ํ›„๋ณด v0.3
์ „์ฒด 8๊ฐœ ์˜๋ฏธ ์ •๋‹ต 152/200 158/200
์ง„ํ–‰ ์ •๋‹ต 45/50 44/50
์™„๋ฃŒ ๋ณด๊ณ  ์ •๋‹ต 40/50 46/50
์งˆ๋ฌธ ์ •๋‹ต 24/50 36/50
์ œ์•ˆ ์ค‘ ์ •๋‹ต 57/57 90/94
์ž˜๋ชป๋œ ์™„๋ฃŒ ๋ณด๊ณ  ์ œ์•ˆ 0 4

์ „์ฒด ์ •๋‹ต๊ณผ ์งˆ๋ฌธ ์ •๋‹ต, ์˜ฌ๋ฐ”๋ฅธ ์ œ์•ˆ์˜ ์ˆ˜๋Š” ๋Š˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ง„ํ–‰ ์ •๋‹ต์€ ํ•˜๋‚˜ ์ค„์—ˆ๊ณ , ์™„๋ฃŒ ๋ณด๊ณ ๋ฅผ ์ž˜๋ชป ํ‘œ์‹œํ•  ์ œ์•ˆ์ด 4๊ฐœ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์ด ์ œ์•ˆํ•˜๋Š” ๊ฒƒ๊ณผ ์ž˜๋ชป๋œ ํ‘œ์‹œ๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ์ด ๊ตํ™˜๊ด€๊ณ„๋ฅผ ์ˆจ๊ธฐ์ง€ ์•Š๊ณ  ๊ธฐ๋ณธ ํ™œ์„ฑํ™”๋ฅผ ๋ณด๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด 8๊ฐœ ์˜๋ฏธ์˜ confusion, ๊ฐœ๋ณ„ ํ™•๋ฅ , ๋ณด๋ฅ˜, ์‹คํŒจ์™€ ์ง„๋‹จ์€ ์›๋ณธ ์ฒซ ๊ฒฐ๊ณผ์— ๋ณด์กดํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์กฐํšŒยทmutationยท์ƒํƒœ ๋ณ€๊ฒฝ์€ 0์ด๋ฉฐ, synthetic catalog placement๋„ ๊ฒ€์ฆ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ฒŒ์‹œ์™€ ์†Œ์Šค ํ™•์ธ

  • HF ๋ชจ๋ธ๊ณผ 19๊ฐœ ํŒŒ์ผ: revision cf6deca9eb2c9919b1bbbbe82ce3576453d67a40, ์ด 1,156,546๋ฐ”์ดํŠธ. ๋ชจ๋“  ํŒŒ์ผ์„ ์™„์ „ํžˆ ๋‹ค์‹œ ์ฝ์–ด ๋ฐ”์ดํŠธ์™€ SHA-256์„ ๋Œ€์กฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • statehint-v0.3-research ํƒœ๊ทธ๋„ ๊ฐ™์€ revisionยทํŒŒ์ผ ๋‚ด์šฉ์œผ๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์„ ํƒ ๋ชจ๋ธ SHA-256: 6fafd22cb5af6f3c9a5ab51ae0022e67e82d7d753702a770aab5559e1804869d.
  • PR 159์˜ source CI๊ฐ€ ์„ฑ๊ณตํ•œ ๋’ค ๋ด‡์ด ddd090fe49230a1ec52d9919c3105ca327eddd66์œผ๋กœ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒ€์‚ฌํ•œ ์†Œ์Šค 1e05eff7c05b2e6007bfd70fa1559d6631974b0d์™€ ๋ณ‘ํ•ฉ๋ณธ์˜ tree๋Š” ๋ชจ๋‘ 778d0135e48a210c40766710fec616f2fe08ba54์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœ ํŒจํ‚ค์ง€์— ๋‚จ์€ PR OPEN ๊ฐ™์€ ์ƒํƒœ๋Š” ์ตœ์ข…ํ™” ๋‹น์‹œ์˜ ๊ธฐ๋ก์ด๋ฉฐ, ํ˜„์žฌ ๋ณ‘ํ•ฉ์€ ์œ„ ์˜์ˆ˜์ฆ๊ณผ ๋งํฌ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. source CI ์„ฑ๊ณต์€ ์ฝ”๋“œ ๊ฒ€์‚ฌ ์™„๋ฃŒ๋ฅผ ๋œปํ•˜๋ฉฐ ์šด์˜ ๋ชจ๋ธ์˜ ์•ˆ์ „์„ฑ์ด๋‚˜ ์‹ค์ œ ์—…๋ฌด ์™„๋ฃŒ๋ฅผ ์ž…์ฆํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๊ณผ ์—์ด์ „ํŠธ์˜ ๋ช…์‹œ์ ์ธ ์‚ฌ์šฉ

Go 1.27.1๊ณผ ์œ„ ๋ณ‘ํ•ฉ ์†Œ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ, ๋ชจ๋ธ ๊ฒฝ๋กœ๋ฅผ ๋ช…์‹œํ•œ ๋กœ์ปฌ ์‹คํ—˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ์˜ ํฌ๊ธฐ์™€ ์œ„ SHA-256์„ ๋จผ์ € ํ™•์ธํ•˜์„ธ์š”.

hf download JooYoon/riidolaya-statehint-go-v0.3 statehint.rsh \
  --revision cf6deca9eb2c9919b1bbbbe82ce3576453d67a40 \
  --local-dir ./models/statehint-v0.3
go run ./cmd/riido-statehint --model ./models/statehint-v0.3/statehint.rsh \
  --text '์ด ๋ณด๊ณ ๊ฐ€ ์–ด๋А ์ž‘์—… ๋ฒ”์œ„๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”์ง€ ์•Œ๋ ค ์ฃผ์„ธ์š”.'

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

ํ•™์Šต ์žฌํ˜„ ์•ˆ๋‚ด์™€ ๋„ค ์ž๋ฃŒ ํŒŒ์ผ์€ ๋ชจ๋ธ ์นด๋“œ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์›๋ณธ ๊ณ„ํš์€ ๋‹น์‹œ์˜ ์ƒ๋Œ€ cache ๊ฒฝ๋กœ๋ฅผ ๋ณด์กดํ•˜๊ณ , ๋ณ„๋„ ๊ณต๊ฐœ ์žฌํ˜„ ๊ณ„ํš์€ ๋„ค ์ž๋ฃŒ ๊ฒฝ๋กœ๋งŒ ๊ณต๊ฐœ ํŒŒ์ผ๋ช…์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์›๋ณธ driver์™€ ๊ณต๊ฐœ cmd/riido-statehint-tune/main.go๋Š” ๊ฐ™์€ ๋ณธ๋ฌธ์ด๋ฉฐ, SHA-256์€ 1d9de51793bc3440978efd16a72d1d3eed6ff4c9785bf797a06bb21b67153d15์ž…๋‹ˆ๋‹ค. 24๊ฐœ ์›๋ž˜ ์†Œ์Šค ์ž…๋ ฅ์€ ๊ณ„ํš์˜ SHA์™€ ๊ณต๊ฐœ ์ €์žฅ์†Œ ์ฐธ์กฐ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ž๋ฃŒยท๋ผ์ด์„ ์Šคยทํ•ด์„์˜ ํ•œ๊ณ„

ํ•™์Šต 400 / ๊ฒ€์ฆ 80 / ๋ณด์ • 80 / test 200์€ ๋‘ AI ์ž‘์„ฑ์ž๊ฐ€ ๋งŒ๋“  ์›๋ณธ ํ•ฉ์„ฑ 760๊ฐœ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ์‚ฌ์šฉ์ž ์—…๋ฌด์™€ ์ œํ’ˆ ground truth, ๋…๋ฆฝ ์ธ๊ฐ„ ์ฃผ์„, ํ†ต๊ณ„์ ์œผ๋กœ ๋…๋ฆฝ์ ์ธ ์šด์˜ ํ‘œ๋ณธ์ด ์•„๋‹™๋‹ˆ๋‹ค. test๋Š” ์ด์ œ ๋…ธ์ถœ๋œ ๊ฐœ๋ฐœ ์ž๋ฃŒ๋ผ ๋‹ค์Œ ํ›„๋ณด์˜ ์ƒˆ blind test๋กœ ์žฌ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›๋ณธ ํ•ฉ์„ฑ ๋ณธ๋ฌธยท์ฃผ์„๊ณผ ๊ณต๊ฐœ Go ์ฝ”๋“œ์˜ ์„ ์–ธ ๋ผ์ด์„ ์Šค๋Š” Apache-2.0์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์— LICENSE์™€ ์›๋ณธ NOTICE๋ฅผ ํฌํ•จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ ์•ฑ ์†Œ์Šคยท์‹ค์ œ ์—…๋ฌด ๋ณธ๋ฌธยท์ธ์ฆ ์ •๋ณดยทํ˜ธ์ŠคํŠธ ๊ฒฝ๋กœยทraw profile์€ ๊ณต๊ฐœํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์›๋ž˜ ๋‹จ์ผ macOS Go ํ”„๋กœ์„ธ์Šค์˜ OS peak RSS๋Š” 15,974,400๋ฐ”์ดํŠธ์˜€์Šต๋‹ˆ๋‹ค. ๋ฒ”์œ„๋Š” 4๊ฐœ fitยท๊ฒ€์ฆยท๋ณด์ •ยทtestยท๋ชจ๋ธ reload ์ „์ฒด์ด๋ฉฐ ๋ชจ๋ธ ๋‹จ๋… ๋ฉ”๋ชจ๋ฆฌ, Go heap, GPU ์‚ฌ์šฉ๋Ÿ‰์œผ๋กœ ํ•ด์„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €์žฅ ๋ชจ๋ธ์„ ๋‹ค์‹œ ์ฝ์–ด 200๊ฐœ ์ „์ฒด ํ™•๋ฅ ์˜ ์ผ์น˜๋ฅผ ํ™•์ธํ–ˆ์ง€๋งŒ, ์ด๋Š” ์‹ค์ œ ๋คผ์ด๋„ ์—ฐ๊ฒฐ์ด๋‚˜ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์˜ ๊ฒ€์ฆ๊ณผ ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค.