-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Native binary wire format for ternary weights — NativeTernary #534
Description
Hi BitNet team,
I am an independent researcher and have published a paper proposing a native binary wire format specifically designed for ternary weights {-1, 0, +1}.
The problem: BitNet b1.58 operates natively in ternary but stores weights in GGUF — a container format designed for floating-point data. There is no native wire format purpose-built for ternary weights.
NativeTernary solves this:
Each weight maps to exactly one 2-bit pair: {00}=-1, {01}=0, {10}=+1
Layer boundaries encoded as {11} (2 bits), tensor boundaries as {1111} (4 bits), model section boundaries as {111111} (6 bits) — built directly into the stream
Decoder: 2-bit register + level counter. 10 lines of code. Zero lookup tables
Stateless and resilient to bitstream corruption
Links:
arXiv: https://arxiv.org/abs/2604.03336
GitHub: https://github.com/sm45118/nativeternary
C reference implementation is in progress. Would genuinely value technical feedback from the team, and happy to discuss integration.
Maharshi Savdhariya
IIT Bombay | IIM Udaipur