Exemplos de ajuste de modelos de texto do Gemini

Nesta página, mostramos as etapas recomendadas para ajustar um modelo de texto com o Gemini. Este guia aborda casos de uso de classificação, análise de sentimento e extração.

Limitações

  • Os modelos do Gemini não oferecem suporte a pontuações de confiança.
  • O Gemini não pode fornecer pontuações numéricas para a análise de sentimento. Isso limita a capacidade de estimar o sentimento com base em um limite numérico.

Para melhorar a confiabilidade das saídas do seu modelo de IA, considere incorporar métodos como a autoconsistência para a pontuação de confiança. Essa técnica gera várias saídas do modelo para a mesma entrada e emprega um sistema de votação de maioria para determinar a saída mais provável. A pontuação de confiança pode ser representada como uma proporção que reflete a proporção de vezes que a saída da maioria foi gerada.

Para tarefas de análise de sentimento, considere usar um LLM como avaliador para fornecer pontuações de confiança verbal. Peça ao modelo para analisar o sentimento e retornar uma pontuação verbal (por exemplo, "muito provável") em vez de uma pontuação numérica. As pontuações verbais são geralmente mais interpretáveis e menos propensas a viés no contexto de LLMs.

Ajuste de modelos de texto com o Gemini

Há duas opções que podem ser usadas para ajustar modelos de texto para classificação, extração e análise de sentimento com o Gemini, solicitando um modelo pré-treinado e ajuste fino personalizado.

  • Comando com modelos pré-treinados do Gemini: o comando é a arte de criar instruções eficazes para orientar modelos de IA como o Gemini na geração das saídas desejadas. Isso envolve a criação de comandos que transmitam claramente a tarefa, o formato desejado e qualquer contexto relevante. É possível usar os recursos do Gemini com uma configuração mínima. É ideal para:

    • Dados rotulados limitados: se você tiver uma pequena quantidade de dados rotulados ou não puder fazer um processo de ajuste fino longo.
    • Prototipagem rápida: quando você precisa testar rapidamente um conceito ou obter uma performance de referência sem investir muito em ajustes.
  • Ajuste personalizado dos modelos do Gemini: para resultados mais personalizados, o Gemini permite ajustar os modelos nos seus conjuntos de dados específicos. Para criar um modelo de IA que se destaque no seu domínio específico, considere fazer ajustes. Isso envolve o treinamento do modelo base no seu próprio conjunto de dados rotulados, adaptando os pesos à sua tarefa e aos dados. Você pode adaptar o Gemini aos seus casos de uso. O ajuste fino é mais eficaz quando:

    • Você tem dados rotulados: um conjunto de dados considerável para treinamento (pense em 100 exemplos ou mais), que permite que o modelo aprenda profundamente as especificidades da sua tarefa.
    • Tarefas complexas ou únicas: para cenários em que as estratégias de solicitação avançadas não são suficientes e um modelo adaptado aos seus dados é essencial.

Se possível, teste as duas abordagens para saber qual delas produz melhores resultados para seu caso de uso específico. Recomendamos começar com a solicitação para encontrar a melhor opção. Em seguida, vá para o ajuste fino (se necessário) para aumentar ainda mais a performance ou corrigir erros recorrentes.

Embora adicionar mais exemplos possa ser benéfico, é importante avaliar onde o modelo comete erros antes de adicionar mais dados. Independentemente da abordagem, dados de alta qualidade e bem identificados são essenciais para uma boa performance e são melhores do que a quantidade. Além disso, os dados usados para o ajuste fino precisam refletir o tipo de dados que o modelo vai encontrar na produção. Para desenvolvimento, implantação e gerenciamento de modelos, consulte a documentação principal da Vertex AI.

Como usar o Gemini

Para usar os recursos de compreensão de linguagem dos modelos Gemini, forneça alguns exemplos da sua tarefa (classificação, extração, análise de sentimento) no próprio comando. O modelo aprende com esses exemplos e aplica esse conhecimento à nova entrada.

As técnicas de solicitação comuns que podem ser usadas para otimizar os resultados incluem:

  • Comandos zero-shot: instruem diretamente o modelo a realizar uma tarefa sem fornecer exemplos específicos.
  • Comandos de poucos disparos (few-shot): fornecer alguns exemplos com as instruções para orientar a compreensão do modelo.
  • Comandos de cadeia de pensamento: divida tarefas complexas em etapas menores e guie o modelo em cada etapa sequencialmente.

Embora o design de comandos seja flexível, algumas estratégias podem orientar a saída de um modelo. Testes e avaliações completos são essenciais para otimizar a performance.

Os modelos de linguagem grandes (LLMs), treinados com dados de texto massivos, aprendem padrões e relações de linguagem. Com um comando, esses modelos preveem a continuação mais provável, semelhante ao preenchimento automático avançado. Portanto, ao criar comandos, considere os fatores que influenciam a previsão de um modelo.

O processo de engenharia de comando é ilustrado no diagrama a seguir: O processo de engenharia de comando

Prepare dados de entrada

Você pode usar algumas técnicas de solicitação diferentes. Os exemplos a seguir demonstram como usar a técnica de poucas perguntas:

Classificação

Solicitação

               Classify the following as red wine or white wine:
               
                  Name: Chardonnay
                  Type: White wine
                  Name: Cabernet
                  Type: Red wine
                  Name: Moscato
                  Type: White wine
               
               Name: Riesling
               Type:
            

Resposta

         White wine
         

Extração

Solicitação

            Extract the technical specifications from the text below in a JSON format.
INPUT: Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz frequencies, WP3 protocol OUTPUT: { "product":"Google Nest Wifi", "speed":"1200Mpbs", "frequencies": ["2.4GHz", "5GHz"], "protocol":"WP3" } Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass

Resposta

         {
         "product": "Google Pixel 7",
         "network": "5G",
         "ram": "8GB",
         "processor": "Tensor G2",
         "storage": "128GB",
         "color": "Lemongrass"
         }
         

Análise de sentimento

Solicitação

            Classify the sentiment of the message. Please only print the category name without anything else.
            
               Message: I had to compare two versions of Hamlet for my Shakespeare class and unfortunately I picked this version. Everything from the acting (the actors deliver most of their lines directly to the camera) to the camera shots (all medium or close up shots...no scenery shots and very little back ground in the shots) were absolutely terrible. I watched this over my spring break and it is very safe to say that I feel that I was gypped out of 114 minutes of my vacation. Not recommended by any stretch of the imagination.
               Category: negative
               Message: This Charles outing is decent but this is a pretty low-key performance. Marlon Brando stands out. There's a subplot with Mira Sorvino and Donald Sutherland that forgets to develop and it hurts the film a little. I'm still trying to figure out why Charlie want to change his name.
               Category: negative
Message: My family has watched Arthur Bach stumble and stammer since the movie first came out. We have most lines memorized. I watched it two weeks ago and still get tickled at the simple humor and view-at-life that Dudley Moore portrays. Liza Minelli did a wonderful job as the side kick - though I'm not her biggest fan. This movie makes me just enjoy watching movies. My favorite scene is when Arthur is visiting his fiancée's house. His conversation with the butler and Susan's father is side-spitting. The line from the butler, "Would you care to wait in the Library" followed by Arthur's reply, "Yes I would, the bathroom is out of the question", is my NEWMAIL notification on my computer.

Resposta

         Positive
         

Receber uma resposta de previsão

Confira um exemplo de resposta de código Python para o exemplo de classificação. Para mais informações, consulte a Visão geral da IA generativa na Vertex AI.

from vertexai import generative_models
from vertexai.generative_models import GenerativeModel

model = GenerativeModel(model_name="gemini-1.5-flash-001")
response = model.generate_content(["Classify the following as red wine or white wine:

<examples>
Name: Chardonnay
Type: White wine
Name: Cabernet
Type: Red wine
Name: Moscato
Type: White wine
</examples>

Name: Riesling
Type: "])

Como fazer ajustes finos com o Gemini 1.0 Pro

Com o ajuste fino, você pode adaptar o Gemini 1.0 Pro às suas necessidades específicas. Siga estas etapas para ajustar o Gemini 1.0 Pro com seus próprios dados:

Preparar dados de treinamento

Converta seus dados de treinamento no formato de ajuste fino do Gemini, que usa uma estrutura de arquivo JSONL. Cada linha no arquivo precisa representar um único exemplo de treinamento. Cada exemplo de treinamento precisa seguir esta estrutura:

{"messages": [{"role": "system", "content": "<system_context>"}, {"role": "user", "content": "<user_input>"}, {"role": "model", "content": "<desired_output>"}]}

Confira um exemplo de entrada com dois pontos de dados:

{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}, {"role": "user", "content": "Diversify your investment portfolio"}, {"role": "model", "content": "business"}]}
{"messages": [{"role": "system", "content": "You should classify the text into one of the following classes:[business, entertainment]"}, {"role": "user", "content": "Watch a live concert"}, {"role": "model", "content": "entertainment"}]}

Para instruções abrangentes e mais exemplos, consulte o guia oficial de preparação de conjuntos de dados do Gemini.

Executar o pipeline de ajuste fino

Para iniciar o job de ajuste fino do Gemini, siga este guia detalhado usando a interface do usuário, o Python ou a API REST. Durante a configuração, selecione a versão do modelo Gemini, configure os hiperparâmetros de ajuste fino e especifique as configurações gerais. Recomendamos testar diferentes valores para épocas, multiplicador de taxa de aprendizado e tamanhos de adaptador. Para conjuntos de dados com 500 a 1.000 exemplos, começar com as seguintes configurações para entender bem o aprendizado do modelo e encontrar as configurações de parâmetros ideais para sua tarefa:

  • epochs=2, learning_rate_multiplier=1, adapter_size=1;
  • epochs=4, learning_rate_multiplier=1, adapter_size=1 (padrão);
  • epochs=6, learning_rate_multiplier=1, adapter_size=4;
  • epochs=12, learning_rate_multiplier=4, adapter_size=4; e
  • epochs=12, learning_rate_multiplier=4, adapter_size=1.

Ao avaliar o desempenho de uma ou duas configurações diferentes, você pode identificar quais parâmetros e modificações são mais eficazes para melhorar a performance. Se o nível de desempenho desejado não for alcançado, continue testando essas configurações promissoras.

Ferramentas e técnicas de avaliação

A avaliação consistente e comparável do modelo é essencial para entender a performance e tomar decisões informadas. Confira algumas técnicas e ferramentas para lembrar durante a avaliação do modelo:

  1. Manter uma metodologia de avaliação consistente: use as mesmas métricas e métodos de avaliação para modelos ajustados e solicitados. Isso facilita a comparação direta e imparcial. Sempre que possível, use o mesmo conjunto de dados de avaliação usado durante o desenvolvimento e a implantação do modelo. Isso garante uma comparação justa entre os tipos de modelo e ajuda a identificar discrepâncias de qualidade.
  2. Ferramentas e técnicas de avaliação Serviço de avaliação de IA generativa da Vertex AI: oferece avaliações síncronas e de baixa latência em pequenos lotes de dados. Adequado para avaliações sob demanda, iteração rápida e experimentação. Integra-se a outros serviços da Vertex AI com o SDK do Python.
  3. Recomendação para classificação, extração e análise de sentimento: inclua a métrica exact_match ao usar o serviço de avaliação.

Implantação

Para implantar o modelo ajustado, consulte Implantar um modelo ajustado.

A seguir