AirLLMとは?RTX3060で70Bを動かす仕組みと限界

手元のRTX 3060で70Bクラスの大規模言語モデルを動かしたい。そう考えて調べると、「4GBのVRAMで70Bが動く」とうたうAirLLMというライブラリに行き着きます。この記事では、AirLLMがRTX 3060で動くのか、動かすと何が起きるのかを、公式リポジトリと複数の検証記事をもとに整理しました。先に答えを書くと、動きます。ただし1トークンの生成に数秒から数十秒かかる見込みで、チャットではなくバッチ処理向けです。
AirLLMはRTX 3060で動く。ただしチャット用途には向かない
結論を4点にまとめます。
- 動くか:動きます。AirLLMはGPU上に常に1レイヤーだけを置くため、必要なVRAMはモデル全体ではなく1レイヤー分で決まります。12GBのRTX 3060なら余裕があります
- ボトルネック:VRAMではなくストレージです。トークンを1つ生成するたびに全レイヤーをディスクから読み直すので、ディスクの読み込み速度がそのまま生成速度になります
- 速度:70Bクラスなら1トークンあたり数秒から数十秒が見込まれます(見積もりは後述)。対話には使えません
- 向く用途:夜間の一括処理、フル精度の出力を基準値として取りたい検証、手元で70Bの挙動を確認したい場面
「日常のチャットで使いたい」なら、量子化したモデルをllama.cppやOllamaで動かすほうが現実的です。3060での通常推論の速度は、この後の表で比べます。
AirLLMとは?1レイヤーずつGPUに載せる仕組み
AirLLMは、大規模モデルを少ないVRAMで推論するためのPythonライブラリです。公式リポジトリはApache-2.0ライセンスで公開されています。
通常の推論はモデル全体をVRAMに載せます。AirLLMは違います。Transformerのレイヤーは順番に実行されるので、必要なレイヤーをディスクからGPUに読み込み、計算が終わったら捨てて次を読み込みます。初回の実行時には、元のモデルをレイヤーごとに分割して保存する処理が入ります。
対応モデルはLlama、Qwen、DeepSeek、Mistral/Mixtral、Gemma、Phiなど幅広く、公式リポジトリにはLlama 3.1 405BやDeepSeek-V3(671B)への対応も書かれています。オプションでcompression='4bit'または'8bit'を指定すると、重みのブロック単位量子化が有効になり、最大3倍の高速化をうたっています。ただし、この「3倍」はAirLLM内での比較です。通常のVRAM搭載推論に追いつくわけではありません。
RTX 3060(12GB)で必要な環境:VRAM・ディスク・メモリ
RTX 3060はVRAM 12GB(GDDR6)、メモリ帯域360GB/sのGPUです。なお3060には8GB版も存在しますが、AirLLMの要件は次の表のとおりなので、どちらでもVRAMは問題になりません。
| 項目 | 目安 | 出典・補足 |
|---|---|---|
| VRAM | 4GB以上 | 検証記事では、16bitで約1.46GiB使用 |
| システムメモリ | 16GB以上推奨 | 増やすとページキャッシュが効く可能性がある |
| ストレージ | 70Bで約130GB | 初回のレイヤー分割で保存される分。元モデルの取得分は別に必要になる可能性がある |
| ストレージの種類 | NVMe SSD | SATAでは遅くなる |
| OS | LinuxとApple Silicon Mac、CPU推論 | Windowsの対応記載は今回確認できませんでした。公式リポジトリで確認してください |
3060のVRAMは、AirLLMにとっては使い切れないほど大きい、というのが実情です。用意するべきなのはディスクの空きとNVMe SSDです。
インストールと最小コード
インストールはpipで完了します。圧縮機能を使うならbitsandbytesも入れます。
pip install airllm
pip install -U bitsandbytes # compression を使う場合
公式リポジトリの例を簡略化したコードです。
from airllm import AutoModel
model = AutoModel.from_pretrained("Qwen/Qwen3-32B") # 圧縮するなら compression='4bit' を追加
input_tokens = model.tokenizer("こんにちは", return_tensors="pt")
output = model.generate(input_tokens["input_ids"].cuda())
引数や対応モデルはバージョンで変わるため、実行前に公式リポジトリのREADMEを確認してください。初回はモデルのダウンロードとレイヤー分割で、ディスクと時間を大きく使います。
実際どれくらい遅い?ディスク速度から見積もる
検証記事では、生成時間の目安を「モデルのディスク上のサイズ ÷ ディスクの読み込み速度」で説明しています。GPUは各レイヤーの到着を待つ時間が長く、計算能力を持て余します。
この式で見積もると、次のようになります。NVMe SSDの読み込み速度は5〜10GB/sが目安として挙げられているので、その値を使いました。
| 構成 | 1トークンの目安 | 100トークン生成 |
|---|---|---|
| 70B・AirLLM(16bit、130GB) | 約13〜26秒 | 約22〜43分 |
| Qwen3 14B・Q4・通常推論(3060) | 約0.03秒(31.2トークン/秒) | 約3秒 |
| Qwen3 8B・Q4・通常推論(3060) | 約0.02秒(55.2トークン/秒) | 約2秒 |
70BのAirLLMの数字は、上の式と5〜10GB/sから私が計算した見積もりで、3060での実測ではありません。3060の通常推論の数字は、Hardware Cornerのベンチマーク(コンテキスト4k)です。実際の速度は、SSDの世代、空き容量、OSのキャッシュで大きく変わります。
差は400倍前後です。ストレージ速度が支配的であることは、検証記事の実測からも読み取れます。別の検証では、Colab上のTesla T4で959秒かかった推論が、ローカルNVMe環境のRTX 3090Tiでは78秒でした(いずれも16bit。生成条件は元記事を参照)。GPUの性能差以上に、ストレージ環境の差が効いています。
速くする方法は3つあります。
compression='4bit'で読み込むデータ量を減らす(最大3倍とされる)- NVMe SSDを使う
- システムメモリを増やし、ページキャッシュに乗せる
それでも、対話に必要な速度には届きません。
向いている用途と向かない用途
AirLLMが役に立つのは、速度を求めない場面に限られます。
向いている用途
- 夜間実行の一括評価や分類など、結果を待たなくてよい処理
- 量子化前のフル精度の出力を、比較の基準値として取りたい検証
- 外部APIに送れないデータを、手元で大きなモデルに通したい場合
- 「手元のマシンで70Bが動くか」の動作確認
向かない用途
- 日常のチャット、コーディング支援などの対話利用
- 頻繁に繰り返し実行する処理
- ディスクの空きが少ない環境
3060で日常的に使うなら、量子化モデルとの使い分けになります。
| 比較項目 | AirLLM | 量子化 + llama.cpp / Ollama |
|---|---|---|
| 必要VRAM | 1レイヤー分(4GB以上で動作) | モデルが載る分が必要 |
| 3060(12GB)で動く最大規模 | 70Bクラス以上も動作 | Q4の8B〜14Bが実用範囲。70BクラスはQ4でも35GB以上になり、12GBには収まらない |
| 速度 | 数秒〜数十秒/トークン | 3060で14Bが約31トークン/秒 |
| 出力の精度 | 圧縮なしなら元のモデルの精度 | 量子化で劣化する可能性がある |
| 主な用途 | バッチ処理・検証 | 対話・日常利用 |
精度面の注意:コード生成でエラーが増えたという報告
12GBのVRAM環境でAirLLMを検証した記事では、コード生成でエラーが増えた、前の手順の指示を忘れるといった問題が報告されています。1人の検証者の報告なので一般化はできません。ただ、「高性能なモデルを使いたい理由はコード品質の向上なのに、エラーが増えるのは矛盾する」という指摘は的を射ています。圧縮を使う場合や、コード生成に使う場合は、出力を自分の環境で確かめてから使ってください。
よくある質問(FAQ)
Q. RTX 3060の8GB版でもAirLLMは動きますか?
A. 必要VRAMは4GB以上とされているので、VRAMの面では動く見込みです。ただし、私は実機で確認していません。
Q. Windowsで動きますか?
A. 公式リポジトリの対応OSとして確認できたのはLinux、Apple Silicon Mac、CPU推論です。Windowsについての記載は今回の調査で確認できませんでした。実行前に公式リポジトリのIssueやREADMEを確認してください。
Q. AirLLMをチャットボットに使えますか?
A. 実用的ではありません。ある検証記事は、対話に必要な速度に遠く及ばないと結論づけています。チャットには量子化モデルをおすすめします。
Q. 4bit圧縮を使うと、通常の推論と同じ速さになりますか?
A. なりません。圧縮による高速化は最大3倍とされていますが、これはAirLLM内での比較です。ディスクから毎回レイヤーを読む構造は変わりません。
まとめ
- RTX 3060(12GB)でもAirLLMは動く。必要VRAMは1レイヤー分で、3060には余裕がある
- 本当の制約はディスク。70Bで約130GBのストレージとNVMe SSDが要る
- 速度は「モデルサイズ ÷ ディスク速度」で決まり、70Bなら1トークン数秒〜数十秒の見込み。通常推論と比べて400倍前後の差がある
- 使い道はバッチ処理と検証。対話は量子化モデル(llama.cpp、Ollama)に任せる
まず試すなら、小さめのモデルで手順とディスクの消費量を確かめてから、70Bに進むのが安全です。






