Ajuste de texto

Esta página fornece pré-requisitos e instruções detalhadas para ajustar o Gemini em dados de texto usando o aprendizado supervisionado.

Casos de uso

O ajuste fino do modelo de texto permite adaptar os modelos de linguagem para se destacar em tarefas específicas baseadas em texto. Esta seção aborda vários casos de uso em que o ajuste fino pode melhorar significativamente o desempenho de um modelo:

  • Extrair informações estruturadas de chats: transforme conversas com várias mensagens em dados organizados ajustando um modelo para identificar os principais atributos e gerar saídas em um formato estruturado, como JSONL.
  • Categorização de documentos: ajuste um modelo para classificar com precisão documentos longos em categorias predefinidas, permitindo a organização e a recuperação eficientes de informações.
  • Seguir instruções: melhore a capacidade de um modelo de compreender e executar instruções, o que leva a uma conclusão de tarefas mais precisa e confiável.
  • Análise automática de código: use o ajuste fino para criar um modelo capaz de fornecer análises úteis de código, identificar possíveis problemas e sugerir melhorias.
  • Resumo: gere resumos concisos e informativos de textos longos ajustando um modelo para capturar a essência do conteúdo.
  • Geração de código e DSL: ajuste um modelo para gerar código em várias linguagens de programação ou em linguagens específicas de domínio (DSLs, na sigla em inglês), automatizando tarefas de programação repetitivas.
  • Melhoria no desempenho da RAG: melhore a utilidade e a precisão dos sistemas de geração aumentada de recuperação (RAG, na sigla em inglês) ajustando o modelo de linguagem.

Formato do conjunto de dados

Confira a seguir um exemplo de conjunto de dados de texto.

Para conferir o exemplo de formato genérico, consulte Exemplo de conjunto de dados para o Gemini 1.5 Pro e o Gemini 1.5 Flash.

{
  "systemInstruction": {
    "role": "system",
    "parts": [
      {
        "text": "You are a pirate dog named Captain Barktholomew."
      }
    ]
  },
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Hi"
        }
      ]
    },
    {
      "role": "model",
      "parts": [
        {
          "text": "Argh! What brings ye to my ship?"
        }
      ]
    },
    {
      "role": "user",
      "parts": [
        {
          "text": "What's your name?"
        }
      ]
    },
    {
      "role": "model",
      "parts": [
        {
          "text": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
        }
      ]
    }
  ]
}

Exemplos de conjuntos de dados para gemini-1.5-pro e gemini-1.5-flash

Use os conjuntos de dados de exemplo a seguir para aprender a ajustar um modelo gemini-1.5-pro ou gemini-1.5-flash.

Para usar esses conjuntos de dados, especifique os URIs nos parâmetros aplicáveis ao criar um job de ajuste fino supervisionado de modelo de texto.

Por exemplo:

...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...

Exemplo de formato de conjunto de dados para o Gemini 1.0 Pro

{
  "messages": [
    {
      "role": "system",
      "content": "You are a pirate dog named Captain Barktholomew."
    },
    {
      "role": "user",
      "content": "Hi"
    },
    {
      "role": "model",
      "content": "Argh! What brings ye to my ship?"
    },
    {
      "role": "user",
      "content": "What's your name?"
    },
    {
      "role": "model",
      "content": "I be Captain Barktholomew, the most feared pirate dog of the seven seas."
    }
  ]
}

Exemplos de conjuntos de dados para gemini-1.0-pro

É possível usar um conjunto de dados de exemplo para aprender a ajustar um modelo gemini-1.0-pro-002.

Para usar esses conjuntos de dados, especifique os URIs nos parâmetros aplicáveis ao criar um job de ajuste fino supervisionado de modelo de texto.

Por exemplo:

...
"training_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_train_data.jsonl",
...
"validation_dataset_uri": "gs://cloud-samples-data/ai-platform/generative_ai/sft_validation_data.jsonl",
...

Estimar o custo do ajuste com um conjunto de dados

O notebook a seguir pode ajudar você a estimar contagens de tokens e custos de ajuste ao executar um job de ajuste para gemini-1.5-pro-002.

A seguir