Semantic Hints KO - teamswyg/laya-tools GitHub Wiki

Semantic hint experiment 01 โ€” ๋งค์šฐ ์‹ผ ์ฃผ์žฅ์œผ๋กœ ํƒ์ƒ‰ ๋•๊ธฐ

์ƒํƒœ: ์—ฐ๊ตฌ์šฉ. ๊ธฐ์กด ๋‚œ์ด๋„ ๋ผ์šฐํ„ฐยท3์ง„ QAT์™€ ๋…๋ฆฝ๋œ ์‹คํ—˜์ด๋ฉฐ ๊ธฐ๋ณธ ๋™์ž‘์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.

ํƒ€๊ฒŸ์„ ํ•œ ๋ฌธ์žฅ์œผ๋กœ

์ด๋ฏธ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ์˜ ๊ทผ๊ฑฐ๋ฅผ ์ฐพ๋Š” ์—์ด์ „ํŠธ๊ฐ€, ๋น„์‹ผ ์ฝ๊ธฐยท๊ฒ€์ฆ์„ ํ•˜๊ธฐ ์ „์— ํ™•์ธ ์ˆœ์„œ๋ฅผ ์ •ํ•˜๋„๋ก ๋•๋Š” ์ดˆ์†Œํ˜• ํžŒํŠธ ๊ณต๊ธ‰๊ธฐ.

๊ฐ€์ƒ์˜ Harbor ์ž‘์—… ๊ณต๊ฐ„์—๋Š” 64๊ฐœ ์ €์žฅ์†Œ๊ฐ€ ์žˆ๊ณ , ๊ฐ ์ €์žฅ์†Œ์— ๊ณต๊ฐœ ๊ฐ€๋Šฅํ•œ ์š”์•ฝ๊ณผ ๊ทผ๊ฑฐ ์กฐ๊ฐ ID๊ฐ€ ์žˆ๋‹ค. ์š”์ฒญ์€ โ€œ์ค‘๋ณต ๊ฒฐ์ œ๋ฅผ ๋ง‰๋Š” ๊ตฌํ˜„์„ ์ฐพ์•„๋ผโ€์ด๋‹ค. ์ถœ๋ ฅ์€ โ€œrepo-17์˜ evidence-4๊ฐ€ ์ด ์š”์ฒญ์— ๊ด€๋ จ๋  ์ˆ˜ ์žˆ๋‹คโ€๋ผ๋Š” ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ํ›„๋ณด ์ฃผ์žฅ์ด๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ ํ•ด๋‹น ๊ทผ๊ฑฐ๋ฅผ ์ฝ๊ณ  ํ™•์ธํ•œ๋‹ค. ๋ชจ๋ธ์ด ๊ฒฐ์ œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ตœ์ข… ์ €์žฅ์†ŒยทLLM์„ ๊ฒฐ์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ฒซ ๊ตฌํ˜„์˜ ์ž‘์€ ์‹œํ—˜์žฅ์€ 16๊ฐœ ๊ฐ€์ƒ ๊ทผ๊ฑฐ ์กฐ๊ฐ์ด๋‹ค. 64โ†’256โ†’1024 ํ›„๋ณด ํ™•์žฅ์€ ๋ณ„๋„ ์ธก์ •์ด๋‹ค. 16๊ฐœ ์‹œํ—˜ ๊ฒฐ๊ณผ๋ฅผ 64๊ฐœ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์œผ๋กœ ๋ณด๊ณ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

โ€˜์ฃผ์žฅ ๋ชจ๋ธโ€™์˜ ์˜๋ฏธ

์ž์œ ๋กœ์šด ๋ฌธ์žฅ ์ƒ์„ฑ ๋Œ€์‹  ์ œํ•œ๋œ ์ˆ ์–ด์™€ ๊ทผ๊ฑฐ ์ฐธ์กฐ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

{
  "predicate": "may_contain_evidence",
  "candidate_id": "repo-17",
  "evidence_ids": ["evidence-4"],
  "snapshot_id": "catalog-version",
  "rank_score": 0.7,
  "status": "unverified",
  "reason_code": "semantic_candidate"
}

์œ„ JSON์€ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„ ์˜ˆ์‹œ์ด๋ฉฐ ํ˜„์žฌ CLI์˜ ์ถœ๋ ฅ ํ˜•์‹์€ ์•„๋‹ˆ๋‹ค. ์ ์ˆ˜๋Š” ์ง„์‹ค ํ™•๋ฅ ์ด ์•„๋‹ˆ๋‹ค. ์กฐํšŒ ์š”์ฒญยท์นดํƒˆ๋กœ๊ทธ ๋ฒ„์ „ยท๊ถŒํ•œ ๋ฒ”์œ„๊ฐ€ ๋ฐ”๋€Œ๋ฉด ์žฌ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ํžŒํŠธ ๋ฏธ์ œ๊ณต์€ ๊ฑฐ์ง“ ํŒ์ •์ด ์•„๋‹ˆ๋ฉฐ, ํ›„๋ณด๋ฅผ ์˜๊ตฌ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทผ๊ฑฐ ID๋„ ๊ฒ€์ฆ ์ „์—๋Š” ๊ด€๋ จ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋„๋ฉ”์ธ์€ ์šฐ์„  ์ €์žฅ์†Œ/์ฝ”๋“œ ๊ทผ๊ฑฐ ๊ฒ€์ƒ‰ ํ•˜๋‚˜๋‹ค. ์ดํ›„ may_need_joint_change(ํ•จ๊ป˜ ๋ฐ”๋€” ๊ฐ€๋Šฅ์„ฑ), may_be_decomposable(๋ถ„๋ฆฌ ๊ฐ€๋Šฅ์„ฑ), may_need_stronger_model(์ถ”๊ฐ€ ๊ฒ€์ฆ ํ•„์š”์„ฑ)์€ ๊ฐ๊ฐ ๋ณ„๋„ ๋ผ๋ฒจยท๊ฒ€์ฆ๊ธฐยท์‹คํ—˜์œผ๋กœ ๋‹ค๋ฃฌ๋‹ค. ์ง„์‹ค ํŒ๋ณ„, ๊ถŒํ•œ ํŒ๋‹จ, ์ฝ”๋“œ ์‹คํ–‰ ๊ถŒํ•œ์€ ๋ชฉํ‘œ์—์„œ ์ œ์™ธํ•œ๋‹ค.

๋™์ž‘๊ณผ ์‹คํŒจ ๋น„์šฉ

์š”์ฒญ โ†’ ์‹ธ๊ฒŒ ํ›„๋ณด ์ •๋ ฌ โ†’ ์ƒ์œ„ ํ›„๋ณด ๊ฒ€์ฆ โ†’ ์‹คํŒจํ•˜๋ฉด ์•„์ง ์•ˆ ๋ณธ ํ›„๋ณด โ†’ ์ „์ฒด ํƒ์ƒ‰ ๋˜๋Š” ๊ธฐ์กด LLM ๊ฒฝ๋กœ.

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

๋ธ”๋ฃธํ•„ํ„ฐ์—์„œ ๋นŒ๋ฆฌ๋Š” ๊ฒƒ์€ โ€˜์‹ผ ์•ž๋‹จ์œผ๋กœ ๋น„์‹ผ ๋’ท๋‹จ์„ ๋•๋Š”๋‹คโ€™๋Š” ๊ตฌ์„ฑ์ด๋‹ค. ํ•™์Šต ์ ์ˆ˜ ์ž์ฒด์—๋Š” ๋ธ”๋ฃธํ•„ํ„ฐ์˜ false-negative ์—†์Œ ๋ณด์žฅ์ด ์—†๋‹ค. Learned Bloom Filter ๋…ผ๋ฌธ์˜ ๋ฐฑ์—… ํ•„ํ„ฐ๋„ ์•Œ๋ ค์ง„ ์ง‘ํ•ฉ์˜ ๋ˆ„๋ฝ์„ ๋ณด์™„ํ•˜๋Š” ์žฅ์น˜๋‹ค. ์—ด๋ฆฐ ์˜๋ฏธ ๊ฒ€์ƒ‰์— ๊ทธ ๋ณด์žฅ์„ ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์—†๋‹ค. ์ „์ฒด ํ›„๋ณด๋ฅผ ๋ณด์กดํ•˜๋Š” ์ด๋ฒˆ fallback์€ ์ฃผ์–ด์ง„ ์œ ํ•œ ๋ชฉ๋ก๊ณผ ์ •ํ™•ํ•œ ๊ฒ€์ฆ๊ธฐ ์•ˆ์—์„œ๋งŒ ๋ˆ„๋ฝ ๋ฐฉ์ง€๋ฅผ ๋…ผํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹คํ—˜์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฒฝ๋กœ ์งˆ๋ฌธ ์ด๋ฒˆ ๋‹จ๊ณ„
A ๋‹จ์ˆœ ํ† ํฐ ์ผ์น˜๋งŒ์œผ๋กœ๋„ ๊ฒ€์ฆ ํšŸ์ˆ˜๋ฅผ ์ค„์ด๋Š”๊ฐ€? Go ๊ธฐ์ค€์„  ์‹คํ–‰
B ์ž‘์€ ๋น„ํŠธ ํŠน์ง•์€ ์ถฉ๋Œยท์†๋„ยทํฌ๊ธฐ ๊ตํ™˜์ด ์œ ๋ฆฌํ•œ๊ฐ€? 256/4096 bit ๋น„๊ต; ํ•™์Šต ์•„๋‹˜
C ์ธ์ฝ”๋” ์—†๋Š” 3์ง„ ํ•™์Šต๊ธฐ๊ฐ€ A/B๋ณด๋‹ค ์˜๋ฏธ ์ผ๋ฐ˜ํ™”๋ฅผ ๊ฐœ์„ ํ•˜๋Š”๊ฐ€? ์ƒˆ ํ•™์Šต/๊ฒ€์ฆ/์ตœ์ข… ๊ฐ€์กฑ ๊ณ ์ • ํ›„ QAT
D Laya/๊ธฐ์กด QAT๋ฅผ ์„ ํƒ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ๋น„์šฉ ๋Œ€๋น„ ๋„์›€์ด ๋˜๋Š”๊ฐ€? ๋…๋ฆฝ ํ›„์† ๋น„๊ต; 2.5GiB ์ธ์ฝ”๋” ๋น„์šฉ ํฌํ•จ
E ์—์ด์ „ํŠธ๊ฐ€ ์‹ค์ œ ๋™์ผ ํ’ˆ์งˆ๋กœ LLM ์‚ฌ์šฉ์„ ์ค„์ด๋Š”๊ฐ€? ๊ณต๊ฐœ ์‹ค์ œ ์ž‘์—…์˜ ์Œ๋Œ€ ๋น„๊ต; ๋ณ„๋„ ๊ฒ€์ฆ

A/B ๊ฒฐ๊ณผ๋ฅผ C์˜ ํ•™์Šต ๊ฒฐ๊ณผ๋‚˜ E์˜ ํ† ํฐ ์ ˆ๊ฐ์ด๋ผ๊ณ  ๋ถ€๋ฅด์ง€ ์•Š๋Š”๋‹ค. ๋น„ํŠธ ํŠน์ง•์€ ๋‹จ์–ด ํ•ด์‹ฑ์ด๋ฉฐ ์˜๋ฏธ ์ธ์ฝ”๋”๊ฐ€ ์•„๋‹ˆ๋‹ค. 3์ง„์ด FP32/INT8๋ณด๋‹ค ๋А๋ฆฌ๊ฑฐ๋‚˜ ์งˆ์ด ๋‚ฎ์œผ๋ฉด ์ฑ„ํƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด๋ฒˆ์— ๊ณ ์ •ํ•˜๋Š” ์ธก์ • ๊ณ„์•ฝ

ํ•ฉ์„ฑ ์˜์–ด 16๊ฐœ ๋„๋ฉ”์ธ ร— ์ง์ ‘ ํ‘œํ˜„/๋‹ค๋ฅธ ํ‘œํ˜„/๋ถ€์ •ยท๋ฐ˜๋Œ€ ์š”์ฒญ 3์ข…, ์ •๋‹ต ์—†์Œ 4๊ฐœ. ๋‹จ์ผ ์ž‘์„ฑ์ž ๊ฐœ๋ฐœ ์ž๋ฃŒ์ด๋ฉฐ ๋…๋ฆฝ ์ตœ์ข… ์„ธํŠธ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋ถ€์ • ํ‘œํ˜„์€ ์ „์—ญ ๋ฌธ์žฅ ์ดํ•ด์˜ ๋Œ€์šฉ ์ง€ํ‘œ์ผ ๋ฟ์ด๋‹ค. ๋ชจ๋“  ์ˆœ์œ„ ๋ฐฉ๋ฒ•์— ๋™์ผํ•œ ์š”์ฒญ๊ณผ ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ›„๋ณด ID๋Š” ์ˆœ์œ„ ํ•จ์ˆ˜์— ๋ชฉํ‘œ ์ •๋ณด๋ฅผ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

  • ํ›„๋ณด ์ˆœ์„œ: ์›๋ž˜ ์ˆœ์„œ, ๊ณ ์ • ๋‚œ์ˆ˜ ์ˆœ์„œ, ์ •ํ™• ํ† ํฐ ๊ต์ง‘ํ•ฉ, ํ•ด์‹œ ๋น„ํŠธ ๊ต์ง‘ํ•ฉ 256/4096.
  • ์ •๋‹ต ํ›„๋ณด rank, recall@1/@4, ์ตœ์ดˆ ์ •๋‹ต๊นŒ์ง€ ๊ฒ€์ฆ ํšŸ์ˆ˜, ์ •๋‹ต ์—†๋Š” ์š”์ฒญ์˜ ์ „์ฒด ํƒ์ƒ‰ ๋น„์šฉ, ์ตœ์•… ๋น„์šฉ์„ ๋”ฐ๋กœ ๊ธฐ๋กํ•œ๋‹ค.
  • ์ •๋‹ต์€ ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ์ธ๋ฑ์Šค๋ฅผ ์ฝ๋Š” oracle๋‹ค. ์‹ค์ œ verifier, LLM, ์ฝ”๋”ฉ ์„ฑ๊ณต๋ฅ ์„ ์ธก์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ชจ๋“  ํ›„๋ณด์— ๋˜‘๊ฐ™์€ ๊ฒ€์ฆ ๋น„์šฉ์„ ๊ฐ€์ •ํ•œ๋‹ค. ์›๋ž˜ ์ˆœ์„œ ๋Œ€๋น„๋ฟ ์•„๋‹ˆ๋ผ ๊ฐ•ํ•œ ๋น„ํ•™์Šต ๊ธฐ์ค€์„  ๋Œ€๋น„๋ฅผ ๋ณด๊ณ ํ•œ๋‹ค.
  • ํ† ํฐํ™”ยท์ ์ˆ˜ยท์ •๋ ฌ ํฌํ•จ warm query ์ง€์—ฐ๊ณผ allocations๋ฅผ ์ธก์ •ํ•œ๋‹ค. ์นดํƒˆ๋กœ๊ทธ ์ค€๋น„๋Š” ์ œ์™ธํ•˜๊ณ  ๋ช…์‹œํ•œ๋‹ค. ์ „์ฒด ํ”„๋กœ์„ธ์Šค ์ตœ๋Œ€ RSS๋Š” OS ๋„๊ตฌ๋กœ ๋”ฐ๋กœ ์ธก์ •ํ•œ๋‹ค. pprof๋Š” Go ํž™/CPU์ด๋ฉฐ GPU ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋œปํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋ฐ˜๋ณต ๋™์ผ ์ž…๋ ฅ์—์„œ ์ ์ˆ˜๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•œ๋‹ค. ๋…๋ฆฝ ํˆฌํ‘œ๋กœ ํ•ฉ์‚ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ์‹ค์ œ ๋ฐ˜๋ณต ๋ฐฐ์น˜๋Š” ์ƒˆ๋กœ์šด ๊ทผ๊ฑฐ/ํ›„๋ณด/๊ฐ€์„ค์„ ํ‰๊ฐ€ํ•ด์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค.

ํ›„์† C ๋ชฉํ‘œ(๋ฏธ๋‹ฌ์„ฑ): ๋ชจ๋ธ ํŒŒ์ผ โ‰ค64KiB, ์˜ˆ์ธก ์ƒํƒœ โ‰ค1MiB, ์ „์ฒด ํ”„๋กœ์„ธ์Šค RSS โ‰ค64MiB, 64ํ›„๋ณด warm p95 โ‰ค1ms, ๋ณ„๋„ ์ตœ์ข… ์„ธํŠธ recall@4 โ‰ฅ95%, ์ •ํ™• ํ† ํฐ ๊ธฐ์ค€์„ ๋ณด๋‹ค ๊ฒ€์ฆ ํšŸ์ˆ˜ โ‰ฅ20% ๊ฐ์†Œ. ํŠœ๋‹ ๋„์ค‘ ๊ธฐ์ค€์„ ๋‚ฎ์ถ”์ง€ ์•Š๊ณ  ์‹คํŒจ๋„ ๋‚จ๊ธด๋‹ค. ์–ธ์–ด/๊ฐ€์กฑ๋ณ„ ํšŒ๊ท€์™€ fallback ๋น„์šฉ์„ ํ•จ๊ป˜ ํŒ๋‹จํ•œ๋‹ค.

์ด๋น„์šฉ = ํŠน์ง• ์ค€๋น„ + ๋ชจ๋“  ํžŒํŠธ ํ˜ธ์ถœ + ๋ชจ๋“  ๊ฒ€์ฆ + fallback + ์ตœ์ข… LLM. ์ด๋น„์šฉ์ด ๊ฐ์†Œํ•˜์ง€ ์•Š์œผ๋ฉด ์ž‘์€ ๋ชจ๋ธ์ด ๋นจ๋ผ๋„ ์‹คํŒจ๋‹ค. ์‹ค์ œ LLM ๋น„์šฉ์€ ์‹ค์‚ฌ์šฉ ์Œ๋Œ€ ๊ฒ€์ฆ ์ „๊นŒ์ง€ ๋ฏธ์ธก์ •์ด๋‹ค.

ํ•™์Šต ์„ค๊ณ„์™€ ๋ชจ๋ธ ๊ด€๊ณ„

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

ํ•™์Šต/๊ฒ€์ฆ/๋ณด์ •/์ตœ์ข… ์„ธํŠธ๋Š” ์ €์žฅ์†Œ ๋ฐ ์˜๋ฏธ ๊ฐ€์กฑ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  ์ค‘๋ณต/๋ณ€ํ˜• ๋ˆ„์ถœ์„ ๊ฒ€์‚ฌํ•œ๋‹ค. ๊ฐœ๋ฐœ ๋ฐ์ดํ„ฐ๋กœ ํŠน์ง•๊ณผ ๊ธฐ์ค€์„ ์ •ํ•œ ๋’ค ์‹ ๊ทœ ์ตœ์ข… ์„ธํŠธ๋ฅผ ๋ด‰์ธํ•œ๋‹ค. ์ตœ์ข… ์„ธํŠธ๋ฅผ ๋ณด๊ณ  ๊ฐœ์„ ํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ ์‚ฌ์ดํด์—์„œ ์‹ ๊ทœ ์ตœ์ข… ์„ธํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค. ์ตœ์†Œ 2๊ฐœ seed, ๊ฐ™์€ split๊ณผ ์˜ˆ์‚ฐ์˜ FP32/INT8/PTQ/QAT ๋Œ€์กฐ๊ตฐ, ์˜ค๋ฅ˜ ๋ชฉ๋ก์„ ๋ณด์กดํ•œ๋‹ค.

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

๋ฐ˜๋ณตยท๋ณ‘๋ ฌ ์‹คํ–‰๊ณผ ์ž์›

๊ฐ™์€ ์ž…๋ ฅ์„ 100๋ฒˆ ํ˜ธ์ถœํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„ ๊ฐ™์€ ์˜ค๋‹ต๋„ 100๋ฒˆ ๋‚˜์˜จ๋‹ค. ์š”์ฒญ+์นดํƒˆ๋กœ๊ทธ ๋ฒ„์ „+๋ชจ๋ธ ๋ฒ„์ „+๊ถŒํ•œ ๋ฒ”์œ„๋ฅผ ์บ์‹œ ํ‚ค์— ํฌํ•จํ•˜๊ณ  ์ค‘๋ณต ๊ฒ€์ฆ์„ ์ œ๊ฑฐํ•œ๋‹ค. ๋‹จ์ผ ํ˜ธ์ถœ ์ง€์—ฐ๋ฟ ์•„๋‹ˆ๋ผ 1/10/100/1000ํšŒ ๋ฐฐ์น˜ ์ด๋น„์šฉ์„ ์ธก์ •ํ•œ๋‹ค. ํ‚ค์— private ์›๋ฌธ์„ ๊ณต๊ฐœ ๋กœ๊ทธ๋กœ ๋‚จ๊ธฐ์ง€ ์•Š๋Š”๋‹ค.

์ธ์ฝ”๋” ์—†๋Š” ์‹คํ—˜์€ CPU๋กœ ์‹œ์ž‘ํ•œ๋‹ค. ์ž‘์€ ํ—ค๋“œ ๋•Œ๋ฌธ์— GPU ์ธ์ฝ”๋”๋ฅผ ์ค‘๋ณต ์ƒ์ฃผ์‹œํ‚ฌ ์ด์œ ๊ฐ€ ์—†๋‹ค. GPU ๋ณ‘๋ ฌ ํ•™์Šต์€ ์ตœ๋Œ€ 2์ž‘์—…์„ ์˜ˆ๋น„ ์ธก์ •ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์••๋ฐ•ยทswap ์ฆ๊ฐ€ยท์ฒ˜๋ฆฌ๋Ÿ‰ ์•…ํ™”๋ฅผ ํ™•์ธํ•˜๋ฉด 1์ž‘์—…์œผ๋กœ ์ค„์ธ๋‹ค. ํ•™์Šต๊ณผ ์ตœ์ข… ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํฌ๋Š” ๋™์‹œ์— ๋Œ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. GPU๊ฐ€ ๋น„์–ด ๋ณด์ด๋Š” ๊ฒƒ๊ณผ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ/์ฒ˜๋ฆฌ๋Ÿ‰ ์—ฌ์œ ๋Š” ๊ตฌ๋ถ„ํ•œ๋‹ค.

๋ฐฐํฌยท๊ธฐ๋ก

์ฝ”๋“œ/๊ณ„ํš/๊ณต๊ฐœ ํ•ฉ์„ฑ ๊ฒฐ๊ณผ๋Š” GitHub, ์‹ค์ œ ์‹ ๊ทœ ํ•™์Šต ๋ชจ๋ธ์€ CIยท๋ผ์ด์„ ์Šคยทํ•ด์‹œ ๊ฒ€์ฆ ํ›„ ์ƒˆ Hugging Face ๋ฒ„์ „์œผ๋กœ ๋ณด๋‚ธ๋‹ค. ์ด๋ฒˆ A/B๋Š” ํ•™์Šต๋œ ๋ชจ๋ธ์ด ์—†์œผ๋ฏ€๋กœ ๋ชจ๋ธ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. ๊ธฐ์กด QAT ๋ฆด๋ฆฌ์Šค์˜ ์šฉ๋„๋ฅผ ์†Œ๊ธ‰ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ณต๊ฐœ fixture ์™ธ ์‹ค์ œ ์‚ฌ๋‚ด ์ €์žฅ์†Œ/์‚ฌ์šฉ์ž ์š”์ฒญ์„ ๋ฐฐํฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

๊ทผ๊ฑฐ

  • Mitzenmacher, Learned Bloom Filters: ๋ณด์žฅ ๋ฒ”์œ„์™€ ๋ฐฑ์—… ๊ตฌ์กฐ์˜ ํ•„์š”์„ฑ. ์˜๋ฏธ ๊ฒ€์ƒ‰์˜ ๋ณด์žฅ์œผ๋กœ ์ธ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • Algorithms with Predictions: ์˜ˆ์ธก์ด ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ณด์กฐํ•˜๋Š” ์„ค๊ณ„ ๊ด€์ .
  • ๊ธฐ์กด 3์ง„ QAT: 572B๋Š” ํ—ค๋“œ๋งŒ์˜ ํฌ๊ธฐ์ด๋ฉฐ ์ „์ฒด ์ธ์ฝ”๋” ๋น„์šฉ๊ณผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

Measured baseline / ๊ธฐ์ค€์„  ๊ฒฐ๊ณผ ยท Issue #19 ยท PR #20

PDCA 02: BM25 + bounded hints

Encoder-free learning 01: INT8 / ternary