Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Os itens marcados como visualização neste artigo estão atualmente em versão prévia. Esta versão prévia é fornecida sem um contrato de nível de serviço (SLA), e a Microsoft não a recomenda para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares para Versões Prévias do Microsoft Azure.
Importante
O treinamento interativo requer aprovação de acesso explícita. Solicite acesso por meio do formulário de inscrição para a prévia e aguarde a aprovação antes de criar uma sessão de treinamento.
O treinamento interativo permite que seu programa controle como um modelo aprende enquanto o Microsoft Foundry executa o modelo. Seu programa, também chamado de driver de treinamento, escolhe os exemplos, avalia as respostas e decide quando atualizar o modelo.
Os conceitos a seguir explicam como as partes de um loop de treinamento se encaixam. Para obter detalhes de código e implementação, consulte a folha de referência do SDK.
Sessões de treinamento
Uma sessão de treinamento mantém o modelo e seu progresso de treinamento atual enquanto o experimento é executado. O driver solicita operações individuais, como gerar respostas ou aplicar uma atualização.
Uma sessão serve a uma finalidade diferente de um trabalho gerenciado ou implantação:
| Resource | Purpose |
|---|---|
| Sessão de treinamento interativa | Seu programa controla o loop de treinamento uma operação de cada vez. |
| Tarefa de ajuste fino gerenciada | O serviço executa um fluxo de trabalho de treinamento predefinido com base nos dados e nas configurações que você fornece. |
| Implantação de serviço | Um modelo treinado responde a solicitações de um aplicativo. |
O driver mantém a sessão ativa enquanto o experimento é executado. O progresso realizado somente na sessão não é um registro durável; um ponto de verificação de treinamento concluído o preserva.
Adaptadores LoRA
Um modelo base é o modelo com o qual você começa. Seus pesos são os valores aprendidos que moldam seu comportamento.
Um adaptador LoRA (adaptação de baixo posto) é um pequeno conjunto de pesos treináveis adicionados ao modelo base. O treinamento altera o adaptador em vez de treinar novamente todos os pesos originais do modelo.
O adapter contém o que seu experimento aprende. Ele permanece vinculado a um modelo base compatível; não é uma substituição autônoma para esse modelo.
Para obter detalhes sobre a implementação, consulte Criar uma sessão.
Níveis de treinamento
Um nível de treinamento descreve a opção de serviço usada para executar o treinamento. Os níveis podem diferir quanto a onde o treinamento é executado, como a capacidade é fornecida e as garantias de serviço que se aplicam.
As opções disponíveis para você dependem do modelo, região e projeto. As camadas de treinamento são separadas das opções de implantação usadas para disponibilizar um modelo treinado. Consulte os tipos de treinamento.
Formatação de mensagem
Suas mensagens precisam ser convertidas em uma forma que o modelo selecionado entenda. Esse formato também distingue os prompts do usuário, as respostas do assistente e as informações retornadas pelas ferramentas.
- Os tokens são pequenas unidades de texto, como palavras ou partes de palavra, que o modelo lê e gera.
- Um tokenizador converte o texto em tokens e tokens de volta em texto.
- Um modelo de chat organiza mensagens para que o modelo possa distinguir os alto-falantes e reconhecer onde uma resposta começa.
- Um renderizador prepara mensagens no formato do modelo e converte as respostas geradas de volta em conteúdo legível.
Modelos diferentes podem usar diferentes formatos de mensagem. A formatação consistente ajuda o programa de treinamento a identificar quais partes de uma interação devem contribuir para o aprendizado.
O treinamento baseado em imagem também requer um modelo de linguagem visual compatível e suporte de treinamento de imagem para seu projeto. Um formatador de mensagens que entende as imagens não indica que há treinamento disponível para elas.
O loop de treinamento
O treinamento interativo separa a geração de respostas, o cálculo de sinais de aprendizado e a aplicação de atualizações. Seu driver combina essas operações em um fluxo de trabalho.
| Operation | O que significa |
|---|---|
| Amostragem | O modelo gera respostas de um instantâneo selecionado do adaptador. |
| Passagem para frente | O modelo processa exemplos para que você possa medir a perda ou inspecionar sinais de aprendizado sem acumular mudanças para uma atualização do modelo. |
| Cálculo do gradiente | O treinamento calcula como os pesos do adaptador podem mudar para melhorar o objetivo de aprendizagem. |
| Atualização do otimizador | O otimizador aplica os gradientes acumulados para alterar o adaptador. |
| Avaliação | O controlador mede o desempenho em exemplos mantidos separados do treinamento. |
Gradientes descrevem possíveis alterações no adaptador. Um otimizador transforma esses gradientes em uma atualização. Calcular gradientes não altera o adaptador por si só.
Vários conjuntos de exemplos podem contribuir com gradientes para uma atualização. Após uma atualização, a amostragem precisa de um instantâneo atualizado para usar o estado aprendido mais recente do adaptador.
A avaliação usa exemplos de validação, que não são usados para treinamento, para verificar o desempenho na tarefa que importa para você. Uma menor perda de treinamento ou uma recompensa de treinamento mais alta por si só não estabelece um melhor desempenho.
Para obter as operações correspondentes no código, consulte a folha de referência do SDK.
Funções de perda e pesos de token
Uma função de perda expressa o objetivo que o treinamento busca melhorar. Ele transforma exemplos e sinais de aprendizagem em uma medida que orienta as alterações no adaptador.
| Abordagem de aprendizagem | O que orienta a atualização |
|---|---|
| Aprendizado supervisionado | As respostas desejadas mostram ao modelo o que produzir. |
| Aprendizado de reforço | Pontuações e comparações entre respostas geradas orientam qual comportamento fortalecer. |
Uma função de perda é uma parte de um fluxo de trabalho. Ele não escolhe seus exemplos, classifica respostas ou decide quando o treinamento é interrompido.
Os pesos de token controlam o quanto partes de um exemplo contribuem para o aprendizado. Máscaras excluem partes que não devem contribuir.
Por exemplo, um fluxo de trabalho de aprendizado supervisionado pode aprender com a resposta do assistente sem aprender a reproduzir o prompt do usuário.
Para aprendizado por reforço, o sinal de aprendizado também distingue as respostas geradas por modelo das informações fornecidas pelo usuário ou pelo ambiente. Ele usa informações do modelo que gerou cada resposta, mesmo que o modelo seja alterado posteriormente.
Objetivos personalizados podem combinar saídas de modelo com cálculos em seu controlador. O driver ainda coordena os sinais de aprendizado e as atualizações de modelo.
Para obter estruturas de dados e exemplos, consulte Preparar dados supervisionados e preparar dados RL.
Como os sinais de aprendizagem são combinados
Objetivos diferentes podem combinar sinais de aprendizagem de forma diferente, como adicioná-los ou fazer uma média deles. A combinação de abordagens incompatíveis em uma atualização pode alterar sua escala ou fazer com que o serviço a rejeite.
As contribuições para a mesma atualização precisam de uma maneira consistente de combinar sinais de aprendizado. Uma atualização é concluída antes que o fluxo de trabalho mude para uma abordagem incompatível.
Recompensas, lançamentos e vantagens
No aprendizado por reforço, o driver avalia o que o modelo faz e transforma essa avaliação em um sinal de aprendizado.
| Conceito | Meaning |
|---|---|
| Lançamento | Uma resposta gerada ou uma interação mais longa que pode incluir chamadas de ferramenta e observações. |
| Recompensa | Uma pontuação que descreve o quão bem uma implantação atende à meta da tarefa. Seu programa atribui essa pontuação. |
| Vantagem | Uma comparação que indica se uma resposta tem um desempenho melhor ou pior do que uma referência, como outras respostas para o mesmo prompt. |
Uma abordagem gera várias respostas ao mesmo prompt e compara cada recompensa com a recompensa média do grupo:
- Acima da média: A resposta tem uma vantagem positiva.
- Abaixo da média: A resposta tem uma desvantagem.
- Recompensas iguais: Todas as respostas não têm nenhuma vantagem, portanto, essa comparação não fornece nenhum sinal de aprendizado.
Para uma tarefa matemática, a recompensa pode refletir se a resposta final está correta. Uma pontuação de formatação alta por si só não estabelece que a resposta está correta.
Seu driver define as regras de classificação e o método de comparação. Para obter exemplos completos, explore o repositório de exemplos de ajuste fino.
Conclusão da operação
Cada operação leva tempo para ser executada. Aceitar uma solicitação é diferente de concluir o trabalho solicitado.
| Status | O que isso te diz |
|---|---|
| Aceito | O serviço recebe a solicitação. O trabalho ainda pode estar aguardando ou em execução. |
| Completed | A operação é concluída e seu resultado pode ser usado por uma operação dependente. |
| Tempo limite atingido | Seu motorista para de esperar. Isso não prova que a operação falha ou é interrompida no serviço. |
A ordem é importante: uma atualização depende da computação de gradiente concluída, e a amostragem de novos pesos depende de um recarregamento concluído. Um resultado ausente não é um resultado bem-sucedido ou uma medida com valor zero.
Para obter detalhes de implementação, consulte Usar operações assíncronas.
Checkpoints
Um ponto de verificação registra o estado do modelo em um determinado ponto. Pontos de verificação de treinamento e pontos de verificação de amostragem preservam informações diferentes.
| Tipo | O que preserva | Para o que você o usa |
|---|---|---|
| Checkpoint de treinamento | Os pesos aprendidos do adaptador e o registro do otimizador de atualizações anteriores. | Recuperando o progresso ou continuando o treinamento em uma sessão compatível. |
| Checkpoint do sampler | Um instantâneo dos pesos do adaptador para gerar respostas. | Amostragem de uma versão selecionada do adaptador, sem as informações necessárias para retomar o treinamento. |
Uma atualização do sampler prepara o estado mais recente do adaptador para geração. Ele não substitui um ponto de verificação de treinamento salvo e não cria necessariamente um artefato persistente.
Seu driver tem seu próprio progresso para preservar, como quais exemplos ele já usou e quando ocorre a avaliação. Um checkpoint do modelo não restaura esse progresso automaticamente.
Nenhum dos dois tipos de ponto de verificação é um endpoint do aplicativo. Usar o modelo treinado em um aplicativo é uma tarefa de implantação separada.
Para obter exemplos de código, consulte Salvar e retomar o treinamento.
Ciclo de vida da sessão
Encerrar a sessão libera os recursos de treinamento ativos de uma sessão. Ele serve a uma finalidade diferente de excluir a sessão e seus artefatos salvos.
| Action | Meaning |
|---|---|
| Inspecionar | Verifique o status da sessão e identifique seus pontos de verificação salvos. |
| Descarregar | Libere os recursos de computação da sessão ativa. Isso não é exclusão de ponto de verificação. |
| Delete | Remova a sessão. Isso também pode remover seus pontos de verificação e recursos de amostragem. |
Enviar uma solicitação de descarregamento não confirma que a limpeza foi concluída. Fechar a conexão de rede do driver também não é o mesmo que encerrar a sessão.
Um ponto de verificação de treinamento concluído preserva o progresso antes do término de uma sessão. Excluir a sessão pode remover esse estado salvo, portanto, a exclusão não é intercambiável com liberar recursos de computação.
Para obter detalhes sobre a implementação, consulte Close resources.
Conteúdo relacionado
Explore esses recursos quando estiver pronto para usar os conceitos:
- Comece com o treinamento interativo para executar uma receita de treinamento curta.
- Folha de referência do SDK para exemplos de código e detalhes de implementação.
- Exemplos de ajuste fino em GitHub para fluxos de trabalho de treinamento completos.