lossless-ternary / README.md
operajdw's picture
Update README.md
669af1e verified
|
Raw
History Blame Contribute Delete
1.12 kB
metadata
license: mit
tags:
  - ternary
  - quantization
  - cpu-inference
  - multiply-free
  - lora
language:
  - en

Lossless Base-3/5 + Gretchen — a multiply-free ternary toolkit

Two pieces that fit together:

  • Gretchen — train LoRA weights that crystallize to ternary {-1, 0, +1} during training, via a smooth polynomial well. No rounding, no straight-through estimator.
  • Lossless base-3/5 kernels — represent values exactly in base-3/5 (a change of base, zero rounding) and run ternary matmuls multiply-free: add / skip / subtract, no floating-point multiply, no GPU, no CUDA. Proven bit-exact in Python (torch.allclose, atol=0) and in framework-free C.

The case: a ternary model's matmul is compute-light and memory-light, so it belongs on a CPU with SIMD or hand-written assembly, not a GPU built for floating-point multiplies. (Cf. Microsoft's bitnet.cpp.) In the spirit of ancient Egyptian arithmetic — multiply by shift-and-add, represent exactly by addition, never round.

Code, tests, and full write-ups: https://github.com/drogongod/lossless-ternary

Author: Jonathan David Wint. License: MIT.