24GB RTX 3090 で GPT-OSS-20B を実行する

Posted by MktFeed.ai | 作成日時: | 更新日時:

24GB RTX 3090 で GPT-OSS-20B を実行する

24GB RTX 3090 で GPT-OSS-20B を実行する — MXFP4、Triton、そして RAG を備えた LangChain エージェントツールチェーン

最近、GPT-OSS-20B のチェックポイントがオープンモデルエコシステムに登場し、皆さんと同じように私も疑問に思いました。「20B モデルを単一のコンシューマGPUで実行できるだろうか?」と。簡潔に答えると、「はい」です — MXFP4 + Triton + 慎重なエンジニアリングによって可能です。

RTX 3090 での MXFP4

この記事では、NVIDIA RTX 3090 (24GB) で GPT-OSS-20B をローカルで実行する方法、BF16 では大きすぎる理由、そしてモデルを LangChain エージェントにラップして RAG を実行し、Python を実行し、シェルコマンドを実行する方法(すべてローカルで)を説明します。

なぜ BF16 だけでは 3090 では動作しないのか

FP16/BF16 の大規模モデルは、通常、20B のチェックポイント(ウェイト + アクティベーションバッファ + KV キャッシュ)に 40GB 以上のメモリを必要とします。24GB の RTX 3090 では、それを快適に保持することはできません。そこで、MXFP4(推論向けに最適化された混合 4 ビット形式)が重要になります。モデルサイズを劇的に削減することで、大規模モデルをコンシューマ GPU にロードできるようになります。ただし、MXFP4 は効率的な実行のために特殊なカーネルを必要とするため、Triton が必要です。

スタック

インストール

注:MXFP4 は、パフォーマンスのために Triton 対応カーネルを必要とする形式です。Triton がないと、エラーが発生します。

コードの動作

以下は、セットアップの中核と、各主要ブロックの機能です。

ワークフロー

LangChain JSON エージェント(GPT-OSS-20B によってバックアップ)は、外部情報が必要かどうか、またはコードを実行する必要があるかどうかを判断します。必要に応じて、ツール(ExecutePythonCodeExecuteLinuxShellCommand)のいずれかを呼び出すか、FAISS を介してコンテキストを取得します。ツールは出力を返し→エージェントはそれを組み込み→最終的な回答が準備できるまで繰り返します。エージェントは最終的な回答(およびオプションで実行履歴)を返します。これにより、システムは、マシンの計画の一部を実際に実行できるローカル RAG + ツール対応アシスタントになります。

使用例

ExecutePythonCode ツールは、生成されたコードを実行し、コードテキストだけでなく、実際の出力も返します。

安全と実践的な注意事項

ExecutePythonCode とシェルツールは強力で危険です。安全で制御された環境でのみ実行してください。MXFP4 チェックポイントは既に量子化されているため、元の BF16/FP16 ウェイトがないと再量子化できません。注:これは、WSL で実行している場合、現在 Windows では動作しません。

結論

このリリースは、MXFP4 と Triton を使用することで、オープンソースの 20B モデルがクラスタを必要としなくなったことを示しています。単一の 24GB RTX 3090 で、高度な推論タスクを実行し、LangChain ツールを介してローカルシステムと対話できます。

作成者:Emanuel Bierschneider

Original URL: https://medium.com/@emanuel.bierschneider/running-gpt-oss-20b-on-a-24gb-rtx-3090-mxfp4-triton-and-a-langchain-agent-toolchain-with-rag-4d5617286a0e