gpt-oss-recipes
は、Hugging Faceによって管理されているGitHubリポジトリで、OpenAI GPT OSSモデルを使用するためのスクリプトとJupyter Notebookチュートリアルの提供に重点を置いています。このリポジトリには、OpenAIの最新のオープンソースモデルが含まれています。 gpt-oss-120b
歌で応える gpt-oss-20b
構成と使用例強力な推論能力と効率的なリソースフットプリントで知られるこれらのモデルは、開発者が本番環境や個人のデバイスで実行するのに適している。リポジトリにあるコードとドキュメントは、環境のセットアップから複雑なタスクの実装までをカバーし、ユーザーがモデルの推論、微調整、デプロイメントをすぐに始められるように支援します。すべてのコンテンツはApache 2.0ライセンスに基づいており、自由な使用と変更が可能です。
機能一覧
- 提供
gpt-oss-120b
歌で応えるgpt-oss-20b
モデルサイズの高速切り替えをサポートするモデル用設定スクリプト。 - Python の仮想環境と依存関係のインストールをサポートする環境セットアップコードが含まれています。
- モデルを使用してテキストを生成したり、ツールを呼び出したりする方法を示す推論例を提供します。
- モデルの微調整をサポートし、多言語推論データセットの処理例を含む。
- Transformers、vLLM、VLLMと同じ機能を提供する。 オーラマ 以下のようなフレームワークの統合チュートリアル。
- さまざまなハードウェア(H100 GPU、コンシューマーグレードのデバイス)でモデルを実行するための最適化された構成をサポートします。
ヘルプの使用
設置プロセス
使用方法 gpt-oss-recipes
スクリプトを使うには、まずリポジトリをクローンして Python 環境をセットアップする必要があります。詳しい手順は以下の通りです:
- クローン倉庫
ターミナルを開き、以下のコマンドを実行してリポジトリをローカルにクローンする:git clone https://github.com/huggingface/gpt-oss-recipes.git cd gpt-oss-recipes
- 仮想環境の構築
互換性を確保するため、Python 3.11を使用して仮想環境を作成することを推奨します。またuv
道具だ:uv venv gpt-oss --python 3.11 source gpt-oss/bin/activate
- 依存関係のインストール
PyTorchとTransformersを含む、必要なPythonパッケージをインストールする:uv pip install --upgrade pip uv pip install torch==2.8.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128 uv pip install -U transformers accelerate
- Tritonカーネルのインストール(オプション)
ハードウェアがMXFP4量子化をサポートしている場合(H100やRTX 50xxなど)、パフォーマンスを最適化するためにTritonカーネルをインストールすることができます:uv pip install git+https://github.com/triton-lang/triton.git@main#subdirectory=python/triton_kernels
構成モデル
リポジトリには2つのモデルがある:gpt-oss-120b
(高性能GPU用の117Bパラメータ)と gpt-oss-20b
(民生用ハードウェアの場合は21Bパラメータ)。スクリプトの中で model_path
変数選択モデル。例
model_path = "openai/gpt-oss-20b" # 选择 20B 模型
# model_path = "openai/gpt-oss-120b" # 选择 120B 模型
スクリプトは、モデルサイズに基づいてデバイスマッピングと最適化設定を自動的に構成します。
走り推理
リポジトリには、テキストを生成したり、特定のタスクを実行するための簡単な推論例が含まれています。以下は gpt-oss-20b
モデルによって生成されたテキストの例:
- 見せる
inference.py
ファイル(または同様のスクリプト)。 - モデルとスプリッタがロードされていることを確認します:
from transformers import AutoModelForCausalLM, AutoTokenizer model_id = "openai/gpt-oss-20b" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", torch_dtype="auto")
- プロンプトを入力し、結果を生成する:
messages = [{"role": "user", "content": "如何用 Python 写一个排序算法?"}] inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device) generated = model.generate(**inputs, max_new_tokens=200) print(tokenizer.decode(generated[0]))
- スクリプトを実行すると、モデルはソートアルゴリズムのサンプルPythonコードを返します。
推論パラメータの調整
推論の詳細レベルは、システムのプロンプトによって調整できます。例えば、推論レベルを高く設定する:
messages = [
{"role": "system", "content": "Reasoning: high"},
{"role": "user", "content": "解释量子计算的基本原理"}
]
より高い推論レベルは、より詳細な推論プロセスを生成し、複雑な問題に適している。
モデルの微調整
このリポジトリでは、Hugging FaceのTRLライブラリとLoRAテクノロジーに基づいた微調整例を提供しています。ファインチューニングはこちら gpt-oss-20b
ステップ
- 多言語推論データセットのダウンロード
from datasets import load_dataset dataset = load_dataset("HuggingFaceH4/Multilingual-Thinking", split="train")
- LoRA パラメータを設定し、モデルをロードする:
from transformers import AutoModelForCausalLM from peft import PeftModel, LoraConfig model_name = "openai/gpt-oss-20b" lora_config = LoraConfig(r=8, lora_alpha=32, target_modules=["q_proj", "v_proj"]) model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto") model = PeftModel(model, lora_config)
- TRLライブラリーを使った微調整(TRLライブラリーのリポジトリはこちら
finetune.ipynb
). - 多言語推論のような特定のタスクのために、微調整したモデルを保存する。
vLLMまたはOllamaの使用
迅速な展開が必要な場合、倉庫サポート ブイエルエルエム とオーラマ:
- ブイエルエルエムOpenAI対応サーバーを起動します:
uv pip install --pre vllm==0.10.1+gptoss --extra-index-url https://wheels.vllm.ai/gpt-oss/ vllm serve openai/gpt-oss-20b
- オーラマコンシューマーグレードのハードウェアで動作します:
ollama pull gpt-oss:20b ollama run gpt-oss:20b
注目の機能操作
- ツールコールこのモデルは関数呼び出しとウェブ検索をサポートしています。例えば、天気関数を呼び出す:
tools = [{"type": "function", "function": {"name": "get_current_weather", "description": "获取指定地点的天气", "parameters": {"type": "object", "properties": {"location": {"type": "string"}}}}}] messages = [{"role": "user", "content": "巴黎的天气如何?"}] response = client.chat.completions.create(model="openai/gpt-oss-120b:cerebras", messages=messages, tools=tools)
- 多言語推論微調整により、英語、スペイン語、フランス語、その他の言語の推論プロセスを生成することができます。ユーザーは推論言語を指定することができます:
messages = [{"role": "system", "content": "Reasoning language: Spanish"}, {"role": "user", "content": "¿Cuál es la capital de Australia?"}]
アプリケーションシナリオ
- AI開発実験
開発者は、リポジトリ内のスクリプトを使用して、テキスト生成、コード生成、Q&Aシステムなど、さまざまなタスクでGPT OSSモデルのパフォーマンスをテストできます。ラピッドプロトタイピングに最適です。 - ローカルモデルの展開
企業や個人がローカルデバイスに導入可能gpt-oss-20b
社内の文書処理やカスタマーサポートなど、プライバシーが重視される場面で。 - 教育・研究
研究者は、微調整チュートリアルを使用して、特定のデータセット(例えば、多言語推論)に基づいてモデルを最適化し、学術分野での大規模モデルの適用を検討することができます。 - 生産環境の統合
このリポジトリは、vLLMを介したAPIサーバーのデプロイをサポートしており、チャットボットや自動ワークフローなどの本番環境へのモデルの統合に適している。
品質保証
- リポジトリはどのようなモデルをサポートしていますか?
倉庫サポートgpt-oss-120b
(117Bパラメータ)とgpt-oss-20b
(21Bパラメータ)を、それぞれ高性能GPUとコンシューマー向けハードウェアに適用している。 - 正しいモデルの選び方は?
H100GPUをお持ちの方にお勧めgpt-oss-120b
通常のデバイス(16GBのメモリ)を使用している場合は、以下のように選択します。gpt-oss-20b
. - どのようなハードウェアが必要ですか?
gpt-oss-20b
16GBのRAMが必要。gpt-oss-120b
80GBのGPU(H100など)が必要。mxFP4の量子化により、必要なリソースが削減される。 - モデル推論のエラーにどう対処するか?
入力と出力には必ずハーモニーフォーマットを使用すること。ハードウェアの互換性をチェックし、PyTorchやTritonカーネルなどの依存関係を更新する。