openai/gpt-oss
gpt-oss-120b and gpt-oss-20b are two open-weight language models by OpenAI
gpt‑oss – OpenAI からリリースされたオープンウェイト LLM
何であるか – OpenAI が新たにリリースしたオープンウェイト言語モデル gpt‑oss‑120b(約 117 B パラメータ、5.1 B アクティブ)および gpt‑oss‑20b(約 21 B パラメータ、3.6 B アクティブ)を実行するためのリファレンスコードを提供するリポジトリ。これらのモデルは、高度な推論、ツール利用(ブラウザ、Python)、エージェントタスクに最適化されている。リポジトリ自体にはモデルウェイトは含まれていない。ウェイトは Hugging Face にホストされており、HF CLI でダウンロード可能。
主な特徴
- Harmony レスポンスフォーマット – モデルが訓練された構造化チャットスキーマ。すべての推論コードは、このフォーマットに従ったプロンプトと出力を想定している。そうでなければモデルの挙動が正しくならない。
- MXFP4 量子化 – トレーニング後の量子化により、MoE モデルのウェイトを圧縮。120 B モデルは 1 枚の 80 GB GPU(例:H100、MI300X)に収まり、20 B モデルは約 16 GB に収まる。
- Apache‑2.0 ライセンス – パーミッシブで、商用利用や改変が可能。コピーレフト制限なし。
ハイライト(README から)
| 機能 | 意味 |
|---|---|
| 推論努力のカスタマイズ | 推論時に低/中/高の努力レベルを選択可能。遅延と推論の深さのトレードオフが可能。 |
| 完全なチェーン・オブ・シンキング | モデルが内部の推論ステップを返す(エンドユーザー向けではない)。デバッグや信頼性向上に役立つ。 |
| ファインチューニング可能 | 標準的な PyTorch パイプラインでカスタムデータ上でさらにファインチューニング可能。 |
| エージェント機能 | 関数呼び出し、ウェブブラウジング、Python 実行、構造化出力のネイティブサポート。すべて Harmony フォーマットで表現。 |
| 量子化(MXFP4) | 120 B モデルを 1 枚の 80 GB GPU、20 B モデルを 16 GB で実行可能。フルプレシジョンチェックポイントと同等の評価品質を維持。 |
| 複数のバックエンド | PyTorch(教育用)、Triton(単一GPU最適化)、Metal(Apple Silicon)のリファレンス実装に加え、vLLM、Transformers、Ollama、LM Studio 用の即時利用可能なラッパーも提供。 |
モデルの入手方法
# 120 B
hf download openai/gpt-oss-120b --include "original/*" --local-dir gpt-oss-120b/
# 20 B
hf download openai/gpt-oss-20b --include "original/*" --local-dir gpt-oss-20b/
ウェイトは Hugging Face Hub 上で SafeTensors 形式で保存されている。Apple Silicon 用には事前に変換された Metal バイナリもダウンロード可能。
🤗 Transformers でのクイック推論
from transformers import pipeline
model_id = "openai/gpt-oss-120b"
pipe = pipeline(
"text-generation",
model=model_id,
torch_dtype="auto",
device_map="auto",
)
messages = [{"role": "user", "content": "量子力学を明確かつ簡潔に説明してください。"}]
out = pipe(messages, max_new_tokens=256)
print(out[0]["generated_text"][-1])
パイプラインは自動的に Harmony チャットテンプレートを適用する。model.generate を直接呼び出す場合は、プロンプトを自分でフォーマットするか、openai‑harmony パッケージを使用する必要がある。
リファレンスバックエンドの実行
| バックエンド | インストール方法 | 一般的なハードウェア |
|---|---|---|
| PyTorch(リファレンス) | pip install -e "[torch]" |
4× H100(非効率、教育用) |
| Triton(単一GPU) | Triton をソースからビルド後、pip install -e "[triton]" |
1× 80 GB GPU(H100/MI300X) |
| Metal(Apple Silicon) | GPTOSS_BUILD_METAL=1 pip install -e "[metal]" |
Apple M‑シリーズチップ |
| vLLM | uv pip install --pre vllm==0.10.1+gptoss … |
vLLM がサポートする任意の GPU |
| Ollama | ollama pull gpt-oss:20b(または :120b) |
Ollama ランタイム経由のコンシューマー向け CPU/GPU |
| LM Studio | lms get openai/gpt-oss-20b |
Ollama と同様 |
各実装には小さな CLI(python -m gpt_oss.generate …)と、ツール利用(ブラウザ、Python)および Harmony フォーマットを示す ターミナルチャット の例が付属している。
リポジトリに同梱されるツール
- ブラウザツール – モデルトレーニング時に使用された最小限のウェブ検索/ページ取得インターフェース。2 つのバックエンド(
YouComBackendとExaBackend)が提供されている。コードは意図的にシンプルで、教育用のみと明記されている。プロダクション環境では、安全でサンドボックス化されたブラウザサービスに置き換えるべき。 - Pythonツール – 状態なしの実行エンジンで、任意の Python スニペットを実行可能。再現用デモ向け。サンドボックス化はユーザーの責任。
両ツールは、モデルが Harmony メッセージ経由で呼び出せる小さな JSON ベースのプロトコルを公開している。
クライアントの例
- ターミナルチャット(
gpt_oss.chat) – 推論努力レベルの切り替え、ブラウザまたは Python ツールの有効化、推論バックエンドの選択が可能なインタラクティブな REPL。 - レスポンスAPIサーバ(
gpt_oss.responses_api.serve) – OpenAI の Responses API を模倣する軽量サーバ。既存のチャットコンプリートフロントエンドとの統合に有用。 - Codex 統合 – 小さな設定スニペットで、オープンソースの Codex クライアントをローカルで提供された gpt‑oss エンドポイント(例:Ollama 経由)に接続する方法を示す。
ライセンスと貢献
- ライセンス:Apache 2.0 – 商用・研究用途で自由に利用可能。バイラルなコピーレフトなし。
- 貢献:通常の OpenAI オープンソース貢献モデル(プルリクエスト、コードスタイルチェック)に従う。リファレンス実装は意図的に最適化されていない。パフォーマンス向上やプロダクション品質のツールを追加する貢献は特に歓迎。
このリポジトリを使うべきタイミング
- 研究・プロトタイピング – 検査・ファインチューニング・カスタムエージェントへの埋め込みが可能な最先端のオープンウェイト LLM を必要とする。
- ツール拡張エージェント – 内蔵のブラウザと Python ツールにより、リトリーバー拡張生成やコード実行ループの実験が可能。
- パフォーマンスの探求 – Triton と Metal バックエンドは、MXFP4 量子化が 120 B MoE モデルを単一 GPU に収める方法を示している。
- 学習 – PyTorch リファレンスコードは意図的にシンプルで、MoE アーキテクチャやトークンレベルの推論パイプラインの教育リソースとして最適。
結論:openai/gpt-oss は本格的でプロダクション指向のオープンウェイト LLM プロジェクトである。モデル、構造化チャットフォーマット(Harmony)、複数のハードウェアスタック向けリファレンス推論コード、および例示クライアントを提供し、いかなるプロプライエタリな OpenAI API を使わずに、120 B および 20 B モデル上で推論、ファインチューニング、エージェントアプリケーションの構築が可能になる。
関連
- Dispatch
- Dispatch
- Dispatch
- プロジェクト
- Dispatch