このプロジェクトについて
AirLLMは、わずか2GBのVRAMで数十億パラメータの言語モデルの推論とファインチューニングをコンシューマー向けGPU上で可能にします。常に1つのトランスフォーマー層のみをGPUに保持し、重みをディスクから層ごとにストリーミングする仕組みで動作するため、GPUメモリ要件はモデル全体のサイズではなく層のサイズに依存します。
主な機能:
- 約8Bから2.8Tパラメータまでのモデルを単一の低スペックGPUで推論
- オプションのブロック単位量子化(4ビットまたは8ビット)により最大3倍高速な推論
- 小さなVRAMで巨大モデルのLoRAファインチューニングが可能。凍結されたベース重みはディスクからストリーミングされ、アダプタは常駐
- MoE、Flash、FP8、ネイティブビジョン(VL)アーキテクチャをサポート
- クロスプラットフォーム: Linux/CUDAおよびmacOS(MLX経由のApple Silicon)
サポートされるモデルファミリーには、Llama(2/3/3.1/3.3/4)、Qwen(1/2/2.5/3/3.5/3.8、denseおよびMoE)、DeepSeek(V2/V3/R1)、Mistral & Mixtral、Phi、Gemma、ChatGLM、Baichuan、InternLM、Yi、Kimi K3が含まれます。
使用例:
```python
from airllm import AutoModel
model = AutoModel.from_pretrained("Qwen/Qwen3-32B")
input_tokens = model.tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
generation_output = model.generate(input_tokens['input_ids'].cuda(), max_new_tokens=20)
```
オプションの圧縮を使用する場合:
```python
model = AutoModel.from_pretrained("garage-bAInd/Platypus2-70B-instruct", compression='4bit')
```
トレーニング例(LoRA):
```bash
python air_llm/examples/train_qwen38_flash_next_lora.py --data my_data.jsonl --seq-len 512 --save-adapter adapter.pt
```
設定オプション: compression(none/4bit/8bit)、profiling_mode、layer_shards_saving_path、hf_token、prefetching(デフォルトで有効)、delete_original。元のモデルは初回実行時に層ごとに分割・キャッシュされるため、Hugging Faceキャッシュディレクトリに十分なディスク容量が必要です。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.