Ternärzahlen in 8-Bit-Bytes packen: SIMD-freundliches Verfahren erreicht 99 % Effizienz

How to pack ternary numbers in 8-bit bytes

Ternärzahlen in 8-Bit-Bytes packen: SIMD-freundliches Verfahren erreicht 99 % Effizienz

Ein Blogbeitrag zeigt, wie sich ternäre Gewichte von Modellen wie BitNet b1.58 effizient in 8-Bit-Bytes packen lassen. Die Methode nutzt die Tatsache, dass 5 Trits (3^5 = 243) fast perfekt in 8 Bits passen (256 Möglichkeiten), was einer Effizienz von 99,06 % entspricht. Statt auf teure Divisionen und Modulo-Operationen zu setzen, verwendet der Autor Multiplikation und Bitverschiebungen, um die Trits beim Entpacken zu extrahieren – ideal für SIMD-Implementierungen. Die Technik wurde bereits in llama.cpp integriert und unterstützt AVX2 und ARM NEON.

Wäre es nicht schön, wenn wir statt der niederwertigsten Ziffer per Modulo die höchstwertige Ziffer per Multiplikation extrahieren könnten?

Mehr von diesem Tag

2026-07-21