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 .