Cada chamada que você envia a um modelo inclui valores de parâmetros que controlam como o modelo gera uma resposta. O modelo pode gerar diferentes resultados para diferentes valores de parâmetros. Teste diferentes valores de parâmetros para conseguir os melhores valores para a tarefa. Os parâmetros disponíveis para modelos diferentes podem ser diferentes.
A configuração é mantida durante o ciclo de vida do serviço inicializado do Vertex AI e da instância de modelo. Para atualizar a configuração do modelo, a instância dele precisa ser reinicializada.
Mais adiante nesta página, você aprenderá a configurar parâmetros do modelo.
Descrição de cada parâmetro
Os parâmetros mais comuns são:
- Máximo de tokens de saída
- Temperatura
- Top-K (link em inglês)
- Top-P
Saiba mais sobre cada um desses parâmetros nas próximas seções desta página.
Máximo de tokens de saída
Número máximo de tokens que podem ser gerados na resposta. Um token tem cerca de quatro caracteres. 100 tokens correspondem a cerca de 20 palavras.
Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas mais longas.
Temperatura
A temperatura é usada para amostragem durante a geração da resposta, que ocorre quando topP
e topK
são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token. Temperaturas mais baixas são boas para comandos que exigem uma resposta mais determinista
e menos aberta
ou criativa, enquanto temperaturas maiores podem levar a resultados mais diversos ou
criativos. Uma temperatura de 0
é determinista, o que significa que a
resposta de maior probabilidade é sempre selecionada.
Na maioria dos casos de uso, é melhor começar com a temperatura 0.2
. Se o modelo retornar uma resposta muito genérica, muito curta ou se o modelo fornecer uma resposta substituta, tente aumentar a temperatura.
Top-K
O top-k muda a forma como o modelo seleciona tokens para saída. Um top-K de
1
significa que o próximo token selecionado é o mais provável entre todos
os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de
3
significa que o próximo token está selecionado entre os três tokens mais
prováveis usando a temperatura.
Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas
mais aleatórias. O top-K padrão é 40
.
Top-P
O top-p muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados
do mais provável (veja o top-K) para o menos provável até que a soma das probabilidades
seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de 0,3, 0,2 e 0,1 e o valor de top-P for 0.5
, o modelo selecionará A ou B como token seguinte usando temperatura e exclui C como
candidato.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas
mais aleatórias. O top-P padrão é 0.95
.
Configurar parâmetros do modelo
Configure os parâmetros do modelo no
generationConfig
durante a inicialização do modelo. Este é um exemplo básico:
Kotlin+KTX
// ...
val config = generationConfig {
maxOutputTokens = 200
stopSequences = listOf("red")
temperature = 0.9f
topK = 16
topP = 0.1f
}
val generativeModel = Firebase.vertexAI.generativeModel(
modelName = "MODEL_NAME",
generationConfig = config
)
// ...
Java
// ...
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
GenerationConfig generationConfig = configBuilder.build();
GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
"MODEL_NAME",
generationConfig
);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// ...
Outras opções para controlar a geração de conteúdo
- Saiba mais sobre o design de comando para influenciar o modelo a gerar resultados específicos para suas necessidades.
- Use as configurações de segurança para ajustar a probabilidade de receber respostas que possam ser consideradas nocivas, incluindo discurso de ódio e conteúdo sexualmente explícito.
- Defina instruções do sistema para orientar o comportamento do modelo. Esse recurso é como um "preâmbulo" que você adiciona antes que o modelo seja exposto a outras instruções do usuário final.
- Transmita um esquema de resposta com o comando para especificar um esquema de saída específico. Esse recurso é usado com mais frequência ao gerar saída JSON, mas também pode ser usado para tarefas de classificação, como quando você quer que o modelo use rótulos ou tags específicos.