HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

潜在因子分解によるサブ1ビットLLM圧縮

Sub-1-Bit LLM Compression via Latent Factorization (github.com)

51 pointsby brainless7 コメント

要約

LittleBitプロジェクトは、大規模言語モデル(LLM)をサブ1ビットの領域に圧縮する手法を提案しています。これは、重み行列を低ランクの潜在因子に分解し、それらを二値化し、学習済みのスケールで元の情報量を復元することで実現されます。LittleBit-2では、初期化段階での潜在幾何学的ずれを改善するため、Joint-ITQという手法を導入し、推論時のオーバーヘッドなしに圧縮率を高めています。

全文翻訳

LittleBitプロジェクト 潜在因子分解によるサブ1ビットLLM圧縮 LittleBit(NeurIPS 2025)およびLittleBit-2(ICML 2026)の公式実装です。 論文 LittleBit-2: Maximizing the Spectral Energy Gain in Sub-1-Bit LLMs via Latent Geometry Alignment (ICML 2026) Banseok Lee, Youngmin Kim LittleBit: Ultra Low-Bit Quantization via Latent Factorization (NeurIPS 2025) Banseok Lee*, Dongkyu Kim*, Youngcheon You, Youngmin Kim 概要 LittleBitは、各密な重み行列を低ランクの潜在因子に分解し、それらの因子を二値化し、軽量な学習済みスケールを通してマグニチュード情報を復元することにより、大規模言語モデルをサブ1ビット領域に圧縮します。これにより、推論時には元のモデルアーキテクチャを維持したまま、重みあたり0.1ビットの設定を含む極端な圧縮が可能になります。 LittleBit-2は、QAT(Quantization-Aware Training)の前にSVDから派生した潜在因子をバイナリ超立方体に整列させる、Joint Iterative Quantization(Joint-ITQ)を用いたInternal Latent Rotationを適用することで、初期化段階での潜在幾何学的ずれに対処し、この手法を改善しています。LittleBit-2の初期化は、オプトイン(--use_itq)として利用可能であり、追加の推論オーバーヘッドは発生しません。 ハイライト サブ1ビット圧縮: 重みあたり1.0ビットから0.1ビットまで対応するように設計されています。 LittleBit-2オプトイン: --use_itq を使用してJoint-ITQ初期化を有効にし、潜在幾何学的整列を改善します。 推論時の変更なし: LittleBit-2は初期化のみを変更します。デプロイされた因子化レイヤーは同じままです。 QATフレンドリー: SmoothSignおよびオプションの残差因子化によるQuantization-Aware Trainingをサポートします。 サポートされているモデル 現在、コードベースは以下のモデルをサポートしています: OPT Llama および Llama 2/3 Phi-4 Qwen2.5 および QwQ Gemma 2 および Gemma 3 Qwen3 インストール Python 3.12 を推奨します。 ``` conda create -n littlebit python=3.12 conda activate littlebit # CUDAツールキットをインストールします。必要に応じてCUDAバージョンを調整してください。 conda install nvidia/label/cuda-12.4.1::cuda-toolkit -c nvidia/label/cuda-12.4.1 # PyTorchをインストールします。 pip install torch==2.8.0+cu124 torchvision==0.23.0+cu124 torchaudio==2.8.0+cu124 --index-url https://download.pytorch.org/whl/cu124 # 依存関係をインストールします。 pip install -r requirements.txt ``` 論文結果の再現には、transformers 4.51.x を使用することを推奨します。新しいtransformersリリースでは、モデルの内部構造や評価動作が変更される可能性があります。 ``` pip install "transformers==4.51.*" ``` 使用方法 トレーニング Quantization-Aware Trainingでモデルをトレーニングします。デフォルトでは、LittleBitLinearは元のSVDのみの初期化を使用します。LittleBit-2(Joint-ITQ)を有効にするには、--use_itq True を渡します。 シングルGPU ``` CUDA_VISIBLE_DEVICES=0 python -m main \ --model_id meta-llama/Llama-2-7b-hf \ --dataset c4_wiki \ --save_dir ./outputs/Llama-2-7b-LittleBit-2 \ --num_train_epochs 5.0 \ --per_device_train_batch_size 4 \ --lr 4e-05 \ --warmup_ratio 0.02 \ --report wandb \ --quant_func SmoothSign \ --quant_mod LittleBitLinear \ --residual True \ --eff_bit 1.0 \ --kv_factor 1.0 \ --min_split_dim 8 \ --l2l_loss_scale 10.0 \ # LittleBit-2初期化をオプトイン # --use_itq True ``` DeepSpeedを使用したマルチGPU ``` deepspeed --num_gpus=4 main.py \ --model_id meta-llama/Llama-2-7b-hf \ --dataset c4_wiki \ --save_dir ./outputs/Llama-2-7b-LittleBit-2 \ --ds_config_path configs/zero3.json \ --num_train_epochs 5.0 \ --per_device_train_batch_size 4 \ --lr 4e-05 \ --report wandb \ --quant_func SmoothSign \ --quant_mod LittleBitLinear \ --residual True \ --eff_bit 1.0 \ --kv_factor 1.0 \ --min_split_dim 8 ``` 評価 ローカルチェックポイントまたはHugging Face Hubでホストされているモデルを評価します。 ローカルディレクトリから ``` CUDA_VISIBLE_DEVICES=0 python eval.py \ --model_id ./outputs/Llama-2-7b-LittleBit-2 \ --seqlen 2048 \ --ppl_task wikitext2,c4 \ --zeroshot_task boolq,piqa,hellaswag,winogrande,arc_easy,arc_challenge,openbookqa ``` Hugging Face Hubから ``` CUDA_VISIBLE_DEVICES=0 python eval.py \ --model_id username/littlebit-llama-7b-0.1bpw \ --seqlen 2048 \ --ppl_task wikitext2 ``` レガシーチェックポイント 古いチェックポイントにはlittlebit_config.jsonが含まれていない場合があります。その場合は、量子化引数を明示的に渡してください。 ``` CUDA_VISIBLE_DEVICES=0 python eval.py \ --model_id ./outputs/Legacy-Llama-2-7b \ --quant_func SmoothSign \ --quant_mod LittleBitLinear \ --split_dim 1024 ``` パラメータ読み込み優先度: 1. 明示的なCLI引数 2. モデルディレクトリ内のlittlebit_config.json 3. 古いチェックポイント用のconfig.jsonフォールバック 引用 この研究が役立つ場合は、以下を引用してください: ``` @inproceedings{lee2026littlebit2, title={LittleBit-2: Maximizing the Spectral Energy Gain in Sub-1-Bit LLMs via Latent Geometry Alignment}, author={Lee, Banseok and Kim, Youngmin}, booktitle={Proceedings of the 43rd International Conference on Machine Learning}, year={2026} } @inproceedings{lee2025littlebit, title={LittleBit: Ultra Low-Bit Quantization via Latent Factorization}, author={Lee, Banseok and Kim, Dongkyu and You, Youngcheon and Kim, Youngmin}, booktitle={Advances in Neural Information Processing Systems}, year={2025} } ``` ライセンス このプロジェクトはCC BY-NC 4.0ライセンスの下でライセンスされています。