Entender e configurar a IA responsável para o Imagen

O Imagen na Vertex AI oferece recursos de IA generativa de última geração do Google para desenvolvedores de aplicativos. Como uma tecnologia em estágio inicial, o Imagen em relação às capacidades e aos usos em evolução criam um potencial para má aplicação, uso indevido e consequências não intencionais ou imprevistas na Vertex AI. Por exemplo, o Imagen na Vertex AI pode gerar um resultado inesperado, como imagens ofensivas, insensíveis ou contextualmente incorretas.

Considerando esses riscos e complexidades, o Imagen na Vertex AI foi projetado considerando os Princípios de IA do Google. No entanto, é importante que os desenvolvedores entendam e testem os modelos para implantá-los com segurança e responsabilidade. Para ajudar os desenvolvedores, o Imagen na Vertex AI tem filtros de segurança integrados para ajudar os clientes a bloquear resultados potencialmente prejudiciais nos casos de uso. Consulte a seção filtros de segurança para saber mais.

Quando o Imagen na Vertex AI é integrado a casos de uso e contextos exclusivos de um cliente, outras considerações de IA responsável e limitações de modelo podem precisar ser consideradas. Incentivamos os clientes a usar as práticas recomendadas de imparcialidade, interpretabilidade, privacidade e segurança.

Filtros de segurança

As solicitações de texto fornecidas como imagens e entradas (geradas ou enviadas por upload) pelo do Imagen na Vertex AI são avaliadas em relação a uma lista de filtros de segurança, que incluem "categorias prejudiciais" (por exemplo, violence, sexual, derogatory e toxic). Esses filtros de segurança filtram o conteúdo (gerado ou enviado) que viola nossa Política de Uso Aceitável (AUP, na sigla em inglês) .Política de uso proibido de IA generativa ou Princípios de IA.

Se o modelo responder a uma solicitação com uma mensagem de erro, como "Não foi possível enviar a solicitação" ou "talvez ela viole nossas políticas", a entrada vai acionar um filtro de segurança. Se menos imagens do que o solicitado forem retornadas, algumas saídas geradas serão bloqueadas por não atender aos requisitos de segurança.

Você pode escolher a intensidade da filtragem de conteúdo sensível ajustando o parâmetro safetySetting.

Atributos de segurança

Os atributos 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 retornamos ao usuário quando includeSafetyAttributes é definido. 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 do atributo de segurança "Saúde", não filtramos o conteúdo com base na pontuação de confiança de saúde. Além disso, não mostramos as pontuações de confiança de alguns dos nossos filtros internos de segurança sensível.

Configurar filtros de segurança

Há vários parâmetros de filtragem de segurança que podem ser usados com o modelo imagegeneration. Por exemplo, é possível permitir que o modelo informe códigos de filtro de segurança para conteúdo bloqueado, desative a geração de rostos ou pessoas, ajuste a sensibilidade da filtragem de conteúdo ou retorne pontuações de segurança arredondadas da 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 imagegeneration.

A resposta varia de acordo com os parâmetros definidos. Alguns parâmetros afetam o conteúdo produzido, enquanto outros afetam a filtragem de conteúdo e como a filtragem é informada a você. Além disso, o formato de saída depende se os dados de entrada são filtrados ou se a saída da imagem gerada é filtrada.

Parâmetros que filtram conteúdo

Os parâmetros opcionais a seguir afetam a filtragem de conteúdo ou a maneira como a filtragem é informada a você:

  • safetySetting*: permite definir a intensidade da filtragem de conteúdos de saída possivelmente sensíveis.
  • includeRaiReason: fornece informações mais detalhadas sobre a saída filtrada.
  • personGeneration: uma configuração que permite mais controle sobre a geração de pessoas, rostos e crianças.
  • disablePersonFace: descontinuado. Uma opção para permitir geração de rostos e pessoas. Em vez disso, os usuários precisam definir personGeneration.
  • includeSafetyAttributes: fornece informações completas de atributo de segurança para texto de entrada, imagem de entrada (para edição) e todas as imagens geradas. Essas informações incluem a categoria de segurança (por exemplo, "Firearms & Weapons", "Illicit Drugs" ou "Violence") e as pontuações de confiança.

* Disponível apenas para o modelo imagegeneration@006.

Entrada filtrada

Se a entrada de texto ou a imagem (para edição) for filtrada, você vai receber uma resposta com um código de erro 400. Uma solicitação com entrada filtrada por RAI retornará esse formato de saída se você definir includeRaiReason ou includeSafetyAttributes.

A saída depende da versão do modelo usada. Veja a seguir a saída quando ela é filtrada por 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.\" }"
      }
    ]
  }
}

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

Saída filtrada

O conteúdo da saída filtrada varia de acordo com o parâmetro RAI que você definir. Os exemplos de saída a seguir mostram o resultado do uso dos parâmetros includeRaiReason e includeSafetyAttributes.

Saída filtrada usando includeRaiReason

Se você não adicionar includeRaiReason ou definir includeRaiReason: false, sua resposta vai incluir 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, veja a seguir uma resposta a uma solicitação 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 você definir includeRaiReason: true e várias imagens de saída forem filtradas, sua resposta incluirá objetos de imagem gerados e objetos raiFilteredReason para qualquer imagem de saída filtrada. Por exemplo, veja a seguir uma resposta a uma solicitação com "sampleCount": 4 e includeRaiReason: true em que duas das imagens são filtradas: Consequentemente, dois objetos incluem informações de imagem geradas, e o outro 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 usando includeSafetyAttributes

Se você definir "includeSafetyAttributes": true, a matriz de resposta "predictions": [] vai incluir as pontuações de RAI (arredondadas para uma casa decimal) dos atributos de segurança de texto do comando positivo. Os atributos de segurança da imagem também são adicionados a cada saída não filtrada. Se uma imagem de saída for filtrada, os atributos de segurança dela não serão retornados. Por exemplo, isto é uma resposta a uma solicitação sem filtro, e uma imagem é retornada:

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

Limitações

Os limites a seguir se aplicam a diferentes tarefas:

Limitações de geração de imagem

  • Amplificação de vieses: embora o Imagen na Vertex AI possa gerar imagens de alta qualidade, pode haver possíveis vieses no conteúdo gerado. As imagens geradas dependem dos dados de treinamento do produto, que podem incluir intencionalmente vieses que podem perpetuar estereótipos ou discriminar determinados grupos. É necessário um monitoramento e uma avaliação cuidadosos para garantir que os resultados estejam alinhados à Política de Uso Aceitável do Google e ao seu caso de uso.
  • Transparência e divulgação: pode ser difícil para os usuários diferenciar imagens geradas por IA de imagens não geradas por IA. Ao usar imagens geradas por IA em um caso de uso, é importante divulgar claramente aos usuários que as imagens foram geradas por um sistema de IA para garantir transparência e manter a confiança no processo. Aplicamos rotulagem de metadados às imagens geradas por IA para ajudar a combater o risco de desinformação e como parte da nossa abordagem responsável de IA.
  • Contexto insuficiente: o Imagen na Vertex AI pode não ter o contexto necessário para gerar imagens apropriadas para todas as situações ou públicos-alvo em um caso de uso. Verifique se as imagens geradas estão alinhadas ao contexto, ao propósito e ao público-alvo pretendidos.

Limitações de edição de imagem

  • Declarações falsas e autenticidade: editar imagens usando o Imagen na Vertex AI pode resultar em deturpação ou manipulação de imagens, o que pode levar à criação de conteúdo enganador ou enganoso. É importante garantir que o processo de edição seja usado de maneira responsável, sem comprometer a autenticidade e a veracidade das imagens editadas. Aplicamos rotulagem de metadados às imagens geradas por IA para ajudar a combater o risco de desinformação e como parte da nossa abordagem responsável de IA.

Limitações das legendas visuais

  • Sensibilidade de precisão e contexto: as legendas visuais podem apresentar desafios ao descrever com precisão imagens complexas ou ambíguas. As descrições geradas nem sempre compreendem o contexto completo ou as nuances do conteúdo visual. É importante reconhecer que os sistemas de legendagem automáticos têm limitações na compreensão de imagens com níveis variados de complexidade, e as descrições devem ser usadas com cuidado, especialmente em contextos críticos ou sensíveis.
  • Ambiguidade e interpretações subjetivas: as imagens muitas vezes podem estar abertas a várias interpretações, e as legendas geradas nem sempre se alinham à compreensão ou expectativas humanas. Indivíduos diferentes podem perceber e descrever imagens de maneiras diferentes com base nas experiências subjetivas e a cultura deles. É fundamental considerar o potencial para ambiguidade e subjetividade nas descrições de imagem e fornecer mais contexto ou interpretações alternativas, quando necessário.
  • Considerações sobre acessibilidade: embora as legendas de imagens automatizadas possam oferecer suporte à acessibilidade fornecendo descrições para pessoas com deficiência visual, é importante reconhecer que elas podem não substituir totalmente o texto ou as descrições geradas por humanos adaptados a necessidades específicas de acessibilidade. As legendas automáticas podem não ter o nível de detalhamento ou compreensão contextual necessário para determinados casos de uso de acessibilidade.

Limitações da respostas visuais a perguntas (VQA, na sigla em inglês)

  • Confiança e incerteza: às vezes, os modelos de VQA podem fornecer respostas não confiáveis, mesmo quando a resposta correta está incerta ou ambígua. É essencial comunicar a incerteza do modelo e fornecer respostas adequadas ou respostas alternativas quando houver ambiguidade, em vez de transmitir uma falsa sensação de certeza.

Para utilizar essa tecnologia com segurança e responsabilidade, também é importante considerar outros riscos específicos para o caso de uso, usuários e contexto empresarial, além das salvaguardas técnicas integradas.

Recomendamos seguir estas etapas:

  1. Analise os riscos de segurança do aplicativo.
  2. Faça ajustes para evitar riscos de segurança.
  3. Realize testes de segurança de acordo com seu caso de uso.
  4. Peça o feedback do usuário e monitore os conteúdos.

Outros recursos

Enviar feedback sobre o Imagen na Vertex AI

Se você receber uma saída ou resposta imprecisa ou que não seja segura, envie um feedback para nós. Seu feedback pode ajudar a melhorar o Imagen na Vertex AI e os esforços mais amplos do Google em IA.

Como o feedback pode ser legível, não envie dados que contenham informações pessoais, confidenciais ou sensíveis.