ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Overview of natively supported quantization schemes in ๐Ÿค— Transformers
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face Transformers๊ฐ€ bitsandbytes์™€ auto-gptq ๋‘ ๊ฐ€์ง€ ์–‘์žํ™” ๋ฐฉ์‹์„ ๋น„๊ต ๋ถ„์„ํ•˜์—ฌ ์ถ”๋ก  ์†๋„์™€ ํŒŒ์ธํŠœ๋‹ ์„ฑ๋Šฅ์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๋ช…ํ™•ํžˆ ์ œ์‹œ

Overview of natively supported quantization schemes in ๐Ÿค— Transformers

2023๋…„ 9์›” 12์ผ9๋ถ„intermediate

Context

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

Technical Solution

  • bitsandbytes 4๋น„ํŠธ ์–‘์žํ™”: ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ์…‹ ๋ถˆํ•„์š”ํ•œ ์ œ๋กœ์ƒท ์–‘์žํ™”๋กœ ๋ชจ๋“  torch.nn.Linear ๋ชจ๋“ˆ์„ ํฌํ•จํ•œ ๋ชจ๋ธ์— ์ฆ‰์‹œ ์ ์šฉ ๊ฐ€๋Šฅ
  • auto-gptq 4๋น„ํŠธ ์–‘์žํ™”: exllama ์ปค๋„์„ ์‚ฌ์šฉํ•œ ๊ณ ์† ์ถ”๋ก ์œผ๋กœ ํ…์ŠคํŠธ ์ƒ์„ฑ ์ž‘์—…์—์„œ bitsandbytes๋ณด๋‹ค ์šฐ์ˆ˜ํ•œ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ œ๊ณต
  • bitsandbytes ์–ด๋Œ‘ํ„ฐ ๋ณ‘ํ•ฉ: ์–‘์žํ™”๋œ ๊ธฐ๋ณธ ๋ชจ๋ธ ์œ„์—์„œ ํ•™์Šตํ•œ ์–ด๋Œ‘ํ„ฐ๋ฅผ ์ถ”๋ก  ์„ฑ๋Šฅ ์ €ํ•˜ ์—†์ด ๋ณ‘ํ•ฉ ๊ฐ€๋Šฅ
  • auto-gptq ๋ชจ๋ธ ์ง๋ ฌํ™”: 4๋น„ํŠธ ์–‘์žํ™”๋œ ๋ชจ๋ธ์„ TheBloke ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์ง๋ ฌํ™”๋œ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ ํ›„ ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ: bitsandbytes๋กœ ์ œ๋กœ์ƒท ์–‘์žํ™” โ†’ ์–ด๋Œ‘ํ„ฐ ํŒŒ์ธํŠœ๋‹ โ†’ auto-gptq๋กœ ์žฌ์–‘์žํ™” ํ›„ ๋ฐฐํฌํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ

Impact

  • Llama-2-7B ๋ชจ๋ธ: bitsandbytes 4๋น„ํŠธ ํ‰๊ฐ€ ์‹œ ์›๋ณธ 54.32์—์„œ 53.4๋กœ 0.92 ํฌ์ธํŠธ ์„ฑ๋Šฅ ์ €ํ•˜, auto-gptq ์‚ฌ์šฉ ์‹œ 53.23์œผ๋กœ 1.09 ํฌ์ธํŠธ ์„ฑ๋Šฅ ์ €ํ•˜
  • Llama-2-13B ๋ชจ๋ธ: bitsandbytes 4๋น„ํŠธ ํ‰๊ฐ€ ์‹œ ์›๋ณธ 58.66์—์„œ 56.9์œผ๋กœ 1.76 ํฌ์ธํŠธ ์„ฑ๋Šฅ ์ €ํ•˜, auto-gptq ์‚ฌ์šฉ ์‹œ 57.56~58.03์œผ๋กœ 0.63~1.1 ํฌ์ธํŠธ ์„ฑ๋Šฅ ์ €ํ•˜
  • ํŒŒ์ธํŠœ๋‹ ์„ฑ๋Šฅ: bitsandbytes๊ฐ€ auto-gptq๋ณด๋‹ค ์–ด๋Œ‘ํ„ฐ ํŒŒ์ธํŠœ๋‹์—์„œ ๋” ๋น ๋ฅธ ํ•™์Šต ์†๋„ ์ œ๊ณต

Key Takeaway

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


๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์„ ์ œํ•œ๋œ ๋ฉ”๋ชจ๋ฆฌ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด๋Š”, ํŒŒ์ธํŠœ๋‹์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ bitsandbytes 4๋น„ํŠธ ์–‘์žํ™”๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์ตœ์ข… ๋ฐฐํฌ ์‹œ auto-gptq๋กœ ์žฌ์–‘์žํ™”ํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹์„ ์ ์šฉํ•˜๋ฉด ํŒŒ์ธํŠœ๋‹ ์†๋„ ์ด์ ๊ณผ ์ถ”๋ก  ์„ฑ๋Šฅ์„ ๋™์‹œ์— ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ œ๋กœ์ƒท ์–‘์žํ™”๊ฐ€ ํ•„์š”ํ•˜๊ฑฐ๋‚˜ Whisper, ViT ๊ฐ™์€ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ชจ๋ธ์„ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด bitsandbytes๋ฅผ ์ง์ ‘ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค.

์›๋ฌธ ์ฝ๊ธฐ