Gooo shared record field judge v1

2026-10-08 ํ›„์† ๊ฐœ๋ฐœ: ์ €์žฅํ•œ ๋ณด์กฐ ํ•จ์ˆ˜ ์กฐ๋ฆฝ ์ด์–ด๊ฐ€๊ธฐ

Gooo์˜ ๋ ˆ์ฝ”๋“œ ์„ ํƒ ์กฐ๋ฆฝ์„ ๋ณด์กฐ ํ•จ์ˆ˜์™€ ํ˜ธ์ถœ์ž๊นŒ์ง€ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๊ทธ ํ•จ์ˆ˜์— ์˜์กดํ•˜๋Š” ๊ธฐ์กด ํ›„๋ณด๋ฅผ ๋‹ค์‹œ ๊ฒ€์‚ฌํ•˜๊ณ , ๊ณผ๊ฑฐ ๋‹จ๊ณ„๋Š” ๋‹น์‹œ ์†Œ์Šค๋กœ ์žฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ ์ฒ˜์Œ ์ œ์•ˆํ•œ ํ›„๋ณด ์ˆœ์„œ๋ฅผ ๋‚จ๊ธฐ๋ฉฐ, ํ›„์† ์กฐ๋ฆฝ์—๋Š” ์ƒˆ ๋ชจ๋ธ ํ˜ธ์ถœ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ์ง„๋‹จ ๊ณผ์ œ์—์„œ ์ฒซ ์ €์žฅ ๊ฒฐ๊ณผ๋Š” ๋ถ€ํ’ˆ ์‚ฌ๋ก€ 3/5ยท์•ฑ ์ถœ๋ ฅ 2/4์˜€์Šต๋‹ˆ๋‹ค. ์ด์–ด ๋งŒ๋“ค๊ธฐ๋Š” ๊ฒฐ์ •๋ก  ์ˆœ์„œ์—์„œ ์ƒˆ ํ›„๋ณด 3๊ฐœ, ์ด QAT ๋ชจ๋ธ์˜ ์ˆœ์„œ์—์„œ 1๊ฐœ๋ฅผ ์‹œ๋„ํ•ด ๋‘ ๊ฒฝ๋กœ ๋ชจ๋‘ ๋ถ€ํ’ˆ 5/5ยท์•ฑ 4/4์™€ ๊ฐ™์€ ์ƒ์„ฑ ์ฝ”๋“œ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ ์žฌ์‹คํ–‰๋„ 4/4์˜€์Šต๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ์ค‘์ฒฉ ํ•จ์ˆ˜ ์˜ˆ์ œ๋Š” ๋ฐ”๋€ ๋ณด์กฐ ํ•จ์ˆ˜ ์•„๋ž˜์—์„œ ๊ธฐ์กด ํ›„๋ณด 1๊ฐœ๋ฅผ ์žฌ๊ฒ€์‚ฌํ•˜๋ฉฐ ์•ฑ ์ถœ๋ ฅ 0/2 โ†’ 2/2๋ฅผ ๊ด€์ธกํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ํŒ๋‹จ์€ 11.375ยตs, ์ค€๋น„๋Š” 0.716167ms, ๋ณต์› ํ…์„œ๋Š” 2,096B์˜€์Šต๋‹ˆ๋‹ค. ์ „์ฒด ํ›„์† ๋ช…๋ น์€ ๊ฒฐ์ •๋ก  0.33์ดˆยท๋ชจ๋ธ ์ˆœ์„œ 0.35์ดˆ์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ์ˆœ์ฐจ ๋กœ์ปฌ ๊ด€์ธก์ด๋ฉฐ ์บ์‹œ๋ฅผ ํ†ต์ œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์ž์ฒด์˜ CPU ์ฆ๊ฐ€๋Ÿ‰๊ณผ ์™ธ๋ถ€ ์žฌํ˜„์€ ๋ฏธ์ธก์ •์ž…๋‹ˆ๋‹ค. ๊ฐ€์ค‘์น˜์™€ ํ•™์Šต ์ž๋ฃŒ๋Š” ์ด๋ฒˆ ์‹คํ—˜์—์„œ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊นจ๋—ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ 395fb538fae6c55edb173e660b22daef8544f01a์—์„œ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ณต๊ฐœ 0.6.6 ๋ฐฐํฌ ์ดํ›„์˜ ๊ฐœ๋ฐœ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ ์‹คํ–‰์˜ ํ›„์† ์กฐ๋ฆฝ๊ณผ ํ›„๋ณด ํ‰๊ฐ€ ์ค‘ ์ค‘์ฒฉ ์ž…๋ ฅ ์ด๋ ฅ์€ ๋‹ค์Œ ์–ธ์–ด ๊ณผ์ œ์ž…๋‹ˆ๋‹ค.

English: Gooo now continues record-choice helper construction, rechecks dependent candidates when a helper changes, and replays historical stages with their original sources. This unchanged small model supplies the initial ordering. Continuation and replay make zero new predictions. The linked study retains partial results and the exact source, finite checks and measurement limits.

2026-10-08 ๊ณต๊ฐœ 0.6.6์—์„œ ์ž์ฒด ๋ชจ๋ธ๋กœ ๋„๊ตฌ ์กฐ๋ฆฝํ•˜๊ธฐ

Gooo 0.6.6 ๊ฐœ๋ฐœํŒ์— ์ง„๋‹จ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ, ํŒจํ‚ค์ง€ ํ•จ์ˆ˜ ํ˜ธ์ถœ, ๋ณด์กฐ ํ•จ์ˆ˜ ๋ณธ๋ฌธ ์กฐ๋ฆฝ๊ณผ ์‹ค์ œ ์ธ์ž ๊ด€์ธก์„ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ macOS arm64 ํŒŒ์ผ์„ ๋‚ด๋ ค๋ฐ›์•„ ์—ฌ๋Ÿ ์‚ฌ์šฉ ํ๋ฆ„์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ Gooo๊ฐ€ ์„ ์–ธํ•œ ํ›„๋ณด์˜ ์‹œ๋„ ์ˆœ์„œ๋ฅผ ์ œ์•ˆํ•˜๋ฉฐ, ์†Œ์Šค์˜ ์กฐ๋ฆฝ ๊ทœ์น™๊ณผ ๊ฒ€์‚ฌ ๊ธฐ์ค€์€ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœ ์‹คํ–‰ ํŒŒ์ผ์˜ ๊ณผ์ œ ๊ฒฐ์ •๋ก  ํ›„๋ณด ์ˆ˜ ๋ชจ๋ธ ํ›„๋ณด ์ˆ˜ ์ตœ์ข… ๊ธฐ๋Œ€ ์ถœ๋ ฅ
์ƒˆ ์ง„๋‹จ ํ…œํ”Œ๋ฆฟ 4 2 ๋‘ ๊ฒฝ๋กœ ๋ชจ๋‘ 8/8
๋ณด์กฐ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์•ฑ 4 2 ๋‘ ๊ฒฝ๋กœ ๋ชจ๋‘ 4/4
ํ˜ธ์ถœ ์•ฑ์„ ์ฒซ ํ›„๋ณด์—์„œ ์ค‘๋‹จ โ€” 1 2/4

๋‘ ์ง์ง€์€ ์‹คํ–‰์€ ๊ฐ™์€ ์ƒ์„ฑ ์ฝ”๋“œ์™€ ์ถœ๋ ฅ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ€๋ถ„ ๊ฒฐ๊ณผ์˜ ๋ณด์กฐ ํ•จ์ˆ˜ ์‚ฌ๋ก€๋Š” 3/5์˜€๊ณ , Gooo ์„ค๋ช… ๋„๊ตฌ๋Š” PROGRESS / CONTINUE_CANDIDATES๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ ์žฌ์‹คํ–‰์€ ์ƒˆ ๋ชจ๋ธ ํ˜ธ์ถœ 0ํšŒ์˜€์œผ๋ฉฐ, ๋‹ค์Œ ์ž‘์—… ์ œ์•ˆ์˜ ์ž๋™ ์‹คํ–‰์€ ํ›„์† ๊ตฌํ˜„ ๊ณผ์ œ์ž…๋‹ˆ๋‹ค.

๋ชจ๋ธ ํŒ๋‹จ์€ ์ง„๋‹จ ํ…œํ”Œ๋ฆฟ 19.250 ยตs, ํ˜ธ์ถœ ์•ฑ 17.833 ยตs์˜€์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์ค€๋น„๋Š” ๊ฐ๊ฐ 0.740084 msยท0.164333 ms, ๋ณต์› ํ…์„œ๋Š” 2,096 B์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋ช…๋ น ์‹œ๊ฐ„์€ ๊ฒฐ์ •๋ก /๋ชจ๋ธ ์ˆœ์„œ๋กœ ์ง„๋‹จ ํ…œํ”Œ๋ฆฟ 0.86/0.33 s, ํ˜ธ์ถœ ์•ฑ 0.52/0.35 s์˜€์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜์น˜๋Š” Apple M4ยทmacOS 26.5.2ยทGo 1.27.1์˜ ๋‹จ์ผ ์ˆœ์ฐจ ๊ด€์ธก์ด๋ฉฐ, ์บ์‹œ์™€ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ†ต์ œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ›„๋ณด ์ˆ˜์™€ ์ „์ฒด ์‹œ๊ฐ„์€ ๋ณ„๋„๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ์›๋ณธ์—๋Š” CPU ์‹œ๊ฐ„๊ณผ BSD time ์ตœ๋Œ€ RSS, ๊ฐ๊ฐ์˜ ์ธก์ • ๋ฒ”์œ„๋„ ๋ณด์กดํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

English: the published Gooo binary uses this optional small model to rank source-declared choices. Deterministic and model-guided runs share the same checks. Retain partial results, replay without new inference, and grow the language through useful tools and reproducible failures.

2026-10-08: ์กฐ๋ฆฝํ•œ ๋ณด์กฐ ํ•จ์ˆ˜๋ฅผ ์•ฑ์—์„œ ํ˜ธ์ถœํ•˜๊ณ  ์ž…๋ ฅ์„ ๊ด€์ธกํ•˜๊ธฐ

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

๊ฒฝ๋กœ ์‹œ๋„ํ•œ ํ›„๋ณด ๋ณด์กฐ ํ•จ์ˆ˜ ์‚ฌ๋ก€ ์•ฑ ๊ธฐ๋Œ€ ์ถœ๋ ฅ ์กฐ๋ฆฝ ์‚ฌ๋ก€์™€ ๊ฒน์น˜์ง€ ์•Š๋Š” ์ž…๋ ฅ์˜ ํ†ต๊ณผ ์ˆ˜ ์ƒˆ ์ถ”๋ก 
๊ฒฐ์ •๋ก ์  ์ˆœ์„œ 4 5/5 4/4 4/4 0
๊ณต๊ฐœ QAT 2 5/5 4/4 4/4 1
์ฒซ ํ›„๋ณด์—์„œ ์ค‘๋‹จ 1 3/5 2/4 2/4 1
์ €์žฅ ๊ฒฐ๊ณผ ์žฌ์‹คํ–‰ 2๊ฐœ ์ด๋ ฅ ์œ ์ง€ 5/5 ์œ ์ง€ 4/4 4/4 0

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

๊นจ๋—ํ•œ ๊ฐœ๋ฐœ ๋ฆฌ๋น„์ „ d5130460356646f964d01a619f0db62f166f0ea5ยทGo 1.27.1์—์„œ ๊ด€์ธกํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ธก 12,042 ns, ๋ชจ๋ธ ์ค€๋น„ 0.734625 ms, ํ…์„œ 2,096 B์˜€์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋ชจ๋ธ ๋ช…๋ น์€ 0.36์ดˆยท์ตœ๊ณ  RSS 86,720,512 B์˜€๊ณ  ๊ฒฐ์ •๋ก ์  ๋ช…๋ น์€ 0.34์ดˆ์˜€์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ช…๋ น์˜ CPU ์‹œ๊ฐ„ 0.27์ดˆ/๋ฒฝ์‹œ๊ฐ„ 0.36์ดˆ๋Š” ํ•œ ์ฝ”์–ด ๊ธฐ์ค€ ํ‰๊ท  75%์ด๋ฉฐ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ CPU ์ฆ๊ฐ€๋Ÿ‰์€ ๋ฏธ์ธก์ •์ž…๋‹ˆ๋‹ค. ๋‹จ์ผ ๋กœ์ปฌ ๊ด€์ธก์ด๋ฏ€๋กœ ํ›„๋ณด ์ˆ˜์™€ ์ „์ฒด ์‹คํ–‰ ์‹œ๊ฐ„์„ ๊ฐ๊ฐ ์ฝ์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ํ•  ์†Œ์Šค์™€ ์‚ฌ์šฉ๋ฒ• ยท ์›๋ณธ 13๊ฐœยท์†Œ์Šค ์‹๋ณ„๊ฐ’ยท์ธก์ • ๋ฒ”์œ„. ์•„๋ž˜ ๊ธฐ๋ก์€ ๊ฐ ์‹คํ—˜ ๋‹น์‹œ์˜ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๋ฐฐํฌ ๋ฒ„์ „์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

In this development study, Gooo constructs a helper body before compiling its caller. The unchanged local QAT model orders declared candidates; source-owned cases and native execution retain separate finite outcomes. Actual helper arguments distinguish repeated construction inputs from newly observed inputs. Saved replay makes zero new model calls. The linked raw study includes partial outcomes and remaining unknowns; independent reproduction is still to be measured.

Gooo๋กœ ์ž‘์„ฑํ•œ ์ƒํƒœ๊ณ„ ๋„๊ตฌ์— ์—ฐ๊ฒฐํ•˜๊ธฐ

Gooo ์„ ์–ธ์—์„œ ๊ณต๊ฐœ API ์ฐธ์กฐ ์ƒ์„ฑํ•˜๊ธฐ

The Gooo ecosystem workbench uses this shared QAT model. Its reference command reads the compiler's operation-interface JSON. A Gooo activity assembles the public name, signature, stable type IDs, and source/interface digests into Markdown. Go connects the compiler, Gooo execution, and output files.

git clone https://github.com/kimjooyoon/gooo-ecosystem-workbench.git
cd gooo-ecosystem-workbench
go run ./cmd/workbench reference --compiler /path/to/gooo --package examples/catalog --entry ApproveInvoice --out out/api-reference

The sample declares ApproveInvoice(Invoice, Reviewer) -> Approval. Its generated page contains the two inputs, output type, and stable IDs. Local and Linux CI output matched the expected page 1/1 and a saved replay matched. This checks a declaration-level reference; it does not document implementation behavior.

Compiler source: f144dddb8261b9b525181dee510afc65f1603153. Source and original result ยท Linux CI ยท Usage.

gooo-ecosystem-workbench๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. Gooo ํ‘œ์ค€ ํ•จ์ˆ˜13๊ฐœ, ์‹คํ–‰ ๊ฒฐ๊ณผ์˜ ์ง„๋‹จ, scalar/record Gooo ํŒŒ์ผ ์ƒ์„ฑ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง„๋‹จ๊ณผ ์‹œ์ž‘ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ธ ํ•„๋“œ ํ›„๋ณด ์ˆœ์„œ๋ฅผ ์ด ๊ณต๊ฐœ QAT๊ฐ€ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ๋ณธ๋ฌธ๊ณผ ํ…œํ”Œ๋ฆฟ์€ Gooo์— ์žˆ๊ณ  Go๊ฐ€ ํŒŒ์ผ๊ณผ ์‹คํ–‰์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ์˜ต์…˜์„ ์ƒ๋žตํ•˜๋ฉด ๊ฒฐ์ •๋ก ์ ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ณ ์ • ์‚ฌ๋ก€์—์„œ151/151์ถœ๋ ฅยท66/66๋ ˆ์ฝ”๋“œ ํ•„๋“œ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์ง„๋‹จยท์‹œ์ž‘ ์‚ฌ๋ก€๋ฅผ ๋‘ ์„ ํƒ ์ˆœ์„œ์—์„œ ์‹คํ–‰ํ•œ ์ˆ˜๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์„ฏ ์ €์žฅ ์žฌ์‹คํ–‰๊ณผ Linux ์›๋ณธ์˜ ์‹ค์ œ ๊ฐ’๋„ ๋‹ค์‹œ ์…Œ์Šต๋‹ˆ๋‹ค. ์ด ํ™•์ธ ๋ช…๋ น์˜ ์ƒ์„ฑ ํŒ๋‹จ์€2ํšŒ์ด๋ฉฐ ์‹คํ–‰๊ณผ ์žฌ์‹คํ–‰์˜ ์ถ”๊ฐ€ ํŒ๋‹จ์€0ํšŒ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์—ฐ๊ฒฐ์—์„œ ์ƒˆ ๊ฐ€์ค‘์น˜ ํ•™์Šต์€0ํšŒ์ž…๋‹ˆ๋‹ค.

์„ธ ๋ช…๋ น์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ยท ์‹ค์ œ ์‚ฌ๋ก€ยท๋ถ„๋ชจยท์›๋ณธ ยท macOSยทLinux ์‹คํ–‰ ํŒŒ์ผ๊ณผ Linux ๊ด€์ธก.

์‹คํŒจํ•œ ์กฐํ•ฉ์„ ๊ธฐ๋กํ•˜๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ

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

๊ฐœ๋ฐœ PR1237๊ณผ main PR1238์„ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์„ค์น˜ ์†Œ์Šค๋Š” main f144dddb8261b9b525181dee510afc65f1603153ยทGo1.27.1ยทSDKv0.2.24์ž…๋‹ˆ๋‹ค. ๊ฐ PR์˜ ์ „์ฒด12๊ฐœ ๊ฒ€์‚ฌ์™€ ๋…๋ฆฝ ํ™•์ธ, ์‹ค์ œ ์„ค์น˜๋ณธ์˜ ์ƒˆ ๊ด€์ธก์„ ํ•จ๊ป˜ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

๊ฐ™์€ ์ž‘์„ฑ ์˜ˆ์ œ์—์„œ ๊ฒฐ์ •๋ก  ์˜ˆ์‚ฐ4๋Š” ์„ ํƒ12/15ํ•„๋“œยท์‹ค์ œ6/14์ถœ๋ ฅ์„ ๋ณด์กดํ–ˆ๊ณ , ์˜ˆ์‚ฐ8์€15/15ํ•„๋“œยท14/14์ถœ๋ ฅ์„ ์ถฉ์กฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ณต๊ฐœ QAT๋Š” ์˜ˆ์‚ฐ4์™€8 ๋ชจ๋‘ ํ•œ ๋ฒˆ ํŒ๋‹จํ•˜์—ฌ ํ›„๋ณด ์ˆœ์„œ๋ฅผ ์ •ํ•˜๊ณ , ํƒ€์ž… ํƒˆ๋ฝ ํ•œ ๊ฐœ๋ฅผ ๊ธฐ๋กํ•œ ๋’ค ๊ฐ™์€ ์™„์ „ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ํ›„๋ณด๋ฅผ ์‹œ๋„ํ•œ ์ˆ˜ยทํ…Œ์ŠคํŠธํ•œ ์ˆ˜ยทํƒ€์ž… ํƒˆ๋ฝ ์ˆ˜๋ฅผ ๋”ฐ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์€ ํƒˆ๋ฝ ํ›„๋ณด์˜ ๋ถ„๋ชจ๋Š”0์ž…๋‹ˆ๋‹ค.

์‹คํ–‰๊ณผ ์ €์žฅ ๊ฒฐ๊ณผ ์žฌ์‹คํ–‰์˜ ์ƒˆ ์ถ”๋ก ์€0ํšŒ์ž…๋‹ˆ๋‹ค. ๋‘ ์ž‘์—…์ž์—32๊ฐœ ์š”์ฒญ์„ ๋ณด๋‚ธ ๊ด€์ธก์„ ๋„ค ๋ฒˆ ๋ฐ˜๋ณตํ–ˆ๊ณ , ๊ฐ๊ฐ ์„ ํƒ480/480ํ•„๋“œ์™€32๊ฐœ ํƒ€์ž… ํƒˆ๋ฝ ๊ธฐ๋ก์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ์‘๋‹ต์€ ์ž…๋ ฅ ์ข…๋ฃŒ ์ „์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ•œ ์˜ˆ์ œ์™€ ํ•ด๋‹น ์š”์ฒญ ๊ทœ๋ชจ์—์„œ ํ™•์ธํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ๋ชจ๋ธ ํ•™์Šต๋Ÿ‰๊ณผ ๊ฐ€์ค‘์น˜๋Š” ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

ํ˜„์žฌ ๊ฐ’๊ณผ ์ €์žฅ๊ฐ’์˜ ์ถœ์ฒ˜๋ฅผ ์ฝ๋Š” ์ž…๋ ฅ

Gooo์˜ ์ƒˆ ์†Œ์Šค ๊ทธ๋ž˜ํ”„๋Š” ์ •์˜ยท๋ณต์‚ฌยทํ•„๋“œ ๋Œ€์ž…ยท์ฝ๊ธฐยท์กฐ๊ฑด ํ•ฉ๋ฅ˜์™€ ์กฐ๊ธฐ ๋ฐ˜ํ™˜ ๋’ค์— ๋‚จ์€ ๊ฒฝ๋กœ๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—… ์ค‘์ธ ๋ฌธ์„œ ์˜†์— ์ด์ „ ์‚ฌ์ง„์„ ๋†“๋“ฏ, ํ˜„์žฌ ํ•„๋“œ์™€ ์ €์žฅํ•œ ํ•„๋“œ๊ฐ€ ์–ด๋””์—์„œ ์™”๋Š”์ง€ ๋ชจ๋ธ ์ž…๋ ฅ์œผ๋กœ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ PR1235์™€ main PR1236์„ ๊ฐ๊ฐ ์ „์ฒด12๊ฐœ ๊ฒ€์‚ฌ์™€ ๋…๋ฆฝ ํ™•์ธ ํ›„ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. main 78dd30db84758f7adff61e6cc9628738a34d31d1ยทGo1.27.1ยทSDKv0.2.24๋กœ ๋‘ ์‹คํ–‰๊ธฐ๋ฅผ ์„ค์น˜ํ•˜๊ณ , ๊ธฐ์กด ๊ณต๊ฐœ QATยท๊ฒฐ์ •๋ก  ๊ฒฝ๋กœ์—์„œ ์„ ํƒ15/15ํ•„๋“œยท์‹ค์ œ14/14์ถœ๋ ฅ๊ณผ ์ถ”๊ฐ€ ์ถ”๋ก  ์—†๋Š” ์ €์žฅ ์žฌ์‹คํ–‰์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„ค ์†Œ์Šค ํ˜•ํƒœยท์—ฌ๋Ÿ ๋‚ด๋ณด๋‚ด๊ธฐ์˜ ์—ฌ์„ฏ ๊ด€์ธก ๊ฒ€์‚ฌ๊ฐ€ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํŠน์ง• ๋ฐฐ์—ด์€ ํ˜„์žฌ ๊ธฐ๋ก๊ณผ ์ €์žฅ ๊ธฐ๋ก์˜ ํ‘œํ˜„์„ ๊ตฌ๋ถ„ํ•˜๊ณ , ์ง€์—ญ ์ด๋ฆ„๊ณผ ์˜ˆ์‹œ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ”๊พธ์–ด๋„ ๊ฐ™์€ ๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‚ด๋ณด๋‚ด๊ธฐ์˜ ์ถ”๋ก ยทํ›„๋ณด ์‹คํ–‰ยทํ•™์Šต์€ ๋ชจ๋‘0ํšŒ์ž…๋‹ˆ๋‹ค. ์„ธ ํ•„๋“œ์šฉ768์นธ ์ค‘ ๊ฐ ํ•„๋“œ๋Š”64ํ‘œํ˜„ยท32์ถœ์ฒ˜ยท160์˜๋„ ์นธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ˆœ์ฐจ ์˜ˆ์ œ์˜ ์†Œ์Šค ์ค€๋น„ ๋‹จ๊ณ„๋Š”5ํšŒ ๋ฐ˜๋ณต ์ค‘์•™๊ฐ’59.9ยตsยท์ž„์‹œ ํ• ๋‹น86,892 B์˜€์Šต๋‹ˆ๋‹ค. ํƒ€์ž… ์ •๋ณด๋ฅผ ๋”ฐ๋กœ ๋ณด๊ด€ํ•œ ๋ณ€๊ฒฝ์œผ๋กœ ์ž„์‹œ ํ• ๋‹น43.1%, ์ด ๋‹จ๊ณ„์˜ ์‹œ๊ฐ„8.8%๊ฐ€ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ค€๋น„์™€ ์ „์ฒด ์ƒ์„ฑยท๋นŒ๋“œยท์‹คํ–‰ ๋น„์šฉ์„ ๋‚˜๋ˆ„์–ด ์ฝ์Šต๋‹ˆ๋‹ค. ์›๋ณธยท๋ฐ˜๋ณตยท๋นŒ๋“œ์™€ ์„ค์น˜ ๊ทผ๊ฑฐ๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฐ€์ค‘์น˜ ํ•™์Šต์€ ๋‹ค์Œ ๋‹จ๊ณ„์ด๋ฉฐ, ๊ณต๊ฐœ v1 ๊ฐ€์ค‘์น˜๋Š” ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค. ์ƒˆ ์ถœ์ฒ˜ ๊ณ„์•ฝ์˜ ํ•ฉ์„ฑ ๊ฐ€์ค‘์น˜๋Š” ํ˜ธ์ถœ ๊ฒฝ๋กœยท์œ ํ•œ ํƒ์ƒ‰ยท์žฌ์‹คํ–‰ ํšŒ๊ท€์— ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ปดํŒŒ์ผ๋Ÿฌ ์˜ˆ์ œ ํด๋”์—์„œ ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ์‹คํ–‰ ์ „์— ๊ด€๊ณ„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gooo body-context --value-flow --activity Select \
  --feature-version triple_record_field_flow_v2_shared_v1 \
  examples/body-codegen/record-field-updates.gooo.fixture

์‰ฌ์šด ์ถœ์ฒ˜ ์•ˆ๋‚ด ยท ๋‹ค์Œ ๊ท ํ˜• ํ•™์Šต ๊ณ„ํš.

์ˆœ์ฐจ ํ•„๋“œ ์กฐ๋ฆฝ์œผ๋กœ ํ™•์žฅ ์ค‘

๊ฐ™์€ ๊ณต๊ฐœ ๊ฐ€์ค‘์น˜๋ฅผ ์‚ฌ์šฉํ•ด ์ง€์—ญ ๋ ˆ์ฝ”๋“œ์˜ ํ•„๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐฑ์‹ ํ•˜๋Š” ์ƒˆ ์‹คํ—˜์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ž์—์„œ ๋ฐ”๊พผ ์ƒํƒœ๋ฅผ ๋‹ค์Œ ์„ค๋ช… ํ•„๋“œ๊ฐ€ ์ฝ๊ณ ,์ €์žฅํ•œ ๋ ˆ์ฝ”๋“œ์™€ ๋ฌธ์ž์—ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ์„ฏ ์ฝ”๋“œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. Gooo์˜field_update ์„ ํƒ์„ ์—ฐ๊ฒฐํ•œ PR1233๊ณผ main PR1234์„ ๊ฐ๊ฐ ์ „์ฒด12๊ฐœ ๊ฒ€์‚ฌ์™€ ๋…๋ฆฝ ํ™•์ธ ํ›„ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆœ์ฐจ ์‹คํ—˜ ๋‹น์‹œ ์„ค์น˜๋ณธ์€ main a5f6e8c668ff9fc7cfe3367a5019b50fbcadc1faยทGo1.27.1ยทSDKv0.2.23์˜€์Šต๋‹ˆ๋‹ค. ์ˆœ์ฐจ ์กฐ๋ฆฝ ์‹œ์ž‘ ์•ˆ๋‚ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ตฌ CI์˜ ์ „์ฒด27๊ฐœ ์ž‘์—…์ด ํ†ต๊ณผํ–ˆ๊ณ  Linux์—์„œ ์ƒˆ๋กœ ์‹คํ–‰ํ•œ72๊ฐœ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ํ•„๋“œยทํ›„๋ณดยท์‹ค์ œ ๊ฐ’์„ ๋…๋ฆฝ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ Mac ๊ด€์ธก๊ณผ ์„ค์น˜ ํ›„ ๊ด€์ธก์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ ํ›„72๊ฐœ ๊ทธ๋ž˜ํ”„๋„ ๊ฐ™์€ ํ›„๋ณดยท์‘๋‹ตยท์‹ค์ œ ๊ฐ’์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ์ž‘์—…์ž์˜ 4ํšŒ ๊ด€์ธก์€ ๊ฐ๊ฐ32๊ฐœ ์š”์ฒญยท์„ ํƒ ํ•„๋“œ384/384๊ฐœ๋ฅผ ์™„๋ฃŒํ–ˆ๊ณ  ์ž…๋ ฅ ์ข…๋ฃŒ ์ „์— ์ฒซ ์‘๋‹ต์ด ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ525.86ms, ๋ฐ˜๋ณต6.7110.37msยท์ž‘์—…์žRAM22.8823.41MiB์ž…๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์›๋ณธ๊นŒ์ง€ ํ•ฉ์น˜๋ฉด ์ฒ˜์Œ16MiB ๋ชฉํ‘œ๋ฅผ ๋„˜์–ด18.98MiB์ด๋ฉฐ, ๋ชจ๋‘ ์••์ถ• ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„ ์„ค์น˜ยท์ž‘์—…์ž ๊ด€์ธก์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

72๊ฐœ ์œ ํšจํ•œ ๊ทธ๋ž˜ํ”„ยท144ํšŒ ์‹คํ–‰์—์„œ QAT๋Š” ์ฒซ ํ›„๋ณด๋กœ ํ•„๋“œ144/144๊ฐœ์™€ ํ™œ๋™ ์ถœ๋ ฅ96/96๊ฐœ๋ฅผ ๋งž์ท„์Šต๋‹ˆ๋‹ค(๊ฐ ์‹œ๋„ ์˜ˆ์‚ฐ์˜12๊ฐœ ๊ทธ๋ž˜ํ”„). ๋ชจ๋“  ๋ชฉํ‘œ๊ฐ€ ๊ฐ™์€ mask7์ด๋ฏ€๋กœ ์ด ์ˆ˜์น˜์—๋Š” ๋Œ€์•ˆ์‹์„ ์„ ํ˜ธํ•˜๋Š” ํŽธํ–ฅ์ด ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•™์Šต0ํšŒ,์ถ”๋ก  ์ค‘์•™๊ฐ’17.50~18.46ยตs,์ „์ฒด ๋ช…๋ น์€์•ฝ310ms์ž…๋‹ˆ๋‹ค. ์ดˆ๊ธฐ24๊ฐœ ๋ฏธ์‚ฌ์šฉ ๋ณ€์ˆ˜ ์˜ค๋ฅ˜์™€ ์ˆ˜์ • ๊ณ„ํš์„ ํฌํ•จํ•œ ์›๋ณธ์„ ์—ฌ๊ธฐ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐœ v1 ์ž…๋ ฅ ๋ฐฐ์—ด์—์„œ๋Š”copy.state์™€saved.state๊ฐ€ ๋™์ผํ•ด ์‹ค์ œ ๋ชจ๋ธ ์‘๋‹ต๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด ๊ด€์ธก์„ ์ด์–ด ์ƒˆ ์ถœ์ฒ˜ ์ž…๋ ฅ ๊ณ„์•ฝ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์— ๋ณ„๋„ ๊ด€์ธก์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

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

๊ฐ™์€ ์ž๋ฃŒ์—์„œ ๊ด€์ธกํ•œ ๊ฒฐ๊ณผ

๋ชจ๋ธ ๋‹ค๋ฅธ ๋ณธ๋ฌธยท๊ธฐ๋ณธ ํ‘œํ˜„: ์ฒซ ์™„์ „ ์กฐํ•ฉ ๋‹ค๋ฅธ ๋ณธ๋ฌธยท์ƒˆ ํ‘œํ˜„ ๋ณธ๋ฌธ ํ‰๊ฐ€์˜ ๋งž์€ ํ•„๋“œ ๊ฐ€์ค‘์น˜ ํŒŒ์ผ
์•ž์„  dense v2 FP32 424/1,536 (27.60%) 81/512 (15.82%) 2,942/4,608 (63.85%) 74,624 B
๊ณต์œ  FP32 1,152/1,536 (75.00%) 120/512 (23.44%) 4,224/4,608 (91.67%) 8,288 B
๊ณต์œ  PTQ ์‚ผ์ง„ํ™” 168/1,536 (10.94%) 88/512 (17.19%) 2,304/4,608 (50.00%) 446 B
๊ณต์œ  QAT ์‚ผ์ง„ ํ•™์Šต 1,344/1,536 (87.50%) 102/512 (19.92%) 4,416/4,608 (95.83%) 446 B

์„ธ ํ•„๋“œ์™€ ์—ฌ๋Ÿ ์ž‘์„ฑ๋œ ๋ณธ๋ฌธ/ํ›„๋ณด์‹ ๋ชจ์–‘์„ ์žฌ์‚ฌ์šฉํ•œ ๋ฒค์น˜๋งˆํฌ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์—ฌ๋Ÿ ์š”๊ตฌ ์กฐํ•ฉ์€ ํ•™์Šต์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ํ‘œํ˜„์—์„œ๋Š” ์ฒซ ์กฐํ•ฉ ๋น„์œจ์ด ํฌ๊ฒŒ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ์ง์ ‘ ์‚ผ์ง„ํ™”ํ•œ PTQ์˜ ํ’ˆ์งˆ๋„ ๋‚ฎ์Šต๋‹ˆ๋‹ค. ๋ณธ๋ฌธยทํ‘œํ˜„ยทํ•„๋“œ ์ง€ํ‘œ๋ฅผ ํ•จ๊ป˜ ์ฝ์–ด์•ผ ํ˜„์žฌ ์–ด๋А ๋ถ€๋ถ„๊นŒ์ง€ ์กฐ๋ฆฝ ๊ฐ€๋Šฅํ•œ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

FP32์˜ ๋ฌธ๋งฅ ํ•ด์„์„ ํฌํ•จํ•œ ๋”ฐ๋œปํ•œ ์ถ”๋ก  ์ค‘์•™๊ฐ’์€9.50ยตs, ์•ž์„  dense ๋ชจ๋ธ์€ ๊ฐ™์€ ์‹คํ–‰์—์„œ15.96ยตs์˜€์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ ๋งŒ๋“  ํŠน์ง• ๋ฐฐ์—ด ํ•œ ํ–‰์˜ ๊ณ„์‚ฐ์€3.04ยตs, QAT๋Š”3.13ยตs์˜€๊ณ  ์ค€๋น„๋œ ๋ฐฐ์—ด์˜ FP32/QAT ๊ณ„์‚ฐ์€ ํ˜ธ์ถœ๋‹น ํž™ ํ• ๋‹น0ํšŒ์˜€์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด ๊ณ„์‚ฐ์€ ํ…์ŠคํŠธ/์‹ ํ•ด์„์„ ์ œ์™ธํ•œ ์ธก์ •์ž…๋‹ˆ๋‹ค. ์ „์ฒด ์ฝ”๋“œ ์ƒ์„ฑ ์†๋„๋Š” ๋ณ„๋„๋กœ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค. ์‚ผ์ง„ ํŒŒ์ผ์€ ํ–‰๋ ฌ ์›์†Œ๋ฅผ ๋‹ค์„ฏ trit์”ฉ ๋ฌถ์œผ๋ฉฐ FP32 bias๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์‹คํ–‰์€ int8 ๋ฐฐ์—ด2,096 B์™€ scale8 B, ์š”์ฒญ๋ณ„ workspace3,200 B ๋“ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์˜1.58bit ์ˆ˜์ค€ ํ‘œํ˜„๊ณผ ์ „์ฒด ํ”„๋กœ์„ธ์Šค RAM์€ ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ

์•„๋ž˜ ๊ณต์œ  ํ•„๋“œ ์˜ˆ์ œ๋Š” ์•ž์„  main2c์˜ ๊ณ ์ • ๋ฐฐํฌ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ์ตœ์‹  ์ˆœ์ฐจ ํ•„๋“œ ๊ธฐ๋Šฅ์€ ์œ„ main ์†Œ์Šค์™€ ์‹œ์ž‘ ์•ˆ๋‚ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

SDK v0.2.23-experimental, ๋ชจ๋ธ ํŠน์ง• triple_record_field_context_v1_shared_v1, ์‚ฐ์ˆ  float32_separate_v1์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ PR1231๊ณผ main PR1232์„ ๊ฐ๊ฐ ์ „์ฒด12๊ฐœCI์™€ ๋…๋ฆฝ ์ฆ๊ฑฐ ํ™•์ธ ํ›„ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊นจ๋—ํ•œ main 2c807d461afc68a7ebfbd277d1dd6e97f5168e92๋ฅผ Go1.27.1๋กœ ๋นŒ๋“œยท์„ค์น˜ํ•˜๊ณ  ๊ณต๊ฐœ ๊ฐ€์ค‘์น˜๋กœ ์‹ค์ œ ์‹คํ–‰์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ์˜ ํ›„๋ณด ์˜ˆ์‚ฐ์€8์ด๋ฉฐ, ์ž…๋ ฅ์„ ์ „๋‹ฌํ•˜๋Š” ๋‘ ํ™œ๋™์„ ์‹ค์ œ๋กœ ์ƒ์„ฑยท์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

hf download asketeddy/gooo-record-shared-field-tiny-v1 \
  models/qat_ternary/model.json models/qat_ternary/weights.bin \
  demo.gooo.fixture demo-cases.json \
  --revision 87f8c482d23dc0eaa41f5575f652e7ca61f44280 \
  --local-dir ./gooo-field-model

gooo body-compose --source ./gooo-field-model/demo.gooo.fixture \
  --model ./gooo-field-model/models/qat_ternary/model.json \
  --cases ./gooo-field-model/demo-cases.json

--model์„ ์ƒ๋žตํ•˜๋ฉด ๊ฒฐ์ •๋ก ์  ํ›„๋ณด ์ˆœ์„œ๋กœ ์กฐ๋ฆฝํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์ด ์žˆ์œผ๋ฉด ํ•œ ๋ฒˆ์˜ ์ถ”๋ก ์œผ๋กœ ํ›„๋ณด๋ฅผ ์ •๋ ฌํ•˜๊ณ , Gooo์˜ ์œ ํ•œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋กœ ์ด์–ด์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์™„์„ฑ๋œ ์ฝ”๋“œ ์‹คํ–‰๊ณผ ์ €์žฅํ•œ ์„ ํƒ์˜ ์žฌ๊ตฌ์„ฑ์—๋Š” ์ƒˆ ๋ชจ๋ธ ํ˜ธ์ถœ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ œ๊ณตํ•œ ๋ฌธ๋งฅ์˜ ํ•„๋“œ ์ˆ˜๋‚˜ ํฌ๊ธฐ๊ฐ€ ๋งž์ง€ ์•Š์œผ๋ฉด ์ด์œ ๋ฅผ ๋‚จ๊ธฐ๊ณ  ๊ฒฐ์ •๋ก ์ ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•„๋“œ์šฉ ๋ชจ๋ธ์„ scalar ๋ณธ๋ฌธ์— ์ง€์ •ํ•ด๋„ ์ด ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Go SDK์˜ LoadRecordSharedThree์™€ PredictRecordSharedInto๋กœ ๊ฐ™์€ ๋ชจ๋ธ์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PredictRecordSharedFeaturesInto๋Š” ๋ฏธ๋ฆฌ ์ค€๋น„ํ•œ [768]float32 ๋ฐฐ์—ด์„ ๋ฐ›์•„ ํ…์ŠคํŠธ ํ•ด์„ ๋น„์šฉ์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. RecordChoiceMarginals๋Š” ๊ฐ ํ•„๋“œ์˜ ์ฒซ/๋‘˜์งธ ํ›„๋ณด ํ™•๋ฅ ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ๋งˆ๋‹ค workspace/output์„ ์†Œ์œ ํ•˜๊ณ  ๊ฐ€์ค‘์น˜๋ฅผ ํ•จ๊ป˜ ์ฝ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ์กฐ๋ฆฝ๊ณผ ์‹คํ–‰

๋™์ผํ•œ24๊ฐœ ์†Œ์Šค์—์„œ ๊ฒฐ์ •๋ก ์  ์ˆœ์„œ, ์•ž์„  v2, ์„ธ ๊ณต์œ  ๋ชจ๋ธ์„ ํ›„๋ณด ์˜ˆ์‚ฐ1/2/8๋กœ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค.360๊ฐœ ๊ทธ๋ž˜ํ”„์™€720ํšŒ ๋„ค์ดํ‹ฐ๋ธŒ ์‹คํ–‰์„ ๋งˆ์ณค๊ณ  ์›์‹œ ์ถœ๋ ฅ์—์„œ ์ง€ํ‘œ๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด ๋ชจ๋“  ์š”์•ฝ๊ณผ ์ผ์น˜ํ•จ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‚ฐ8์˜120๊ฐœ ๊ทธ๋ž˜ํ”„๋Š” ๋ชจ๋‘ ์„ ํƒ ์˜ˆ์‹œ15/15 ํ•„๋“œ, ์ƒˆ ๋Ÿฐํƒ€์ž„ ์ž…๋ ฅ12/12 ํ•„๋“œ์™€8/8 ์ด๋ฆ„ ๋ถ™์€ ์ถœ๋ ฅ์ด ๋งž์•˜์Šต๋‹ˆ๋‹ค.

ํ›„๋ณด ํ•˜๋‚˜์ผ ๋•Œ, ์‹ค์ œ ๋ณ€ํ™˜ ํ•„๋“œ ๊ฒฐ์ •๋ก ์  ์•ž์„  v2 ๊ณต์œ  FP32 ๊ณต์œ  QAT
ํ™œ์„ฑ ์ž…๋ ฅ์˜ ์š”๊ตฌ ํ•„๋“œ 72/144 108/144 126/144 126/144
์ž…๋ ฅ๊ณผ ๋‹ค๋ฅธ ๊ฐ’์ด ํ•„์š”ํ•œ ํ•„๋“œ 60/120 92/120 108/120 106/120

ํ‰๊ฐ€ ์ถ•์„ ๋‚˜๋ˆ„๋ฉด ๊ธฐ๋ณธ ํ‘œํ˜„์˜ ํ™œ์„ฑ ํ•„๋“œ๋Š” ์•ž์„  v2 76/96๊ฐœ, ๊ณต์œ  FP32/QAT 96/96๊ฐœ์˜€์Šต๋‹ˆ๋‹ค. ์ƒˆ ํ‘œํ˜„8๊ฐœ ์†Œ์Šค๋Š” ์•ž์„  v2 32/48๊ฐœ, ๊ณต์œ  ๋ชจ๋ธ30/48๊ฐœ๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ํ•ฉ๊ณ„์˜ ๊ฐœ์„ ๊ณผ ์ƒˆ ํ‘œํ˜„ ๋ฌถ์Œ์˜ ํ‡ดํ–‰์„ ํ•จ๊ป˜ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

์œ ์ง€ ๋ถ„๊ธฐ์˜144/144 ํ•„๋“œ๋Š” ๋ณ„๋„๋กœ ๊ณ„์‚ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋ช…๋ น ์ค‘์•™๊ฐ’์€ ๊ฒฐ์ •๋ก ์ 395.80ms, ๊ณต์œ  FP32 394.65ms, QAT 395.30ms์˜€์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑยท๋นŒ๋“œยท์‹คํ–‰ ์‹œ์ž‘ ๋น„์šฉ์„ ํฌํ•จํ•˜๋ฉฐ ๊ณ ์ •๋œ ์ˆœ์„œ๋กœ ์ธก์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์€ ์ถ”๋ก ์ด ๋นจ๋ผ์ง„ ๊ด€์ธก๋งŒ์œผ๋กœ ์ „์ฒด ์ฝ”๋“œ ์ƒ์„ฑ์˜ ์†๋„ ํ–ฅ์ƒ์„ ํŒ๋‹จํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„๊ณผ ์„ ํƒ ์žฌ๊ตฌ์„ฑ์˜ ์ถ”๊ฐ€ ๋ชจ๋ธ ํ˜ธ์ถœ์€0์ด๋ฉฐ, ์ƒ์„ฑ ์š”์ฒญ๋‹น ์‹ค์ œ ๋ชจ๋ธ ํ˜ธ์ถœ์€1์ž…๋‹ˆ๋‹ค.

evidence.zip์€ ์ƒˆ ์‹คํ—˜ ์›์‹œ์ž๋ฃŒ37.91MiB๋ฅผ ์••์ถ•ํ•ด ๋‹ด์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์†Œ์Šค/ํŠน์ง• ๋ฑ…ํฌ๋Š” v2์˜ ๊ณ ์ • ๊ณต๊ฐœ ์•„์นด์ด๋ธŒ๋ฅผ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. audit.json, native-summary.json๊ณผ SHA256SUMS์—์„œ ์ง€ํ‘œ์™€ ๋ฐ”์ดํŠธ ๊ทผ๊ฑฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ CI37226752241์€ ์ „์ฒด26๊ฐœ ์ž‘์—…์„ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. Linux์˜360๊ฐœ ๊ทธ๋ž˜ํ”„ยท720ํšŒ ์‹คํ–‰ ์›๋ณธ์„ ๋‚ด๋ ค๋ฐ›์•„ ์†Œ์Šคยทํ›„๋ณด ์„ ํƒยทํ•„๋“œยท๊ฐ’ ์ „๋‹ฌยท์‹ค์ œ ์ถœ๋ ฅยทํ”„๋กœ์„ธ์Šค ์™„๋ฃŒ๋ฅผ ๋…๋ฆฝ ์žฌ๊ณ„์‚ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์ •120๊ฐœ NumPy/Go ๋น„๊ต์˜ ์ตœ๋Œ€ logit ์ฐจ์ด๋„0์ด๋ฉฐ, ๋ชจ๋“  ๋ชจ๋ธ์˜ ํ’ˆ์งˆ ์ˆ˜๊ฐ€ macOS ๊ด€์ธก๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. validation/linux-validation.json์— ์›๋ณธ ์ง€๋ฌธ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ดˆ ๋กœ์ปฌ ์›๋ณธ์€39,748,306 B๋กœ ๊ณ„ํšํ•œ64MiB ์ด๋‚ด์˜€์Šต๋‹ˆ๋‹ค. ํ›„์† Linux ์žฌ์ƒ์˜ ๋…ผ๋ฆฌ์  ์›๋ณธ40,178,256 B๋ฅผ ํ•ฉ์น˜๋ฉด76.22MiB๋กœ ๊ทธ ๋ชฉํ‘œ๋ฅผ ๋„˜์Šต๋‹ˆ๋‹ค. ๋‘ ๊ด€์ธก์„ ์œ ์ง€ํ•˜๊ณ  ๋ฒ”์œ„๋ฅผ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ์—๋Š”Linux ์ž๋ฃŒ์˜8MB์••์ถ• ํŒŒ์ผ์„ ๋ณด๊ด€ํ•ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฒ€์‚ฐํ•˜๋ฉฐ ๋ณ„๋„ ์••์ถ• ํ•ด์ œ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํ•™์Šต๊ณผ ๊ทผ๊ฑฐ

  • ๊ณ„ํš/ํ•™์Šต ์†Œ์Šค: 862dd0e.
  • ์ƒ์„ธ ๊ณ„ํš: shared field pilot.
  • ์›๋ณธ7,168๊ฐœ ์†Œ์Šค/ํŠน์ง•: ์•ž์„  v2 ๊ณต๊ฐœ ์ž๋ฃŒ.
  • ์ƒˆ Go ์ดˆ๊ธฐ๊ฐ’ seed20261055,2,072๊ฐœ ๋งค๊ฐœ๋ณ€์ˆ˜. ๊ฐ™์€40 FP32+40 QAT epoch, ์ด3,840ํšŒ ๊ฐฑ์‹ . ํ•™์Šต3,072/๋ณด์ •1,536; ํ‰๊ฐ€1,536/512/512. ๋ณด์ •๋งŒ์œผ๋กœ checkpoint/temperature๋ฅผ ์„ ํƒํ–ˆ์œผ๋ฉฐ ์ง„๋‹จ ํ›„ ์žฌํ•™์Šตํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • Go๊ฐ€ ์†Œ์ŠคยทํŠน์ง•ยท์ถ”๋ก ยท์‹คํ–‰ยท์ง€ํ‘œ๋ฅผ ๋‹ด๋‹นํ•˜๊ณ  Python์€ ์˜คํ”„๋ผ์ธ MPS ์ตœ์ ํ™”/๋‚ด๋ณด๋‚ด๊ธฐ์— ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋…๋ฆฝ NumPy ์‚ฐ์ˆ ๊ณผ Go์˜ ๊ณ ์ •120๊ฐœ ์ถœ๋ ฅ ๋น„๊ต์—์„œ ์ตœ๋Œ€ logit ์ฐจ์ด๋Š”0์ด์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•™์Šต ํ”„๋กœ์„ธ์Šค9.45์ดˆ, CPU5.06์ดˆ(ํ•œ ์ฝ”์–ด ๊ธฐ์ค€ ํ‰๊ท 53.5%), ์ตœ๊ณ  RAM 477.9MiB. ํ•™์Šต ๋ฃจํ”„7.24์ดˆ, MPS tensor13.56MiB/driver50.72MiB๋ฅผ ํ‘œ๋ณธ ๊ด€์ธกํ–ˆ์Šต๋‹ˆ๋‹ค. GPU utilization๊ณผ ํ˜ธ์ŠคํŠธ ์ „์ฒด CPU ์ฆ๊ฐ€๋Ÿ‰์€ ๋ฏธ์ธก์ •์ž…๋‹ˆ๋‹ค.

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

๊ณต๊ฐœ ๋ชจ๋ธ์„ ๊ฐœ๋ฐœ ์ค‘์— ์‹ค์ œ ์‚ฌ์šฉํ•œ ๊ธฐ๋ก

๊ณต๊ฐœ ๋ฆฌ๋น„์ „87f8c482์˜21๊ฐœ ํŒŒ์ผ์„ ์›๋ณธ๊ณผ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํ›„๋ณดd515db9d์—์„œ ๋‘ ์ž‘์—…์ž์˜32๊ฐœ ์š”์ฒญ์„4ํšŒ ๊ด€์ธกํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งคํšŒ ์„ ํƒ ์˜ˆ์‹œ์˜ ํ•„๋“œ480/480๊ฐœ๊ฐ€ ๋งž์•˜๊ณ  ์ฒซ ์‘๋‹ต์€ ์ž…๋ ฅ์„ ๋‹ซ๊ธฐ ์ „์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ์‹คํ–‰์€497.015ms, ์„ธ ๋ฐ˜๋ณต์€8.752/12.342/11.866ms์˜€์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฐ˜๋ณต์€ ์ž‘์—…์ž ์‹œ์ž‘๊ณผ ๋ฌธ๋งฅ ํ•ด์„ยท์กฐ๋ฆฝ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ดˆ ์‹คํ–‰๋„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋Š”์•ฝ22.622.9MiB, ํ”„๋กœ์„ธ์ŠคCPU์‹œ๊ฐ„์€0.1140.158์ดˆ์˜€์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ „์ฒดCPU ์ฆ๊ฐ€๋Ÿ‰๊ณผ ์ผ๋ฐ˜์ ์ธ ์ฒ˜๋ฆฌ๋Ÿ‰์€ ๋ฏธ์ธก์ •์ž…๋‹ˆ๋‹ค.

์„ค์น˜ํ•œ main2c807d461afc68a7ebfbd277d1dd6e97f5168e92์—์„œ๋„ ๊ฐ™์€ ๊ณต๊ฐœ ํŒŒ์ผ๊ณผ ์—ฌ์„ฏ ์‹ค์ œ ์‹คํ–‰ ๋Œ€์กฐ๊ตฐ, 32๊ฐœ ํ˜ผํ•ฉ ์š”๊ตฌ์˜ ์ž‘์—…์ž ์š”์ฒญ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์˜ ์ถ”๊ฐ€ ๋ชจ๋ธ ํ˜ธ์ถœ์€0ํšŒ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ๋ณด๊ณ ์„œ๋Š”validation/worker-trials์™€ validation/installed-public-dogfood.json์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋“œ๋ฝ ๊ฒ€ํ† ์˜ ๋ฒ”์œ„๋Š” ๊ฐ60์ดˆ ์ œํ•œ์—์„œ ๋‘ ์ž‘์—…์ž์˜32๊ฐœ ๊ณ ์ • ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๋Š” ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

Go ๋…์ž๋Š”go run validation/read-model.go --text MODEL.json CONTEXT.json์œผ๋กœ ํ•„๋“œ ์ด๋ฆ„ยท์˜๋„ยท๋‘ ํ›„๋ณด์‹ยทํ™•๋ฅ ๊ณผ ์ œ์•ˆ์‹์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ์˜ ์ œ๋ชฉ์€ 50:50๋™๋ฅ , ์ƒํƒœ๋Š”์•ฝ99.9%๋กœ ๊ด€์ธกํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™๋ฅ ์˜ ์ฒซ ํ›„๋ณด๋„ ์‹ค์ œ ์œ ํ•œ ์˜ˆ์ œ๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ›„๋ณด ํ™•๋ฅ ๊ณผ ๊ธฐ๋Šฅ์˜ ์™„์ „์„ฑ์„ ๋”ฐ๋กœ ์ฝ์Šต๋‹ˆ๋‹ค. ์งง์€ ์‚ฌ์šฉ ํ๋ฆ„ ยท main CI37228772888.

์ฐธ๊ณ ํ•œ ์›๋ฆฌ์™€ ์—ฐ๊ตฌ

Laya๋Š” ์ƒํƒœ์™€ ํƒ€์ž…์ด ์žˆ๋Š” ์งˆ๋ฌธ์„ ๋ฐ›์•„ ์„ ํƒ๊ณผ ํ™•๋ฅ ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ ‘๊ทผ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. Gooo์—์„œ๋Š” ์ด๋ฅผ ์‹ค์ œ ํ›„๋ณด์‹์— ๋Œ€ํ•œ ์ž‘์€ ํŒ๋‹จ ์งˆ๋ฌธ์œผ๋กœ ์ขํ˜€ ์‹คํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ฐ€์ค‘์น˜๋Š”Go์˜ ์ƒˆ๋กœ์šด ์ดˆ๊ธฐ๊ฐ’๊ณผ Gooo์—์„œ ๋งŒ๋“  ์ž๋ฃŒ๋กœ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค.

Ma ๋“ฑ์˜ BitNet b1.58 ์—ฐ๊ตฌ๋Š” ๊ฐ€์ค‘์น˜์˜ ์‚ผ์ง„ ํ‘œํ˜„{-1,0,1}๊ณผ ๊ทธ์— ๋งž๋Š” ํ•™์Šต์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์ž‘์€ ํŒ๋‹จ๊ธฐ์—์„œ๋Š” PTQ์™€QAT๋ฅผ ๋”ฐ๋กœ ๊ด€์ธกํ•˜๊ณ  ํŒŒ์ผ ํฌ๊ธฐยท์‹ค์ œ ํ…์„œยท์ „์ฒดRAMยท๊ธฐ๋Šฅ ์ถฉ์กฑ๋ฅ ์„ ๊ฐ๊ฐ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

W3C PROV-O์˜ ๊ฐœ์ฒดยทํ™œ๋™ยท์‚ฌ์šฉยท์ƒ์„ฑ ๊ด€๊ณ„๋Š” Gooo๊ฐ€ ์›๋ณธ, ์ƒ์„ฑ ๊ณผ์ •๊ณผ ๊ด€์ธก ๊ฒฐ๊ณผ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์–ดํœ˜์˜ ๋ฐ”ํƒ•์ž…๋‹ˆ๋‹ค. ์†Œ์Šค์™€ ์„ ํƒ์˜ ์ด์œ , ์‹ค์ œ๋กœ ์ „๋‹ฌํ•œ ๊ฐ’์ด ๊ฐ™์€ ๊ธฐ๋ก์— ๋‚จ๋„๋ก ์–ธ์–ด๋ฅผ ๋ฐœ์ „์‹œํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜๋ณธ์˜ ๋ฐ˜๋ณต ๊ด€์ธก

์„ค์น˜๋ณธ์˜ ์ฒซ ์‘๋‹ต์€483.816ms, ์„ธ ๋ฐ˜๋ณต์€12.16436.625ms, ์ž‘์—…์žRAM์€22.5323.27MiB์˜€์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ 4ํšŒ์—์„œ32์š”์ฒญยท์„ ํƒ ํ•„๋“œ480/480๊ฐœ๊ฐ€ ๋งž๊ณ  ์ž…๋ ฅ ์ข…๋ฃŒ ์ „์— ์ฒซ ์‘๋‹ต์ด ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ํ›„๋ณด์˜ ๋ฐ˜๋ณต8.8~12.3ms์™€ ์„ค์น˜๋ณธ์˜ ๋ฐ˜๋ณต์„ ๊ฐ๊ฐ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋น ๋ฅธ ๊ฐ’๋งŒ ๊ณ ๋ฅด์ง€ ์•Š๊ณ 36.6ms ๋ฐ˜๋ณต๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. validation/installed-worker-summary.json์€ ๊ฐ ์š”์ฒญ ๋ฌถ์Œ์˜ํ”„๋กœ์„ธ์ŠคCPU์ดˆ/์ „์ฒด๋ฒฝ์‹œ๊ฐ„ร—100์„ ํ•œ ์ฝ”์–ด ๊ธฐ์ค€ ํ‰๊ท ์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์ž‘์—…์ž์™€ ๋Ÿฐํƒ€์ž„์˜ ํ•ฉ๊ณ„์ด๋ฏ€๋กœ100%๋ฅผ ๋„˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ „์ฒดCPU ์ฆ๊ฐ€๋Ÿ‰๊ณผGPU utilization์€ ๋ฏธ์ธก์ •์ž…๋‹ˆ๋‹ค.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Paper for asketeddy/gooo-record-shared-field-tiny-v1