A A
[DL] Quantization(์–‘์žํ™”), LoRA & QLoRA
์ด๋ฒˆ์—๋Š” Quantization(์–‘์žํ™”), LoRA & QLoRA์— ๋ฐํ•˜์—ฌ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Quantization(์–‘์žํ™”)?

 

Quantization(์–‘์žํ™”)๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ๋กœ, ๊ณ ์ • ์†Œ์ˆ˜์ (fixed-point) ์ˆซ์ž ํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜์™€ ํ™œ์„ฑํ™” ๊ฐ’์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์˜ ์ •ํ™•์„ฑ์„ ์ตœ๋Œ€ํ•œ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.


Quantization(์–‘์žํ™”)์˜ ํ•„์š”์„ฑ

๋”ฅ๋Ÿฌ๋‹์—์„œ Quantization(์–‘์žํ™”)๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ์— ๋ฐํ•˜์—ฌ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ์ ˆ๊ฐ: ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ ˆ๊ฐํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฐ์‚ฐ ์†๋„ ํ–ฅ์ƒ: ๊ณ ์ • ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์€ ๋ถ€๋™ ์†Œ์ˆ˜์  ์—ฐ์‚ฐ๋ณด๋‹ค ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๋ก  ์†๋„๊ฐ€ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.
  • ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ: ๋‚ฎ์€ ๋น„ํŠธ ํญ(bit-width)์œผ๋กœ ์—ฐ์‚ฐํ•˜๋ฉด ์—๋„ˆ์ง€ ์†Œ๋น„๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.
  • ๋ฐฐํฌ ์šฉ์ด์„ฑ: ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ ธ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋‚˜ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ๋“ฑ ์ž์›์ด ์ œํ•œ๋œ ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•˜๊ธฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.

Quantization(์–‘์žํ™”)์˜ ์ข…๋ฅ˜

Quantization(์–‘์žํ™”)์˜ ์ข…๋ฅ˜๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ๋ฒˆ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ์ •์  ์–‘์žํ™” (Static Quantization)
  • ๋™์  ์–‘์žํ™” (Dynamic Quantization)
  • ํ›ˆ๋ จ ์ค‘ ์–‘์žํ™” (Quantization-aware Training, QAT)

https://www.tensorflow.org/lite/performance/model_optimization?hl=ko

์ •์  ์–‘์žํ™” (Static Quantization)

์ •์  ์–‘์žํ™”๋Š” ๋ชจ๋ธ ํ›ˆ๋ จ์ด ์™„๋ฃŒ๋œ ํ›„์— ๊ฐ€์ค‘์น˜์™€ ํ™œ์„ฑํ™” ๊ฐ’์„ ๋‚ฎ์€ ์ •๋ฐ€๋„์˜ ํ˜•์‹(์˜ˆ: 8๋น„ํŠธ ์ •์ˆ˜)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

https://gaussian37.github.io/dl-concept-quantization/

  • ๊ฐ€์ค‘์น˜ ์–‘์žํ™”: ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ€์ค‘์น˜๋ฅผ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™œ์„ฑํ™” ๊ฐ’ ์–‘์žํ™”: ์ถ”๋ก  ์‹œ ํ™œ์„ฑํ™” ๊ฐ’์„ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์นผ๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ ํ•„์š”: ํ™œ์„ฑํ™” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ์นผ๋ฆฌ๋ธŒ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

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

 

๋™์  ์–‘์žํ™” (Dynamic Quantization)

๋™์  ์–‘์žํ™”๋Š” ์ถ”๋ก  ์‹œ์ ์—์„œ ๋ชจ๋ธ์˜ ์ผ๋ถ€ ๋˜๋Š” ์ „์ฒด ๊ฐ€์ค‘์น˜์™€ ํ™œ์„ฑํ™” ๊ฐ’์„ ๋‚ฎ์€ ์ •๋ฐ€๋„์˜ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

https://gaussian37.github.io/dl-concept-quantization/

  • ์‹ค์‹œ๊ฐ„ ์–‘์žํ™”: ๋Ÿฐํƒ€์ž„ ๋™์•ˆ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์–‘์žํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ€๋ถ„ ์–‘์žํ™”: ์ฃผ๋กœ ๊ฐ€์ค‘์น˜๋Š” ๋ถ€๋™ ์†Œ์ˆ˜์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ , ํ™œ์„ฑํ™” ๊ฐ’๋งŒ ์–‘์žํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ ์šฉ ์šฉ์ด์„ฑ: ์ฝ”๋“œ ์ˆ˜์ • ์—†์ด ๊ธฐ์กด ๋ชจ๋ธ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

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

 

ํ›ˆ๋ จ ์ค‘ ์–‘์žํ™” (Quantization-aware Training, QAT)

ํ›ˆ๋ จ ์ค‘ ์–‘์žํ™”(QAT)๋Š” ๋ชจ๋ธ ํ›ˆ๋ จ ๊ณผ์ •์—์„œ ์–‘์žํ™”๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

https://gaussian37.github.io/dl-concept-quantization/

  • ์–‘์žํ™” ์‹œ๋ฎฌ๋ ˆ์ด์…˜: ํ›ˆ๋ จ ์‹œ ๊ฐ€์ค‘์น˜์™€ ํ™œ์„ฑํ™” ๊ฐ’์„ ์–‘์žํ™”๋œ ์ƒํƒœ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์†์‹ค ์ตœ์†Œํ™”: ์–‘์žํ™”๋กœ ์ธํ•œ ์ •ํ™•๋„ ์†์‹ค์„ ํ›ˆ๋ จ ๋‹จ๊ณ„์—์„œ ๋ณด์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ๋†’์€ ์ •ํ™•๋„ ์œ ์ง€: ์–‘์žํ™” ํ›„์—๋„ ์›๋ž˜ ๋ชจ๋ธ์— ๊ฐ€๊นŒ์šด ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

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

Quantization(์–‘์žํ™”)์˜ ๊ธฐ์ˆ ์  ์„ธ๋ถ€ ์‚ฌํ•ญ

์–‘์žํ™” ๊ณผ์ •

์Šค์ผ€์ผ๋ง ์ธ์ž ๊ณ„์‚ฐ

  • ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ •์ˆ˜ ๊ฐ’์˜ ๋ฒ”์œ„๋กœ ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•œ ์Šค์ผ€์ผ๋ง ์ธ์ž๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์Šค์ผ€์ผ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

 

์ œ๋กœ ํฌ์ธํŠธ(Zero Point) ๊ฒฐ์ •

  • ์ •์ˆ˜ ํ‘œํ˜„์—์„œ 0์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜ ํ‘œํ˜„์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์–‘์žํ™” ๋ฐ ์—ญ์–‘์žํ™”

  • ์–‘์žํ™”: ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์„ ์ •์ˆ˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค

  • ์—ญ์–‘์žํ™”: ์ •์ˆ˜ ๊ฐ’์„ ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์œผ๋กœ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

๋น„ํŠธ ํญ(Bit-width)

  • 8๋น„ํŠธ ์–‘์žํ™”: ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์„ฑ๋Šฅ๊ณผ ํšจ์œจ์„ฑ์˜ ๊ท ํ˜•์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ์ €๋น„ํŠธ ์–‘์žํ™”: 4๋น„ํŠธ, 2๋น„ํŠธ ๋“ฑ ๋” ๋‚ฎ์€ ๋น„ํŠธ ํญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ๋Ÿ‰์„ ๋”์šฑ ์ค„์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ •ํ™•๋„ ์†์‹ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Quantization(์–‘์žํ™”) ์ ์šฉ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

์šฐ๋ฆฌ๊ฐ€ Deep Learning ๋ชจ๋ธ์— Quantization(์–‘์žํ™”)๋ฅผ ์ ์šฉํ• ๋•Œ, ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ๊ตฌ์กฐ

  • ์ผ๋ถ€ ๋ ˆ์ด์–ด๋‚˜ ์—ฐ์‚ฐ์€ ์–‘์žํ™”์— ๋ฏผ๊ฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์„ ํƒ์ ์œผ๋กœ ์–‘์žํ™”๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒซ ๋ฒˆ์งธ ๋ฐ ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด๋Š” ์–‘์žํ™”๋ฅผ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ถ„ํฌ

  • ํ™œ์„ฑํ™” ๊ฐ’์˜ ๋ถ„ํฌ๊ฐ€ ๋น„๋Œ€์นญ์ ์ด๊ฑฐ๋‚˜ ์ด์ƒ์น˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ, ์–‘์žํ™”๋กœ ์ธํ•œ ์†์‹ค์ด ์ปค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํด๋ฆฌํ•‘(clipping) ๋˜๋Š” ๋น„๋Œ€์นญ ์–‘์žํ™”๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์ง€์›

  • ์–‘์žํ™”๋œ ๋ชจ๋ธ์„ ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ํ•˜๋“œ์›จ์–ด๊ฐ€ ๊ณ ์ • ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ, ARM์˜ NEON ๋˜๋Š” NVIDIA์˜ TensorRT ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

LoRA & QLoRA

์ด๋ฒˆ์—๋Š” LoRA & QLoRA์— ๋ฐํ•˜์—ฌ ํ•œ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

LoRA?

LoRA๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ๋ฏธ์„ธ ์กฐ์ •(fine-tuning)์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•์œผ๋กœ, ์ €์ฐจ์›(low-rank) ํ–‰๋ ฌ ๋ถ„ํ•ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ชจ๋ธ์˜ ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋Œ€์‹ , LoRA๋Š” ์ €์ฐจ์› ํ–‰๋ ฌ๋งŒ์„ ํ•™์Šตํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.

 

LoRA์˜ ์›๋ฆฌ

ํŒŒ๋ผ๋ฏธํ„ฐ ํ–‰๋ ฌ ๋ถ„ํ•ด

  • ์›๋ž˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํ–‰๋ ฌ W๋ฅผ ๋‘ ๊ฐœ์˜ ์ €์ฐจ์› ํ–‰๋ ฌ A์™€ B์˜ ๊ณฑ์œผ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.
  • ์ฆ‰, W = W0 + ฮ”W = W0 ์ด๋ฉฐ, ์—ฌ๊ธฐ์„œ ฮ”W = AB์ž…๋‹ˆ๋‹ค.
  • W0๋Š” ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๊ธฐ๋ณธ ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋ฉฐ, ๋ฏธ์„ธ ์กฐ์ • ์‹œ์—๋Š” ฮ”W๋งŒ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์ €์ฐจ์› ํ–‰๋ ฌ ์—…๋ฐ์ดํŠธ

  • ํ•™์Šต ์ค‘์—๋Š” ์ €์ฐจ์› ํ–‰๋ ฌ A์™€ B๋งŒ ํ•™์Šตํ•˜๊ณ , ๊ธฐ์กด ํŒŒ๋ผ๋ฏธํ„ฐ W0๋Š” ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์ €์ฐจ์› ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šตํ•ด์•ผ ํ•  ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ ํฌ๊ฒŒ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.

ํšจ์œจ์ ์ธ ๋ฏธ์„ธ ์กฐ์ •

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

 

LoRA์˜ ์žฅ์ 

๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ ์ฆ๊ฐ€

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

ํ•™์Šต ์†๋„ ํ–ฅ์ƒ

  • ํ•™์Šตํ•ด์•ผ ํ•  ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์–ด ์—ฐ์‚ฐ๋Ÿ‰์ด ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.
  • ์ด์— ๋”ฐ๋ผ ํ•™์Šต ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค.

์ž์› ์ œํ•œ ํ™˜๊ฒฝ์—์„œ ํšจ๊ณผ์ 

  • ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ ์ž์›์ด ์ œํ•œ๋œ ํ™˜๊ฒฝ์—์„œ๋„ ๋Œ€๊ทœ๋ชจ ๋ชจ๋ธ์˜ ๋ฏธ์„ธ ์กฐ์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋‚˜ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ๋“ฑ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ์„ฑ๋Šฅ ์œ ์ง€

  • ๋ชจ๋ธ์˜ ํ‘œํ˜„๋ ฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ํšจ์œจ์ ์ธ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฏธ์„ธ ์กฐ์ • ํ›„์—๋„ ์›๋ž˜ ๋ชจ๋ธ์— ๊ฐ€๊นŒ์šด ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

 

LoRA์˜ ๋‹จ์  ๋ฐ ๊ณ ๋ ค์‚ฌํ•ญ

๋ชจ๋ธ ๊ตฌ์กฐ์˜ ๋ณต์žก์„ฑ ์ฆ๊ฐ€

  • ์ €์ฐจ์› ํ–‰๋ ฌ์„ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌํ˜„ ๋ฐ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋žญํฌ ์„ ํƒ์˜ ์ค‘์š”์„ฑ

  • ์ €์ฐจ์› ํ–‰๋ ฌ์˜ ๋žญํฌ r์„ ์ ์ ˆํ•˜๊ฒŒ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋žญํฌ๊ฐ€ ๋„ˆ๋ฌด ๋‚ฎ์œผ๋ฉด ๋ชจ๋ธ์˜ ํ‘œํ˜„๋ ฅ์ด ๋ถ€์กฑํ•ด์ง€๊ณ , ๋„ˆ๋ฌด ๋†’์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ ˆ๊ฐ ํšจ๊ณผ๊ฐ€ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ์ž‘์—…์— ๋Œ€ํ•œ ํ•œ๊ณ„

  • ๋ณต์žกํ•œ ํŒจํ„ด์ด๋‚˜ ๋น„์„ ํ˜•์ ์ธ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์—์„œ๋Š” ์ €์ฐจ์› ๊ทผ์‚ฌ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋กœ ์ธํ•ด ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ

  • ์ €์ฐจ์› ํ–‰๋ ฌ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ์ „์ฒด ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋น„ํ•ด ๋งค์šฐ ์ž‘์Šต๋‹ˆ๋‹ค.

QLoRA?

QLoRA๋Š” LoRA(Low-Rank Adaptation)์˜ ๊ฐœ๋…์„ ํ™•์žฅํ•˜์—ฌ ์–‘์žํ™”๋œ ๋ชจ๋ธ์— ์ €์ฐจ์› ์ ์‘์„ ์ ์šฉํ•œ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

์–‘์žํ™”(Quantization)๋Š” ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‚ฎ์€ ๋น„ํŠธ ์ •๋ฐ€๋„(์˜ˆ: 8๋น„ํŠธ ์ •์ˆ˜)๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

 

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

 

QLoRA์˜ ์›๋ฆฌ

๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์–‘์žํ™”

  • ์–‘์žํ™”๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‚ฎ์€ ๋น„ํŠธ ์ •๋ฐ€๋„๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ 32๋น„ํŠธ ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์„ 8๋น„ํŠธ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ํฌ๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค.
  • ์–‘์žํ™”๋Š” ์—ฐ์‚ฐ์„ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ๊ณ„์‚ฐ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

์ €์ฐจ์› ํ–‰๋ ฌ ๋ถ„ํ•ด

  • ์–‘์žํ™”๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ €์ฐจ์› ํ–‰๋ ฌ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์ฐจ์› ํŒŒ๋ผ๋ฏธํ„ฐ ํ–‰๋ ฌ์„ ๋‘ ๊ฐœ์˜ ์ž‘์€ ์ €์ฐจ์› ํ–‰๋ ฌ์˜ ๊ณฑ์œผ๋กœ ๊ทผ์‚ฌํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ €์ฐจ์› ๊ทผ์‚ฌ๋Š” ์›๋ž˜ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ค‘์š”ํ•œ ํŠน์ง•์„ ํฌ์ฐฉํ•˜๋ฉด์„œ๋„ ์ž์› ์‚ฌ์šฉ์„ ์ค„์ž…๋‹ˆ๋‹ค.

LoRA ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต ์ง„ํ–‰

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

์–‘์žํ™”์™€ ์ €์ฐจ์› ์ ์‘์˜ ๊ฒฐํ•ฉ

  • ์–‘์žํ™”๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ค„์ด๊ณ , ์ €์ฐจ์› ์ ์‘์œผ๋กœ ํšจ์œจ์ ์ธ ๋ฏธ์„ธ ์กฐ์ •์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ฒ•์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ชจ๋ธ์˜ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.

 

QLoRA์˜ ์žฅ์ 

๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ

  • ์–‘์žํ™”์™€ ์ €์ฐจ์› ๋ถ„ํ•ด๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ฎ์€ ๋น„ํŠธ ์ •๋ฐ€๋„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์ž‘์€ ํฌ๊ธฐ์˜ ์ €์ฐจ์› ํ–‰๋ ฌ๋งŒ ์ €์žฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋น ๋ฅธ ํ•™์Šต ์†๋„

  • ํ•™์Šตํ•ด์•ผ ํ•  ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ ํฌ๊ฒŒ ๊ฐ์†Œํ•˜์—ฌ ์—ฐ์‚ฐ๋Ÿ‰์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.
  • ๊ณ„์‚ฐ์ด ๊ฐ„์†Œํ™”๋˜์–ด ํ•™์Šต ๋ฐ ์ถ”๋ก  ์†๋„๊ฐ€ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ์œ ์ง€

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

์ž์› ํšจ์œจ์„ฑ

  • ์ œํ•œ๋œ ์ปดํ“จํŒ… ์ž์› ํ™˜๊ฒฝ์—์„œ๋„ ๋Œ€๊ทœ๋ชจ ๋ชจ๋ธ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ฏธ์„ธ ์กฐ์ •ํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

QLoRA์˜ ๋‹จ์ 

QLoRA๋Š” ์–‘์žํ™”์™€ LoRA์˜ ๋‹จ์ ์„ ๋ชจ๋‘ ํฌํ•จํ•˜๋ฉฐ, ์ถ”๊ฐ€์ ์ธ ์–ด๋ ค์›€๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

์–‘์žํ™” ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ

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

๊ตฌํ˜„ ๋ณต์žก์„ฑ ์ฆ๊ฐ€

  • ์–‘์žํ™”์™€ ์ €์ฐจ์› ๋ถ„ํ•ด๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ตฌํ˜„ ๋ณต์žก๋„๊ฐ€ ๋†’์•„์ง‘๋‹ˆ๋‹ค.
  • ๊ฐœ๋ฐœ ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์˜์กด์„ฑ

  • ์–‘์žํ™”๋œ ๋ชจ๋ธ์˜ ํšจ์œจ์ ์ธ ์‹คํ–‰์„ ์œ„ํ•ด ํŠน์ • ํ•˜๋“œ์›จ์–ด(์˜ˆ: 8๋น„ํŠธ ์—ฐ์‚ฐ์„ ์ง€์›ํ•˜๋Š” GPU๋‚˜ TPU)๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Š” ๋ชจ๋ธ์˜ ์ด์‹์„ฑ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๊ณ„์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ

  • ์–‘์žํ™”์™€ ์ €์ฐจ์› ๋ถ„ํ•ด ๊ณผ์ •์—์„œ ์ถ”๊ฐ€์ ์ธ ๊ณ„์‚ฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋Š” ์ผ๋ถ€ ๊ฒฝ์šฐ์— ์ „์ฒด ํšจ์œจ์„ฑ ์ด๋“์„ ์ƒ์‡„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ์•ˆ์ •์„ฑ ๋ฌธ์ œ

  • ์–‘์žํ™”๋กœ ์ธํ•ด ์ตœ์ ํ™” ๊ณผ์ •์ด ๋ถˆ์•ˆ์ •ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•™์Šต์ด ์ˆ˜๋ ดํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์„ฑ๋Šฅ์ด ๋“ค์ญ‰๋‚ ์ญ‰ํ•  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹์˜ ๋ณต์žก์„ฑ

  • ์ ์ ˆํ•œ ํ–‰๋ ฌ์˜ ๋žญํฌ(rank)์™€ ์–‘์žํ™” ์ˆ˜์ค€์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์‹คํ—˜์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.