State Hints KO - teamswyg/laya-tools GitHub Wiki

๋ผ๋ฒจยท์ด๋ชจ์ง€ยท์ƒํƒœ ํžŒํŠธ ์‚ฌ์šฉํ•˜๊ธฐ

English ยท ์ „์ฒด ํ•œ๊ธ€ ์‚ฌ์šฉ๋ฒ• ยท ๊ฐœ์„  ์ด์Šˆ #155

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

ํ˜„์žฌ ๊ฐœ๋ฐœ ๋ชจ๋ธ v0.2

์ฒซ ์‹œํ—˜ ๋ฒ”์œ„๋Š” ๊ฐœ๋ฐœ ์ž‘์—…์˜ ์ง„ํ–‰ยท์™„๋ฃŒ ๋ณด๊ณ ยท์งˆ๋ฌธ ํ‘œ์‹œ์ž…๋‹ˆ๋‹ค. ๐Ÿ› ๏ธยทโœ…ยทโ“๋Š” ์„ค์ • ๊ฐ€๋Šฅํ•œ ํ›„๋ณด์ด๊ณ  ์‹ค์ œ ๋คผ์ด๋„ ๋ผ๋ฒจยท์ด๋ชจ์ง€์™€์˜ ์—ฐ๊ฒฐ์€ ์•„์ง ํ™•์ธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒ ๋ณด๊ณ ๋Š” ๋ฌธ์žฅ์˜ ์ฃผ์žฅ์ž…๋‹ˆ๋‹ค. ์‹คํ–‰ ์„ฑ๊ณต์ด๋‚˜ ์‹ค์ œ ์—…๋ฌด ์™„๋ฃŒ๋ฅผ ์ฆ๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

V0.2 ๋ชจ๋ธ๊ณผ ํ•™์Šต ์ž๋ฃŒ๋Š” ๊ธฐ์กด Go ๋ชจ๋ธ์—์„œ ์‹ค์ œ ์ด์–ด ํ•™์Šตํ•œ32,960๋ฐ”์ดํŠธ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ๋ณ„๋„๋กœ ์ž‘์„ฑํ•œ ํ•™์Šต320๋ฌธ์žฅ์— CE+AdamW๋ฅผ ์ ์šฉํ•ด400๋ฒˆ ๊ฐฑ์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค. optimizer๋Š” ์ƒˆ๋กœ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ Laya ํŒŒ์ƒ ๊ฐ€์ค‘์น˜ยทLoRAยท์ฆ๋ฅ˜ ๋ชจ๋ธ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋ธ ํฌ๊ธฐ๋Š” ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค.

์ƒˆ ํ•ฉ์„ฑ ํ‰๊ฐ€40๊ฑด ์ด์ „ Go v0.1 ์ด์–ด ํ•™์Šตํ•œ v0.2
์ „์ฒด ์ •๋‹ต 22/40 (55%) 34/40 (85%)
์™„๋ฃŒ ๋ณด๊ณ  ์ •๋‹ต 1/5 5/5
์งˆ๋ฌธ ์ •๋‹ต 0/5 4/5
์‹ ๋ขฐ๋„0.9 ์ด์ƒ์ธ ๋น„๋ชจํ˜ธ ์ œ์•ˆ 3/40 17/40

๊ด€์ธก๋œ17๊ฐœ ์ œ์•ˆ์€ ๋ชจ๋‘ ๋งž์•˜์ง€๋งŒ ์šด์˜ ์ •๋ฐ€๋„100%๋ฅผ ๋œปํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ „์ฒด6์˜ค๋ฅ˜๋„ ๋ณด์กดํ–ˆ๊ณ  ํ•œ๊ตญ์–ดยท์˜์–ด๋Š” ๊ฐ17/20์ž…๋‹ˆ๋‹ค. validation NLL๋กœ ๋„ค ํ›„๋ณด ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๊ณ  ๋ณ„๋„40๊ฑด์—์„œ ๋ณด์ •ํ•œ ๋’ค ์ƒˆ ํ‰๊ฐ€40๊ฑด์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ํฐ2,048๊ตฌ๊ฐ„ ๋ชจ๋ธ์€ ์„ ํƒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ž๋ฃŒ๋Š” ํ•ฉ์„ฑ์ด๋ฉฐ ์‹ค์ œ ์ œํ’ˆ ์ •๋‹ต์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด test๋Š” ์ด๋ฏธ ๋…ธ์ถœ๋์œผ๋ฏ€๋กœ ํ›„์† ๋ชจ๋ธ ์„ ํƒ์— ์žฌ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•™์Šต ๊ณ„ํšยท์ „์ฒด ๊ฒฐ๊ณผ.

PR157์˜ ํ•„์ˆ˜ CI๊ฐ€ ๋ชจ๋‘ ํ†ต๊ณผํ•˜๊ณ  ๋ด‡์ด ๋™์ผ ํŠธ๋ฆฌ๋ฅผ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. HF ๊ณ ์ • revision์€ 81335eadd9f2753d3b86c932e9b00c636714e3b4์ด๋ฉฐ18ํŒŒ์ผ ์ „์ฒด347,460๋ฐ”์ดํŠธ๋ฅผ ๋‹ค์‹œ ๋‚ด๋ ค๋ฐ›์•„ ๋ฐ”์ดํŠธยทSHA๊ฐ€ ์ผ์น˜ํ•จ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ HF์—, Go ์†Œ์Šค๋Š” GitHub์— ๋‘ก๋‹ˆ๋‹ค. V1 ํŒŒ์ผ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

hf๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ชจ๋ธ์„ ๋ช…์‹œ์ ์œผ๋กœ ๋‚ด๋ ค๋ฐ›์•„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ช…๋ น์—๋Š” ์ž๋™ ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์—†๊ณ  ๋ชจ๋ธ์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํ•™์Šตํ•˜์ง€ ์•Š์€ ๊ทœ์น™์„ ์”๋‹ˆ๋‹ค.

hf download JooYoon/riidolaya-statehint-go-v0.2 statehint.rsh --revision 81335eadd9f2753d3b86c932e9b00c636714e3b4 --local-dir ./models/statehint-v0.2
riidolaya state-hint --model ./models/statehint-v0.2/statehint.rsh --text '์ด API์—์„œ ์žฌ์‹œ๋„ ํšŸ์ˆ˜๋Š” ์–ด๋””์„œ ์„ค์ •ํ•˜๋‚˜์š”?'

์‹ค์ œ ๊ฒŒ์‹œ ๋ชจ๋ธ์˜ CLI ์‹œํ—˜4๋ฌธ์žฅ์€ ๋ถ„๋ฅ˜4/4๊ฐ€ ๊ธฐ๋Œ€์™€ ์ผ์น˜ํ–ˆ์ง€๋งŒ ์‹ ๋ขฐ๋„ ๊ธฐ์ค€์„ ๋„˜์€ ์งˆ๋ฌธ1๊ฑด๋งŒ ๋ผ๋ฒจยท์ด๋ชจ์ง€๋ฅผ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰0.858ยท์™„๋ฃŒ๋ณด๊ณ 0.821ยท์˜ˆ์ •0.815๋Š” ๋ณด๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ฉ์„ฑ catalog๋งŒ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ ์ƒํƒœ ๋ณ€๊ฒฝยท์„œ๋น„์Šค ์“ฐ๊ธฐ0์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค์˜ OS ์ตœ๋Œ€RSS๋Š”5,488,640๋ฐ”์ดํŠธ(5.23MiB)๋กœ ๋ชจ๋ธ ๋กœ๋”ฉยทJSONยท๊ณ„ํš์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ Riido ์กฐํšŒ ๋น„์šฉ๊ณผ ์ง€์† ์„œ๋น„์Šค ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ธก์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ๊ฐ™์€ ๋ฌธ์žฅ50๋งŒํšŒ warm ์ ์ˆ˜ ๊ณ„์‚ฐ ํ‰๊ท ์€1.89ยตs์ด๋ฉฐ JSONยท๊ณ„ํšยท์‹œ์ž‘ยทRSSยทGPU๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค. ๋‘˜์€ ์ธก์ • ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋‹ค์Œ ์ ์šฉ ๊ณ„ํš: ์ง„ํ–‰ยท์™„๋ฃŒ ๋ณด๊ณ ยท์งˆ๋ฌธ pilot. ํ˜„์žฌ bridge๋Š” ์กฐํšŒ interface์™€ ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ๋งŒ ์žˆ๊ณ  ์‹ค์ œ private Riido reader๋Š” ์—ฐ๊ฒฐํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒ„์ „ v0.1 ๊ธฐ๋ก

riidolaya state-hint --text "์ด ์ž‘์—…์„ ์ทจ์†Œํ•ด ์ฃผ์„ธ์š”." --json
riidolaya state-hint --model ./statehint.rsh --jsonl < requests.jsonl

๋ชจ๋ธ์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํ•™์Šตํ•˜์ง€ ์•Š์€ ๊ทœ์น™์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ์˜ intent๋Š” ์—ฌ๋Ÿ ๊ฐ€์ง€ ์˜๋ฏธ ์ค‘ ํ•˜๋‚˜์ด๊ณ  emoji_code๋Š” ํ‘œ์‹œ์šฉ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์„ ํƒ์ ์ธ context์—๋Š” ํ˜„์žฌ ๋ผ๋ฒจ ํ›„๋ณดยท์ƒํƒœยท๋ฒ„์ „ยท์ด๋ฒคํŠธ ์ •๋ณด๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” mode:shadow, mutation_executed:false์ด๋ฉฐ ์‹ค์ œ APIยท๋ฐ˜์‘ยท์•Œ๋ฆผ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. JSON์˜ trusted:true ์ž์ฒด๋Š” ๊ถŒํ•œ์ด๋‚˜ ์‚ฌ์‹ค ์ฆ๋ช…์ด ์•„๋‹™๋‹ˆ๋‹ค.

Go ๋ชจ๋ธ์€ ์‹ค์ œ ์ง€๋„ํ•™์Šตํ•œ 32,960๋ฐ”์ดํŠธ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. 400๊ฐœ ํ•ฉ์„ฑ ๊ฐœ๋ฐœ ํ‰๊ฐ€์—์„œ 317๊ฐœ๊ฐ€ ๋งž์•˜์œผ๋ฉฐ ํ•œ๊ตญ์–ด 85%, ์˜์–ด 73.5%์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์™„๋ฃŒ ๋ณด๊ณ  50๊ฐœ๋ฅผ ์ „๋ถ€ ์ง„ํ–‰ ๋ณด๊ณ ๋กœ ์ž˜๋ชป ๋ถ„๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ ๋ขฐ๋„ 0.9 ์ด์ƒ์ธ ๋น„๋ชจํ˜ธ ๊ฒฐ๊ณผ136๊ฐœ๋Š” ์ด ๊ฐœ๋ฐœ ์ž๋ฃŒ์—์„œ ๋ชจ๋‘ ๋งž์•˜์ง€๋งŒ, ์šด์˜ ์ •ํ™•๋„๋‚˜ ๋…๋ฆฝ ํ‰๊ฐ€๋ฅผ ๋œปํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์งง์€ ๋ฌธ์žฅ์˜ ๋”ฐ๋œปํ•œ ์ƒํƒœ ๋ฐ˜๋ณต ์ ์ˆ˜ ๊ณ„์‚ฐ์€ ์•ฝ2ยตs์˜€์œผ๋ฉฐ JSONยท์ƒํƒœ ๊ณ„ํšยท์‹œ์ž‘ยท์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

Laya ์›๋ณธ์˜ ๋งˆ์ง€๋ง‰ ์„ ํ˜•์ธต1,025๊ฐœ๋„ ์‹ค์ œ MPS์—์„œ ํŒŒ์ธํŠœ๋‹ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™๊ฒฐ๋œ ์•ž๋ถ€๋ถ„๊ณผ ์ €์žฅยท์žฌ๋กœ๋”ฉ์„ ํ™•์ธํ–ˆ์ง€๋งŒ, ์ •๋‹ต์€ ์ „ํ›„148/400์œผ๋กœ ๋Š˜์ง€ ์•Š์•˜๊ณ  ํ•œ๊ตญ์–ด๋Š”12.5%์˜€์Šต๋‹ˆ๋‹ค. 4,252๋ฐ”์ดํŠธ ํŒŒ์ผ์€ ์ „์ฒด Laya๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ๊ต์ฒด๋ณธ์ด๋ฉฐ ๋‹จ๋… ์ €๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ2,400๊ฐœ๋Š”96์–ธ์–ด๋ณ„ ํ…œํ”Œ๋ฆฟยท48๊ฐœ ๊ฐœ๋… ์Œ์˜ ํ—ˆ๊ตฌ ๋ณ€ํ˜•์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋‚˜ ๋…๋ฆฝ ์ œํ’ˆ ์ •๋‹ต2,400๊ฐœ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‘ ๋ชจ๋ธ ๋ชจ๋‘ ๊ฐœ๋ฐœ์šฉ์ด๋ฉฐ ์šด์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์— ์ฑ„ํƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ์ƒˆ ํ‰๊ฐ€ ๊ตฌ๊ฐ„, ์™„๋ฃŒ/์ง„ํ–‰ ๊ตฌ๋ถ„, multilingual ๋น„๊ต ๋ฐ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” adapter์˜ shadow ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

PR #154 ยท ์†Œ์Šค CI

๊ฐœ๋ฐœ ๋ชจ๋ธ ํŒŒ์ผ: Go v0.1 ยท Laya ์ตœ์ข…์ธต v0.1. ๊ฒŒ์‹œํ•œ31ํŒŒ์ผ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ๋‚ด๋ ค๋ฐ›์•„ ๋ฐ”์ดํŠธยทSHA๋ฅผ ๋Œ€์กฐํ–ˆ์Šต๋‹ˆ๋‹ค. CI ํ†ต๊ณผ ํ›„ ๋ด‡์ด ๋™์ผ ์†Œ์Šค ํŠธ๋ฆฌ๋ฅผ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ํŒŒ์ผ์€ GitHub์— ์˜ฌ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.