kyegomez/BitNet
Implementation of "BitNet: Scaling 1-bit Transformers for Large Language Models" in pytorch
해결하는 문제
BitNet은 대규모 언어 모델(LLM)의 메모리 및 계산 요구 사항을 크게 줄이도록 설계된 1-bit Transformer의 PyTorch 구현체입니다. 표준 선형 프로젝션을 이진화된 레이어로 교체하여 모델 가중치의 초압축을 가능하게 합니다.
작동 원리
이 프로젝트는 Transformer의 표준 nn.Linear를 대체하는 BitLinear 모듈을 구현합니다. 프로세스에는 레이어 정규화, 이진화, abs-max 양자화 및 역양자화 시퀀스가 포함됩니다. 이 저장소는 replace_linears_in_pytorch_model 및 replace_linears_in_hf를 사용하여 기존 PyTorch 또는 Hugging Face 모델의 선형 레이어를 교체할 수 있는 도구를 제공합니다.
대상 사용자
1-bit LLM을 구현하거나 텍스트, 이미지 또는 오디오 처리를 위한 초압축을 탐구하고자 하는 AI 연구자 및 개발자를 대상으로 합니다. 이러한 레이어를 사용하는 모델은 올바르게 작동하려면 처음부터 학습 또는 미세 조정(fine-tuning)되어야 한다는 점에 유의하십시오.
주요 특징
- 폭넓은 아키텍처 지원:
BitNetTransformer,BitAttention(Multi-Grouped Query Attention 사용),BitFeedForward,BitMoE(Mixture of Experts) 및BitMamba구현이 포함되어 있습니다. - 통합 도구: 표준 PyTorch 및 Hugging Face 모델에서 선형 레이어를 쉽게 교체할 수 있는 유틸리티 함수를 제공합니다。
- Vision 지원: Vision Transformer에 1-bit 압축을 적용하기 위한
OneBitViT가 포함되어 있습니다。 - 성능 최적화: 저비트 GEMM 연산을 위한 최적화된 CUDA 커널을 특징으로 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트