Het doorbreken van de 1,58-bit barrière voor ternaire LLM's

Samenvatting

Ternaire Large Language Models (LLM) slaan elk gewicht op als een van drie symbolen $\{-1, 0, +1\}$. Hierdoor wordt de kostprijs van een ternair model conventioneel gekoppeld aan de informatie-theoretische waarde van $\log_2 3 \approx 1,585$ bits per gewicht.

Het huidige gangbare implementatieformaat verpakt vijf ternaire gewichten in één byte (five-trit packing). Vanwege de in de praktijk gebruikte groepsgroottes die machten van twee zijn, wordt dit naar boven afgerond op $1,625$ bits per gewicht. Deze effectieve opslagbreedte gaat ervan uit dat de drie symbolen $\{-1, 0, +1\}$ even waarschijnlijk zijn.

Bevindingen en de BITCOS-methode

Uit metingen van de werkelijke symbooldistributie van 29 ternaire LLM-modellen blijkt dat nullen tot $51,5\%$ van alle gewichten beslaan. Geïnspireerd door deze bevinding introduceren de auteurs BITCOS, een eenvoudige, distributie-adaptieve lay-out.

BITCOS bestaat uit:

  • Een dichte presentie-bitmap;
  • Een gecomprimeerde tekenvector.

De kosten van deze methode bedragen $2 - z$ bits per gewichtselement, waarbij $z$ de nul-densiteit in de gewichten van het model vertegenwoordigt.

Resultaten

  • Opslagcapaciteit: BITCOS slaat gewichten compacter op dan de five-trit packing in 26 van de 29 geteste modellen en bereikt $1,485$ bits per gewicht bij de meest ijle (sparsest) modellen.
  • Hardware-optimalisatie: BITCOS is geschikt voor efficiënte unpacking op moderne processoren en GPU's. Er zijn geoptimaliseerde unpacking-sequenties ontwikkeld voor:
  • AVX-512
  • AVX2
  • Intel Xe2 GPU's
  • Prestatiewinst: Gemeten tegenover state-of-the-art ternaire matrix-vector vermenigvuldigingskernels, bij de nul-densiteiten die real-world ternaire modellen vertonen, is de gerealiseerde winst met de voorgestelde lay-out tot $1,28\times$.

End-to-end Inferentie

De resultaten van end-to-end LLM-inferentie op vijf verschillende platforms (client- en server-CPU's, geïntegreerde en discrete Xe2 GPU's) tonen een verbetering in de decode throughput van:

  • Tot $1,18\times$ op CPU's.
  • Tot $1,27\times$ op GPU's.