Ang mga mananaliksik mula sa Rice University at Startup xmad.ai ay may detalyadong dinamikong haba na float (dfloat11), isang pamamaraan na nakamit ang humigit-kumulang na 30% na pagkawala ng compression para sa malalaking timbang ng wika ng wika na nakaimbak sa karaniwang bfloat16 (bf16) Format . Ang pamamaraang ito ay makabuluhang nagpapababa sa hadlang ng hardware para sa pagpapatakbo ng pinakamalaking mga modelo; Ipinakita ng koponan ang pagpapatakbo ng 810GB LLAMA-3.1-405B na modelo nang walang pagkawala sa isang solong server na may walong 80GB nvidia gpus, isang pagsasaayos dati ay hindi sapat na . Nagtatanghal ng memorya ng memorya ng memorya ang kahusayan ng LLM sa pamamagitan ng 75% Ang pagiging epektibo sa istatistika sa format na numero ng BF16, na gumagamit ng 1 sign bit, 8 exponent bits, at 7 mantissa bits. Habang ang 8 bits (256 posibleng mga halaga) ay inilalaan para sa exponent, kinumpirma ng pagsusuri ng mga mananaliksik na ang aktwal na nilalaman ng impormasyon (Shannon entropy) sa iba’t ibang mga LLM tulad ng LLAMA 3, QWEN 2.5, at Gemma 3 na average lamang tungkol sa 2.6 bits. Inilapat ng DFLOAT11 ang Huffman coding-isang klasikong pagkawala ng data compression algorithm-partikular sa mga halaga ng exponent. Ang mas madalas na mga exponents ay nakakakuha ng mas maiikling mga code, ang mga rarer ay nakakakuha ng mas mahabang mga code. Ang orihinal na pag-sign at mantissa bits ay napanatili nang walang compression. Ang pamamaraang ito ay epektibong pinuputol ang average na imbakan bawat parameter mula sa 16 bits hanggang sa paligid ng 11 bits, na nagbubunga ng orihinal na pagbawas ng laki GPU. Dahil ang mga karaniwang yunit ng matematika ng GPU, tulad ng mga cores ng tensor, ay na-optimize para sa mga nakapirming laki ng mga input (tulad ng BF16 o INT8), ang variable-haba na mga timbang ng DFLOAT11 ay dapat na ma-decompress pabalik sa BF16 kaagad bago ang pagkalkula. Ang tradisyunal na pag-decode ng huffman ay likas na sunud-sunod at mabagal sa kahanay na hardware. Ang kernel na ito ay gumagamit ng maraming mga diskarte: gumagamit ito ng compact, multi-level lookup table (na sumasaklaw sa 1kb) na idinisenyo upang magkasya sa loob ng mabilis na on-chip GPU SRAM; Gumagamit ito ng isang mekanismo ng two-phase na may kaunting data ng pantulong upang payagan ang mga kahanay na mga thread na tama na kalkulahin ang kanilang mga posisyon sa pagsisimula sa naka-compress na data at magsulat ng mga posisyon sa output buffer; At pinoproseso nito ang mga timbang para sa isang buong block ng transpormer na magkasama upang ma-maximize ang throughput. Ang code, na isinama sa Hugging Face Transformers Library, ay open-source . Kung ihahambing sa pagpapatakbo ng isang hindi naka-compress na modelo ng BF16 sa hardware na may sapat na memorya, ang dfloat11 ay nagdaragdag ng latency. target=”_ blangko”> nagbigay ng paglilinaw Sa reddit, na napansin na para sa laki ng batch 1 na pagkilala sa isang A100, ang DFLAT11 ay naobserbahan na humigit-kumulang 40% na mas mabagal kaysa sa katutubong BF16. Ngunit dahil ang decompression latency ay medyo pare-pareho, nagiging hindi gaanong nakakaapekto sa mas malaking sukat ng batch, na may malapit na parity (1.02x pagkakaiba) na sinusunod sa laki ng batch 128. CPU System Memory-isang senaryo na kinakailangan ng hindi sapat na VRAM. Ibinubuod ni Zhang:”Kung ang mga hadlang sa hardware (umaangkop sa mas malaking mga modelo, mas mahahabang pagkakasunud-sunod, o mas malaking batch) ay hindi ang pangunahing pag-aalala, walang gaanong pagganyak na gumamit ng DF11.”Ang mga kadahilanan tulad ng potensyal na epekto sa pagkonsumo ng kuryente o katatagan ng system sa panahon ng matagal na mga decompression workload ay mangangailangan din ng pagsusuri sa mga real-world deployment. Ipinapakita ng papel na ito na nagpapagana ng LLAMA-3.3-70B sa isang solong 141GB H200 GPU at QWEN2.5-32B sa isang 48GB A6000, na parehong hindi maaaring mangyari sa karaniwang BF16. Ito ay potensyal na ginagawang mga modelo ng state-of-the-art na magagamit para sa mga organisasyon na may mas maliit na mga badyet ng GPU. Sa pamamagitan ng pagpapahintulot sa mas maraming puwang para sa cache na ito, pinahihintulutan ng DFLOAT11 ang mga modelo na iproseso ang 5.3x hanggang 13.17x mas matagal na mga pagkakasunud-sunod kumpara sa BF16 sa parehong hardware bago maubos ang memorya. Upang mapadali ang pag-aampon, ang koponan ay gumawa ng pre-compress na dfloat11 na magagamit sa yakap na mukha . Ang mga pamamaraan ng compression ng lossy tulad ng 4-bit o 8-bit na dami. Habang ang mga benchmark ay madalas na nagpapahiwatig ng kaunting epekto mula sa mga format tulad ng INT8 o FP8, ang papel ng DFLOAT11 ay nagtalo na ito ay maaaring hindi ganap na makuha ang banayad na kalidad ng mga pagkasira, lalo na para sa kumplikadong pangangatuwiran. Binabanggit nila ang mga halimbawa ng mga patak ng pagganap na sinusunod sa mga tiyak na pagsusuri para sa dami ng mga modelo. na ang ilang mga end-user ay mas gusto na maiwasan, dahil lumilikha ito ng mga hindi makontrol na mga variable na dapat na empirically stress na nasubok para sa bawat senaryo ng pag-deploy.”Para sa mga application tulad ng sensitibong pagproseso ng dokumento kung saan ang pagiging maaasahan ay susi, ang garantiya ng bit-for-bit na magkaparehong output na inaalok ng isang pagkawala ng diskarte ay maaaring maging mahalaga. zipnn , halimbawa, ay gumagamit ng decompression na nakabase sa CPU higit sa lahat upang mapabilis ang pag-load at bawasan ang pag-iimbak ng bakas ng paa. Bago ang GPU-Accelerated Lossless na mga pagtatangka, tulad ng neuzip gamit ang ans coding sa pamamagitan ng nvidia’s nvcomp, ay naiulat na may makabuluhang pag-iintindi sa huffman. Karamihan sa mas mataas na decompression throughput kumpara sa pagpapatupad ng nvcomp’s ans Sa mga benchmark ng papel. Tinutuya din nito ang isang iba’t ibang anggulo ng kahusayan kaysa sa mga pamamaraan tulad ng Sakana AI’s NAMM, na nag-optimize sa KV cache para sa mahabang konteksto kaysa sa pag-compress ng mga static na timbang. Nag-aalok ang DFLOAT11 ng isang tiyak na solusyon para sa paglalagay ng malalaking mga modelo sa napilitan na memorya ng GPU nang hindi ikompromiso ang Fidelity ng output.
Categories: IT Info