As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Opção 2: usar logs de invocação para preparação de dados
Ao criar um trabalho de destilação, você pode fazer com que o Amazon Bedrock use as respostas existentes dos professores dos registros de invocação do CloudWatch Logs como dados de treinamento. Para o Amazon Bedrock, um log de invocação é um registro detalhado das invocações do modelo.
Para usar os logs de invocação para destilação de modelos, defina o registro em log de invocação do modelo, use uma das operações de invocação do modelo e configure um bucket do Amazon S3 como destino para os logs. Antes de iniciar o trabalho de destilação de modelos, você deve fornecer permissões ao Amazon Bedrock para acessar os logs. Para obter mais informações sobre como configurar os registros de invocação, consulte Monitorar a invocação do modelo usando o Amazon Logs. CloudWatch
Com essa opção, você pode especificar se deseja que o Amazon Bedrock use somente os prompts ou use pares de prompt-resposta do log de invocação. Se você quiser que o Amazon Bedrock use somente prompts, o Amazon Bedrock poderá adicionar técnicas de síntese de dados proprietários para gerar respostas diversas e de maior qualidade por meio do modelo instrutor. Se você quiser que o Amazon Bedrock use pares de prompt-resposta, o Amazon Bedrock não gerará novamente as respostas por meio do modelo instrutor. O Amazon Bedrock usará diretamente as respostas do log de invocação para ajustar o modelo aprendiz.
Importante
É possível fornecer no máximo 15 mil prompts ou pares de prompt-resposta ao Amazon Bedrock para ajustar o modelo aprendiz. Para garantir que o modelo aprendiz seja ajustado para atender às suas necessidades específicas, é altamente recomendável o seguinte:
-
Se você quiser que o Amazon Bedrock use somente prompts, garanta que haja pelo menos cem pares de prompt-resposta gerados em todos os modelos.
-
Se você quiser que o Amazon Bedrock use respostas de seus logs de invocação, garanta que haja em seus logs de invocação pelo menos cem pares de prompt-resposta gerados pelo modelo que correspondam exatamente ao modelo instrutor escolhido.
Opcionalmente, você pode adicionar metadados de solicitação aos pares de prompt-resposta no log de invocação usando uma das operações de invocação do modelo e depois usá-los para filtrar os logs. O Amazon Bedrock pode usar os logs filtrados para ajustar o modelo aprendiz.
Para filtrar os logs usando vários metadados de solicitação, use um único operador booliano AND, OR ou NOT. Não é possível combinar as operações. Para filtragem de metadados de solicitação única, use o operador booliano NOT.
Adicionar metadados de solicitação aos prompts e respostas em logs de invocação para destilação de modelos
O registro em log de invocação de modelo coletam logs de invocação, dados de entrada do modelo (prompts) e dados de saída do modelo (respostas) para todas as invocações usadas no Amazon Bedrock. Se você habilitou o registro em log, poderá coletar os logs sempre que interagir com os modelos de base do Amazon Bedrock por meio de qualquer operação de API Invoke ou Converse. Se quiser que o Amazon Bedrock use os prompts e as respostas associadas do log de invocação para ajustar o modelo aprendiz, você deve dar ao Amazon Bedrock acesso a esses logs. Usar as respostas que um modelo já gerou agiliza o ajuste fino do modelo aprendiz. O uso de respostas dos logs de invocação também torna a destilação de modelos mais econômica. No entanto, as técnicas de síntese de dados proprietários do Amazon Bedrock não são adicionadas, o que pode gerar um modelo destilado com melhor desempenho.
Com os logs de invocação, você pode identificar os pares de prompt-resposta que você deseja que o Amazon Bedrock use para destilação de modelos. Esses pares de prompt-resposta podem ser para casos de uso específicos. Para identificar os pares de prompt-resposta a serem usados na destilação, você deve adicionar uma string de metadados de solicitação aos pares de prompt-resposta ao invocar um modelo ou usar a operação de API Converse. Os metadados da solicitação são fornecidos no formato ". priority" :
"High"
À medida que você interage com o modelo usando as operações de API Converse ou Invoke, as interações e os metadados da solicitação são registrados nos logs de invocação. Veja abaixo um exemplo de log de invocação de uma chamada InvokeModel que mostra os metadados da solicitação:
{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-09-11T17:16:18Z", "accountId": "XXXXX", "identity": { "arn": "arn:aws:sts::XXXXXXX:assumed-role/Admin/XXXXXX" }, "region": "us-east-1", "requestId": "7ee514f3-9eff-467c-af75-8fd564ce58e5", "operation": "InvokeModel", "modelId": "meta.llama3-1-405b-instruct-v1:0", "input": { "inputContentType": "application/json", "inputBodyJson": { "prompt": "story of two dogs", "max_tokens_to_sample": 300 }, "inputTokenCount": 13 }, "output": { "outputContentType": "application/json", "outputBodyJson": { "type": "completion", "completion": " Here is a story about two dogs:\n\nRex and Charlie were best friends who lived next door to each other. Every morning, their owners would let them out into the backyard to play. Rex was a golden retriever with long, shaggy fur. He loved to run and chase sticks. Charlie was a corgi with short legs and a big smile. He was happy just sniffing the grass and rolling around. \n\nThe two dogs spent every day playing together. Rex would grab a stick and bring it over to Charlie, wagging his tail excitedly. Charlie would take the other end of the stick in his mouth and they'd have a friendly game of tug-of-war. After tiring themselves out, they'd flop down in the warm sunshine for a nap. \n\nAt lunchtime, their owners would call them in for food. Rex would gobble up his kibble hungrily while Charlie ate his at a more leisurely pace. After lunch, it was right back outside for more playtime. The afternoon sunbeams would light up their fur as they chased each other around the yard. \n\nWhen it started getting late, their owners called them in for the night. Rex and Charlie would head inside, tired but happy after another fun day of play. After slurping up fresh water from their bowls, they'd curl up on their beds, Rex's fluffy golden tail tucked over his nose and little", "stop_reason": "max_tokens", "stop": null }, "outputTokenCount": 300 }, "requestMetadata": { "project": "CustomerService", "intent": "ComplaintResolution", "priority": "High" } }
Você pode especificar o log de invocação como sua fonte de dados de entrada ao iniciar um trabalho de destilação de modelos. Você pode iniciar o trabalho de destilação de modelos no console Amazon Bedrock, usando a API ou o SDK. AWS CLI AWS
Requisitos para fornecer metadados de solicitação
Os metadados solicitados devem cumprir os seguintes requisitos:
-
Fornecido no formato JSON
key:value. -
O par de chave-valor deve ser uma string de no máximo 256 caracteres.
-
Forneça no máximo de 16 pares de chave-valor.
Usar filtros de metadados de solicitação
Você pode aplicar filtros para solicitar metadados para escolher seletivamente quais pares de prompt-resposta incluir na destilação para ajustar o modelo aprendiz. Por exemplo, talvez você queira incluir somente aqueles com metadados de solicitação “project”: CustomerService "" e “priority”: “High”.
Para filtrar os logs usando vários metadados de solicitação, use um único operador booliano AND, OR ou NOT. Não é possível combinar as operações. Para filtragem de metadados de solicitação única, use o operador booliano NOT.
Você pode especificar o log de invocação como sua fonte de dados de entrada e quais filtros usar para selecionar os pares de prompt-resposta ao iniciar um trabalho de destilação de modelos. Você pode iniciar o trabalho de destilação de modelos no console Amazon Bedrock, usando a API ou o SDK. AWS CLI AWS Para obter mais informações, consulte Enviar um trabalho de destilação de modelos no Amazon Bedrock.
Validar o conjunto de dados
Antes de executar um trabalho de destilação, é possível validar o conjunto de dados de entrada usando um script Python