Comprendre et configurer l'IA responsable pour Imagen

Imagen sur Vertex AI fournit les fonctionnalités de pointe d'IA générative de Google aux développeurs d'applications. En tant que technologie précoce, les fonctionnalités et les utilisations en constante évolution d'Imagen de Vertex AI peuvent être sujettes à une mauvaise application, une utilisation abusive et des conséquences imprévues ou inattendues. Par exemple, Imagen sur Vertex AI peut générer un résultat inattendu, comme des images choquantes, offensantes ou incorrectes.

Compte tenu de ces risques et de ces complexités, Imagen sur Vertex AI est conçu en appliquant les principes de l'IA de Google. Cependant, il est important que les développeurs comprennent et testent leurs modèles pour les déployer en toute sécurité et de manière responsable. Pour aider les développeurs, Imagen sur Vertex AI dispose de filtres de sécurité intégrés qui aident les clients à bloquer les sorties potentiellement dangereuses dans leur cas d'utilisation. Pour en savoir plus, consultez la section Filtres de sécurité.

Lorsque Imagen sur Vertex AI est intégré au cas d'utilisation et au contexte uniques d'un client, des considérations d'IA responsables supplémentaires et des limites de modèle peuvent être nécessaires. Nous encourageons les clients à adopter les pratiques recommandées d'équité, d'interprétabilité, de confidentialité et de sécurité.

Filtres de sécurité

Les invites de texte fournies en tant qu'entrées et images (générées ou importées) via Imagen sur Vertex AI sont évaluées par rapport à une liste d'attributs de sécurité, qui incluent des "catégories dangereuses" (par exemple, violence ,sexual ,derogatory et toxic). Ces attributs de sécurité visent à filtrer le contenu (généré ou importé) qui ne respecte pas notrePolitique d'utilisation autorisée, notre règlement sur les utilisations interdites pour l'IA générative ou nos Principes de l'IA.

Si le modèle répond à une requête avec un message d'erreur tel que "L'invite n'a pas pu être envoyée" ou "Elle pourrait ne pas respecter nos règles", l'entrée déclenche un filtre de sécurité. Si le nombre d'images renvoyées est inférieur à celui demandé, une partie du résultat généré est bloquée, car elle ne répond pas aux exigences de sécurité.

Vous pouvez choisir l'intensité de filtrage du contenu sensible en ajustant le paramètre safetySetting. Certains niveaux de paramètres de sécurité (block_fewest, en particulier) nécessitent d'être ajoutés à une liste d'autorisation. Contactez l'équipe chargée de votre compte Google Cloud pour en savoir plus sur le processus d'ajout à la liste d'autorisation.

Attributs de sécurité

Les attributs de sécurité et les filtres de sécurité n'ont pas de relation de mappage un à un. Les attributs de sécurité sont l'ensemble des attributs que nous renvoyons à l'utilisateur lorsque includeSafetyAttributes est défini. Les filtres de sécurité sont l'ensemble des filtres que nous utilisons pour filtrer le contenu. Nous n'appliquons pas de filtre sur toutes les catégories d'attributs de sécurité. Par exemple, pour la catégorie d'attribut de sécurité "Santé", nous ne filtrons pas le contenu en fonction du score de confiance de l'état. De plus, les scores de confiance de certains de nos filtres de sécurité sensibles internes ne sont pas divulgués.

Configurer des filtres de sécurité

Vous pouvez utiliser plusieurs paramètres de filtrage de sécurité avec le modèle imagegeneration. Par exemple, vous pouvez autoriser le modèle à signaler des codes de filtre de sécurité pour du contenu bloqué, à désactiver la génération de personnes ou de visages, à ajuster la sensibilité du filtrage de contenu, ou à renvoyer des scores de sécurité arrondis de la liste d'attributs de sécurité pour l'entrée et la sortie Pour plus d'informations techniques sur les champs individuels, consultez la documentation de référence de l'API du modèle imagegeneration.

La réponse varie en fonction des paramètres que vous avez définis. Certains paramètres affectent le contenu produit, tandis que d'autres affectent le filtrage du contenu et la manière dont le filtrage vous est signalé. De plus, le format de sortie varie selon que le filtrage porte sur les données d'entrée, ou sur la sortie de l'image générée.

Paramètres de filtrage de contenu

Les paramètres facultatifs suivants affectent le filtrage du contenu ou la manière dont le filtrage vous est signalé :

  • safetySetting* : permet de définir l'intensité de filtrage du contenu potentiellement sensible sur la sortie .
  • includeRaiReason : fournit des informations plus détaillées sur la sortie filtrée.
  • personGeneration : paramètre vous permettant de mieux contrôler la génération de personnes, de visages et d'enfants.
  • disablePersonFace : obsolète La possibilité d'autoriser ou non la génération de personnes et de visages. Les utilisateurs doivent définir personGeneration à la place.
  • includeSafetyAttributes : fournit des informations complètes sur les attributs de sécurité pour le texte d'entrée, l'image d'entrée (image à modifier) et toutes les images générées. Ces informations incluent la catégorie de sécurité (par exemple, "Firearms & Weapons", "Illicit Drugs" ou "Violence") et les scores de confiance.

* Disponible uniquement pour le modèle imagegeneration@006.

Entrée filtrée

Si le filtrage porte sur votre texte ou votre image d'entrée (pour modification), vous obtenez une réponse avec un code d'erreur 400. Une requête avec une entrée soumise à un filtre RAI renvoie ce format de sortie si vous définissez includeRaiReason ou includeSafetyAttributes.

Le résultat dépend de la version de modèle que vous utilisez. Voici un exemple de résultat lorsque l'entrée est filtrée pour différentes versions de modèle :

Livraison

{
  "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.\" }"
      }
    ]
  }
}

Modèles

{
  "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.\" }"
      }
    ]
  }
}

Résultat filtré

Le contenu de sortie filtré varie en fonction du paramètre RAI que vous définissez. Les exemples de sortie suivants montrent le résultat de l'utilisation des paramètres includeRaiReason et includeSafetyAttributes.

Résultat filtré à l'aide de includeRaiReason

Si vous n'ajoutez pas de paramètre includeRaiReason ou si vous définissez includeRaiReason: false, votre réponse n'inclut que les objets image générés qui n'ont pas été filtrés. Tous les objets image filtrés sont omis du tableau "predictions": []. Par exemple, voici une réponse à une requête comportant "sampleCount": 4, mais pour laquelle deux des images ont été filtrées, et sont par conséquent omises :

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

Si vous définissez includeRaiReason: true et que plusieurs images de sortie sont filtrées, votre réponse inclut les objets d'image générés et les objets raiFilteredReason pour toutes les images de sortie filtrées. Par exemple, voici une réponse à une requête comportant "sampleCount": 4 et includeRaiReason: true, mais pour laquelle deux des images ont été filtrées : Par conséquent, deux objets incluent des informations sur les images générées et l'autre objet inclut un message d'erreur.

Livraison

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

Modèles

{
  "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"
}
Résultat filtré à l'aide de includeSafetyAttributes

Si vous définissez "includeSafetyAttributes": true, le tableau de réponse "predictions": [] inclut les scores RAI (arrondis à une décimale) des attributs de sécurité du texte de l'invite positive. Les attributs de sécurité de l'image sont également ajoutés à chaque sortie non filtrée. Si une image de sortie est filtrée, ses attributs de sécurité ne sont pas renvoyés. Par exemple, voici une réponse à une requête non filtrée, avec une image qui est renvoyée :

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

Limites

Les limites suivantes s'appliquent aux différentes tâches:

Limites relatives à la génération d'images

  • Amplification des biais : bien qu'Imagen sur Vertex AI puisse générer des images de haute qualité, il peut y avoir des biais potentiels dans le contenu généré. Les images générées s'appuient sur les données d'entraînement du produit, qui peuvent inclure involontairement des biais susceptibles de perpétuer les stéréotypes ou de discriminer certains groupes. Une surveillance et une évaluation minutieuses sont nécessaires pour vous assurer que les résultats respectent la politique d'utilisation autorisée de Google et votre cas d'utilisation.
  • Transparence et divulgation: il peut être difficile pour les utilisateurs de différencier les images générées par l'IA des images non générées par l'IA. Lorsque vous utilisez des images générées par l'IA dans votre cas d'utilisation, il est important d'indiquer clairement aux utilisateurs que les images ont été générées par un système d'IA afin de garantir la transparence et de maintenir la confiance dans le processus. Nous avons appliqué des étiquettes de métadonnées aux images générées par l'IA pour réduire le risque de désinformation et dans le cadre de notre approche responsable de l'IA.
  • Contexte insuffisant: Imagen sur Vertex AI peut ne pas disposer de la compréhension contextuelle requise pour générer des images adaptées à toutes les situations ou audiences dans votre cas d'utilisation. Assurez-vous que vos images générées sont conformes au contexte, à l'objectif et à l'audience souhaités.

Limites de modification d'images

  • Déclarations trompeuses ou déceptives et authenticité: la modification d'images à l'aide d'Imagen sur Vertex AI peut entraîner la falsification ou la manipulation des images, ce qui peut entraîner la création de contenus trompeurs. Il est important de s'assurer que le processus de modification est utilisé de manière responsable, sans compromettre l'authenticité et la véracité des images modifiées. Nous avons appliqué des étiquettes de métadonnées aux images modifiées par l'IA pour réduire le risque de désinformation et dans le cadre de notre approche responsable de l'IA.

Limites de Visual Captioning

  • Précision et sensibilité au contexte : Visual Captioning peut poser problème lors de la description précise d'images complexes ou ambiguës. Les descriptions générées peuvent ne pas toujours capturer le contexte complet ou les nuances du contenu visuel. Il est important de comprendre que les systèmes de sous-titrage automatique sont limités pour comprendre les images avec différents niveaux de complexité, et que leurs descriptions doivent être utilisées avec prudence, en particulier dans les contextes critiques ou sensibles.
  • Ambiguité et interprétations subjectives: les images peuvent souvent être ouvertes à plusieurs interprétations, et les sous-titres générés peuvent ne pas toujours correspondre à la compréhension ou aux attentes humaines. Différentes personnes peuvent voir et décrire des images différemment en fonction de leur expérience subjective et de leur parcours culturel. Il est essentiel de prendre en compte le risque d'ambiguïté et de subjectivité dans les descriptions d'images, et de fournir du contexte ou des interprétations supplémentaires si nécessaire.
  • Considérations relatives à l'accessibilité: bien que les sous-titres d'images automatisés permettent d'assurer l'accessibilité en fournissant des descriptions aux personnes malentendantes, il est important de savoir qu'elles ne peuvent pas remplacer entièrement les versions générées par l'humain ou des descriptions adaptées à des besoins spécifiques. Les sous-titres automatiques peuvent ne pas inclure le niveau de détail ou de compréhension contextuelle nécessaire pour certains cas d'utilisation d'accessibilité.

Limites de Visual Question Answering (VQA)

  • Confiance et incertitude: les modèles VQA peuvent parfois fournir des réponses avec une confiance non justifiée, même lorsque la bonne réponse est incertaine ou ambiguë. Il est essentiel de communiquer l'incertitude du modèle et de fournir des scores de confiance appropriés ou des réponses alternatives en cas d'ambiguïté, plutôt que de transmettre un faux sentiment de certitude.

Pour utiliser cette technologie de manière sécurisée et responsable, il est également important de prendre en compte d'autres risques spécifiques à votre cas d'utilisation, aux utilisateurs et au contexte commercial en plus des protections techniques intégrées.

Nous vous recommandons de suivre les étapes ci-dessous :

  1. Évaluez les risques de sécurité de votre application.
  2. Pensez à apporter des ajustements pour limiter les risques de sécurité.
  3. Effectuez des tests de sécurité adaptés à votre cas d'utilisation.
  4. Encouragez les utilisateurs à envoyer des commentaires et surveillez le contenu.

Autres ressources

Donner votre avis sur Imagen sur Vertex AI

Si vous recevez un résultat ou une réponse inexact, ou si vous pensez que cela n'est pas fiable, vous pouvez nous le signaler en envoyant des commentaires. Vos commentaires peuvent nous aider à améliorer Imagen sur Vertex AI et l'avancé de Google au sens large dans le monde de l'IA.

Les commentaires pouvant être lisibles par un humain, veuillez ne pas soumettre de données contenant des informations personnelles, confidentielles ou sensibles.