了解和配置 Responsible AI for Imagen

Imageer on Vertex AI 为应用开发者提供了 Google 最先进的生成式 AI 功能。作为早期技术,Imagen on Vertex AI 不断发展的功能和用途可能会造成误用、滥用以及意外后果。例如,Imagen on Vertex AI 可能会生成意料之外的输出,例如令人反感、不友好或不合语境的图片。

鉴于这些风险和复杂情况,Imagen on Vertex AI 在设计时考虑到了 Google 的 AI 原则。但是,开发者必须了解和测试其模型,以便以负责任的方式安全部署模型。为了帮助开发者,Imagen on Vertex AI 具有内置的安全过滤条件,可帮助客户在其使用场景中阻止潜在的有害输出。如需了解详情,请参阅安全过滤条件部分。

当 Imagen on Vertex AI 集成到客户独特的使用场景和语境中时,可能需要考虑其他 Responsible AI 注意事项和模型限制。我们鼓励客户使用公平性、可解释性、隐私权和安全推荐做法

安全过滤器

作为输入提供的文本提示和通过 Imagen on Vertex AI(生成或上传的)图片会根据安全属性列表进行评估,这些安全过滤器包括“有害类别”(例如violencesexualderogatorytoxic)。这些安全过滤器旨在过滤掉(生成或上传的)违反我们的使用限制政策 (AUP)生成式 AI 禁止使用政策AI 原则的内容。

如果模型响应请求并显示错误消息,例如“无法提交提示”或“它可能违反了我们的政策”,则输入会触发安全过滤器。如果返回的图片少于请求的图片数,则由于不符合安全要求,某些生成的输出会被阻止。

您可以通过调整 safetySetting 参数来选择敏感内容的过滤程度。某些安全设置级别(特别是 block_fewest)需要您添加到许可名单。请与您的 Google Cloud 客户支持团队联系,以咨询列入许可名单的过程。

安全属性

安全属性和安全过滤器没有一对一的映射关系。安全属性是我们在设置 includeSafetyAttributes 后返回给用户的一组属性。安全过滤器是我们用来过滤内容的过滤器集合。我们不会对所有安全属性类别进行过滤。例如,对于安全属性类别“健康”,我们不会根据健康置信度分数过滤内容。此外,我们不会公开一些内部敏感安全过滤器的置信度分数。

配置安全过滤器

您可在 imagegeneration 模型中使用多个安全过滤参数。例如,您可以让模型报告屏蔽内容的安全过滤器代码、停用人物或人脸生成、调整内容过滤的敏感度,或返回输入和输出的安全属性列表的四舍五入安全分数。如需详细了解各个字段的技术信息,请参阅 imagegeneration 模型 API 参考文档

响应因您设置的参数而异;一些参数会影响生成的内容,而其他参数则会影响内容过滤以及系统报告过滤的方式。此外,输出格式取决于输入数据是否经过了过滤,或者生成的图片输出是否经过了过滤。

用于过滤内容的参数

以下可选参数会影响内容过滤或系统报告过滤的方式:

  • safetySetting* - 允许您设置潜在敏感输出内容的过滤程度。
  • includeRaiReason - 提供有关过滤输出的更详细的信息。
  • personGeneration - 此设置可让您更好地控制人物、人脸和儿童的生成。
  • disablePersonFace - 已弃用。该选项可允许是否生成人物和人脸。用户应改为设置 personGeneration
  • includeSafetyAttributes - 为您提供输入文本、输入图片(用于修改)和所有生成图片的完整安全属性信息。此信息包括安全类别(例如 "Firearms & Weapons""Illicit Drugs""Violence")和置信度分数。

* 仅适用于 imagegeneration@006 模型。

过滤后的输入

如果文本输入或输入图片(用于编辑)被过滤,您会收到包含 400 错误代码的响应。如果您设置了 includeRaiReasonincludeSafetyAttributes,则具有 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 参数而异。以下输出示例展示了使用 includeRaiReasonincludeSafetyAttributes 参数的结果。

使用 includeRaiReason 过滤后的输出

如果您不添加 includeRaiReason 或设置 includeRaiReason: false,则响应仅会包含未过滤的已生成图片对象。任何被过滤的图片对象均在 "predictions": [] 数组中省略。例如,以下是对具有 "sampleCount": 4 的请求的响应,但有两张图片被过滤,因此省略:

{
  "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 的请求的响应,但有两张图片被过滤。因此,两个对象包含生成的图片信息,另一个对象包含错误消息。

模型

{
  "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 分数(四舍五入到一位小数)。图片安全属性也会添加到每个未过滤的输出中。如果输出图片经过过滤,则不会返回其安全属性。例如,以下是对未过滤请求的响应,返回了一张图片:

{
  "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"
}

限制

以下限制适用于不同的任务:

图片生成限制

  • 偏见放大:虽然 Imagen on Vertex AI 可以生成高质量的图片,但生成的内容可能存在偏见。生成的图片依赖于产品的训练数据,而这些数据可能会无意中包含可能存在刻板印象或歧视某些群体的偏见。请务必仔细监控和评估,以确保输出符合 Google 的使用限制政策和您的使用场景。
  • 透明度和披露:用户很难区分 AI 生成的图像和非 AI 生成的图像。 在您的使用场景中使用 AI 生成的图片时,请务必明确向用户披露图片是由 AI 系统生成的,以便在该过程中确保透明度和保持信任。我们对 AI 生成的图片应用了元数据标签以帮助打击虚假信息,这也是我们负责任的 AI 方法中的一部分。
  • 语境不足:Imagen on Vertex AI 可能缺乏生成适合您的使用场景中的所有情况或受众群体的图片所需的语境理解。请务必检查生成的图片是否符合所选语境、用途和目标受众。

图片修改限制

  • 虚假性和真实性:使用 Imagen on Vertex AI 修改图片可能会产生虚假或篡改的图片,从而可能导致创建欺骗性或误导性内容。请务必以负责任的方式使用修改过程,不要影响修改后图片的真实性。我们对 AI 修改的图片应用了元数据标签以帮助打击虚假信息,这也是我们负责任的 AI 方法中的一部分。

视觉图片说明限制

  • 准确率和语境感知:视觉图片说明可能会难以准确描述复杂或模糊图片。生成的说明并不总是可以捕获视觉内容的完整语境或细微差别。请务必注意,自动图片说明系统在理解不同复杂程度的图片方面存在限制,应谨慎使用说明,尤其是在关键或敏感语境中。
  • 不明确性和主观解释:图片通常可以有多个解释,因此生成的图片说明可能并不总是符合人类的理解或期望。不同的人可能会根据主观体验和文化背景以不同方式感知和描述图片。请务必考虑图片说明中的不明确性和主观性,并在必要时提供额外的上下文或其他解释。
  • 无障碍功能注意事项:虽然自动图片说明可通过为视障人士提供说明来支持无障碍功能,但请务必注意,它们可能无法完全取代针对特定无障碍功能需求定制的人工生成的替代文本或说明。自动图片说明可能缺少某些无障碍功能应用场景所需的详细程度或语境理解。

视觉问答 (VQA) 限制

  • 过分自信和不确定性:即使正确答案不确定或模棱两可,VQA 模型有时可能也会自信地提供答案,但这种自信是毫无根据的。因此,必须说明模型的不确定性,并在答案不明确时提供适当的置信度分数或替代答案,而不是传达虚假的确定感。

要安全、负责任地使用这项技术,除了考虑内置的技术保障措施外,还必须考虑应用场景、用户和业务环境的其他特定风险。

我们建议您采取以下步骤:

  1. 评估应用的安全风险。
  2. 考虑进行调整,以降低安全风险。
  3. 执行适合您的应用场景的安全测试。
  4. 收集用户反馈并监控内容。

其他资源

提供有关 Imagen on Vertex AI 的反馈

如果您收到的输出或回复不准确或您认为不安全,可以通过提交反馈告知我们。您的反馈有助于改进 Imagen on Vertex AI 和 Google 在 AI 领域所做的更广泛的工作。

由于反馈信息可能由人工阅读,请不要提交包含个人、机密或敏感信息的数据。