Inilunsad ng Huawei ang SINQ: Open Source na Quantization para sa Mahusay na Paggamit ng mga LLM

12 min. na pagbasa
Inilunsad ng Huawei ang SINQ: Open Source na Quantization para sa Mahusay na Paggamit ng mga LLM

Bakit mahalaga ang SINQ sa pang-araw-araw na deployment ng mga LLM

Malaki ang kinakailangang memory ng mga large language model. Isa ito sa mga dahilan kung bakit madalas kailangan ng mga premium na GPU para sa data center at mamahaling cloud node para magpatakbo ng mga advanced na modelo. Ipinakilala ng Computing Systems Lab ng Huawei sa Zurich ang SINQ, isang bagong paraan ng quantization na naglalayong baguhin ang sitwasyong ito. Layunin ng paraang tinatawag na Sinkhorn Normalized Quantization na bawasan ang paggamit ng memory nang kaunti lamang ang isinasakripisyo sa kalidad ng output. Inilabas ito bilang open source sa ilalim ng lisensyang Apache 2.0. Inilalarawan ng pangkat ang SINQ bilang mabilis, hindi nangangailangan ng calibration, at madaling isama sa mga kasalukuyang workflow ng modelo.

Mga Nilalaman
  1. Bakit mahalaga ang SINQ sa pang-araw-araw na deployment ng mga LLM
  2. Paano naiiba ang SINQ sa mga naunang paraan ng quantization
  3. Pagtitipid sa memory, bilis at kalidad sa mga pagsubok
  4. Epekto sa gastos ng hardware at cloud
  5. Mga magagamit na ng developer
  6. Paliwanag sa mga teknikal na tampok
  7. Dual axis scaling
  8. Sinkhorn Knopp normalization
  9. Disenyong hindi nangangailangan ng calibration
  10. Mga limitasyon at praktikal na dapat isaalang-alang
  11. Bakit mahalaga ito lampas sa iisang kumpanya
  12. Mahahalagang punto

Binabawasan ng quantization ang dami ng bit na ginagamit para katawanin ang mga weight ng modelo. Ang paglipat mula sa 16-bit o 8-bit na floating-point format tungo sa 4-bit na integer ay maaaring magbawas ng memory nang mahigit kalahati. Mahirap makamit ang ganitong pagtitipid nang hindi naaapektuhan ang katumpakan, lalo na kapag mas mababa sa 8 bit ang ginagamit. Pangunahing ipinangangako ng SINQ na napapanatili nito ang mataas na kalidad sa mababang precision, kahit sa 4 bit at, sa ilang kaso, 3 bit, habang mas mabilis itong gamitin kaysa sa maraming kilalang pamamaraan.

Sa mga modelong at arkitekturang sinubukan ng mga may-akda, binabawasan ng SINQ ang paggamit ng memory nang humigit-kumulang 60 hanggang 70 porsiyento. Dahil sa ganitong laki ng pagbawas, maraming modelo ang nagiging kayang patakbuhin sa iisang pangkaraniwang GPU, gaya ng Nvidia GeForce RTX 4090 na may 24 GB na memory, sa halip na mangailangan ng mga enterprise GPU gaya ng A100 o H100. Para sa mga cloud workload, kayang patakbuhin ng mas murang mga instance ang mahahabang inference job, na maaaring magresulta sa libo-libong dolyar na matitipid sa paglipas ng panahon. Para sa mga laboratoryo, startup, at lokal na mahihilig sa teknolohiya, bumababa ang hadlang sa pagpapatakbo ng mga mahusay na modelo sa isang workstation.

Patalastas

Paano naiiba ang SINQ sa mga naunang paraan ng quantization

Karamihan sa ginagamit na quantization ng mga LLM ay para sa mga weight lamang. Ang mga weight ang mga parameter na natutuhan sa bawat layer, at ang mga ito ang bumubuo sa malaking bahagi ng laki ng modelo. Posible rin ang activation quantization, pero madalas itong nagdaragdag ng komplikasyon at maaaring makaapekto sa runtime. Maraming karaniwang ginagamit na pamamaraan ang naglalaan ng dagdag na oras sa pagkalkula sa isang paunang yugto na tinatawag na calibration, upang maghanap ng mga scale factor na magpapaliit sa error na dulot ng quantization. Gumagamit ang calibration na iyon ng sample ng data at ng mga karagdagang pagdaan sa modelo. Makakatulong ito sa kalidad, pero nangangailangan ito ng oras, maingat na pagpili ng mga prompt, at mas kumplikadong pipeline.

Iba ang paraang ginagamit ng SINQ. Nagpapakilala ito ng dalawang magkaugnay na ideya na naglalayong mapanatiling maayos ang distribusyon ng mga weight bago i-round sa mababang precision. Una, gumagamit ang dual axis scaling ng magkakahiwalay na scaling vector sa mga row at column ng weight matrix. Nagbibigay ito ng mas pinong kontrol kaysa sa iisang scale para sa bawat tensor o channel. Ipinamamahagi nito ang error sa paraang nababawasan ang epekto ng mga outlier at lokal na kawalan ng balanse.

Ikalawa, gumagamit ang SINQ ng pamamaraang hango sa Sinkhorn Knopp normalization. Salit-salitang nagsasagawa ang algorithm ng mga simpleng normalization upang balansehin ang mga estadistika ng row at column. Sa SINQ, nino-normalize ng pamamaraan ang standard deviation ng mga row at column para walang bahaging mangibabaw sa weight matrix. Pinahuhusay ng hakbang na ito sa pagbabalanse ang pagtugon ng mga weight sa quantization at binabawasan ang kabuuang error nang hindi nangangailangan ng magastos na calibration data para sa bawat layer.

Patalastas

Pagtitipid sa memory, bilis at kalidad sa mga pagsubok

Iniulat ng mga may-akda na tuluy-tuloy na nakatitipid ng 60 hanggang 70 porsiyento sa memory ang pamamaraan kumpara sa mga weight na full precision, habang nananatiling malapit sa orihinal na modelo ang katumpakan sa iba’t ibang arkitektura. Sa praktika, maaari nitong pababain sa humigit-kumulang 20 GB ang pangangailangan sa memory ng modelong dati ay nangangailangan ng mahigit 60 GB. Sa mga karaniwang GPU, maaaring matukoy ng pagbabagong ito kung magkakasya ba sa memory ang isang modelo o mapipilitang gumamit ng mabagal na host RAM.

Mahalaga ang bilis ng quantization sa pananaliksik at sa produksyon. Ayon sa mga iniulat na pagsubok, humigit-kumulang dalawang beses na mas mabilis mag-quantize ng mga modelo ang SINQ kaysa sa HQQ, at mahigit 30 beses na mas mabilis kaysa sa AWQ. Para sa mga pangkat na paulit-ulit na sumusubok sa mga modelo, maaaring paikliin ng pagkakaibang ito ang ilang oras na preprocessing tungo sa mas mabilis na hakbang na kasya sa development loop.

Sinusubaybayan ang kalidad gamit ang mga sukatan gaya ng perplexity at flip rate. Sinusukat ng perplexity kung gaano kahusay manghula ng teksto ang isang language model. Binibilang naman ng flip rate kung gaano kadalas nagbabago ang mga nangungunang token pagkatapos ng quantization. Sa iba’t ibang benchmark, mas pinababa ng SINQ ang perplexity kaysa sa iba pang baseline na hindi nangangailangan ng calibration at binawasan din nito ang flip rate, na nagpapahiwatig ng mas matatag na output. Gumagana rin ang pamamaraan sa mga non-uniform na quantization scheme, at maaari itong isabay sa calibration kung nais pang pataasin ng isang proyekto ang katumpakan.

Patalastas

Epekto sa gastos ng hardware at cloud

Nakabatay sa memory ang gastos sa inference. Kung kasya ang isang modelo sa iisang GPU, maiiwasan ang mamahaling setup na naghahati ng modelo sa maraming GPU at ang dagdag na overhead sa network. Dahil sa mga pagbawas ng SINQ, nagiging kayang patakbuhin sa iisang pangkaraniwang card na may malaking memory ang maraming katamtaman hanggang malalaking modelo. Para sa mga operator na dati ay umaasa sa mga node na A100 o H100, maaaring magpababa ng buwanang bayarin at magpalaya ng mga pangunahing GPU para sa training ang kakayahang magpatakbo sa mas abot-kayang GPU.

Maaaring pumili ang mga cloud user ng mas maliliit na GPU instance o magpatakbo ng mas maraming modelo nang sabay-sabay sa bawat node. Para sa mahahabang trabaho, gaya ng mga chat assistant o serbisyong retrieval-augmented generation, maaaring makatipid ng libo-libong dolyar sa loob ng ilang linggo o buwan ang paggamit ng mas murang GPU. Nagiging posible rin para sa mga pangkat na mas gusto panatilihin sa loob ng organisasyon ang kanilang data na magpatakbo ng mas maliliit na lokal na cluster.

May dagdag ding pakinabang sa latency at paggamit ng enerhiya. Makababawas sa oras ng pagtugon at konsumo ng kuryente ang mas kaunting device, mas kaunting tawag sa pagitan ng mga node, at mas kaunting paglilipat ng memory sa pagitan ng host at device. Sa kabuuan, nagiging mas magaan ang serving stack at nababawasan ang mga bahaging kailangan nitong patakbuhin.

Patalastas

Mga magagamit na ng developer

Makukuha ang SINQ bilang open source sa ilalim ng lisensyang Apache 2.0. Kasama sa release ang code ng implementasyon, mga tagubilin sa pag-quantize ng mga modelo mula sa mga sikat na hub, at mga utility para mag-save at mag-load muli ng mga quantized weight. May mga hook para sa pagsusuri ang package upang masukat ng mga pangkat ang perplexity at flip rate bago mag-deploy. Nagbibigay rin ito ng mga parameter para maiangkop ng mga practitioner ang pamamaraan sa iba’t ibang hardware at target na katumpakan.

Ayon sa mga may-akda, plano nilang maglabas ng mga pre-quantized na modelo at isama ang pamamaraan sa ecosystem ng Hugging Face Transformers. Mapapadali nito ang paggamit dahil makakapag-load ang mga developer ng quantized checkpoint gamit ang pamilyar na API. Maaaring magsimula ang mga pangkat na namamahala sa sarili nilang inference stack sa pag-quantize ng mga weight, saka ikonekta ang resulta sa mga kernel na sumusuporta sa 4-bit o 3-bit na format ng storage sa napili nilang runtime.

Paliwanag sa mga teknikal na tampok

Dinisenyo ang SINQ bilang hakbang na madaling isingit sa pipeline ng paghahanda ng modelo. Layunin nitong hubugin ang mga weight matrix upang mapanatili ng representasyong mababa ang precision ang mahahalagang istruktura para sa inference, saka imapa ang mga hinubog na weight sa mga compact na integer format.

Dual axis scaling

Iisang factor sa iisang direksiyon ang ginagamit sa tradisyonal na per-tensor o per-channel scaling. Sa dual axis scaling, inilalapat ang isang vector sa mga row at isa pa sa mga column ng bawat weight matrix. Nakakatulong ang paghihiwalay na ito kapag may mga outlier sa ilang row o mas malaki ang variance sa ilang column. Sa pag-normalize sa parehong direksiyon, mas pantay na naipamamahagi ng pamamaraan ang error sa quantization sa buong matrix. Bunga nito, nababawasan ang malalaking biglang pagtaas ng error at mas napapanatili ang relatibong laki ng mga weight.

Sinkhorn Knopp normalization

Klasikong paulit-ulit na pamamaraan ang Sinkhorn Knopp na salit-salitang nagsasagawa ng mga simpleng normalization upang makamit ang balanseng estado. Sa SINQ, hindi doubly stochastic matrix ang layunin kundi ang pagbabalanse ng mga standard deviation sa mga row at column. Paulit-ulit na nire-rescale ng algorithm ang mga row at column upang itugma ang kanilang standard deviation sa mga target na halaga. Kapag nabalanse na sa ganitong paraan ang matrix, gumagana ang quantization sa distribusyon ng mga weight na mas kaunti ang sukdulang halaga, kaya nababawasan ang error sa pag-round. Mabilis ang prosesong ito, kaunti lamang ang idinadagdag nitong overhead kumpara sa mas mahahabang calibration pass, at hindi ito nangangailangan ng calibration dataset.

Disenyong hindi nangangailangan ng calibration

Nangangailangan ang mga yugto ng calibration ng pagpili ng set ng mga prompt, pagpapatakbo sa modelo upang mangalap ng mga estadistika, at pagkalkula ng mga scale. Nagdaragdag ito ng abala at maaaring magtabingi ng mga resulta kung hindi tumutugma sa aktuwal na paggamit sa produksyon ang calibration set. Nilalaktawan ng SINQ ang hakbang na ito at direktang ginagamit ang mga estadistika ng weight. Para sa maraming pangkat, pinadadali ng pag-aalis ng calibration ang automation at pag-uulit ng proseso. Kung kailangan pa rin ng calibration sa isang proyekto, maaaring isabay ang paghubog ng SINQ sa paghahanap gamit ang calibration upang higit pang mapataas ang katumpakan.

Mga limitasyon at praktikal na dapat isaalang-alang

Karamihan sa mga iniulat na pakinabang ay mula sa quantization ng mga weight lamang. Gumagamit pa rin ng memory habang nagge-generate ang mga activation at ang key-value cache, lalo na sa mahahabang prompt at output. May mga runtime na nag-aalok ng activation quantization at compression ng KV cache, pero may sarili ring kapalit ang mga hakbang na ito. Dapat sukatin ng mga pangkat ang kabuuang memory at latency mula simula hanggang dulo, hindi lamang ang laki ng modelo sa disk.

Mahalaga ang suporta ng runtime. Upang mapabilis ang inference, kailangang mahusay na makabasa ang mga kernel ng naka-pack na 4-bit o 3-bit na weight. Mabilis magbago ang mga sikat na engine gaya ng llama.cpp, TensorRT LLM, vLLM, at iba pa, pero hindi pantay-pantay ang kahustuhan ng bawat kombinasyon ng precision, attention kernel, at arkitektura ng GPU. Bago ilipat sa produksyon ang isang serbisyo, subukan ang throughput, latency, at stability sa eksaktong configuration, kabilang ang batch size at haba ng context.

Maaaring maging hamon sa ilang gawain ang napakababang precision. Maaaring mas sensitibo rito ang pagbuo ng code, paggamit ng tool, at mga structured na output kaysa sa karaniwang chat. Kapaki-pakinabang ang mga sukatan gaya ng perplexity, pero dapat kasama sa mga pagsusuri sa produksyon ang katumpakan sa gawain, estilo ng tugon, at mga pagsusuri sa kaligtasan. Kung itinutulak ng isang gamit sa sukdulan ang mga limitasyon, maaaring mapanatili ng mixed precision o piling mas mataas na precision sa mga sensitibong layer ang kalidad habang napapanatili ang malaking bahagi ng natitipid sa memory.

Bakit mahalaga ito lampas sa iisang kumpanya

Naging pundasyon na ang quantization para sa praktikal na deployment ng mga LLM. Nakakatulong sa buong ecosystem ang isang open source na pamamaraan na mabilis, hindi nangangailangan ng calibration, at mahusay sa mababang precision. Dahil sa mas maliit na paggamit ng memory, mas nagiging abot-kamay ng edukasyon, mga proyektong pangkomunidad, at maliliit na negosyo ang mahuhusay na modelo. Nababawasan din ng pamamaraang ito ang pangangailangan sa kakaunting high-end GPU, kaya napapalaya ang kapasidad para sa training at pananaliksik.

Bumibilis ang kompetisyon sa mga tool para sa inference. Maaaring isabay ang mga pamamaraan gaya ng SINQ sa mga mahusay na attention kernel, naka-paged na KV cache, at mga na-optimize na scheduler upang makapaghatid ng mas maraming token kada segundo sa bawat dolyar. Hindi lamang mas murang serbisyo ang nagiging resulta. Lumalawak din ang mga mapagpipilian ng mga pangkat na nagpapahalaga sa privacy, paggamit ng mga lokal na mapagkukunan, at pagkontrol sa sarili nilang stack.

Mahahalagang punto

  • Ang SINQ ng Huawei ay isang open source na paraan ng quantization para sa mga weight ng LLM, na inilabas sa ilalim ng Apache 2.0
  • Iniulat ng SINQ ang 60 hanggang 70 porsiyentong pagbawas sa memory habang napapanatili ang mataas na kalidad sa 4 bit at, sa ilang kaso, 3 bit
  • Hindi nangangailangan ng calibration ang pamamaraan at layunin nitong madaling isama sa mga kasalukuyang workflow
  • Gumagamit ang SINQ ng dual axis scaling at normalization na gaya ng Sinkhorn Knopp upang balansehin ang mga weight matrix
  • Ayon sa mga iniulat na pagsubok, humigit-kumulang 2 beses na mas mabilis ang quantization kaysa sa HQQ at mahigit 30 beses na mas mabilis kaysa sa AWQ
  • Mas mahusay ang mga sukatan ng kalidad kaysa sa mga baseline na hindi nangangailangan ng calibration, na may mas mababang perplexity at flip rate
  • Maaaring patakbuhin sa humigit-kumulang 20 GB ang mga modelong dati ay nangangailangan ng mahigit 60 GB, kaya nagiging posible ang deployment sa iisang GPU na pangkaraniwang hardware gaya ng RTX 4090
  • Kabilang sa mga nakaplanong update ang integrasyon sa Hugging Face Transformers at paglalabas ng mga pre-quantized na modelo
Ibahagi ang artikulong ito

Baka magustuhan mo rin