File size: 914 Bytes
fd8c8b9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""

BitLinear: Ultra-Low-Precision Linear Layers for PyTorch



A PyTorch extension implementing 1.58-bit ternary linear layers for extreme

compression in neural networks, particularly Transformers.

"""

__version__ = "0.1.0"

from .layers import BitLinear, MultiTernaryLinear, convert_linear_to_bitlinear
from .functional import bitlinear_python, greedy_ternary_decomposition
from .quantization import (
    ternary_quantize,
    absmax_scale,
    weight_to_ternary,
)
from .packing import (
    pack_ternary_base3,
    unpack_ternary_base3,
    estimate_memory_savings,
)

__all__ = [
    "BitLinear",
    "MultiTernaryLinear",
    "convert_linear_to_bitlinear",
    "bitlinear_python",
    "greedy_ternary_decomposition",
    "ternary_quantize",
    "absmax_scale",
    "weight_to_ternary",
    "pack_ternary_base3",
    "unpack_ternary_base3",
    "estimate_memory_savings",
]