👻

Brev上でgpt-oss-20bをデプロイしてみた

に公開

今回はNVIDIA Brev上でgpt-oss-20bをデプロイし、テキスト生成をさせてみました。Brevについては以下の記事で紹介しているのでぜひご覧ください。簡単に説明すると、Brev上ではさまざまなGPUについて、それぞれ複数のクラウドプロバイダ上でインスタンスを管理できるプラットフォームになります。

https://zenn.dev/akasan/articles/686e4b3ef0b8ff

Brev上でgpt-oss-20bをデプロイする

以下のデプロイを実施するにはBrevにアカウント登録してクレジットを追加します。

gpt-oss-20bのデプロイ

それでは早速Brev上で作業してみましょう。

ますはヘッダーにあるDeploymentsに移動してください。すると、以下のような画面が表示されます。


Deployments画面

画面にCreate New Deploymentとあるのでそちらを選択すると、どのような機能をデプロイしたいか一覧を表示してくれます。画面を下にスクロールすると以下のようにopenai/gpt-oss-20bがあるので選択してください。


Deploymentの対象の選択

デプロイしたい機能を選んだら次はどのインスタンスにデプロイするかを聞かれます。今回はL40Sの1枚ざしを選択しました。


GPUインスタンスの選択

インスタンスを選択したらインスタンスの名前の設定や最小最大インスタンス数を選択できます。今回はデフォルト設定にし、名前をgpt-oss-20b-serverにしました。


デプロイメントの設定

ここまで実行してデプロイを実行すると待機画面に移動します。トップ画面ではインスタンスのメトリクスが表示されます。


メトリクス

gpt-oss-20bの呼び出し

インスタンスの準備が完了したらステータスがRunningになります。それでは早速shellからコードを実行してみます。Code Snippetsタブへ移動するとPythonやNode、shellなどで実行するためのサンプルコードが表示されます。今回はShellから実行してみようと思います。サンプルコードは以下のようになっており、call_gpt_oss_20b.shで保存しました。なお、質問内容はBrautigan にインスピレーションを受けて、GPU コンピューティングの素晴らしさについてのリメリックを書いてください。となります。


Shellサンプル

call_gpt_oss_20b.sh
#!/bin/bash
invoke_url='https://api.brev.dev/v1/chat/completions'
authorization_header='Authorization: Bearer api-key'

curl -sS "$invoke_url"   -H "$authorization_header"   -H "Accept: application/json"   -H "Content-Type: application/json"   -d '{
    "messages": [{
      "role": "user",
      "content": "Write a limerick about the wonders of GPU computing as inspired by Brautigan."
    }],
    "stream": false,
    "model": "nvcf:openai/gpt-oss-20b:dep-35YH7WDFlFuOjMRoFRhfkVarkgG",
    "max_tokens": 1024,
    "presence_penalty": 0,
    "frequency_penalty": 0,
    "top_p": 0.7,
    "temperature": 0.5
  }'

こちらを実行すると、以下のような返答が返ってきました。

sh call_gpt_oss_20b.sh

# 結果
{"id":"chatcmpl-da884db68e454f0893252f0ba670399f","object":"chat.completion","created":1763280927,"model":"openai/gpt-oss-20b","choices":[{"index":0,"message":{"role":"assistant","content":"There once was a GPU so bright,  \nIt spun data like stars in the night,  \nWith cores that would hum,  \nLike a humming drum,  \nAnd turned code into candy‑floss light."},"finish_reason":"stop"}],"usage":{"prompt_tokens":87,"completion_tokens":175,"total_tokens":262}}

結果の中のcontentを見ると、There once was a GPU so bright, \nIt spun data like stars in the night, \nWith cores that would hum, \nLike a humming drum, \nAnd turned code into candy‑floss light.と帰ってきており、意味としてはかつては非常に明るい GPU がありました。\nそれは夜空の星のようにデータを回転させ、\nハミングするコアを持ち、\nハミングするドラムのように\nコードを綿菓子の光に変えました。となります。

また、他の実行方法として、Brev城でも呼び出すことができるようになっており、Chatタブに移動すると以下のようにやり取りができるようになっています。


Chat画面

まとめ

今回はBrev上でgpt-oss-20bをデプロイしてみました。いくつか設定するだけでデプロイできるので、自前でGPUを用意しなくても利用できるのがいいポイントになります。もちろんGPUインスタンスを起動しておく必要があるため料金は従量課金されますが、gpt-oss-20bをホスティングしたい場合はぜひ考慮に入れてみてください!

Discussion