IA responsável e diretrizes de utilização do Imagen

O Imagen na Vertex AI oferece as capacidades de IA generativa de vanguarda da Google aos programadores de aplicações. Enquanto tecnologia em fase inicial, as capacidades e as utilizações em evolução do Imagen no Vertex AI criam potencial para aplicação incorreta, utilização indevida e consequências não intencionais ou imprevistas. Por exemplo, o Imagen no Vertex AI pode gerar resultados inesperados, como imagens ofensivas, insensíveis ou contextualmente incorretas.

Tendo em conta estes riscos e complexidades, o Imagen no Vertex AI foi concebido a pensar nos princípios da IA da Google. No entanto, é importante que os programadores compreendam e testem os respetivos modelos para os implementar de forma segura e responsável. Para ajudar os programadores, o Imagen na Vertex AI tem filtros de segurança incorporados para ajudar os clientes a bloquear resultados potencialmente prejudiciais no respetivo exemplo de utilização. Consulte a secção Filtros de segurança para mais informações.

Quando o Imagen no Vertex AI está integrado no contexto e no exemplo de utilização únicos de um cliente, podem ter de ser consideradas outras considerações de IA responsável e limitações do modelo. Incentivamos os clientes a usarem a equidade, a interpretabilidade, a privacidade e a segurança das práticas recomendadas.

Veja o cartão do modelo Imagen for Generation

Veja o cartão do modelo Imagen for Editing and Customization

Diretrizes de utilização do Imagen

Leia os seguintes atributos gerais dos produtos e considerações legais antes de usar o Imagen no Vertex AI.

  • Filtros e resultados de imagens e texto: as imagens (geradas ou carregadas) através do Imagen no Vertex AI são avaliadas em função dos filtros de segurança. O Imagen tem como objetivo filtrar conteúdo (gerado ou carregado) que viole a nossa Política de Uso Autorizado (PUA) ou restrições adicionais de produtos de IA generativa. Além disso, os nossos modelos de imagens generativas destinam-se a gerar conteúdo original e não replicar conteúdo existente. Concebemos os nossos sistemas para limitar a probabilidade de isto ocorrer e continuamos a melhorar a forma como estes sistemas funcionam. Tal como todos os fornecedores de serviços na nuvem, a Google mantém uma Política de Utilização Aceitável que proíbe os clientes de utilizarem os nossos serviços de formas que violem os direitos de propriedade intelectual de terceiros.
  • Limiares de filtros de segurança configuráveis: a Google bloqueia respostas do modelo que excedam as classificações de confiança designadas para determinados atributos de segurança. Para solicitar a capacidade de modificar um limite de segurança, contacte a sua Google Cloud equipa de conta.
  • Adição de texto suportada em determinadas versões do modelo: o Imagen não suporta a adição de texto a imagens (carregadas ou geradas) através de um comando de texto quando usa as versões do modelo imagegeneration@004 ou inferiores.
  • Denuncie suspeitas de abuso: pode denunciar suspeitas de abuso do Imagen no Vertex AI ou qualquer resultado gerado que contenha material impróprio ou informações incorretas através do formulário Denuncie suspeitas de abuso no Google Cloud .
  • Recusa do Programa Grupo de Testadores Fidedignos: se tiver aceitado anteriormente que a Google utilizasse os seus dados para melhorar os serviços de IA/ML de pré-DG como parte dos termos do Programa Grupo de Testadores Fidedignos, pode recusar através do formulário de solicitação de recusa do Programa Grupo de Testadores Fidedignos.

Filtros de segurança

Os comandos de texto fornecidos como entradas e imagens (geradas ou carregadas) através do Imagen na Vertex AI são avaliados em função de uma lista de filtros de segurança, que incluem "categorias prejudiciais" (por exemplo, violence, sexual, derogatory e toxic). Estes filtros de segurança destinam-se a filtrar conteúdo (gerado ou carregado) que viola a nossa Política de Utilização Aceitável (PUA), a Política de Utilização Proibida de IA Generativa ou os nossos Princípios de IA.

Se o modelo responder a uma solicitação com uma mensagem de erro, como "Não foi possível enviar o comando" ou "Pode violar as nossas políticas", a entrada está a acionar um filtro de segurança. Se forem devolvidas menos imagens do que o pedido, significa que alguns resultados gerados foram bloqueados por não cumprirem os requisitos de segurança.

Pode escolher a agressividade com que quer filtrar conteúdo sensível ajustando o parâmetro safetySetting.

Atributos de segurança

Os atributos de segurança e os filtros de segurança não têm uma relação de mapeamento um-para-um. Os atributos de segurança são o conjunto de atributos que devolvemos ao utilizador quando includeSafetyAttributes está definido. Os filtros de segurança são o conjunto de filtros que usamos para filtrar conteúdo. Não filtramos todas as categorias de atributos de segurança. Por exemplo, para a categoria de atributos de segurança "Saúde", não filtramos conteúdo com base na pontuação de confiança de saúde. Além disso, não expomos as classificações de confiança para alguns dos nossos filtros de segurança sensíveis internos.

Configure filtros de segurança

Existem vários parâmetros de filtragem de segurança que pode usar com os modelos de geração de imagens. Por exemplo, pode permitir que o modelo comunique códigos de filtro de segurança para conteúdo bloqueado, desativar a geração de pessoas ou rostos, ajustar a sensibilidade da filtragem de conteúdo ou devolver classificações de segurança arredondadas de uma lista de atributos de segurança para entrada e saída. Para mais informações técnicas sobre campos individuais, consulte a referência da API do modelo de geração de imagens.

A resposta varia consoante os parâmetros que definir. Alguns parâmetros afetam o conteúdo produzido, enquanto outros afetam a filtragem de conteúdo e a forma como a filtragem lhe é comunicada. Além disso, o formato de saída depende de os dados de entrada serem filtrados ou de a saída de imagem gerada ser filtrada.

Parâmetros que filtram conteúdo

Os seguintes parâmetros opcionais afetam a filtragem de conteúdo ou a forma como a filtragem é comunicada:

  • safetySetting: permite definir a agressividade da filtragem de conteúdo de saída potencialmente sensível.
  • includeRaiReason: fornece informações mais detalhadas sobre a saída filtrada.
  • personGeneration – Uma definição que lhe permite ter mais controlo sobre a geração de pessoas, rostos e crianças.
  • disablePersonFace - Descontinuado. Uma escolha para permitir ou não a geração de pessoas e rostos. Em alternativa, os utilizadores devem definir personGeneration.
  • includeSafetyAttributes - Fornece informações completas sobre os atributos de segurança para o texto de entrada, a imagem de entrada (para edição) e todas as imagens geradas. Estas informações incluem a categoria de segurança (por exemplo, "Firearms & Weapons", "Illicit Drugs" ou "Violence") e as classificações de confiança.

Entrada filtrada

Se o texto introduzido ou a imagem introduzida (para edição) for filtrada, recebe uma resposta com um código de erro 400. Um pedido com entrada filtrada por RAI devolve este formato de saída se definir includeRaiReason ou includeSafetyAttributes.

O resultado depende da versão do modelo que usa. O exemplo seguinte mostra a saída quando a entrada é filtrada para diferentes versões do modelo:

Modelo

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

Modelos

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

Resultados filtrados

O conteúdo do resultado filtrado varia consoante o parâmetro RAI que definir. Os exemplos de saída seguintes mostram o resultado da utilização dos parâmetros includeRaiReason e includeSafetyAttributes.

Saída filtrada através de includeRaiReason

Se não adicionar includeRaiReason ou definir includeRaiReason: false, a sua resposta inclui apenas objetos de imagem gerados que não são filtrados. Todos os objetos de imagem filtrados são omitidos da matriz "predictions": []. Por exemplo, o seguinte é uma resposta a um pedido com "sampleCount": 4, mas duas das imagens são filtradas e, consequentemente, omitidas:

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

Se definir includeRaiReason: true e várias imagens de saída forem filtradas, a sua resposta inclui objetos de imagem gerados e objetos raiFilteredReason para todas as imagens de saída filtradas. Por exemplo, a seguinte é uma resposta a um pedido com "sampleCount": 4 e includeRaiReason: true, mas duas das imagens são filtradas. Consequentemente, dois objetos incluem informações da imagem gerada e o outro objeto inclui uma mensagem de erro.

Modelo

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

Modelos

{
  "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"
}
Saída filtrada através de includeSafetyAttributes

Se definir "includeSafetyAttributes": true, a matriz "predictions": [] da resposta inclui as classificações RAI (arredondadas a uma casa decimal) dos atributos de segurança de texto do comando positivo. Os atributos de segurança de imagens também são adicionados a cada resultado não filtrado. Se uma imagem de saída for filtrada, os respetivos atributos de segurança não são devolvidos. Por exemplo, a seguinte é uma resposta a um pedido não filtrado, e é devolvida uma imagem:

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

Categorias de códigos de filtros de segurança

Consoante os filtros de segurança que configurar, a saída pode conter um código de motivo de segurança semelhante ao seguinte:

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

O código indicado corresponde a uma categoria prejudicial específica. Estas associações de códigos a categorias são as seguintes:

Código de erro Categoria de segurança Descrição Conteúdo filtrado: entrada de comando ou saída de imagem
58061214
17301594
Filho Deteta conteúdo infantil onde não é permitido devido às definições de pedido da API ou à lista de autorizações. input (prompt): 58061214
output (image): 17301594
29310472
15236754
Celebridade Deteta uma representação fotorrealista de uma celebridade na solicitação. input (prompt): 29310472
output (image): 15236754
62263041 Conteúdo perigoso Deteta conteúdo potencialmente perigoso por natureza. entrada (comando)
57734940
22137204
Ódio Deteta tópicos ou conteúdo relacionados com incitamento ao ódio. input (comando): 57734940
output (imagem): 22137204
74803281
29578790
42876398
Outro Deteta outros problemas de segurança diversos com o pedido. input (prompt): 42876398
output (image): 29578790, 74803281
39322892 Pessoas/Cara Deteta uma pessoa ou uma cara quando não é permitido devido às definições de segurança do pedido. output (image)
92201652 Informações pessoais Deteta informações de identificação pessoal (IIP) no texto, como a menção de um número de cartão de crédito, moradas de casa ou outras informações semelhantes. entrada (comando)
89371032
49114662
72817394
Conteúdo proibido Deteta o pedido de conteúdo proibido no pedido. input (prompt): 89371032
output (image): 49114662, 72817394
90789179
63429089
43188360
Sexual Deteta conteúdo de natureza sexual. input (comando): 90789179
output (imagem): 63429089, 43188360
78610348 Tóxico Deteta tópicos ou conteúdo tóxicos no texto. entrada (comando)
61493863
56562880
Violência Deteta conteúdo relacionado com violência na imagem ou no texto. input (prompt): 61493863
output (image): 56562880
32635315 Vulgar Deteta tópicos ou conteúdo vulgar no texto. entrada (comando)
64151117 Celebridade ou criança Deteta representações fotorrealistas de uma celebridade ou de uma criança que violam as políticas de segurança da Google. entrada (comando)
saída (imagem)

Limitações

Os seguintes limites aplicam-se a diferentes tarefas:

Limitações de geração e edição de imagens

  • Amplificação de parcialidade: embora o Imagen na Vertex AI possa gerar imagens de alta qualidade, pode haver potenciais parcialidades no conteúdo gerado. As imagens geradas baseiam-se nos dados de preparação do produto, que podem incluir involuntariamente preconceitos que podem perpetuar estereótipos ou discriminar determinados grupos. É necessária uma monitorização e uma avaliação cuidadosas para garantir que os resultados estão em conformidade com a Política de Utilização Aceitável da Google e o seu exemplo de utilização.
  • Transparência e divulgação: pode ser difícil para os utilizadores distinguirem entre imagens geradas pela IA e imagens não geradas pela IA. Quando usar imagens geradas pela IA no seu exemplo de utilização, é importante divulgar claramente aos utilizadores que as imagens foram geradas por um sistema de IA para garantir a transparência e manter a confiança no processo. Aplicámos a etiquetagem de metadados a imagens geradas pela IA para ajudar a combater o risco de desinformação e como parte da nossa abordagem responsável à IA.
  • Contexto insuficiente: o Imagen no Vertex AI pode não ter a compreensão contextual necessária para gerar imagens adequadas para todas as situações ou públicos-alvo no seu exemplo de utilização. Certifique-se de que as imagens geradas estão alinhadas com o contexto, a finalidade e o público-alvo escolhidos.
  • Representação fraudulenta e autenticidade: a edição de imagens com o Imagen no Vertex AI pode resultar na representação fraudulenta ou na manipulação de imagens, o que pode levar à criação de conteúdo enganador ou fraudulento. É importante garantir que o processo de edição é usado de forma responsável, sem comprometer a autenticidade e a veracidade das imagens editadas. Aplicámos a etiquetagem de metadados a imagens editadas pela IA para ajudar a combater o risco de desinformação e como parte da nossa abordagem responsável à IA.
  • Representação fraudulenta e autenticidade: tenha cuidado ao editar imagens de adultos ou crianças, uma vez que a edição de imagens com o Imagen no Vertex AI pode resultar na representação fraudulenta ou manipulação de imagens. Isto pode potencialmente levar à criação de conteúdo enganador ou fraudulento. É importante garantir que o processo de edição é usado de forma responsável, sem comprometer a autenticidade e a veracidade das imagens editadas. Aplicámos a etiquetagem de metadados a imagens editadas pela IA para ajudar a combater o risco de desinformação e como parte da nossa abordagem responsável à IA.

Limitações das legendas visuais

  • Precisão e sensibilidade ao contexto: as legendas visuais podem ter dificuldades em descrever com precisão imagens complexas ou ambíguas. As descrições geradas podem nem sempre captar o contexto completo ou as nuances do conteúdo visual. É importante reconhecer que os sistemas de legendagem automática têm limitações na compreensão de imagens com diferentes níveis de complexidade e que as respetivas descrições devem ser usadas com precaução, especialmente em contextos críticos ou sensíveis.
  • Ambiguidade e interpretações subjetivas: as imagens podem, muitas vezes, estar abertas a várias interpretações, e as legendas geradas podem nem sempre estar alinhadas com a compreensão ou as expetativas humanas. Indivíduos diferentes podem perceber e descrever imagens de forma diferente com base nas suas experiências subjetivas e origens culturais. É fundamental considerar o potencial de ambiguidade e subjetividade nas descrições de imagens e fornecer contexto adicional ou interpretações alternativas, quando necessário.
  • Considerações de acessibilidade: embora as legendas automáticas de imagens possam suportar a acessibilidade através da disponibilização de descrições para indivíduos com deficiência visual, é importante reconhecer que podem não substituir totalmente o texto alternativo ou as descrições geradas por humanos e adaptadas a necessidades de acessibilidade específicas. As legendas automáticas podem não ter o nível de detalhe ou compreensão contextual necessário para determinados exemplos de utilização de acessibilidade.

Limitações da funcionalidade de resposta a perguntas visuais (VQA)

  • Excesso de confiança e incerteza: por vezes, os modelos de VQA podem fornecer respostas com confiança injustificada, mesmo quando a resposta correta é incerta ou ambígua. É essencial comunicar a incerteza do modelo e fornecer pontuações de confiança adequadas ou respostas alternativas quando houver ambiguidade, em vez de transmitir uma falsa sensação de certeza.

Para utilizar esta tecnologia de forma segura e responsável, também é importante considerar outros riscos específicos do seu exemplo de utilização, utilizadores e contexto empresarial, além das salvaguardas técnicas incorporadas.

Recomendamos que siga os seguintes passos:

  1. Avalie os riscos de segurança da sua aplicação.
  2. Considere fazer ajustes para mitigar os riscos de segurança.
  3. Realize testes de segurança adequados ao seu exemplo de utilização.
  4. Solicitar feedback dos utilizadores e monitorizar o conteúdo.

Recursos adicionais de IA responsável

Envie feedback sobre o Imagen no Vertex AI

Se receber um resultado ou uma resposta incorreta ou que não lhe pareça segura, pode informar-nos enviando feedback. O seu feedback pode ajudar a melhorar o Imagen na Vertex AI e os esforços mais abrangentes da Google com a IA.

Uma vez que o feedback pode ser legível, não envie dados que contenham informações pessoais nem confidenciais.