Neste documento, descrevemos como definir um conjunto de dados de ajuste fino supervisionado para um modelo do Gemini.
Sobre conjuntos de dados de ajuste fino supervisionados
Um conjunto de dados de ajuste fino supervisionado é usado para ajustar um modelo pré-treinado para uma tarefa ou domínio específico. Os dados de entrada precisam ser semelhantes ao que você espera que o modelo encontre no uso real. Os rótulos de saída precisam representar as respostas ou os resultados corretos para cada entrada.
Conjunto de dados de treinamento
Para ajustar um modelo, você fornece um conjunto de dados de treinamento. Esse conjunto precisa incluir no mínimo 16 exemplos. Para melhores resultados, recomendamos que você forneça pelo menos de 100 a 500 exemplos. Quanto mais exemplos você fornecer no conjunto de dados, melhores serão os resultados. Não há limite para o número de exemplos em um conjunto de dados de treinamento.
Conjunto de dados de validação
Se possível, forneça também um conjunto de dados de validação. Um conjunto de dados de validação ajuda a medir a eficácia de um job de ajuste. Os conjuntos de dados de validação aceitam até 256 exemplos.
Para conjuntos de dados de amostra, consulte Conjuntos de dados de amostra nesta página.
Formato do conjunto de dados
O conjunto de dados de ajuste de modelos precisa estar no formato linhas JSON (JSONL) em que cada linha contém um único exemplo de ajuste. Antes de ajustar o modelo, faça upload do conjunto de dados para um bucket do Cloud Storage.
Cada exemplo de conversa em um conjunto de dados de ajuste é composto por um campo
messages
obrigatório.
O campo
messages
consiste em uma matriz de pares autor-conteúdo. O camporole
se refere ao autor da mensagem e está definido comosystem
,user
oumodel
. O papelsystem
é opcional e só pode ocorrer no primeiro elemento da lista de mensagens. Os papéisuser
oumodel
são obrigatórios e podem se repetir de maneira alternada.O campo
content
é o conteúdo da mensagem.Em cada exemplo, o tamanho máximo combinado para
context
emessages
é de 32.768 tokens. Além disso, cada campocontent
para o campomodel
não deve exceder 8.192 tokens.
Exemplo de curva única
Para mais detalhes sobre o esquema do Gemini a seguir, consulte Migrar os ajustes da API PaLM para a API Gemini.
[
{
"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" }
]
}
]
Exemplo de várias voltas
Para mais detalhes sobre o esquema do Gemini a seguir, consulte Migrar os ajustes da API PaLM para a API Gemini.
{
"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."
}
]
}
Conjuntos de dados de amostra
É 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.
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",
...
Manter a consistência com os dados de produção
Os exemplos nos seus conjunto de dados precisam corresponder ao tráfego de produção esperado. Se o conjunto de dados contiver formatação, palavras-chave, instruções ou informações específicas, os dados de produção deverão ser formatados da mesma maneira e conter as mesmas instruções.
Por exemplo, se os exemplos no seu conjunto de dados incluem um "question:"
e um "context:"
, o tráfego de produção também deve ser formatado para incluir um "question:"
e um "context:"
na mesma ordem em que aparece no exemplos de conjuntos de dados. Se você excluir o contexto, o modelo não reconhecerá o padrão,
mesmo que a pergunta exata esteja em um exemplo no conjunto de dados.
Fazer upload de conjuntos de dados de ajuste para o Cloud Storage
Para executar um job de ajuste, é preciso fazer upload de um ou mais conjuntos de dados para um bucket do Cloud Storage. É possível criar um novo bucket do Cloud Storage ou usar um existente para armazenar arquivos de conjuntos de dados. A região do bucket não importa, mas recomendamos que você use um bucket que esteja no mesmo projeto do Google Cloud em que planeja executar o ajuste do modelo.
Quando o bucket estiver pronto, faça o upload do arquivo do conjunto de dados para o bucket.
A seguir
- Para informações gerais sobre como o ajuste funciona, consulte a Visão geral do ajuste de modelos para o Gemini.
- Escolha uma região para ajustar um modelo.
- Para saber como o ajuste fino supervisionado pode ser usado em uma solução que cria uma base de conhecimento de IA generativa, consulte Solução de início rápido: base de conhecimento de IA generativa.