目次

Gemmaモデル選定

ai-chatアプリで、元々使っていたgemma4:E2Bでは遅すぎるため

今回、Gemma4のE2Bを26Bに変えるためGCP VM(Compute Engine)を使ってみることにしました。

用途

主にテキストの音声変換(TTS) 動画、画像生成
バッチ処理でまとめて行うものが主体です。
生成AIはオープンソースで色々ありますが GPUが必須ということで新しく環境を用意することにしました

Compute Engineの採用理由

起動の早いCloud RunでGPU対応のものが現在は存在しないため
Compute Engineを採用しました。これはAWS EC2とほぼ同様の使い勝手です。
APIから起動すると時間がかるためローカルLLMで高速なレスポンスが必要な場合はローカルネットワーク内に作ることになると思われます。
規約やセキュリティ的に外に出せない資料は一般的なAIサービスが利用できないため活用するシーンも多くなってくるでしょう。

費用とスペック

Compute Engineの利用料はTOKYOリージョンではSpot利用でも1時間あたり0.55ドル(日本円で約90円)でした。ソウルのリージョンは世界最安レベルの0.15$ 、価格差が3倍を超えていましたがラグも許容できるものだったので、今回はソウルリージョンを使うことにした

nvidia L4 / g2-standard-8
スペックは8 vCPUと32 GB メモリ VRAM24G を搭載しています。

コストについて

月額22ドルのClaude Proと比較すると、Compute Engineは同額で約40時間~130時間稼働できます。
しかし、Claude Proのトークン消費量を考慮すると、Compute Engineの利用は費用対効果はあまり良くはなくコーディング性能としてはGemini 3Flash Liteクラスのようで コーディングだけであればコスト的には使わない方が良いです

利用上の課題と考慮点

起動に約2,3分かかるため、作業はまとめて行う必要があります。
動画生成などのバッチ処理には十分ですが、通常のコーディング作業には注意が必要です。

利用開始までのシーケンスとして、VM起動、GPU初期化、モデルロード(26B MoE)に約2分を要します。

設定

1プロンプトで約15分で終わると考え、コールドタイムを加味し
**VM の制限時間を設定する** を  **0.3に設定**  してみた。

注意点

CPUやメモリ、台数の横スケールは可能。
しかしGPUに関して基本的に後付け・変更は不可

GPU数は固定となるので構成変更はできない。作り直し
またGPUリソースの枯渇、空きを待たないといけない可能性があります

実装ログ

GCP でさっそくVMを作成したところ、起動中停止
調べてみたところクォータ不足だった。組織アカウントに変えてから申請を行っていないと今回のGPUのVMは初期の割り当てが0
初期のGPUはリソースの問題もあり、理由を書いて申請する必要がある
「開発用途でL4を1枚使いたい」 で良いとのこと。
無事 VM が起動したのでインストールを進める

インストール

  • nvidia関連のtoolkitやランタイムなど色々いれる
  • まずollamaをdocker-compose.ymlで設定
  • 容量が大きくディスク不足になったのでディスクを追加で+50G設定
  • docker compose up -dで起動
  • ollama-pull ここが20Gほどあり容量食った
  • 以下疎通をlocalから確認できました
curl -s http://localhost:11434/v1/chat/completions
   -H "Content-Type: application/json" 
  -d '{"model":"gemma4:26b","messages":[{"role":"user","content":"こんにちは"}]}' | jq .