Skip to main content

Implementation of the BitLinear layer from: The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits

Project description

bitlinear-pytorch

Implementation of the BitLinear layer from: The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits

Install

pip install bitlinear-pytorch

Usage

import torch
from bitlinear_pytorch import BitLinear, replace_linear_with_bitlinear

class TinyMLP(nn.Module):
    def __init__(self):
        super(TinyMLP, self).__init__()

        self.layers = nn.Sequential(
            nn.Linear(784, 256),
            nn.ReLU(),
            nn.Linear(256, 128),
            nn.ReLU(),
            nn.Linear(128, 10),
        )

    def forward(self, x):
        return self.layers(x)

model = TinyMLP()
replace_linear_with_bitlinear(model)

# or use BitLinear directly
bitlinear = BitLinear(784, 256)

License

MIT

Citation

@misc{ma2024era,
      title={The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits}, 
      author={Shuming Ma and Hongyu Wang and Lingxiao Ma and Lei Wang and Wenhui Wang and Shaohan Huang and Li Dong and Ruiping Wang and Jilong Xue and Furu Wei},
      year={2024},
      eprint={2402.17764},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

TODO

  • Implement base BitLinear layer
  • Add example usage
  • Setup Github Actions workflow
  • Implement memory efficient weight encoding/decoding
  • Implement Fast Inference (CUDA/CPU/VHDL)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitlinear-pytorch-0.4.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

bitlinear_pytorch-0.4.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file bitlinear-pytorch-0.4.0.tar.gz.

File metadata

  • Download URL: bitlinear-pytorch-0.4.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for bitlinear-pytorch-0.4.0.tar.gz
Algorithm Hash digest
SHA256 47c56b4e1d3b832e35689bcc180248f565656ade1e641a1dad6fd598e63df676
MD5 3b74fc1bc604d85739c5ca73398880a7
BLAKE2b-256 c3188b64cdf794e051b269dc56cee4b0337795dc50882b79d1b804f228ad7538

See more details on using hashes here.

File details

Details for the file bitlinear_pytorch-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bitlinear_pytorch-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fad40ed588eff6c325689fa77f53046e065e53652638ae3fd5a623ff3d215199
MD5 77381f0b9ac0e6cc90acc71ec7be2bda
BLAKE2b-256 59896ec86fce92e7cd7066de7baec1623a9ad0ad9c37df0e126c2bb18fb8be87

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page