Models and Metaprogramming - kimjooyoon/meta-ontology-go GitHub Wiki
์์ ๋ชจ๋ธ๊ณผ ๋ฉํํ๋ก๊ทธ๋๋ฐ
์ ๋ฐ์ดํธ: 2026-10-09.
Gooo๊ฐ ์กฐ๋ฆฝํ ์ ์๋ ๋ฒ์๋ฅผ ํํํ๊ณ , ์์ ๋ชจ๋ธ์ด ๊ทธ ์์์ ๋ค์ ์๋๋ฅผ ๊ณ ๋ฅด๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ๋ชจ๋ธ ๊ฐ์ค์น๋ Hugging Face, ์คํ ์ฝ๋๋ Go SDK, ๋น๊ต ์คํ์ ์ฐ๊ตฌ ์ ์ฅ์์ ๊ณต๊ฐํฉ๋๋ค.
์ต๊ทผ ์์ค ๊ทธ๋ํ ๋ชจ๋ธ์ ๊ณ์ฐ ๊ณผ์ ๊ณผ ํ์ ์๋๋ฅผ ์ฝ๋ 2,072๊ฐ ๋งค๊ฐ๋ณ์ ๋ชจ๋ธ์ Go๋ก ํ์ตํ์ต๋๋ค. ์ธ ํ๋ก๊ทธ๋จ์ ๋๋ ํ๊ฐํ๊ณ ์ ํ๋ก๊ทธ๋จ์ผ๋ก์ ์ ์ด๋ ๋ฎ์์ต๋๋ค. Gooo์ ์ฌ๋ก ๊ฒ์ฌ์ ๋ค์ ํ๋ณด ํ์์ ์ฐ๊ฒฐํด ์ฒซ ์ ํยท๋ถ๋ถ ์ถฉ์กฑยท์ต์ข ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ๊ณต๊ฐํ์ต๋๋ค. ์ด ๊ทธ๋ํ ๋ชจ๋ธ์ ๊ฐ์ค์น๋ GitHub์ ๊ณต๊ฐํ์ต๋๋ค.
์ง๊ธ ์คํํด ๋ณผ ํ๋ฆ
๊ณต๊ฐ Gooo 0.6.22์
์์
์ฅ์ assemble๋ก ์์คยท๋ชจ๋ธ ์ฌ์ ํ์ธ๋ถํฐ ๋ณธ๋ฌธ ์กฐ๋ฆฝ,
์ค์ ํธ์ถ๊ณผ ๋ค์ ์์
๊น์ง ์ด์ด ์ธ ์ ์์ต๋๋ค. ์ฒซ ๋ช
๋ น์
๊ธฐ์กด ์์ฒด ๊ทธ๋ํ QAT์ ๊ฒฝ๋ก๋ฅผ ๋ฃ์์ต๋๋ค. ๋ชจ๋ธ์ ์๋ตํ๋ฉด ์์ค ์์๋ก ์กฐ๋ฆฝํฉ๋๋ค.
๊ณต๊ฐ ์ปดํ์ผ๋ฌ๋ dev d3b44fc6์ด๋ฉฐ ๊ฐ์ ํ์ผ ํธ๋ฆฌ๊ฐ main 340982bb์๋ ๋ฐ์๋์ต๋๋ค.
์ ์ฅํ ์คํจ ๊ฒฐ๊ณผ๋ construct --assembly๋ก ๊ธฐ์กด ๋ฐ๋ก ๋ฐ๋ณต์ ๋๊น๋๋ค. ์์ค์ ์๋ ๊ธฐ๋๊ฐ์ ์ ์งํ๊ณ , ๋ชจ๋ธ์ ์ฐ๊ฒฐํ ํ์ ํ์ฐจ๋ง๋ค ์๋ก ์ถ๋ก ํฉ๋๋ค. ์ต์ ์ ์๋ตํ๋ฉด ์ด์ ๋ชจ๋ธ์ ๋ฌผ๋ ค๋ฐ์ง ์๊ณ ๊ณ ์ ์์๋ก ์งํํฉ๋๋ค.
ํ์ฌ ์ฐ๋ ์ ์ฒด ์๋ฃ ์์ฐ์ฉ ๊ทธ๋ํ QAT๋ 2,072๊ฐ ๋งค๊ฐ๋ณ์์ 446๋ฐ์ดํธ ๊ฐ์ค์น ํ์ผ์ ๊ฐ์ง๋๋ค. ์คํ ์ ํ ์ 2,096๋ฐ์ดํธ, ์ค์ผ์ผ 8๋ฐ์ดํธ์ ์ ๋ ฅยท๋ฉํ๋ฐ์ดํฐยทํ๋ก์ธ์ค ๊ณต๊ฐ์ ๋ฐ๋ก ํ์ํฉ๋๋ค. ํ๋ ฌ์ ๋ค์ฏ ์ผ์ง ๊ฐ์ ํ ๋ฐ์ดํธ์ ๋ด์ ์์๋น 1.6๋นํธ๋ฅผ ์๋๋ค.
| ๊ด์ธก | ๊ฒฐ๊ณผ | ์ฝ์ ๋ฒ์ |
|---|---|---|
| ์ ์ฒด ์๋ฃ ๋ชจ๋ธ์ ์ฒซ ์กฐํฉ | 297/576 | ํ์ต์ ์ฌ์ฉํ ์ธ ํ๋ก๊ทธ๋จ ์๋ฃ ๋ด ๊ฒฐ๊ณผ |
| ํ๋ก๊ทธ๋จ์ ์ ์ธํ QAT์ ์ฒซ ์กฐํฉ | 24/192, 10/192, 28/192 | ๊ฐ๊ฐ ํ์ผ๋ช ยท๋๋์ ยท์ฌ์๋ ํ๋ก๊ทธ๋จ์ ํ์ต์์ ๋บ ํ๊ฐ |
| ๊ณต๊ฐํ์ ์์ ํ๊ธยท์๋ฌธ ์กฐ๋ฆฝ | ํธ์ถ 4/4ยทํ๋ 12/12 | ๊ฐ์ ๋ค ์ ๋ ฅ์ ๊ฒฝ๋ก๋ณ๋ก ํ์ธํ ๊ด์ธก |
| ๊ธฐ๋ ๋ฌธ์์ด ํ๋๋ฅผ ๋ฐ๊พผ ํฉ์ฑ ํธ์ถ | 3/4ยทํ๋ 11/12 | ์๋ณธ ๊ธฐ๋๊ฐ๊ณผ ๋ถ์ผ์น ์์น๋ฅผ ๋ณด์กดํ๋ ์ง๋จ ๊ฒ์ฌ |
| ์ ํ ํ๋ก๊ทธ๋จ์ ๋ฐ๋ก ํ์ ์กฐ๋ฆฝ | ์ฒ์ ํ๋ 2/6ยท4/6, ์ดํ 6/6 | ๊ณ ์ ํ์ 15๋ฒยท๋ช ์์ ๋ชจ๋ธ ํ์ 13๋ฒ ์๋, ์ต์ข ๋ ์ ๋ ฅ์ ํ๋ 6/6 |
์ด ์์น์์ ๋ค์ ๊ณผ์ ๋ ์ ๋ ฅ ํํ๊ณผ ํ๋ก๊ทธ๋จ๋ณ ์ ์ด๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค. ์ฒ์ ์ถ์ฒํ ํ๋ณด๊ฐ ํ๋ ค๋ Gooo๋ ์ ์ธํ ์กฐ๊ฑด์ผ๋ก ๋ค์ ํ๋ณด๋ฅผ ๊ฒ์ฌํฉ๋๋ค. ๊ณต๊ฐํ์ ์กฐ๋ฆฝ ๋ชจ๋ธ ํธ์ถ์ 1ํ, ์ ์ฅ ์ฌ์๊ณผ ๊ฒฐ์ ๋ก ์ ํ์ ๊ท์น์ ์ ํธ์ถ์ 0ํ์์ต๋๋ค. ํ์ ์ ์์ ์ ๋ต์ ๋ถ์ด์ง ์์ ์ค์ ์ ๋ ฅ 0/0์ผ๋ก ๊ธฐ๋กํฉ๋๋ค. ํ์ต๊ณผ ์คํ์ ์ถ์ฒยท๋ถ๋ชจ๋ ์๋ ๊ทธ๋ํ ์ฐ๊ตฌ์ ๊ณต๊ฐํ ๊ด์ธก์ ๋จ์ต๋๋ค.
Hugging Face์ ๊ธฐ์กด ๊ณต์ ํ๋ ๋ชจ๋ธ๊ณผ ์ ๊ทธ๋ํ ๋ชจ๋ธ์ ๊ฐ์ค์นยท์ ๋ ฅ ๊ท๊ฒฉ์ด ๊ฐ๊ฐ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ํ ๋ชจ๋ธ์ ํ์ฌ GitHub์ ๊ณ ์ ํ์ผ์ ๊ณต๊ฐํฉ๋๋ค. ์ด๋ฒ ์ฐ๊ฒฐ์ ๊ธฐ์กด ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ ์ธ์ด ๋๊ตฌ์ ์คํ ๊ด์ธก์ ๋๋ค.
์์ ์์ฒด ํ๋ ๋ชจ๋ธ์ Gooo์ ์ค์ ํ๋ณด์ ์ ์ฒด์ ํ์ ์๋๋ก ์ธ ๋ ์ฝ๋ ํ๋๋ฅผ ์กฐ๋ฆฝํฉ๋๋ค. ์๋ก์ด ์ด๊ธฐ๊ฐ์์ GPU480ํ ํ์ตํ๊ณ , Go ํ๋จยท์คํ ๋ฐ ๊ฐ์ ํ๋ณด์ ๋ฐ๋ ์๋ ์คํจ๋ฅผ ํจ๊ป ๊ณต๊ฐํ์ต๋๋ค. ์์ ๋ชจ๋ธ์ ๋น ๋ฅธ ํ๋จ๊ณผ ์๋ ํํ์ ํ๊ณ๋ฅผ ์ค์ ํ๋ ์ถฉ์กฑ ์งํ๋ก ์ด์ด ๋ณด๋ ๋จ๊ณ์ ๋๋ค.
ํ ๋ฒ์ ์ฝ๋ ์กฐ๋ฆฝ์ ๋ฐ๋ผ๊ฐ ๋ณด๋ฉด
โ๊ฐ์ด ๊ธฐ์ค๋ณด๋ค ์์ผ๋ฉด ๋ณด์ ํ๊ณ , ๋ง์ง๋ง์ ๋ ๋ฐฐ๋ก ๋ง๋ ๋คโ๋ ํจ์๋ฅผ ์๊ฐํด ๋ด ์๋ค. ๊ณํ์์ ๋น๊ต ์กฐ๊ฑด, ๋ณด์ ์ฐ์ฐ, ๋ง์ง๋ง ์ฐ์ฐ์ ๊ฐ๊ฐ ๋ ๋์์ ์ฃผ๋ฉด ์ฌ๋ ๋ฐ๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์๋๋ ๋์์ ์ค๋ช ํ๊ธฐ ์ํ ์์์ ๋๋ค.
- Gooo ์๋ณธ๊ณผ ๊ณํ์ ์ฝ์ต๋๋ค. ์๋ ๋ฐ๋, ํ์ฉ๋ ์กฐ๊ฑดยท๋ณ์ยท์ฐ์ฐ, ํ๊ตญ์ด ๋๋ ์์ด ์๋, ์ ์ถ๋ ฅ ์์์ ์๋ ์์ฐ์ ๋ฐ์ต๋๋ค.
- ๋ชจ๋ธ์ด ๊ฒฝ๋ก์ ์์๋ฅผ ์ค๋๋ค. ์๋ณธ์์ ์ป์ ๊ตฌ์กฐ์ ์๋๋ฅผ ์์ ๋ฐฐ์ด๋ก ํํํ๊ณ , ์ฌ๋ ์กฐํฉ ์ค ๋จผ์ ์๋ํ ๊ฒฝ๋ก๋ฅผ ๊ณ ๋ฆ ๋๋ค.
- ์ปดํ์ผ๋ฌ๊ฐ ์กฐ๋ฆฝํฉ๋๋ค. ๋ณ์์ ๋ฒ์์ ํ์ ์ ํ์ธํ๊ณ ํ์ฉ๋ ๋ถํ์ ๊ฒฐํฉํฉ๋๋ค.
- ์ ํ ์์๋ฅผ ํ๊ฐํฉ๋๋ค. ์คํจํ ์ ๋ ฅยท๊ธฐ๋๊ฐยท์ค์ ๊ฒฐ๊ณผ๊ฐ ๋ค์ ๋ชจ๋ธ ํ๋จ์ ๋ค์ด๊ฐ ์ ์์ต๋๋ค.
- ์ ํํ ๋ฐ๋๋ฅผ Go๋ก ์์ฑํฉ๋๋ค. ์คํ ์คํ๊ธฐ๊ฐ ๊ณง๋ฐ๋ก ๋น๋ํ๊ณ ์คํํ๋ฉฐ, ์๋ณธยท๋ชจ๋ธยท์ ํยท๊ฒฐ๊ณผ๋ฅผ ์ฐ๊ฒฐํด ๊ธฐ๋กํฉ๋๋ค.
์ ๊ณผ์ ์ ์คํจ ๋ฌธ๋งฅ ์ฌ์ ๋ ฅ์ ์ด๋ฅผ ์ง์ํ๋ ๊ฒฝ๋ก์์ ์ฌ์ฉํฉ๋๋ค. ์ต์ ๊ทธ๋ํ ํ๋ ๋ชจ๋ธ ๊ฒฝ๋ก๋ ์ฒ์ ํ ๋ฒ ์์๋ฅผ ์ ํ ๋ค Gooo๊ฐ ๊ทธ ์์๋ก ํ๋ณด๋ฅผ ๊ฒ์ฌํฉ๋๋ค. ์ ์ฅํ ์กฐ๋ฆฝ์ ๋ค์ ์คํํ ๋๋ ์ ๋ชจ๋ธ ํธ์ถ์ด ์์ต๋๋ค.
Gooo ์๋ณธ + ์กฐ๋ฆฝ ๊ณํ + ์๋ + ์
์ถ๋ ฅ ์์
โ
์์ ๋ชจ๋ธ์ ๊ฒฝ๋ก ์์
โ
ํ์
๊ฒ์ฌ โ ๋ฐ๋ ์กฐ๋ฆฝ โ ์์ ํ๊ฐ
โ โ
โโโโโ ์คํจ ๋ฌธ๋งฅ โโโโ
โ
์์ฑ Go โ ๋น๋ โ ์คํ
โ
์ถฉ์กฑํ ํญ๋ชฉ๊ณผ ๋จ์ ์์
๊ธฐ๋ก
ํ๋์ assembling ์ ์ธ์ ๋ณธ๋ฌธ ์กฐ๋ฆฝ ๊ณํ๊ณผ ์๋ยท์์๋ฅผ ํจ๊ป ์ ์ ์ ์์ต๋๋ค.
์ธ๋ถ JSON ๊ณํ๋ ๋ฐ์ต๋๋ค. ์์ฐ์ด์์ ์กฐ๋ฆฝ ๊ณํ ์์ฒด๋ฅผ ์ฐพ์๋ด๋ ๊ธฐ๋ฅ์
๋ค์ ์ธ์ด ์ฐ๊ตฌ์ ํฌํจ๋์ด ์์ต๋๋ค. ์์ค ์์ ์กฐ๋ฆฝ ์๋ ์ ๊ธฐ.
๋ฌด์์ ์ธ๋ฐํ๊ฒ ์ ํํ ์ ์๋
์คํ์ ์ ํ ๊ณต๊ฐ์๋ ๋น๊ต ์ฐ์ฐ, ํผ์ฐ์ฐ์ ์์, ์ง์ญ ๋ณ์ ์ฐธ์กฐ, ๋์ ๋์, ์กฐ๊ฑด ๋ถ๊ธฐ, ์ค์ฒฉ ๋ถ๊ธฐ์ ๋ฌธ์ฅ ์์๊ฐ ์์ต๋๋ค. ์ ์ ๊ฒฝ๋ก ๋ชจ๋ธ๊ณผ ํจ๊ป ์ค์ ๋ ์ฝ๋ ํ๋ ๋ ํ๋ณด์์ ์กฐํฉ์ ๊ณ ๋ฅด๋ ๋ชจ๋ธ๋ ๋ณ๋๋ก ํ์ตยทํ๊ฐํฉ๋๋ค.
์ผ๋ฐ ๋ณธ๋ฌธ ์์ฑ์ IntegerยทBooleanยทText์ ๋ ์ฝ๋ ์
๋ ฅยท๊ฒฐ๊ณผ, ์์๊ฐ ์๋ ์ฌ๋ฌ ์
๋ ฅ,
let, ์ง์ญ ๋์
, ์กฐ๊ฑด๋ฌธ๊ณผ return์ ๋ค๋ฃน๋๋ค. ๋ ์ฝ๋ ์์ฑยทํ๋ ์ฝ๊ธฐยท์ ์ฒด ๊ฐ ๊ต์ฒด๋
ํ์ธํฉ๋๋ค. body-codegen์ ๊ฐ์ ์์ค์ ๊ณ ์ ๋ ์์ Gooo ํจ์๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
body-compose๋ ์กฐ๋ฆฝํ ๋ณด์กฐ ํ๋์ ํธ์ถ๊ณผ ์ค์ ์
๋ ฅ์ ๊ธฐ๋กํฉ๋๋ค.
package executeยทconstruct๋ ๊ฐ์ ธ์จ ํจํค์ง์ ์์ ํจ์๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค.
๋ฐ๋ณต๋ฌธ๊ณผ ์ธ๋ถ ํจ๊ณผ๋ ์ง์ ๋ฒ์๋ฅผ ๋ ์ ํ๋ ์ธ์ด ํ์ฅ ๊ณผ์ ์
๋๋ค.
๋ณธ๋ฌธ ์์ฑ๊ณผ ํจ์ ํธ์ถ์ ํ์ฌ ๋ฒ์ ยท
๋ณด์กฐ ํ๋ ํธ์ถ๊ณผ ์กฐ๋ฆฝ ๊ธฐ๋ก ยท
ํจํค์ง ํธ์ถ ์กฐ๋ฆฝ ยท ๊ธฐ๋ก๊ฐ ์์ฑ ยท ์
๋ ฅ ์์.
Laya์์ ์์ฒด ๋ชจ๋ธ๊น์ง
| ๋จ๊ณ | ํ ์ผ | ๋ฐฐ์ด ์ |
|---|---|---|
| Laya ๊ฒฝ๋ก ์คํ | ์๋์ ์ ํ์ง๋ฅผ ์ ๋ฌํด ํ์ฉ๋ ์์ฑ ๊ฒฝ๋ก ์ ํ | ์๋ต ์๋, ๋ฌธ๋งฅ ๊ธธ์ด, ์ธ์ด ๋ผ์ฐํ ๊ณผ ์คํจ ์ ๋ฌ์ ๊ด์ธก |
| ์ฝ๋ ๋ฐ๋ยทTDD ์คํ | ํ๋ณด ๋ฐ๋๋ฅผ ํ๊ฐํ๊ณ ์คํจ๋ฅผ ๋ค์ ์๋์ ์ ๋ฌ | ๋ชจ๋ธ์ ์ฒซ ์ ํ๊ณผ ํ์ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ์ธ๋ ๊ตฌ์กฐ ๋ง๋ จ |
| ์์ฒด Gooo ๋ชจ๋ธ | Gooo ์๋ฃ๋ก ์ ๊ฐ์ค์น๋ฅผ ์ด๊ธฐํยทํ์ต | ์์ ํ๋จ ๋จ์์ ๊ณ ์ ๋ฐฐ์ด์ Go ์คํ ๊ฒฝ๋ก ํ๋ณด |
| ๊ณต์ ์ํ ๋ชจ๋ธ | 256โ8โ2 ํ๋จ๋ง์ ์ธ ๊ฒฐ์ ์ ์ฌ์ฌ์ฉ | 2,072๊ฐ ํ๋ผ๋ฏธํฐ๋ก ์ฌ๋ ๊ฒฝ๋ก์ ์์ ๊ตฌ์ฑ |
| ์ ์ฒด ์ ๋ ฅ ํํ ๋น๊ต | ์์น ๊ธฐ๋ฐ ํํยท๋ฌธ์ฅ ์กฐ๊ฐ ๋น๋, ์๋ฌธยท๋ค์ํ ํํ์ ๋น๊ต | ์๋ ์์ ๋ฌธ๊ตฌ ๋ฏผ๊ฐ๋, ์์ ์์ค, ์์ํ ํํด ๋ฐ๊ฒฌ |
| SDK์ ์ค์ ์์ฑ ์ฐ๊ฒฐ | ๊ณ์ฐ ๊ท์น์ ๋ช ์ํ๊ณ ์์ฑยท๋น๋ยท์คํ ๊ด์ธก | ํ๋ซํผ๋ณ ์ฌํ์ฑ๊ณผ ์ ์ฒด ์ฒ๋ฆฌ ๋น์ฉ์ ๊ฐ๊ฐ ํ์ธ |
| ์ ์ฒด ํ๋ณด ํ๋จ๊ธฐ | 4,096 ํ๋ผ๋ฏธํฐยท16 KiB๋ก ์ค์ ๋ ์ฐ์ฐ์ ์์์ ์ ์ฒด ํ์ ์๋๋ฅผ ๋น๊ต | 64๊ฐ ํ์ต ์์ฒญ, ์ปดํ์ผ๋ฌ ๋ด๋ถ ํ๋จยท์ฆ์ ์คํ, ๋์ผ ํ๋ณด ์ฌ์ฌ์ฉ |
| ์ค์ ํ๋ ํ๋ณด์ ๋ชจ๋ธ | 18,656 ํ๋ผ๋ฏธํฐ๋ก ์ธ ํ๋์ ์ค์ ํ๋ณด์ ํ์ ์๋๋ฅผ ์ ๋ ฅ | 480 GPU ํ์ต, 192๊ฐ ํ๊ฐ ์์ค, 100ํ ์ค์ ์กฐ๋ฆฝ๊ณผ ๋ฐ๋ ์๋ ์คํจ ๊ณต๊ฐ |
| ์์ค ๊ทธ๋ํ ๋ชจ๋ธ | 2,072 ํ๋ผ๋ฏธํฐ๋ฅผ Go CPU๋ก ํ์ต, ์ธ ํ๋ก๊ทธ๋จยท576ํ | ํ๋ก๊ทธ๋จ ์ ์ธ QAT ์ฒซ ์ ํ 10~28/192, ์์ฐ๋ณ ๋ถ๋ถ ์ถฉ์กฑ๊ณผ ์ค์ ์กฐ๋ฆฝยท์ ์ฅ ์ฌ์คํ ๊ณต๊ฐ |
ํ์ฌ ์์ฒด ๋ชจ๋ธ์ ๊ณ๋ณด๋ Gooo ๋ฐ์ดํฐ์ ์๋ก ์ด๊ธฐํํ ๊ฐ์ค์น์์ ์์ํฉ๋๋ค. Laya๋ ์ด๊ธฐ ๊ตฌ์กฐํ๋ ์ ํ ์คํ์ ์ฌ์ฉํ๊ณ , ๊ทธ ๊ฒฝํ์ด ์ง๊ธ์ ์ ํ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณํ๋ ๋ฐ ์ด์ด์ก์ต๋๋ค.
๋ชจ๋ธ ์ฐ๊ฒฐ๊ณผ ๊ฒฐ์ ๋ก ์ ์งํ
์ ์ฒด ํ๋ณด ํ๋จ๊ธฐ
์ ๋ชจ๋ธ์ ์์ค ์กฐ๋ฆฝ ๊ณํ์
๋ ์ ์ ์ฐ์ฐ๊ณผ ์ธ ์ด์ง ์ ํ์ ๋ค๋ฃน๋๋ค. ๋ชจ๋ธ ๋ฉํ๋ฐ์ดํฐ์ weights.bin์ ๊ฐ์ ํด๋์
๋๊ณ ๋ค์์ฒ๋ผ ์ฐ๊ฒฐํฉ๋๋ค. ํ์ผ๋ช
์ ์ฌ์ฉํ ์์ค์ ๊ณํ์ ๋ง์ถฐ ๋ฐ๊ฟ๋๋ค.
gooo body-codegen --json --activity Compose \
--path-plan recipe.json --path-model model/model.json source.gooo
์๋ณธ ์์ค๋ฅผ ํ์ธํ ๋ค ๋ชจ๋ธ์ ํ ๋ฒ ํธ์ถํ๊ณ , ๊ทธ ์์๋๋ก ์ ํ ์์๋ฅผ ํ๊ฐํด Go๋ฅผ
์์ฑํฉ๋๋ค. ์ ์ฒด ํ๋ณด ์์์ ๋์ผ ๊ตฌ์กฐ ์๋ต์ body_paths.whole_candidate_judgment์
๊ธฐ๋ก๋ฉ๋๋ค. ์ด ์ด๊ธฐ ๋ชจ๋ธ ๊ฒฝ๋ก์์๋ ์๋ยท๋ฐฐ์นยทํผ๋๋ฐฑ ์ต์
๊ณผ ์ง์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์
๋ ฅ์ด
๋ช
์์ ์ค๋ฅ๋ก ๊ธฐ๋ก๋ฉ๋๋ค. ๋ชจ๋ธ ์ต์
์ ์๋ตํ๋ฉด ๊ฒฐ์ ๋ก ์ ์ผ๋ก ์์ฑํฉ๋๋ค.
์ง์ ๋ชจ์ยท์
๋ ฅ ํ๋ยทํธ์ถ ์์.
main 98701e47์ ๋ฐ์๋์ผ๋ฉฐ, ์ค์น๋ณธ์์ ๋ชจ๋ธ ์ฌ์ฉยท๋ฏธ์ฌ์ฉ ์์ชฝ์ ์ค์ ์คํ์
ํ์ธํ์ต๋๋ค. ํ๊ตญ์ด ์์ ์ ์์คยท๊ณํยท๋ช
๋ น์
๊ทธ๋๋ก ์คํํ ์ ์์ต๋๋ค.
๊ธฐ์กด ๊ณต์ ํ๋จ๊ธฐ์ ๋จ๊ณ๋ณ ํผ๋๋ฐฑ
๋ชจ๋ธ์ ๋ช ์์ ์ผ๋ก ํ์ผ์ ์ง์ ํด ์ฐ๊ฒฐํฉ๋๋ค. ๋ค์ ๋ช ๋ น์ ํ์ผ๋ช ์ ํธ์ถ ํํ๋ฅผ ์ค๋ช ํ๋ ์๋ฆฌํ์์์ด๋ฉฐ, ์ค์ ํ์ผ ๋ฌถ์๊ณผ ์์ค ๊ฒฐ์ ์กฐ๊ฑด์ ์ฌ์ฉ ์๋ด๋ฅผ ๋ฐ๋ฆ ๋๋ค.
gooo body-codegen --json \
--path-plan plan.json --path-model model/model.json \
--path-step-attempts 1 --path-feedback-rounds 7 \
--activity ChoosePath source.gooo
- ๋ชจ๋ธ์ ์๋ตํ๋ฉด ์ ์ธ๋ ๊ฒฐ์ ๋ก ์ ๊ฒฝ๋ก๋ก ์งํํ๋ฉฐ ๋ชจ๋ธ ํธ์ถ ์๋ 0์ ๋๋ค.
- ์ง์ํ์ง ์๋ ์ ํ ๊ฐ์๋ ์ ๋ ฅ ๊ธธ์ด ์ด๊ณผ๋ ์๋ฌธ๊ณผ ํด์๋ฅผ ๋ณด์กดํ๊ณ , ์ฌ์ ๋ฅผ ๊ธฐ๋กํ ๋ค ๊ฒฐ์ ๋ก ์ ์งํ์ ์ฌ์ฉํฉ๋๋ค.
- ์๋๊ฐ ์๋ ํ๋ฅ ์ ์ ํ์ ๊ฐ์ ์๋ณธยท๋ชจ๋ธยท๊ธฐ๋ก๋ ๋ถํฌ์์ ์ฌํ๋๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค.
- ์ฝ๋ ์์ฑ ์ค ๋ชจ๋ธ ๊ฐ์ค์น๋ ๊ณ ์ ๋ฉ๋๋ค. ํ์ต์ ๋ณ๋ ๋จ๊ณ์์ ์ํํฉ๋๋ค.
์ฅ์๊ฐ ์ฌ์ฉํ๋ Go ์คํ๊ธฐ๋ ๋ชจ๋ธ์ ํ ๋ฒ ๋ก๋ํ๊ณ , ์์ฒญ๋ง๋ค ์์ ๋ฐฐ์ด๊ณผ ํ์ ์ํ๋ฅผ ๋ฐ๋ก ๋ก๋๋ค. ํ์ฌ ๊ฒฝ๋ก์์ ๋ชจ๋ธ ์ ํ์ ํ๋ณด ํ๊ฐ ์ ์ ํธ์ถ๋ฉ๋๋ค. ์์ฑ์ด ๋๋๋ฉด ์คํ ์คํ๊ธฐ๊ฐ ๋ฐ๋ก ๋น๋์ ์คํ์ ์์ต๋๋ค. ๋ ๋ง์ ๋์ ์์ฒญ์์์ ์ง์ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ๋ ๋ค์ ๊ด์ธก ๊ณผ์ ์ ๋๋ค.
์ฑ๊ณผ์ ํ์ฌ์ ์ด๋ ค์
์ฒซ ์ ํ์ ํ์ง, ์ถ๊ฐ ํ์, ์ ์ฒด ์์ฑ ์๊ฐ์ ์๋ก ๋ค๋ฅธ ๊ฒฐ๊ณผ์ ๋๋ค. ์ ์ฒด ๋ฌธ์ฅ ์กฐ๊ฐ์ ์ฐ๋ FP32 ์กฐ๊ฑด์ ์๋ ค์ง ๊ฐ๋ฐ ์ ๋ ฅ 512๊ฐ ์ค 368๊ฐ์์ ์ฒซ ๋ฐ๋๊ฐ ๋ชจ๋ ์์๋ฅผ ๋ง์กฑํ๊ณ , ์ถ๊ฐ ํ๋ณด ํฉ๊ณ๋ 186๊ฐ์์ต๋๋ค. ๋์กฐ๊ตฐ์ 113๊ฐ์ 1,469๊ฐ์์ต๋๋ค.
์์ ํตํฉ ๊ณผ์ 16๊ฐ์์ ํด๋น ์กฐ๊ฑด์ ์ฒซ ๊ฒฝ๋ก๋ 16/16์ ์ถฉ์กฑํ์ต๋๋ค. ์ ์ฒด ํตํฉ ์คํ์์๋ 400ํ ์์ฑ๊ณผ 800ํ ์คํ์ ๊ด์ธกํ์ต๋๋ค. compact FP32์ ์์ธก ์ค์๊ฐ์ 8.33ยตs, ์ ์ฒด ์ฝ๋ ์์ฑ์ 10.00ms์์ต๋๋ค. ๋ชจ๋ธ์ ๋ ์กฐ๊ฑด์ ์์ฑ ์ค์๊ฐ์ 9.80ms์์ต๋๋ค. ์ง๊ธ ํ์ธํ ์ด๋์ ํ๋ณด ํ์ ๊ฐ์์ด๋ฉฐ, ์ด ๊ณผ์ ํฌ๊ธฐ์์ ์ ์ฒด ์ง์ฐ์ ๋น์ทํ์ต๋๋ค. ๋ถ๋ชจยทํ๊ฒฝยท์ ์ฒด ๋ณํ ๊ฒฐ๊ณผ.
๋ฌธ์ฅ ์กฐ๊ฐ์ ๋น๋๋ ์ฐ์ฐ ์์๋ฅผ ์์ ์ ์์ต๋๋ค. ํยท์ ๋ ํํ์ด ๊ฐ์ ์๋ชป๋ ๊ฒฝ๋ก๋ฅผ ๊ณ ๋ฅด๊ธฐ๋ ํฉ๋๋ค. ์ผ์ง ์ ์ฅ์ผ๋ก ํ์ผ์ ์์์ก์ง๋ง ์ผ๋ถ ์กฐ๊ฑด์ ํ์ง์ ๋ด๋ ค๊ฐ์ต๋๋ค. ์ด ๊ด์ธก๋ค์ ๋ค์ ํํยทํ์ตยท์ธ์ด ๊ธฐ๋ฅ์ ๊ณ ๋ฅด๋ ๊ทผ๊ฑฐ๋ก ๋จ๊น๋๋ค.
์ธ์ด๊ฐ ์ด๋ป๊ฒ ๋ฐ์ ํด์ผ ํ๋
๋ค์ ์์ ์ ๋ชจ๋ธ์ ์ ๋ต๋ฅ ๊ณผ ์ธ์ด๊ฐ ํํํ ์ ์๋ ๋ฒ์๋ฅผ ํจ๊ป ๋ํ๋ ๊ฒ์ ๋๋ค.
- ์์๋ฅผ ํํํ๋ ์์ ์ ๋ ฅ ๊ตฌ์กฐ: โ๋ํ๊ณ ๊ณฑํ๊ธฐโ์ โ๊ณฑํ๊ณ ๋ํ๊ธฐโ๋ฅผ ๊ตฌ๋ณํ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ ๋น์ฉ์ ์ ์งํฉ๋๋ค.
- ํ๊ตญ์ดยท์์ด์ ์ ๊ณผ์ : ๊ฐ์ ์ค๋ต๊ณผ ์์ชฝ ๋ชจ๋ ์ ํจํ ์ ํ์ ๋ถ๋ฆฌํ๊ณ , ๊ธฐ์กด์ ๊ด์ธกํ ๊ณผ์ ๋ฐ์์ ํ๊ฐํฉ๋๋ค.
- ๋ ํ๋ถํ ์กฐ๋ฆฝ ๊ณํ: ๋ ๋์ ํ์ ยท์กฐ๊ฑดยท๊ณ์ฐ์ ํํํ๊ณ , ์์ฑ๊ณผ ์ญ๊ด์ธก์ ๊ท์น์ ํจ๊ป ๋๋ฆฝ๋๋ค.
- ์์ฐ์ด์์ ๊ณํ ์ฐพ๊ธฐ: ์ฌ์ฉํ ๊ธฐ๋ฅ๊ณผ ์กฐ๋ฆฝ ํ๋ณด๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๊ทธ ์ถ์ฒยท์คํจยท๋ฏธํด๊ฒฐ ํญ๋ชฉ์ ๊ณตํต ๊ธฐ๋ก์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค.
- ์ฑ๊ณตํ ๊ตฌ์กฐ ์ฌ์ฌ์ฉ: ๋ฐ๋ณต๋๋ ์กฐ๋ฆฝ๋ฒ์ ์ค๋ช ๊ฐ๋ฅํ ๊ตฌ์ฑ์ผ๋ก ์ถ์ ํด ์ ์์ ์ ํ์ ๋น์ฉ์ ์ธก์ ํฉ๋๋ค.
์์ ์ฑ์ ์์ ์ง์์์ ์ฒดํฌ ๊ธฐ๋ก์ ๊ฐ๊น์ต๋๋ค. ํ๋ก๊ทธ๋จ์ด ํ ๋ฒ์ ์์ฑ๋์ง ์์๋, ๋ฌด์์ ์ถฉ์กฑํ๊ณ ๋ฌด์์ด ๋จ์๋์ง๊ฐ ๋ค์ ์๋๋ก ์ด์ด์ง ์ ์์ด์ผ ํฉ๋๋ค.
๊ด๋ จ ์ฐ๊ตฌ์ ๊ฐ์ฌ ยท ํ์ฌ ์ํ ยท ๋ฌธ์ ํ
์์ฑ ์งํ ์คํํ๊ณ ๊ฐ์ ์กฐ๋ฆฝ๋ฌผ์ ๋ค์ ํ์ธํ๊ธฐ
body-path-stream --execute๋ ์ ๋ฐ๋๊ฐ ๋์ค๋ฉด ๊ฐ์ ์์ฒญ ์์์ ์ค์ ์คํ์ผ๋ก
์ฐ๊ฒฐํฉ๋๋ค. ์์ฒญ๋ง๋ค execution_cases๋ก ๋
๋ฆฝ ๊ธฐ๋๊ฐ์ ์ ๋ฌํฉ๋๋ค. ๊ฐ์ ์กฐ๋ฆฝ๋ฌผ์
์คํํ์ผ์ ํ๋๋ง ๋ณด๊ดํ๊ณ , ํ์ฌ ์์คยท๊ณํยท๋ถ๋ชจ ๊ด์ธก๊ณผ ์คํํ์ผ์ ๋ค์ ํ์ธํ ๋ค
ํ์ฌ ์
๋ ฅ์ ๋ ๋ฒ ์คํํฉ๋๋ค. ๋ค๋ฅธ ๊ธฐ๋๊ฐ์ ์ฃผ๋ฉด ์๋ก์ด ์ถฉ์กฑยท๋ฏธ์ถฉ์กฑ ๊ฒฐ๊ณผ๊ฐ ๋จ์ต๋๋ค.
๋ชจ๋ธ ํ๋จ ๊ธฐ๋ก๊ณผ ์คํ ๊ด์ธก์ ๋ถ๋ชจยท์์ ๊ด๊ณ๋ก ์ฐ๊ฒฐํ๋ฉฐ, ์ค์ ์ ๋น๋์ ์ฌ์ฌ์ฉํ
์๋ณธ ๋น๋๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ์์ฑ์ ์ฌ๋ฌ ์์
์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ณ ์คํ ์ฌ๋กฏ์ ํ๋์
๋๋ค.
Go ์์ ์
--retain-native๊ฐ ์ด ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค. --model์ ๋นผ๋ ๊ฐ์ ์คํ ๊ด์ธก์
๊ฒฐ์ ๋ก ์ ์ผ๋ก ์ป์ต๋๋ค. ๊ธฐ์กด ํ์ ์์ค์ 512ํ ์์ฑยท1,024ํ ์คํ ๋น๊ต์์ ๊ฒฐ๊ณผ์
์ต์ด ์คํจ๋ฅผ ์ ์งํ๋ฉฐ ๋ฐ๋ณต ์คํ ๊ด์ธก ๋น์ฉ์ ์ค์์ต๋๋ค.
์๋ณธยท์ธก์ ๋ฒ์์ ์คํจ.
ํ์ฌ ์ง์๋๋ ์์ IntegerโInteger ๋ฐ๋์ ์ ์ฉ๋ฉ๋๋ค.