Desenvolva uma aplicação de IA generativa
Este documento ajuda a saber como resolver os desafios em cada fase do desenvolvimento de uma aplicação de IA generativa. Descreve como selecionar um modelo, personalizar o resultado do modelo para satisfazer as suas necessidades, avaliar as personalizações e implementar o modelo. Este documento pressupõe que já tem um exemplo de utilização em mente e que o exemplo de utilização é adequado para a IA generativa. Para obter informações sobre como desenvolver um exemplo de utilização, consulte o artigo Avalie e defina o seu exemplo de utilização empresarial da IA generativa.
Antes de começar a desenvolver uma aplicação de IA generativa, avalie a prontidão técnica da sua organização (capacidades e infraestrutura). Para informações sobre como avaliar as suas capacidades de IA e criar um plano para tirar partido do seu potencial, consulte o Workshop de preparação para a IA. Se planeia desenvolver fluxos de trabalho automatizados pela IA generativa, avalie se os humanos devem ser incluídos no processo para fases de decisão críticas. A revisão humana pode ajudar com decisões como garantir a utilização responsável, cumprir requisitos de controlo de qualidade específicos ou monitorizar o conteúdo gerado.
Modelos de IA generativa
Os modelos de base de IA generativa são preparados em conjuntos de dados de vários terabytes de texto, imagens, código ou outros conteúdos multimédia. Os dados e a arquitetura do modelo permitem que os modelos identifiquem padrões complexos e obtenham uma compreensão contextual profunda, bem como produzam novo conteúdo, como texto, imagens, música ou vídeos, com base nos dados de preparação.
Os modelos de base formam o núcleo sobre o qual são criadas inúmeras aplicações de IA generativa. As capacidades dos modelos traduzem-se em capacidades emergentes: com uma instrução de comando de texto simples, os modelos de base de IA generativa podem aprender a realizar uma variedade de tarefas, como traduzir idiomas, responder a perguntas, escrever um poema ou escrever código, sem preparação explícita para cada tarefa. Os modelos de base de IA generativa também se podem adaptar para realizar tarefas específicas com algumas técnicas de comandos ou podem ser otimizados com dados de preparação adicionais mínimos.
Os grandes modelos de linguagem (GMLs) são preparados com texto e são um exemplo de modelos de base que se baseiam normalmente em arquiteturas de aprendizagem profunda, como o Transformer desenvolvido pela Google em 2017. Os GMLs podem ser treinados com milhares de milhões de exemplos de texto e outro conteúdo, e um GML pode ser personalizado para domínios específicos.
Outros modelos multimodais ampliam a capacidade de uma aplicação de IA generativa para processar informações de várias modalidades, incluindo imagens, vídeos, áudio e texto. Os comandos multimodais combinam vários formatos de entrada, como texto, imagens e áudio. Por exemplo, pode introduzir uma imagem e pedir a uma aplicação de IA generativa que liste ou descreva os objetos na imagem. Os modelos Gemini da Google são criados de raiz para a multimodalidade e podem raciocinar sem problemas entre texto, imagens, vídeo, áudio e código. Google CloudO Model Garden e a Vertex AI podem ajudar a encontrar e personalizar uma variedade de modelos de base da Google, de código aberto e de fontes de terceiros.
Escolha um modelo
Quando escolher um modelo, tenha em atenção a modalidade, o tamanho e o custo do modelo. Escolha o modelo mais acessível que ainda cumpre os seus requisitos de qualidade de resposta e latência.
- Modalidade: conforme descrito na secção anterior, a modalidade de um modelo corresponde a categorias de dados de alto nível para as quais um modelo é preparado, como texto, imagens e vídeo. Normalmente, o exemplo de utilização e a modalidade do modelo estão estreitamente associados. Se o seu exemplo de utilização envolver a geração de texto para imagem, tem de encontrar um modelo preparado com dados de texto e imagem. Se precisar da flexibilidade de várias modalidades, como na pesquisa multimodal, existem modelos que também suportam exemplos de utilização multimodais, mas o custo e a latência podem ser mais elevados.
- Os modelos da Vertex AI oferecem uma grande lista de modelos de IA generativa que pode usar.
- O Model Garden oferece uma lista de ofertas de modelos de ML originais e de código aberto no Google Cloud.
- Tamanho: o tamanho de um modelo é normalmente medido pelo número de parâmetros. Em geral, um modelo maior pode aprender padrões e relações mais complexos nos dados, o que pode resultar em respostas de maior qualidade. Uma vez que os modelos maiores da mesma família podem ter uma latência e custos mais elevados, pode ter de experimentar e avaliar os modelos para determinar o tamanho do modelo que funciona melhor para o seu exemplo de utilização.
Custo: o custo de um modelo está relacionado com as respetivas capacidades, que geralmente se relacionam com a quantidade de parâmetros do modelo. Os modelos também podem ser medidos e cobrados de forma diferente. Por exemplo, alguns modelos são cobrados com base no número de tokens de entrada e saída. Outros modelos são cobrados com base no número de horas de nós usadas enquanto o modelo está implementado.
Para informações sobre os preços dos modelos de IA generativa no Vertex AI, consulte os preços do Vertex AI.
Para obter informações sobre o custo de implementação de modelos no Google Kubernetes Engine (GKE), consulte os preços do GKE.
Funcionalidades: nem todos os modelos suportam funcionalidades como o ajuste e a destilação. Se essas capacidades forem importantes para si, verifique as funcionalidades suportadas por cada modelo.
Comandos de design
A conceção de comandos é o processo de criação de pares de comandos e respostas para dar aos modelos de linguagem contexto e instruções adicionais. Depois de criar comandos, envia-os para o modelo como um conjunto de dados de comandos para pré-treino. Quando um modelo apresenta previsões, responde com as suas instruções incorporadas.
Se quiser obter um resultado específico, pode usar estratégias de conceção de comandos, como dar instruções ao modelo para concluir a entrada parcial ou dar-lhe exemplos de respostas ideais. Para mais informações, consulte o artigo Introdução à conceção de comandos.
Personalize um modelo
Após a conceção de comandos, pode verificar que as respostas de um modelo funcionam bem, pelo que não precisa de o personalizar. Se o modelo não estiver a ter um bom desempenho, por exemplo, se estiver a ter alucinações, pode usar técnicas de personalização adicionais. As secções seguintes apresentam essas técnicas e podem ajudar a compreender como estas opções influenciam o resultado do seu modelo.
Chamadas de funções e extensões
A chamada de funções e as extensões da Vertex AI expandem as capacidades do seu modelo. Considere os exemplos de utilização da sua aplicação e onde a utilização de um modelo sozinho pode ser insuficiente. Pode ajudar o modelo adicionando chamadas de funções ou extensões. Por exemplo, o seu modelo pode extrair informações do calendário a partir de texto e, em seguida, usar uma extensão para encontrar e reservar uma reserva.
Embora possa usar as chamadas de funções e as extensões de forma intercambiável, existem algumas diferenças de alto nível. A chamada de funções é uma operação assíncrona e não precisa de incluir credenciais no seu código. As extensões do Vertex AI oferecem opções pré-criadas que pode usar para tarefas complexas, para que não tenha de escrever as suas próprias funções. No entanto, uma vez que as extensões da Vertex AI devolvem e chamam funções por si, as extensões requerem que inclua credenciais no seu código.
Fundamentação
A fundamentação refere-se ao aumento das respostas do modelo ancorando-as a fontes de informações verificáveis. Para fundamentar um modelo, associa-o a uma origem de dados. Fundamentar um modelo ajuda a melhorar a fiabilidade do conteúdo gerado, reduzindo as alucinações.
A geração aumentada de obtenção (RAG) é uma técnica de fundamentação usada frequentemente. A RAG usa a funcionalidade de pesquisa para encontrar informações relevantes e, em seguida, adiciona essas informações a um comando do modelo. Quando usa a RAG, o resultado baseia-se em factos e nas informações mais recentes. A pesquisa RAG usa incorporações de vetores e bases de dados de vetores, que armazenam dados como representações numéricas de dados não estruturados, como texto e imagens. Para mais informações, consulte o artigo O que é uma base de dados vetorial.
Para saber mais sobre a fundamentação no Vertex AI, consulte a vista geral da fundamentação. Para obter informações sobre como configurar um fluxo de trabalho de incorporação no AlloyDB para PostgreSQL, consulte o exemplo de fluxo de trabalho de incorporação.
Ajuste do modelo
As tarefas especializadas, como preparar um modelo de linguagem numa terminologia específica, podem exigir mais preparação do que a que pode fazer apenas com a conceção de comandos. Nesse cenário, pode usar o ajuste do modelo para melhorar o desempenho e fazer com que o modelo cumpra requisitos de saída específicos.
Para otimizar um modelo, tem de criar um conjunto de dados de preparação e, em seguida, selecionar um método de otimização, como a otimização supervisionada, a otimização da aprendizagem reforçada pelo feedback humano (ARFH) ou a destilação de modelos. A dimensão do conjunto de dados e os métodos de ajuste dependem do seu modelo e do que está a otimizar. Por exemplo, as tarefas especializadas e de nicho requerem um conjunto de dados mais pequeno para obter melhorias significativas. Para saber mais sobre o ajuste de modelos, consulte o artigo Ajuste os modelos de base de linguagem.
Avalie um modelo
A avaliação de modelos ajuda a avaliar como os seus comandos e personalizações afetam o desempenho de um modelo. Cada método de avaliação tem os seus próprios pontos fortes e fracos a ter em conta. Por exemplo, as avaliações baseadas em métricas podem ser automatizadas e dimensionadas rapidamente com uma forma quantificável de medir o desempenho. No entanto, as métricas podem simplificar demasiado os resultados e não ter em conta o contexto e as nuances da linguagem natural. Para mitigar estas lacunas, use uma vasta gama de métricas em combinação com avaliações humanas.
A IA generativa no Vertex AI oferece uma avaliação lado a lado automática, que lhe permite comparar o resultado de dois modelos com os dados reais. Um terceiro modelo ajuda a selecionar as respostas de maior qualidade. A avaliação lado a lado automática está ao nível dos avaliadores humanos, mas é mais rápida e está disponível a pedido. No entanto, para fazer as comparações, este método requer um modelo maior do que os modelos que está a avaliar, o que pode apresentar parcialidades inerentes. Por conseguinte, deve continuar a fazer algumas avaliações humanas.
Para todos os métodos de avaliação, precisa de um conjunto de dados de avaliação. Um conjunto de dados de avaliação inclui pares de comandos e dados reais (resposta ideal) que cria. Quando criar o conjunto de dados, inclua um conjunto diversificado de exemplos alinhados com a tarefa que está a avaliar para obter resultados significativos.
Implemente um modelo
A implementação de um modelo associa um ponto final e recursos de máquinas físicas ao seu modelo para a publicação de previsões online de baixa latência. Nem todos os modelos requerem implementação. Por exemplo, os modelos de base da Google disponíveis na IA generativa na Vertex AI já têm pontos finais. Os pontos finais são específicos do seu projeto do Google Cloud e estão imediatamente disponíveis para sua utilização. No entanto, se ajustar qualquer um desses modelos, tem de implementá-los num ponto final.
Quando implementa um modelo, decide se prefere implementá-lo num ambiente totalmente gerido ou num ambiente autogerido. Num ambiente totalmente gerido, seleciona os recursos físicos de que precisa, como o tipo de máquina e o tipo de acelerador, e, em seguida, o Vertex AI instancia e gere os recursos por si. Por exemplo, para ativar as previsões online em que o Vertex AI gere os recursos de implementação por si, consulte o artigo Implemente um modelo num ponto final. Num ambiente autogerido, tem um controlo mais detalhado sobre os seus recursos, mas gere-os por conta própria. Com os ambientes autogeridos, pode publicar modelos em plataformas como o GKE.
Depois de decidir que tipo de ambiente quer implementar, considere o tráfego previsto, os requisitos de latência e o orçamento. Tem de equilibrar estes fatores com os seus recursos físicos. Por exemplo, se a prioridade for um custo mais baixo, pode tolerar uma latência mais elevada com máquinas de custo mais baixo. Os ambientes de teste são um bom exemplo desta compensação. Para mais informações sobre como escolher um tipo de máquina, consulte o bloco de notas Determinar o tipo de máquina ideal a usar para os pontos finais da Vertex AI.
IA responsável
A IA generativa na Vertex AI foi concebida tendo em conta os princípios de IA da Google. No entanto, é importante testar os modelos para garantir que são usados de forma segura e responsável. Devido à incrível versatilidade dos MDI/CEs, é difícil prever respostas não intencionais ou imprevistas.
Quando desenvolve aplicações para o seu exemplo de utilização, considere as limitações dos modelos de IA generativa para poder mitigar corretamente o potencial uso indevido e problemas não intencionais. Um exemplo de uma limitação do modelo é que um modelo só é tão bom quanto os dados que usa. Se fornecer dados abaixo do ideal ao modelo, como dados imprecisos ou incompletos, não pode esperar um desempenho ideal. Verifique se os dados introduzidos e os comandos são precisos. Caso contrário, o modelo pode ter um desempenho inferior ao ideal ou gerar resultados falsos. Para saber mais sobre as limitações dos modelos de IA generativa, consulte o artigo sobre a IA responsável.
O que se segue?
- Experimente os tutoriais de notebooks do Vertex AI.
- Saiba mais sobre as operações de aprendizagem automática (MLOps) para IA generativa.