OpenAIの初のオープンウェイトモデルGPT OSS(gpt-oss-120bとgpt-oss-20b)の包括的なインストール・実行ガイドです。Apache 2.0ライセンスで商用利用可能で、革新的なMixture-of-Experts(MoE)アーキテクチャにより従来比10倍の効率を実現しています。
本ガイドは初心者から上級者まで対応し、基本的なセットアップから本格的な本番環境デプロイまで詳細に解説します。
モデル概要と特徴
GPT OSSシリーズは推論特化型のMoEモデルで、Harmonyフォーマットによる高品質な回答生成を特徴とします:
- gpt-oss-120b: 117Bパラメータ(アクティブ5.1B)- 本番環境向け、H100 1基で動作
- gpt-oss-20b: 21Bパラメータ(アクティブ3.6B)- 一般ユーザー向け、16GB RAMで動作
- 推論能力: MMLU 94.2%、数学コンテスト96.6%の高精度
- ツール統合: ネイティブWeb検索・Python実行機能
- 量子化最適化: MXFP4による大幅なメモリ削減
システム要件
GPT-OSS-120B
最小要件:
- GPU: 80GB VRAM(NVIDIA H100、A100 80GB、GB200)
- マルチGPU代替: 4×24GB GPU(RTX 3090/4090×4基)
- 推奨: H100 80GB単体 – 最適パフォーマンス
GPT-OSS-20B
最小要件:
- GPU: 16GB VRAM最小
- 対応カード: RTX 4080、RTX 5070 Ti、RTX 3090(24GB)、AMD RX 9070 XT 16GB
- Apple Silicon: M1/M2/M3/M4 Mac対応(Metalバックエンド)
メモリ使用量
- MXFP4量子化: 約12.8-13GB VRAM実使用量
- BF16: 約48GB(一般ユーザー非推奨)
インストール方法
方法1: Transformersライブラリ(最も一般的)
# 仮想環境作成
python -m venv gpt-oss-env
source gpt-oss-env/bin/activate # Linux/Mac
# gpt-oss-env\Scripts\activate # Windows
# 基本依存関係インストール
pip install -U transformers accelerate torch kernels
pip install openai-harmony
# MXFP4量子化用(オプション、Hopper GPU用)
pip install git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels
方法2: vLLM(高性能サーバー用)
# 最適化されたvLLMバージョン
uv pip install --pre vllm==0.10.1+gptoss \
--extra-index-url https://wheels.vllm.ai/gpt-oss/ \
--extra-index-url https://download.pytorch.org/whl/nightly/cu128 \
--index-strategy unsafe-best-match
方法3: 一般ユーザー向け簡単インストール
Ollama(最も簡単)
# インストールしてすぐ実行
ollama pull gpt-oss:20b
ollama run gpt-oss:20b
ollama pull gpt-oss:120b
ollama run gpt-oss:120b
LM Studio(GUI)
lms get openai/gpt-oss-20b
lms get openai/gpt-oss-120b
基本的な使用例
シンプルなTransformersパイプライン
from transformers import pipeline
import torch
# モデル選択
model_id = "openai/gpt-oss-20b" # または "openai/gpt-oss-120b"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype="auto",
device_map="auto",
)
messages = [
{"role": "user", "content": "量子力学をわかりやすく説明してください"},
]
outputs = pipe(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])
最適化設定での手動ロード
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "openai/gpt-oss-20b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
# Hopper GPU向け Flash Attention 3
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype="auto",
attn_implementation="kernels-community/vllm-flash-attn3", # Hopper GPU
)
messages = [{"role": "user", "content": "strawberryにrはいくつありますか?"}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
プラットフォーム別インストール
Windows設定
前提条件: WSL2とDocker Desktop、NVIDIA GPU-PVサポート
# WSL2でGPU有効化
wsl --update
# .wslconfigでGPU設定
# Ollama直接インストール
ollama run gpt-oss:20b
# Microsoft AI Foundry Local
foundry model run gpt-oss-20b
macOS(Apple Silicon)
ネイティブサポート: M1/M2/M3/M4チップでMetal加速
# Homebrewでインストール
brew install ollama
ollama run gpt-oss:20b
# 16GB+RAM推奨、32GB以上で最適パフォーマンス
Linux
完全なコンテナサポート: NVIDIA Container Toolkitネイティブ
# 直接transformersインストール
pip install --upgrade accelerate transformers kernels
# GPU対応Dockerコンテナ
docker run --gpus all -d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama
量子化とメモリ最適化
GPTQ 4-bit量子化
from transformers import AutoModelForCausalLM, AutoTokenizer, GPTQConfig
tokenizer = AutoTokenizer.from_pretrained("facebook/opt-125m")
gptq_config = GPTQConfig(
bits=4,
dataset="c4",
tokenizer=tokenizer,
block_name_to_quantize="k_proj",
backend="marlin" # A100 GPU用
)
quantized_model = AutoModelForCausalLM.from_pretrained(
"facebook/opt-125m",
device_map="auto",
quantization_config=gptq_config
)
# 4倍のメモリ削減、3.25倍の推論高速化
最適化効果: 4倍のメモリ削減と3.25倍の推論高速化を実現します。
APIサーバー設定
FastAPI本格実装
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
from contextlib import asynccontextmanager
# グローバルモデル保存
ml_models = {}
@asynccontextmanager
async def lifespan(app: FastAPI):
# 起動時にモデル読み込み
ml_models["tokenizer"] = AutoTokenizer.from_pretrained("openai/gpt-oss-20b")
ml_models["model"] = AutoModelForCausalLM.from_pretrained(
"openai/gpt-oss-20b",
torch_dtype=torch.bfloat16,
device_map="auto",
attn_implementation="flash_attention_2"
)
yield
ml_models.clear()
app = FastAPI(
title="GPT OSS API Server",
description="本番環境LLM API",
lifespan=lifespan
)
class GenerationRequest(BaseModel):
prompt: str
max_tokens: int = 512
temperature: float = 0.7
@app.post("/generate")
async def generate_text(request: GenerationRequest):
# 推論処理実装
pass
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000, workers=1)
パフォーマンスベンチマーク
推論速度(トークン/秒)
GPT-OSS-120B
- H100(単体): 45 tokens/sec
- GB200 NVL72: 1.5M tokens/sec(エンタープライズ)
- AMD Ryzen AI Max+ 395: 30 tokens/sec
- Multi-GPU H100(2基): 約68 tokens/sec
GPT-OSS-20B
- RTX 4080/5070 Ti: 68 tokens/sec
- AMD RX 9070 XT 16GB: 高スループット
- Apple Silicon M3: Metalバックエンドで可変性能
精度ベンチマーク
業界最高水準の性能:
- MMLU: gpt-oss-120b 94.2%(GPT-4の95.1%)
- AIME Math: 96.6% 数学コンテスト精度
- Codeforces: 2622 Elo レーティング(競技プログラミング)
- HumanEval: 87.3% コード生成成功率
本番環境導入チェックリスト
デプロイ前
- GPUインスタンスのサービスクォータ確認
- セキュリティ用VPC/ネットワーク設定
- モデル成果物ストレージ設定(S3/GCS/Blob)
- モニタリング・ログ設定
- コスト予算・アラート設定
デプロイ時
- モデル要件に基づくインスタンス適正サイズ設定
- オートスケーリングポリシー設定
- ヘルスチェック・モニタリング設定
- セキュリティグループ/ファイアウォール設定
- 本番環境用SSL/TLS証明書設定
デプロイ後
- パフォーマンスベンチマーク・最適化
- コスト分析・最適化レビュー
- 災害復旧・バックアップ手順
- 定期セキュリティ更新・パッチ適用
- 使用パターンに基づくスケーリングポリシー調整
まとめと推奨事項
GPT OSSモデルは、オープンソースの推論特化LLMとして革新的な性能とコスト効率を提供します。主な推奨事項:
- 初心者: OllamaまたはLM Studioで簡単開始
- 開発者: Transformersライブラリでカスタマイズ
- 本番環境: vLLMまたはクラウドマネージドサービス活用
- コスト最適化: 量子化(MXFP4/GPTQ)と適切なハードウェア選択
- スケーラビリティ: 連続バッチングとオートスケーリング実装
本格的なAIアプリケーション構築から個人的な学習用途まで、GPT OSSは商用利用可能なオープンLLMとして強力な選択肢となります。
コメントを残す