先日、「きしだのHatenaブログ」さんの「GPUメモリ4GBしかなくても、GPT-oss 20B(MoEモデル)をある程度の速度で動かせる」という内容の記事を読んでいました。初心者の私はGPUメモリが4GBでなんでGPT-oss 20Bが動くの?とさっぱりわからなかったし、Attention?FFN?MoE?と、聞き慣れない用語が並んで頭の中は「⁉️」でパニックでした🤔
わからなくてもしゃーないけど、せっかく時間があるんだしということで自分なりに調べてみました。自分の中で整理した内容をまとめておきます。誰かの参考になれば嬉しいです。内容の理解が間違っていたら優しく指摘してください🙇
GPUメモリ4GBでGPT-oss 20Bを動く仕組みを調べてみた
そもそもTransformerとは?
そこからかよって話もありますが…🥲
Transformerは、現代のAI(ChatGPTなど)の基盤となっているニューラルネットワークの設計方法です。
- 長い文章の理解が得意
- 並列処理でより高速
- 文脈を正確に把握
といった特徴があります。今ではほぼ全ての大規模言語モデル(LLM)がTransformerベースになっています。 今回話題にしているGPT-oss 20BもTransformerアーキテクチャで作られています。
AttentionとFFNって何?
Transformerの内部構造は、大きく2つの処理部分で構成されています。
Attention(アテンション)
FFN(Feed-Forward Network)
- 役割 … Attentionの出力を変換する全結合層
- 特徴 … 巨大なパラメータを使うが、計算自体は単純な行列計算
重要なポイントは2つの機能から構成されている点であり、FFNは、Transformerの中で最もメモリを消費する部分である点です。
MoE(Mixture of Experts)とは?
通常のTransformerでは「1つのFFN」ですべての処理を行いますが、MoEモデルでは複数の専門家(Expert)に分かれたFFNを持ち、その中から最も適切な一部(通常2つ程度、これをtop-k選択と呼ぶようです)だけを選んで使います。
MoEの仕組み
- Gate(ゲート)が入力内容を判断
- 最適なExpert(通常2個程度)を選択
- 選ばれたExpertのFFNだけが処理を実行
- 全パラメータを同時には使わない → メモリ効率の最適化が可能
MoEの仕組み
どうやってGPU 4GBで動かすのか?
ここが記事の最重要ポイントになってきます。FFNの重み(Expert)をCPUメモリに配置する工夫により実現されています。
処理の分担
今回のVRAMが少ない環境での動作の仕組み
メリットとデメリット
ただ、CPUのみより高速で動作するという変化は大きな価値です。
実際の速度はどれくらい?
値参照記事での実測値(※環境により大きく異なる可能性はあると思います)
構成 | 速度 | 特徴 |
---|---|---|
CPUのみ | 約10 tok/sec | 最低速度だが確実に動作 |
Attention=GPU + FFN=CPU | 約14 tok/sec | バランス型、VRAM節約 |
全てGPU常駐 | 約65 tok/sec | 最高速度だが大容量VRAM必須 |
まとめ
今回わかったポイント
- MoE … 「巨大なFFN(Expert)を多数持つが、一部だけ使用」する効率的な仕組み
- メモリ戦略 … AttentionはGPU、FFNの重みはCPUに配置してVRAM節約
- 実用性 … VRAM 4GBでも動作可能、ただしデータ転送速度がボトルネック
実際の設定方法
ここからは、具体的にGPT-oss 20BをCPUオフロードで動かす方法を2つの難易度別に紹介します。
方法1:Ollama
対象 … すぐに試したい方
手順
- Ollama公式サイトからダウンロード&インストール
- ターミナルで以下を実行
$ ollama pull gpt-oss:20b $ ollama run gpt-oss:20b
ollama ps
コマンドを実行すると、現在モデルがCPUとGPUにどのように分散されているかを確認できます。
注意点
- GPUが検出されれば自動で利用されますが、どの程度GPU/CPUを使い分けるかはOllama内部で決定
- llama.cppのような細かいレイヤーでの制御は不可
- GPU利用状況は
ollama ps
コマンドで確認可能
方法2:LM Studio
対象 … GUIを設定したい方
手順 1. LM Studio公式サイトからダウンロード 2. アプリ起動後、検索窓で「gpt-oss-20b」を検索 3. モデルをダウンロード(約13GB) 4. チャット画面でモデルを選択して開始
設定のコツ
- 設定画面で「GPU オフロード」のスライダーを調整
- VRAMが4GBの場合は、スライダーを中央より左に設定
- Context Lengthでメモリ使用量を調整可能
- モデル一覧から【⚙️】ボタンをクリックして、【Edit Model Default Parameter】内の【Force Model Expert Weights onto CPU】をONにする(※)
※このオプションを有効にすると、MoEのExpert部分(モデルパラメータの大部分を占めるFFN)が強制的にCPU側のシステムRAMに配置されます。これにより、Attention計算やKVキャッシュなど、より速度が求められる処理のために、限られた高速なVRAMを確保することができます。表示されていない場合にはLM Studioのバージョンアップをしてください。
- メリット … 視覚的な設定、GPU/CPUバランスを調整可能
- デメリット … 少し設定項目が多い
どちらを選ぶべき?
条件 | 推奨方法 |
---|---|
とにかく簡単に試したい | Ollama |
設定を調整したい | LM Studio |
コマンドラインが苦手 | LM Studio |
複数モデルを比較したい | LM Studio |
おわりに
今回調べてみて、GPUメモリ4GBでもGPT-oss 20Bが動く理由とその仕組みが理解できました。また、ダウンロードするときに、MoEモデルとは🤔ということには今後ならなくて済みそうです。更に、AttentionとFFNの処理を分けることで、限られたリソースでも性能を引き出せそうです。
きしだのHatenaブログさんの記事をきっかけに、GPUメモリの制約を乗り越える方法があることを知り、非常に勉強になりました。ありがとうございました🙇
これからもAI技術の進化に注目していきたいと思います。
参考文献
きしだのHatenaさん「GPUメモリ4GBあればGPT-oss 20Bが14 tok/secで動く」(2025-08-13)
https://nowokay.hatenablog.com/entry/2025/08/13/235311OpenAI GPT-oss公式モデルページ
https://huggingface.co/openai/gpt-oss-20b- Ollama公式サイト
https://ollama.com/ - LM Studio公式サイト
https://lmstudio.ai/