๐Ÿ’ก Microsoft์˜ 1bit BitNet: AI ํ›ˆ๋ จ์˜ ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„

๐Ÿ“Œ ๊ฐœ์š”

2024๋…„ ๋ง Microsoft๊ฐ€ ๋ฐœํ‘œํ•œ BitNet์€ ๊ณ ์„ฑ๋Šฅ LLM(Large Language Model)์„ 1bit ์ •๋ฐ€๋„๋กœ ํ›ˆ๋ จํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค.
๊ธฐ์กด์—๋Š” 16bit(FP16), 8bit(INT8) ๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ ์ตœ์ ํ™”๊ฐ€ ์ฃผ๋ฅผ ์ด๋ฃจ์—ˆ์œผ๋‚˜, BitNet์€ ๊ทน๋‹จ์ ์ธ ์ •๋ฐ€๋„ ์ถ•์†Œ๋ฅผ ํ†ตํ•ด ํ•™์Šต ์ž์ฒด๋ฅผ 1bit๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉฐ๋„ ๊ฒฝ์Ÿ๋ ฅ ์žˆ๋Š” ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•œ๋‹ค๋Š” ์ ์—์„œ ํฐ ์ฃผ๋ชฉ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

๐ŸŽฏ ์š”์•ฝํ•˜์ž๋ฉด:
BitNet = “๋” ์ ์€ ๊ณ„์‚ฐ์œผ๋กœ, ๋” ํฐ ๋ชจ๋ธ์„, ๋” ๋น ๋ฅด๊ฒŒ, ๋” ์‹ธ๊ฒŒ” ํ•™์Šตํ•˜๋Š” ๊ธฐ์ˆ 


๐Ÿ” 1. BitNet์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด: 1bit Weight Training

โœ… ์ „ํ†ต์ ์ธ ํ›ˆ๋ จ ๋ฐฉ์‹

  • ์ผ๋ฐ˜์ ์ธ LLM์€ FP32 ๋˜๋Š” FP16 ์ •๋ฐ€๋„๋กœ ํ•™์Šต๋ฉ๋‹ˆ๋‹ค.
  • ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งค์šฐ ํฌ๊ณ , GPU/TPU ์ž์›์„ ๋ง‰๋Œ€ํ•˜๊ฒŒ ์†Œ๋ชจํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ธํŠœ๋‹์ด๋‚˜ ์ถ”๋ก  ์‹œ 8bit, 4bit๋กœ ์••์ถ•์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ํ•™์Šต ์ž์ฒด๋Š” ๊ณ ์ •๋ฐ€ ์—ฐ์‚ฐ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ… BitNet์˜ ํ˜์‹ 

  • ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ 1bit (๊ฐ’์ด -1 ๋˜๋Š” +1)๋กœ ์ œํ•œํ•˜์—ฌ ํ•™์Šต
  • ๋ชจ๋“  weight๋Š” binary ๊ฐ’๋งŒ ์‚ฌ์šฉ
  • ์ •๋ฐ€๋„ ์†ํ•ด๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด, ์Šค์ผ€์ผ๋ง ๊ณ„์ˆ˜(scale factor) ๋ฅผ ๋”ฐ๋กœ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ„์‚ฐ์€ ๊ฐ„๋‹จํ•œ ๋ถ€ํ˜ธ ์—ฐ์‚ฐ + ์Šค์ผ€์ผ๋ง๋งŒ ํ•„์š” โ†’ ๊ณฑ์…ˆ ์ œ๊ฑฐ

๐Ÿง  2. BitNet ๊ตฌ์กฐ์˜ ๊ธฐ์ˆ ์  ๊ตฌ์„ฑ

BitNet์€ Microsoft Research์—์„œ ์ œ์•ˆํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ์  ํŠน์ง•์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

๊ตฌ์„ฑ ์š”์†Œ์„ค๋ช…
Binary WeightsํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์ด -1 ๋˜๋Š” +1๋งŒ ๊ฐ€์ง
Scale Factor๊ฐ weight matrix์— ๊ณฑํ•ด์ง€๋Š” learnable scalar ๊ฐ’
1bit GEMMGeneral Matrix Multiply ์—ฐ์‚ฐ๋„ sign ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹จ์ˆœํ™”
GELU โ†’ Identity๋น„์„ ํ˜•์„ฑ ์ œ๊ฑฐํ•˜์—ฌ binary์— ์ ํ•ฉํ•œ ๊ตฌ์กฐ๋กœ ๊ฐ„์†Œํ™”

๐Ÿ’ก ์˜ˆ: W = alpha ร— Sign(Wb)
์—ฌ๊ธฐ์„œ Wb๋Š” -1/+1๋กœ ์ œํ•œ๋œ weight matrix์ด๋ฉฐ, alpha๋Š” ํ•™์Šต ๊ฐ€๋Šฅํ•œ ์‹ค์ˆ˜ ์Šค์ผ€์ผ๊ฐ’์ž…๋‹ˆ๋‹ค.


โš™๏ธ 3. ์„ฑ๋Šฅ ๋น„๊ต์™€ ํ‰๊ฐ€

Microsoft๋Š” ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Š BitNet ์„ฑ๋Šฅ (MMLU ๊ธฐ์ค€)

๋ชจ๋ธํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์ •๋ฐ€๋„MMLU ์ •ํ™•๋„GPU ์‚ฌ์šฉ๋Ÿ‰
BitNet-1b-1.3B1.3B1bit64.7%๋งค์šฐ ๋‚ฎ์Œ
GPT-21.5BFP3258.9%์ค‘๊ฐ„
LLaMA 7B7BFP1667%๋งค์šฐ ๋†’์Œ

๐Ÿ‘‰ BitNet์€ 1.3B ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋„ GPT-2๋ฅผ ๋Šฅ๊ฐ€ํ•˜๊ณ , ์—ฐ์‚ฐ๋Ÿ‰์€ ์ˆ˜์‹ญ ๋ฐฐ ์ ์Œ
๐Ÿ‘‰ ์ถ”๋ก  ๋น„์šฉ์€ 8x~16x ๋‚ฎ๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ์‚ฌํ•ญ๋„ ๊ทน๋„๋กœ ์ž‘์Œ


๐Ÿš€ 4. BitNet์˜ ์žฅ์ 

ํ•ญ๋ชฉ๋‚ด์šฉ
โšก ํšจ์œจ์„ฑ์ „๋ ฅ ์†Œ๋น„, ์—ฐ์‚ฐ๋Ÿ‰, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋Œ€ํญ ๊ฐ์†Œ
๐Ÿงฑ ๊ตฌํ˜„ ๋‹จ์ˆœ์„ฑ๊ณฑ์…ˆ ์ œ๊ฑฐ๋œ ์—ฐ์‚ฐ ๊ตฌ์กฐ๋กœ ํ•˜๋“œ์›จ์–ด ๊ตฌํ˜„ ์œ ๋ฆฌ
๐Ÿ“‰ ๋น„์šฉ ์ ˆ๊ฐGPU ์—†์ด๋„ CPU๋‚˜ Edge ์žฅ์น˜์—์„œ๋„ ํ•™์Šต ๊ฐ€๋Šฅ
๐Ÿ”— ํ™•์žฅ์„ฑ์ž‘์€ ๋น„์šฉ์œผ๋กœ ๋” ๋งŽ์€ ํŒŒ๋ผ๋ฏธํ„ฐ ์‹คํ—˜ ๊ฐ€๋Šฅ

๐Ÿ“Œ 5. ๋‹จ์ ๊ณผ ํ•œ๊ณ„

  • ๐Ÿงช ์•„์ง ์ดˆ๊ธฐ ์—ฐ๊ตฌ ๋‹จ๊ณ„: ๋‹ค์–‘ํ•œ ์–ธ์–ด/์ž‘์—…์—์„œ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ ๋ถ€์กฑ
  • ๐Ÿง  ๋ณต์žกํ•œ reasoning์—๋Š” ํ•œ๊ณ„ ๊ฐ€๋Šฅ์„ฑ
  • ๐Ÿ”ง 1bit ์ •๋ฐ€๋„๋Š” ๊ทธ๋ž˜๋””์–ธํŠธ ํญ์ฃผ๋‚˜ ์†Œ์‹ค ๋ฌธ์ œ์— ์ทจ์•ฝ โ†’ ์Šค์ผ€์ผ๋ง ์ „๋žต ํ•„์ˆ˜

๐Ÿ”ฌ 6. ํ™œ์šฉ ๊ฐ€๋Šฅ์„ฑ

ํ™œ์šฉ ์˜์—ญ์˜ˆ์‹œ
๋ชจ๋ฐ”์ผยท์ž„๋ฒ ๋””๋“œ AIEdge ๋””๋ฐ”์ด์Šค์—์„œ์˜ ๋Œ€๊ทœ๋ชจ ๋ชจ๋ธ ์ถ”๋ก 
LLM ๊ฒฝ๋Ÿ‰ํ™” ์—ฐ๊ตฌDistillation, ์–‘์žํ™” ๊ธฐ๋ฐ˜์˜ ๊ต์ฐจ์ ์šฉ
์ดˆ์ €์ „๋ ฅ AI ์นฉ ๊ฐœ๋ฐœCustom ASIC/NPU์— ์ตœ์ ํ™”๋œ ์—ฐ์‚ฐ
AI ๊ต์œก/์—ฐ๊ตฌ์šฉ ๋ชจ๋ธGPU ์—†๋Š” ํ™˜๊ฒฝ์—์„œ ๋ชจ๋ธ ํ•™์Šต ์‹ค์Šต ๊ฐ€๋Šฅ

๐Ÿ“š 7. BitNet๊ณผ ๊ฒฝ์Ÿ ๊ธฐ์ˆ  ๋น„๊ต

๊ธฐ์ˆ ๋ฐฉ์‹์ •๋ฐ€๋„ํŠน์ง•
BitNetBinary + Scale1bitํ›ˆ๋ จ ์ž์ฒด๋ฅผ 1bit๋กœ ์ˆ˜ํ–‰
QLoRA์–‘์žํ™” ํŒŒ์ธํŠœ๋‹4bit๊ธฐ์กด ๋ชจ๋ธ ์œ„์— ํ›ˆ๋ จ
LLaMA.cpp์ถ”๋ก  ์ตœ์ ํ™”4bit๋กœ๋”ฉ/์‹คํ–‰๋งŒ ๊ฒฝ๋Ÿ‰ํ™”
GPTQ์ถ”๋ก ์šฉ ์ •์  ์–‘์žํ™”4bitํ•™์Šต ํ›„ ์–‘์žํ™” ์ „์šฉ

โœ… ๊ฒฐ๋ก : BitNet์€ ‘๊ฐ€๋Šฅํ•œ๊ฐ€’๋ฅผ ‘๊ฐ€๋Šฅํ•˜๋‹ค’๋กœ ๋ฐ”๊พผ ๊ธฐ์ˆ 

BitNet์€ ๊ธฐ์กด AI ๋ชจ๋ธ์˜ โ€œํฌ๊ณ  ๋ฌด๊ฑฐ์šดโ€ ํ•œ๊ณ„๋ฅผ ๋›ฐ์–ด๋„˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.
1bit๋กœ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ๊ณ ์„ฑ๋Šฅ ๋ชจ๋ธ์ด ํ˜„์‹คํ™”๋˜๋ฉฐ, ์•ž์œผ๋กœ๋Š” **โ€œ์ž‘๊ณ  ๊ฐ€๋ฒผ์šด AIโ€**๊ฐ€ ์ƒˆ๋กœ์šด ์ฃผ๋ฅ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€œ๋ชจ๋‘๋ฅผ ์œ„ํ•œ AI, ๋ˆ„๊ตฌ๋‚˜ ํ›ˆ๋ จ ๊ฐ€๋Šฅํ•œ AIโ€
์ด๊ฒƒ์ด BitNet์ด ์—ด์–ด๊ฐ€๋Š” ๋ฐฉํ–ฅ์„ฑ์ž…๋‹ˆ๋‹ค.


๐Ÿ“Ž ์ฐธ๊ณ  ๋…ผ๋ฌธ

Microsoft Research์—์„œ ๊ฐœ๋ฐœํ•œ BitNet b1.58 2B4T๋Š” ์•ฝ 20์–ต ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง„ ์ตœ์ดˆ์˜ ์˜คํ”ˆ์†Œ์Šค 1-bit ์ •๋ฐ€๋„ ๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ(LLM)์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ 4์กฐ ๊ฐœ์˜ ํ† ํฐ์œผ๋กœ ํ›ˆ๋ จ๋˜์—ˆ์œผ๋ฉฐ, Hugging Face๋ฅผ ํ†ตํ•ด ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค .โ€‹ํ—ˆ๊น…ํŽ˜์ด์Šค+12ํ—ˆ๊น…ํŽ˜์ด์Šค+12ํ—ˆ๊น…ํŽ˜์ด์Šค+12ํ—ˆ๊น…ํŽ˜์ด์Šค+1ํ—ˆ๊น…ํŽ˜์ด์Šค+1


๐Ÿ” ๋ชจ๋ธ ๊ฐœ์š”


โš™๏ธ ์•„ํ‚คํ…์ฒ˜ ํŠน์ง•


๐Ÿงช ํ›ˆ๋ จ ๋ฐ ์ •๋ ฌ ๋‹จ๊ณ„

  1. ์‚ฌ์ „ ํ›ˆ๋ จ (Pre-training): ๊ณต๊ฐœ ํ…์ŠคํŠธ ๋ฐ ์ฝ”๋“œ ๋ฐ์ดํ„ฐ์…‹๊ณผ ์ˆ˜ํ•™ ๋ฌธ์ œ ๋ฐ์ดํ„ฐ๋กœ ๋Œ€๊ทœ๋ชจ ํ›ˆ๋ จ
  2. ์ง€๋„ ํ•™์Šต (Supervised Fine-Tuning, SFT): ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ๋ฐ ๋Œ€ํ™”ํ˜• ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ๋ฏธ์„ธ ์กฐ์ •
  3. ์ง์ ‘ ์„ ํ˜ธ ์ตœ์ ํ™” (Direct Preference Optimization, DPO): ์ธ๊ฐ„์˜ ์„ ํ˜ธ๋„๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๋ชจ๋ธ ์ •๋ ฌโ€‹

๐Ÿ“ˆ ์„ฑ๋Šฅ ๋ฐ ํšจ์œจ์„ฑ

BitNet b1.58 2B4T๋Š” ์–ธ์–ด ์ดํ•ด, ์ˆ˜ํ•™์  ์ถ”๋ก , ์ฝ”๋”ฉ ๋Šฅ๋ ฅ, ๋Œ€ํ™” ๋Šฅ๋ ฅ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฒค์น˜๋งˆํฌ์—์„œ ๋™๊ธ‰์˜ ๊ณ ์ •๋ฐ€ ๋ชจ๋ธ๊ณผ ์œ ์‚ฌํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ์—๋„ˆ์ง€ ์†Œ๋น„, ์ถ”๋ก  ์ง€์—ฐ ์‹œ๊ฐ„ ์ธก๋ฉด์—์„œ ์ƒ๋‹นํ•œ ํšจ์œจ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค .โ€‹ํ—ˆ๊น…ํŽ˜์ด์Šค+12ํ—ˆ๊น…ํŽ˜์ด์Šค+12ํ—ˆ๊น…ํŽ˜์ด์Šค+12


๐Ÿš€ ํ™œ์šฉ ๋ฐ ๋ฐฐํฌ


๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ