Imagen の責任ある AI を理解して構成する

Vertex AI の Imagen は、Google の最先端の生成 AI 機能をアプリケーション デベロッパーに提供します。Vertex AI の Imagen は初期段階のテクノロジーで、機能が進化し続けているため、誤適用、不正使用、意図しない結果、予期しない結果が起きる可能性があります。たとえば、Vertex AI の Imagen では、不適切な画像、配慮に欠ける画像、コンテキスト上正しくない画像など、予期しない出力が生成される可能性があります。

こうしたリスクと複雑さを考慮して、Vertex AI の Imagen は Google の AI の原則を念頭に置いて設計されています。ただし、デベロッパーがモデルを理解し、テストして、安全かつ責任を持ってデプロイすることが重要です。デベロッパーを支援するため、Vertex AI の Imagen には、お客様がユースケース内で有害な可能性がある出力をブロックできるように、安全フィルタが組み込まれています。詳細については、安全フィルタのセクションをご覧ください。

Vertex AI の Imagen をお客様固有のユースケースやコンテキストに統合するときは、責任ある AI に関する追加の考慮事項とモデルの制限を考慮する必要があります。お客様には、公平性、解釈可能性、プライバシー、セキュリティの推奨プラクティスを促進することをおすすめします。

安全フィルタ

Vertex AI の Imagen で入力および画像(生成またはアップロードされたもの)として提供されるテキスト プロンプトは、「有害なカテゴリ」(たとえば、violencesexualderogatorytoxic など)を含む安全フィルタのリストと照らし合わせて評価されます。これらの安全フィルタは、Google の利用規定(AUP)生成 AI の不正使用に関するポリシーAI に関する原則に違反する(生成またはアップロードされた)コンテンツを除外することを目的としています。

リクエストに対して「プロンプトを送信できませんでした」や「ポリシーに違反している可能性があります」などのエラー メッセージが返された場合は、入力に対して安全フィルタがトリガーされています。リクエストした画像より少ない画像が返された場合、安全性要件を満たしていないため、生成された一部の出力がブロックされています。

safetySetting パラメータを調整することで、機密コンテンツのフィルタの強度を選択できます。一部の安全設定レベル(特に block_fewest)では許可リストへの追加が必要になります。許可リストへの登録方法については、Google Cloud アカウント チームにお問い合わせください。

安全性属性

安全性属性と安全フィルタは 1 対 1 の対応になっていません。安全性属性は、includeSafetyAttributes が設定されている場合にユーザーに返される属性のセットです。安全フィルタは、コンテンツをフィルタリングするために使用されるフィルタのセットです。すべての安全性属性カテゴリでフィルタリングされるわけではありません。たとえば、安全性属性カテゴリが「健康」でも、健康に関する信頼スコアに基づいてコンテンツのフィルタリングは行われません。また、機密性に関する内部安全フィルタの中には、信頼スコアが公開されないものもあります。

安全フィルタを構成する

imagegeneration モデルで使用できる安全フィルタリング パラメータは複数あります。たとえば、ブロックされたコンテンツの安全性フィルタコードをモデルに報告させることができます。また、人や顔の生成を無効にしたり、コンテンツ フィルタリングの感度を調整したり、入出力の安全性属性リストの四捨五入された安全性スコアを返すこともできます。個々のフィールドに関する技術的な詳細については、imagegeneration モデル API リファレンスをご覧ください。

レスポンスは、設定したパラメータによって異なります。パラメータによっては、生成されるコンテンツに影響するものもあれば、コンテンツのフィルタリングやフィルタリングが報告される方法に影響するものもあります。出力形式は、入力データをフィルタするのか、生成された画像出力をフィルタするのかによって変わります。

コンテンツをフィルタするパラメータ

次のオプション パラメータは、コンテンツのフィルタリングまたはフィルタリングの結果の報告方法に影響します。

  • safetySetting* - 機密情報を含む可能性のある出力コンテンツをフィルタする際の積極性を設定できます。
  • includeRaiReason - フィルタされた出力に関する詳細情報を提供します。
  • personGeneration - 人物、顔、子供の画像生成をより細かく制御できる設定。
  • disablePersonFace - 非推奨。人物と顔の生成を許可するかどうかの選択。代わりに personGeneration を設定してください。
  • includeSafetyAttributes - 入力テキスト、入力画像(編集用)、生成されたすべての画像の完全な安全性属性情報を提供します。この情報には、安全性カテゴリ("Firearms & Weapons""Illicit Drugs""Violence" など)と信頼スコアが含まれます。

* imagegeneration@006 モデルでのみ利用できます。

フィルタされた入力

テキスト入力または入力画像(編集用)がフィルタされると、400 エラーコードを含むレスポンスが返されます。includeRaiReason または includeSafetyAttributes を設定した場合、RAI でフィルタされた入力を含むリクエストは、この出力形式を返します。

出力は、使用するモデル バージョンによって異なります。以下に、フィルタリングされた場合の出力をモデル バージョンごとに示します。

モデル

{
  "error": {
    "code": 400,
    "message": "Image generation failed with the following error: The prompt could not be submitted. This prompt contains sensitive words that violate Google's Responsible AI practices. Try rephrasing the prompt. If you think this was an error, send feedback."
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "[ORIGINAL ERROR] generic::invalid_argument: Image generation failed with the following error: The prompt could not be submitted. This prompt contains sensitive words that violate Google's Responsible AI practices. Try rephrasing the prompt. If you think this was an error, send feedback. [google.rpc.error_details_ext] { message: \"Image editing failed with the following error: The prompt could not be submitted. This prompt contains sensitive words that violate Google's Responsible AI practices. Try rephrasing the prompt. If you think this was an error, send feedback.\" }"
      }
    ]
  }
}

モデル

{
  "error": {
    "code": 400,
    "message": "Image generation failed with the following error: The prompt could not be submitted. This prompt contains sensitive words that violate Google's Responsible AI practices. Try rephrasing the prompt. If you think this was an error, send feedback.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "[ORIGINAL ERROR] generic::invalid_argument: Image generation failed with the following error: The prompt could not be submitted. This prompt contains sensitive words that violate Google's Responsible AI practices. Try rephrasing the prompt. If you think this was an error, send feedback. [google.rpc.error_details_ext] { message: \"Image generation failed with the following error: The prompt could not be submitted. This prompt contains sensitive words that violate Google\\'s Responsible AI practices. Try rephrasing the prompt. If you think this was an error, send feedback.\" }"
      }
    ]
  }
}

フィルタされた出力

フィルタされた出力の内容は、設定した RAI パラメータによって異なります。次の出力例は、includeRaiReason パラメータと includeSafetyAttributes パラメータを使用した場合の結果を示しています。

includeRaiReason でフィルタリングされた出力

includeRaiReason を追加しない場合、または includeRaiReason: false を設定しない場合、レスポンスにはフィルタされていない生成された画像オブジェクトのみが含まれます。フィルタされたイメージ オブジェクトは、"predictions": [] 配列から除外されます。たとえば、"sampleCount": 4 を含むリクエストに対するレスポンスは次のようになりますが、2 つの画像はフィルタされた結果、省略されます。

{
  "predictions": [
    {
      "bytesBase64Encoded": "/9j/4AAQSkZJRgABA[...]bdsdgD2PLbZQfW96HEFE/9k=",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "/9j/4AAQSkZJRgABA[...]Ct+F+1SLLH/2+SJ4ZLdOvg//Z"
    }
  ],
  "deployedModelId": "MODEL_ID"
}

includeRaiReason: true を設定していくつかの出力画像をフィルタすると、レスポンスには、生成された出力オブジェクトとフィルタされた出力画像用の raiFilteredReason オブジェクトが含まれます。たとえば、"sampleCount": 4includeRaiReason: true を含むリクエストに対するレスポンスは次のようになりますが、2 つの画像がフィルタされています。したがって、2 つのオブジェクトには生成された画像情報が含まれ、もう 1 つのオブジェクトにはエラー メッセージが含まれます。

モデル

{
  "predictions": [
    {
      "bytesBase64Encoded": "/9j/4AAQSkZJRgABA[...]bdsdgD2PLbZQfW96HEFE/9k=",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "/9j/4AAQSkZJRgABA[...]Ct+F+1SLLH/2+SJ4ZLdOvg//Z"
    },
    {
      "raiFilteredReason": "Your current safety filter threshold filtered out 2 generated images. You will not be charged for blocked images. Try rephrasing the prompt. If you think this was an error, send feedback."
    },
  ],
  "deployedModelId": "MODEL_ID"
}

モデル

{
  "predictions": [
    {
      "bytesBase64Encoded": "/9j/4AAQSkZJRgABA[...]bdsdgD2PLbZQfW96HEFE/9k=",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "/9j/4AAQSkZJRgABA[...]Ct+F+1SLLH/2+SJ4ZLdOvg//Z"
    },
    {
      "raiFilteredReason": "56562880"
    },
    {
      "raiFilteredReason": "56562880"
    }
  ],
  "deployedModelId": "MODEL_ID"
}
includeSafetyAttributes でフィルタリングされた出力

"includeSafetyAttributes": true を設定した場合、レスポンスの "predictions": [] 配列には、肯定的なプロンプトのテキスト安全性属性の RAI スコア(小数点第 1 位に四捨五入される)が含まれます。画像の安全性属性も、フィルタされていない各出力に追加されます。出力画像がフィルタされた場合、その安全性属性は返されません。たとえば、フィルタされていないリクエストに対するレスポンスは次のようになり、1 つの画像が返されます。

{
  "predictions": [
    {
      "bytesBase64Encoded": "/9j/4AAQSkZJRgABA[...]bdsdgD2PLbZQfW96HEFE/9k=",
      "mimeType": "image/png", 
      "safetyAttrbutes": {
        "categories": [
          "Porn",
          "Violence"
        ],
        "scores": [
          0.1,
          0.2
        ]
      } 
    }, 
    {
      "contentType": "Positive Prompt",
      "safetyAttrbutes": {
        "categories": [
          "Death, Harm & Tragedy",
          "Firearms & Weapons",
          "Hate",
          "Health",
          "Illicit Drugs",
          "Politics",
          "Porn",
          "Religion & Belief",
          "Toxic",
          "Violence",
          "Vulgarity",
          "War & Conflict"
        ],
        "scores": [
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0,
          0.1,
          0,
          0.1,
          0
        ]
      }
    }, 
  ],
  "deployedModelId": "MODEL_ID"
}

制限事項

タスクごとに次の上限が適用されます。

画像生成の制限事項

  • バイアス増幅: Vertex AI の Imagen は高品質の画像を生成できますが、生成されたコンテンツには潜在的なバイアスが含まれる可能性があります。生成される画像は、商品のトレーニング データに依存します。このデータには、固定観念を助長したり、特定のグループに対する差別を助長したりする可能性があるバイアスが意図せずに含まれている可能性があります。出力が Google の利用規定とユースケースに沿っていることを確認するには、慎重なモニタリングと評価が必要です。
  • 透明性と開示: AI が生成した画像と、AI 以外が生成した画像とを、ユーザーが区別するのは難しい場合があります。ユースケースで AI 生成画像を使用するときは、透明性を確保し、プロセスの信頼性を維持するため、画像が AI システムによって生成されたことをユーザーに対して明確に開示することが重要です。Google は、誤った情報のリスクに対処するために、また AI に対する責任あるアプローチの一環として、AI が生成した画像にメタデータのラベル付けを適用しています。
  • 不十分なコンテキスト: Vertex AI の Imagen が、ユースケース内のすべての状況や対象オーディエンスに適した画像を生成するために必要なコンテキストを理解していないことがあります。生成された画像が、選択したコンテキスト、目的、対象ユーザーに沿っていることを確認してください。

画像編集の制限事項

  • 不実表示と真正性: Vertex AI で Imagen を使用して画像を編集すると、画像の不実表示や操作が行われ、虚偽のコンテンツや誤解を招くコンテンツが作成される可能性があります。編集プロセスは、編集される画像の真正性と信頼性を損なわないよう、責任を持って使用することが重要です。Google は、誤った情報のリスクに対処するために、また AI に対する責任あるアプローチの一環として、AI で編集した画像にメタデータのラベル付けを適用しています。

映像字幕の制限事項

  • 精度とコンテキスト感度: 映像字幕では、複雑な画像やあいまいな画像を正確に記述することが難しい場合があります。生成される説明は、常に映像コンテンツの完全なコンテキストやニュアンスを反映しているとは限りません。自動字幕起こしシステムには、複雑さの程度が異なる画像を理解するうえで限界があるため、特に批判的またはデリケートな状況では、説明の使用に注意する必要があります。
  • あいまいさと主観的な解釈: 画像にはさまざまな解釈が可能なことが多く、生成される字幕は人間の理解や期待と一致しないこともあります。画像について受け止め方や説明は、個人の主観的な経験や文化的背景によって異なる可能性があります。画像の説明では、あいまいさや主観の可能性を考慮し、必要に応じてコンテキストや別の解釈を追加することが重要です。
  • ユーザー補助に関する考慮事項: 画像の自動字幕起こしによって、視覚障がいのある方向けの説明を提供することでユーザー補助をサポートできますが、特定のユーザー補助のニーズに合わせてカスタマイズされた、人間による代替テキストや説明の代わりにはならないこともある点に注意してください。自動字幕起こしには、特定のユーザー補助のユースケースに必要な、詳細レベルやコンテキストへの理解が欠けていることがあります。

視覚的な質問応答(VQA)の制限事項

  • 過度の信頼度と不確実性: VQA モデルは、正解が不確実またはあいまいな場合でも、根拠のない信頼を基に回答することがあります。あいまいな部分があるときは、回答が確実だという虚偽を伝えるのではなく、モデルが不確実であることを明確に伝え、適切な信頼スコアや代替の回答を提供する必要があります。

このテクノロジーを安全かつ責任を持って利用するには、組み込まれている技術的な安全保護対策に加えて、ユースケース、ユーザー、ビジネス コンテキストに固有の他のリスクも考慮することが重要です。

次の手順を行うことをおすすめします。

  1. アプリケーションのセキュリティ リスクを評価する。
  2. 安全性のリスクを軽減するための調整を検討する。
  3. ユースケースに適した安全性テストを実施する。
  4. ユーザーからのフィードバックを求め、コンテンツをモニタリングする。

参考情報

Vertex AI の Imagen についてフィードバックを返す

受け取った出力やレスポンスが不正確、または安全でないと思われる場合は、フィードバックを送信して Google にお知らせください。お寄せいただいたフィードバックは、Vertex AI の Imagen と AI に関する Google の広範な取り組みの改善に活用させていただきます。

フィードバックは人が読む可能性があるため、個人情報や機密情報を含むデータは送信しないでください。