本記事では、A100(40GB) GPU 環境を活用し、OllamaのGGUF量子化版 gpt-oss 20b / 120b モデルを動かして、OpenAI互換APIとして利用する方法を初心者でも分かるように解説します。
GGUF量子化により、公式のフル精度モデルよりも軽量化されており、40GB VRAMでも120bモデルをRAM併用で動かせます。
GPT-OSS 120B✖Google Colabで動かしてみた
遅いけど一旦これでデータセット作ってみるか~
*A100GPU(40GB) pic.twitter.com/tbGTX90Ac8— Maki@Sunwood AI Labs. (@hAru_mAki_ch) August 9, 2025
🚀 はじめに
Ollama はローカルやクラウドで大規模言語モデル(LLM)を動かすためのツールです。
ここでは gpt-oss GGUF版(20b / 120b)を、A100(40GB)環境+RAMオフロードで実行する方法を紹介します。
メリット:
- 量子化により大幅に軽量化
- 20bは余裕動作、120bもRAM併用で可能
- OpenAI互換API対応
- VRAM要件が公式仕様より低い
📋 gpt-oss GGUF モデル概要
モデル | 量子化方式 | ファイルサイズ | 推奨VRAM | RAM併用動作目安 | 主な用途 |
---|---|---|---|---|---|
gpt-oss:20b |
Q4_K_M | 約11.67GB | 12〜14GB | A100 40GBなら余裕 | チャット、QA |
gpt-oss:120b |
Q4_K_M | 約56GB | 40GB + RAMオフロード | RAM 64GB以上推奨 | 長文生成、コード補完 |
※ VRAM要件はGGUF版の実測値に基づくおおよその目安です。
🛠️ セットアップ手順
ステップ1: Ollama のインストールと起動
# Ollamaをインストール
!curl -fsSL https://ollama.com/install.sh | sh
# バックグラウンドでOllamaサーバーを起動
import subprocess
import time
import os
# Ollamaサーバーをバックグラウンドで起動
process = subprocess.Popen(['ollama', 'serve'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
# サーバーが起動するまで少し待つ
time.sleep(5)
print("Ollama server started in background")
ステップ2: モデルのダウンロード
# 高精度モデル(量子化済)
!ollama pull gpt-oss:120b
# 軽量モデル(量子化済)
!ollama pull gpt-oss:20b
ステップ3: OpenAI互換APIの利用
Python + requests
import requests
def call_ollama(prompt, model="gpt-oss:120b"):
res = requests.post(
"http://localhost:11434/v1/chat/completions",
headers={"Content-Type": "application/json"},
json={
"model": model,
"messages": [{"role": "user", "content": prompt}],
"stream": False
}
)
return res.json()["choices"][0]["message"]["content"]
print(call_ollama("Pythonでfor文の例を教えて"))
Python + OpenAIクライアント
!pip install openai
import openai
client = openai.OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
res = client.chat.completions.create(
model="gpt-oss:120b",
messages=[{"role": "user", "content": "量子コンピュータとは何ですか?"}]
)
print(res.choices[0].message.content)
ステップ4: ストリーミング応答
def stream_chat(prompt, model="gpt-oss:120b"):
res = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
stream=True
)
for chunk in res:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
stream_chat("AIが教育分野で果たす役割について説明してください")
📌 まとめ
- 20bモデル(GGUF Q4_K_M):A100(40GB)で余裕動作(VRAM 12〜14GB程度)
- 120bモデル(GGUF Q4_K_M):A100(40GB) + RAM64GB以上で動作可能(速度低下あり)
- GGUF量子化により、公式の80GB VRAM要件よりも軽量化されているため、実験や開発用途で扱いやすい
📒ノートブック

Google Colab
参考URL
- Ollama公式サイト
- Hugging Face: gpt-oss-20b Q4_K_M GGUF
- Hugging Face: gpt-oss-120b Q4_K_M GGUF
- Mixture of Experts構造に関する説明(Tom's Hardware)
コメント