Appearance
基盤選定・性能・コスト・セキュリティ
Modal を選定した理由
クラウド GPU 基盤として、サーバーレス GPU 実行環境を利用する構成が検討されました。AM3D では、GPU を常時起動するのではなく、リクエスト時だけ起動し、処理がないときは停止できる構成を重視しています。
比較観点
クラウド GPU 基盤の比較では、主に以下の観点を確認しました。
| 観点 | 確認内容 |
|---|---|
| Scale-to-Zero | 処理がないときに GPU を停止できるか |
| 待機コスト | アイドル時に課金が発生しにくいか |
| コールドスタート | 未起動状態から処理開始までの待ち時間 |
| GPU 枠 | 必要な GPU が利用可能か |
| 開発効率 | 既存 Python 処理を API 化しやすいか |
| 運用性 | ログ確認、再デプロイ、スケール制御がしやすいか |
Modal 採用のポイント
| ポイント | 内容 |
|---|---|
| 秒単位課金 | 実行時間に応じて課金されるため、常時起動より無駄が少ない |
| 待機コスト削減 | 処理がない時間帯は GPU を停止できる |
| 自動スケール | リクエスト増加時に実行環境を追加できる |
| モデル保持 | モデルファイルを再利用し、起動時の取得コストを抑えられる |
| 開発効率 | Python ベースの推論処理を API 化しやすい |
クラウド GPU サービスの料金・制限・提供仕様は頻繁に変わるため、実運用前には必ず公式情報を確認してください。
実測性能とコスト
クラウド深度推定の処理時間は、動画長、FPS、解像度、モデルサイズ、GPU の起動状態、エンコード設定によって大きく変わります。
実測値の読み方
過去検証では、以下のような複数の時間が混在しています。
| 種類 | 内容 |
|---|---|
| コールドスタート込み | GPU 実行環境の起動、モデル読み込み、推論、エンコードを含む |
| ウォーム状態 | すでに実行環境やモデルが読み込まれている状態での処理 |
| 推論のみ | フレームごとの深度推定時間 |
| サーバー処理全体 | デコード、推論、エンコード、レスポンス生成を含む |
短い動画でも、コールドスタートやモデルウォームアップが入ると処理時間が長くなる場合があります。そのため、単純に「動画が短いほど常に安い・速い」とは限りません。
処理時間の目安
| 入力条件 | 傾向 |
|---|---|
| 短尺・低解像度・低 FPS | 比較的短時間で処理できる |
| 高解像度・高 FPS | フレーム数と画素数に応じて処理時間が増える |
| 長尺動画 | タイムアウト延長または分割処理が必要 |
| コールドスタート時 | 初回処理に追加待ち時間が発生する |
コストの考え方
クラウド GPU は実行時間に応じてコストが発生します。AM3D では、無制限利用を前提にせず、動画長、処理本数、FPS、解像度、利用者種別などで利用量を制御する設計が必要です。
具体的な金額は、クラウド事業者の料金、為替、GPU 種別、実行時間によって変動するため、本記事では固定料金として扱いません。
Modal の料金・制限
Modal などのクラウド GPU サービスでは、GPU、CPU、メモリ、ストレージ、ネットワーク、実行時間に応じて課金されます。料金体系や無料枠、同時実行数、予算上限は変更される可能性があります。
確認すべき項目
| 項目 | 確認内容 |
|---|---|
| GPU 単価 | 利用する GPU 種別ごとの時間単価 |
| CPU / メモリ単価 | GPU 以外に発生する計算資源の単価 |
| 無料枠 | 利用可能なクレジットや期間 |
| 同時実行制限 | 同時に起動できる GPU 数 |
| タイムアウト上限 | 1 リクエストで実行できる最大時間 |
| 予算上限 | 想定外の利用増を防ぐ上限設定 |
| ログ保持 | ログの保存期間と閲覧権限 |
| ストレージ | モデルや一時ファイルの保存先と料金 |
実運用前には、公式 Pricing / Limits を確認し、予算上限とアラートを設定してください。
セキュリティとデータ取り扱い
AM3D Cloud API を外部提供する場合、認証、利用上限、通信保護、ログ管理、データ削除方針を明確にする必要があります。
基本方針
| 項目 | 方針 |
|---|---|
| 認証 | Bearer Token などの認証を前提にする |
| 通信 | HTTPS を利用する |
| 利用上限 | 動画長、処理本数、同時実行数、月間利用量を制限する |
| レート制限 | 短時間の大量リクエストを防ぐ |
| ログ | 個人情報・機密情報・動画内容がログに残らないようにする |
| 一時ファイル | 処理完了後に削除する設計にする |
| エラー時 | 例外発生時も一時ファイルが残らないようにする |
| 権限管理 | 運用ログや管理画面の閲覧権限を制限する |
データ取り扱い上の注意
クラウド側は、動画を受け取り、推論・エンコードを行い、結果ファイルを返却します。永続保存しない設計であっても、処理中はメモリや一時ファイルとしてデータが存在します。
そのため、以下を実装時に確認する必要があります。
| 確認項目 | 内容 |
|---|---|
| 一時保存先 | 入力動画・中間ファイル・出力動画がどこに保存されるか |
| 削除タイミング | 正常終了時・異常終了時の削除処理 |
| ログ内容 | ファイル名、パス、メタデータ、例外内容が残るか |
| モデル保存領域 | 入力動画とモデルファイルが混在しないか |
| アクセス権限 | 運用者・開発者・外部利用者の権限分離 |
| データ保持 | 保持が必要な場合の同意・契約・削除手順 |
機密性の高い映像を扱う案件では、クラウド処理の可否、保存場所、再委託、ログ保持、削除証跡などを事前に確認します。