Responsible AI 和 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 使用准则

在使用 Imagen on Vertex AI 之前,请阅读以下常规商品属性和法律注意事项。

  • 图片和文本过滤条件和输出:系统会针对安全过滤条件对通过 Imagen on Vertex AI(生成或上传)的图片进行评估。Imagen 旨在过滤掉违反我们使用限制政策 (AUP) 或其他生成式 AI 产品限制的(生成或上传的)图片。此外,我们的生成式图像模型旨在生成原始内容,而不是复制现有内容。我们对自己的系统进行了精心设计,以尽量避免发生这种情况,而且我们将继续改进这些系统的运作方式。与所有云服务提供商一样,Google 制定了使用限制政策,禁止客户以侵犯第三方 IP 权利的方式使用我们的服务。
  • 现在支持人物生成:通过此功能可生成逼真的合成人脸,但不支持生成名人。请注意,在某些情况下,合成人脸可能看起来与个人相似。如果您认为此功能的输出结果是不良输出,请使用 Vertex AI 上的生成式 AI 概览中所述的滥用行为举报机制进行举报。
  • 生成儿童:借助此功能,经过批准的所选用户能够生成儿童的逼真合成人脸。如需请求使用此功能的权限,请与您的 Google Cloud 客户支持团队联系。
  • 可配置的安全过滤条件阈值:Google 会阻止超出特定安全属性的指定置信度得分的模型回答。如需请求修改安全阈值的权限,请与您的 Google Cloud 客户支持团队联系。
  • 特定模型版本支持文本添加:使用 imagegeneration@004 或更低模型版本时,Imagen 不支持使用文本提示向(上传或生成的)图片添加文本。
  • 举报疑似滥用行为:您可以使用举报 Google Cloud 上的疑似滥用行为表单来举报 Vertex AI 上涉嫌滥用 Imagen 的行为或任何包含不当材料或不准确信息的生成输出。
  • 退出可信测试员计划:如果您之前选择允许 Google 使用您的数据来改进正式发布前 AI/ML 服务作为可信测试员计划条款的一部分,则可以使用可信测试员计划 - 退出申请表选择退出。

安全过滤器

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

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

您可以通过调整 safetySetting 参数来选择敏感内容的过滤程度。

安全属性

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

配置安全过滤器

您可以在图片生成模型中使用几个安全过滤参数。例如,您可以让模型报告屏蔽内容的安全过滤器代码、停用人物或人脸生成、调整内容过滤的敏感度,或返回输入和输出的安全属性列表的四舍五入安全分数。如需详细了解各个字段的技术信息,请参阅图片生成模型 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. Support codes: 42876398\" }"
      }
    ]
  }
}

模型

{
  "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", 
      "safetyAttributes": {
        "categories": [
          "Porn",
          "Violence"
        ],
        "scores": [
          0.1,
          0.2
        ]
      } 
    }, 
    {
      "contentType": "Positive Prompt",
      "safetyAttributes": {
        "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"
}

安全过滤器代码类别

根据您配置的安全过滤器,您的输出可能包含类似以下内容的安全原因代码:

    {
      "raiFilteredReason": "ERROR_MESSAGE. Support codes: 56562880""
    }

所列代码对应于特定的有害类别。这些代码与类别的映射如下:

错误代码 安全类别 说明 过滤的内容:提示输入或图片输出
58061214
17301594
子女 检测因 API 请求设置或许可名单而不允许的儿童内容。 输入(提示):58061214
输出(图片):17301594
29310472
15236754
名人 检测请求中名人的逼真表示。 输入(提示):29310472
输出(图片):15236754
62263041 危险内容 检测可能具有危险性的内容。 输入(提示)
57734940
22137204
讨厌的 检测与仇恨相关的主题或内容。 输入(提示):57734940
输出(图片):22137204
74803281
29578790
42876398
其他 检测请求中的其他各种安全问题 输入(提示):42876398,输出(图片):29578790、74803281
39322892 人物/人脸 检测因请求安全设置而不允许的人物或人脸。 输出(图片)
92201652 个人信息 检测文本中的个人身份信息 (PII),例如提及信用卡号、家庭住址或其他此类信息。 输入(提示)
89371032
49114662
72817394
禁止的内容 检测请求中的禁止的内容。 输入(提示):89371032
输出(图片):49114662、72817394
90789179
63429089
43188360
色情内容 检测色情性内容。 输入(提示):90789179
输出(图片):63429089、43188360
78610348 有害内容 检测文本中的有害主题或内容。 输入(提示)
61493863
56562880
暴力 检测图片或文本中与暴力相关的内容。 输入(提示):61493863
输出(图片):56562880
32635315 粗俗 检测文本中的粗俗主题或内容。 输入(提示)

限制

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

图片生成限制

  • 偏见放大:虽然 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. 收集用户反馈并监控内容。

其他 Responsible AI 资源

提供有关 Imagen on Vertex AI 的反馈

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

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