![見出し画像](https://assets.st-note.com/production/uploads/images/142871658/rectangle_large_type_2_55e6c6ddda141768d7cb8a4fa5e1753e.png?width=800)
Hugging Face ZeroGPU のチュートリアル
tl;dr
Hugging Face に月に 9 ドルお布施すると ZeroGPU が使えるよ!
ZeroGPU は Hugging Face Spaces にて最大 120 秒間 A100 が使えるという代物だよ!
通常はホスティングに時間単価で課金が発生するから安心だね!
ちょっとしたモデルの推論サーバとして重宝するよ!
ZeroGPU とはなにか
Hugging Face Spaces で追加のコストなく GPU を使える代物。
この記事の読者の多くは、大規模言語モデルや画像生成モデルなどのデモアプリが Hugging Face Spaces 上で動いているのを目にしたことがあるでしょう。
![](https://assets.st-note.com/img/1717403801103-JYurVf71e3.png?width=800)
これらを自前で Hugging Face Spaces にホスティングする際にはなかなかにめんどうくさい。
このモデルってどのくらいの推論メモリを使うの?
毎月どのくらいの金額感になるの?
どれが最適なの?選べる GPU がたくさんあってわかんな💢
そんな細かいことを考えずに 9 ドル課金して脳死で A100 使えるというのが ZeroGPU です。
ZeroGPU のスペック
ZeroGPU は現状ベータ版ですが、Nvidia の A100 40GB を使うことができます。transformers や diffusers などの Hugging Face 謹製のライブラリとの互換性が保たれています。また、現状では Gradio SDK のみの対応ですので、Streamlit 他 SDK で使いたい場合は対応するまで待ちましょう。
サポートされている各ライブラリのバージョンは下記の通り。
Gradio: 4+
PyTorch: All versions from 2.0.0 to 2.2.0
Python: 3.10.13
もし動かない場合は上記のバージョンとずれていないかご確認ください。
使い方は簡単。既存の Gradio アプリに二行を追加するだけ。
+import spaces ←ここ
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(...)
pipe.to('cuda')
+@spaces.GPU ←ここ
def generate(prompt):
return pipe(prompt).images
gr.Interface(
fn=generate,
inputs=gr.Text(),
outputs=gr.Gallery(),
).launch()
デフォルトで 60 秒制限があるので 120 秒まで使いたい時はデコレータを明示的に指定してあげてください。
@spaces.GPU(duration=120)
def generate(prompt):
お布施の方法
だいたい説明したのであとは動かすだけです。
ものは試し。月額 9 ドルお布施してみましょう。「👷Subscribe to Pro」からクレジットカードを登録して決済してください。(参考までに私の決済金額は 1,417 円でした)
![](https://assets.st-note.com/img/1717401257545-sUX1xPhnYC.png?width=800)
とりあえず使ってみて、翌月も継続するか不安な方は自動更新をオフにしておきましょう。
上記の Billing ページの「PRO Subscription」より「Cancel subscription」をポチッと押しておきましょう。すると来月の自動更新がストップします。意図しない課金はダメ。ゼッタイ。
![](https://assets.st-note.com/img/1717401590017-buJF45WXsf.png?width=800)
![](https://assets.st-note.com/img/1717401674994-HomkIn4423.png?width=800)
他の方の Spaces を複製してみよう
できる方は自前の Spaces を ZeroGPU でデプロイし直してみてください。初めての方はまずはすでに ZeroGPU の上で動作しているものを複製してみましょう。
Hugging Face の中の方が公開してくださっている Whisper Large V3 の Spaces を自分で ZeroGPU にホスティングしてみましょう。
俺の行く道は俺が決める!という方はこちらからどうぞ。すでに ZeroGPU にホスティングされた Spaces がまとめられています。
Spaces の右上の三点リーダーから「Duplicate this Spaces」を押してください。
![](https://assets.st-note.com/img/1717404695940-mVmRSsrOWx.png?width=800)
こんな感じで「ZeroGPU Nvidia A100」が選択できるようになっていれば OK です。「Duplicate Space」を押してください。
![](https://assets.st-note.com/img/1717404783383-wptTd5Mk7F.png?width=800)
30 秒ほどで自分の Spaces にホストされます。「Record」を押して適当に喋ってみましょう。文字起こしが右側の output に出力されたら OK です。
![](https://assets.st-note.com/img/1717405816071-cJMa6Ixsj1.png?width=800)
私は Kotoba Whisper が好きなので差し替えてみました。もしよかったらお使いください。
もし使い方で困ったら
こちらに質問が集まっているので解決策が見つかるかも?
最後までお読みいただきありがとうございます。よかったら X をフォローしていただけるとうれしいです!
この記事が気に入ったらサポートをしてみませんか?