Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Important
Os itens marcados como pré-visualização neste artigo estão atualmente em pré-visualização. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e a Microsoft não a recomenda para cargas de trabalho de produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos Suplementares de Utilização para Microsoft Azure Previews.
Important
A formação interativa requer aprovação explícita de acesso. Solicite acesso através do formulário de inscrição para pré-visualização e aguarde aprovação antes de criar uma sessão de formação.
O treino interativo permite que o seu programa controle como um modelo aprende enquanto a Microsoft Foundry executa o modelo. O seu programa, também chamado de driver de treino, escolhe os exemplos, avalia as respostas e decide quando atualizar o modelo.
Os conceitos abaixo explicam como as partes de um ciclo de treino se encaixam. Para detalhes de código e implementação, consulte a folha de dicas do SDK.
Sessões de formação
Uma sessão de formação mantém o modelo e o seu progresso atual enquanto decorre o seu experimento. O seu controlador solicita operações individuais, como gerar respostas ou aplicar uma atualização.
Uma sessão serve um propósito diferente de uma tarefa gerida ou de uma implantação gerida:
| Resource | Purpose |
|---|---|
| Sessão de formação interativa | O seu programa controla o ciclo de treino, uma operação de cada vez. |
| Tarefa de ajuste fino gerida | O serviço executa um fluxo de trabalho de treino pré-definido a partir dos dados e definições que fornece. |
| Implantação de serving | Um modelo treinado responde a pedidos de uma aplicação. |
O teu driver mantém a sessão ativa enquanto o experimento decorre. O progresso realizado apenas na sessão não é um registo duradouro; um ponto de controlo de treino concluído preserva-o.
Adaptadores LoRA
Um modelo base é o modelo com que se começa. Os seus pesos são os valores aprendidos que moldam o seu comportamento.
Um adaptador de adaptação de baixo posto (LoRA) é um pequeno conjunto de pesos treináveis adicionados ao modelo base. O treino altera o adaptador em vez de voltar a treinar todos os pesos originais do modelo.
O adaptador contém o que o teu experimento aprende. Continua ligado a um modelo base compatível; não é um substituto independente desse modelo.
Para detalhes de implementação, consulte Criar uma sessão.
Níveis de formação
Um escalão de treino descreve a opção de serviço utilizada para realizar o treino. Os níveis podem variar onde o treino é executado, como a capacidade é fornecida e as garantias de serviço aplicáveis.
As opções disponíveis dependem do modelo, região e projeto. Os níveis de treino são separados das opções de implementação utilizadas para servir um modelo treinado. Veja Tipos de Treino.
Formatação de mensagens
As suas mensagens precisam de ser convertidas numa forma que o modelo selecionado compreenda. Esse formato também distingue os prompts do utilizador, as respostas dos assistentes e a informação devolvida pelas ferramentas.
- Os tokens são pequenas unidades de texto, como palavras ou partes de palavras, que o modelo lê e gera.
- Um tokenizador converte texto em tokens e tokens de volta em texto.
- Um modelo de chat organiza as mensagens para que o modelo possa distinguir os oradores e reconhecer onde começa uma resposta.
- Um renderizador prepara mensagens no formato do modelo e converte as respostas geradas de volta em conteúdo legível.
Modelos diferentes podem usar formatos de mensagem diferentes. Uma formatação consistente ajuda o programa de formação a identificar quais as partes de uma interação que devem contribuir para a aprendizagem.
O treino baseado em imagem também requer um modelo de linguagem visual compatível e suporte de treino de imagem para o seu projeto. Um formador de mensagens que compreende imagens não significa que há formação disponível para essas imagens.
O loop de treino
A formação interativa separa a geração de respostas, o cálculo dos sinais de aprendizagem e a aplicação de atualizações. O seu controlador combina estas operações num fluxo de trabalho.
| Operation | O que significa |
|---|---|
| Amostragem | O modelo gera respostas a partir de um snapshot selecionado do adaptador. |
| Passagem direta | O modelo processa exemplos para que possas medir a perda ou inspecionar sinais de aprendizagem sem acumular alterações para uma atualização. |
| Cálculo de gradiente | O treino do modelo 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 seu controlador mede o desempenho com exemplos mantidos separados do treino. |
Gradientes descrevem possíveis alterações no adaptador. Um otimizador transforma esses gradientes numa 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 snapshot atualizado para usar o estado mais recente aprendido do adaptador.
A avaliação usa exemplos reservados, que não são usados para treino, para avaliar o desempenho na tarefa que lhe interessa. Uma menor perda de treino ou uma recompensa mais alta por si só não estabelecem melhor desempenho.
Para as operações correspondentes no código, veja a folha de dicas do SDK.
Funções de perda e pesos dos tokens
Uma função de perda expressa o objetivo que o treino procura melhorar. Transforma exemplos e sinais de aprendizagem numa medida que orienta as alterações ao adaptador.
| Abordagem de aprendizagem | O que orienta a atualização |
|---|---|
| Aprendizagem supervisionada | As respostas desejadas mostram ao modelo o que deve produzir. |
| Aprendizagem por reforço | As pontuações e comparações entre as respostas geradas orientam qual o comportamento a fortalecer. |
Uma função de perda é uma parte de um fluxo de trabalho. Não escolhe os teus exemplos, atribui notas às respostas, nem decide quando o treino termina.
Os pesos dos tokens controlam o quão fortemente partes de um exemplo contribuem para a aprendizagem. As máscaras excluem partes que não deveriam contribuir.
Por exemplo, um fluxo de trabalho de aprendizagem supervisionada pode aprender com a resposta do assistente sem precisar de reproduzir o prompt do utilizador.
Para aprendizagem por reforço, o sinal de aprendizagem também distingue respostas geradas por modelos da informação fornecida pelo utilizador ou pelo ambiente. Utiliza informação do modelo que gerou cada resposta, mesmo que o modelo mude mais tarde.
Objetivos personalizados podem combinar resultados de modelos com cálculos no seu controlador. O driver continua a coordenar os sinais de aprendizagem e as atualizações do modelo.
Para estruturas de dados e exemplos, veja Preparar dados supervisionados e Preparar dados RL.
Como os sinais de aprendizagem são combinados
Diferentes objetivos podem combinar sinais de aprendizagem de forma distinta, como somá-los ou fazer uma média. Combinar abordagens incompatíveis numa única atualização pode alterar a sua escala ou fazer com que o serviço a rejeite.
As contribuições para a mesma atualização precisam de uma forma consistente de combinar sinais de aprendizagem. Uma atualização é concluída antes de o fluxo de trabalho mudar para uma abordagem incompatível.
Recompensas, implementações faseadas e vantagens
Na aprendizagem por reforço, o seu controlador avalia o que o modelo faz e transforma essa avaliação num sinal de aprendizagem.
| Conceito | Meaning |
|---|---|
| Implementação | Uma resposta gerada ou uma interação mais longa que pode incluir chamadas de ferramentas e observações. |
| Recompensa | Uma pontuação que descreve quão bem a implementação atinge o objetivo da tarefa. O seu programa atribui esta pontuação. |
| Vantagem | Uma comparação que indique se uma resposta tem um desempenho melhor ou pior do que uma referência, como outras respostas ao 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 têm vantagem nula, por isso esta comparação não fornece qualquer sinal de aprendizagem.
Para uma tarefa de matemática, a recompensa pode refletir se a resposta final está correta. Uma pontuação de formatação elevada por si só não estabelece que a resposta está correta.
O seu controlador define as regras de avaliação e o método de comparação. Para exemplos completos, explore o repositório de amostras de ajuste fino.
Conclusão da operação
Cada operação demora tempo a ser executada. Aceitar um pedido é diferente de terminar o trabalho solicitado.
| Status | O que isto lhe diz |
|---|---|
| Aceito | O serviço recebe o pedido. O trabalho pode ainda estar à espera ou a decorrer. |
| Completed | A operação termina, e o seu resultado pode ser usado por uma operação dependente. |
| Tempo limite esgotado | O teu motorista deixa de esperar. Isto não prova que a operação falha ou para do lado do serviço. |
A ordem importa: uma atualização depende do cálculo do gradiente concluído, e a amostragem a partir de novos pesos depende de uma renovação concluída. Um resultado em falta não é um resultado bem-sucedido nem uma medição de valor zero.
Para detalhes de implementação, veja Utilizar operações assíncronas.
Checkpoints
Um ponto de controlo regista o estado do modelo num determinado ponto. Os checkpoints de treino e os checkpoints do sampler preservam diferentes informações.
| Tipo | O que preserva | Para que o utiliza |
|---|---|---|
| Ponto de verificação do treino | Os pesos aprendidos do adaptador e o registo do otimizador das atualizações anteriores. | Recuperar progresso ou continuar o treino numa sessão compatível. |
| Ponto de verificação do amostrador | Um instantâneo dos pesos dos adaptadores para gerar respostas. | Amostragem a partir de uma versão selecionada do adaptador, sem a informação necessária para retomar o treino. |
Uma atualização do sampler prepara o estado mais recente do adaptador para geração. Não substitui um checkpoint de treino guardado, nem cria necessariamente um artefacto persistente.
O seu driver tem o seu próprio progresso a preservar, como os exemplos que já utilizou e quando ocorre a avaliação. Um checkpoint de modelo não restaura automaticamente esse progresso.
Nenhum dos tipos de checkpoint é um endpoint de aplicação. Usar o modelo treinado numa aplicação é uma tarefa de implementação separada.
Para exemplos de código, veja Guardar e retomar o treino.
Ciclo de vida da sessão
Descarregar liberta os recursos ativos de treino da sessão. Serve um propósito diferente de apagar a sessão e os seus artefactos guardados.
| Action | Meaning |
|---|---|
| Inspecionar | Verifique o estado da sessão e identifique os pontos de controlo guardados. |
| Descarregar da memória | Liberte os recursos de computação da sessão ativa. Isto não é eliminação de pontos de controlo. |
| Delete | Remover a sessão. Isto também pode remover os seus pontos de controlo e recursos de amostragem. |
Submeter um pedido de descarregamento não garante que a limpeza seja concluída. Fechar a ligação de rede do seu controlador também não é o mesmo que encerrar a sessão.
Um checkpoint de treino concluído preserva o progresso antes do fim da sessão. Apagar a sessão pode remover esse estado guardado, por isso a eliminação não equivale a libertar os recursos de computação.
Para detalhes de implementação, consulte Close resources.
Conteúdo relacionado
Consulte estes recursos quando estiver pronto para utilizar os conceitos:
- Comece com treino interativo para executar um fluxo de treino curto.
- SDK cheatsheet para exemplos de código e detalhes de implementação.
- Exemplos de fine-tuning no GitHub para fluxos de trabalho completos de treino.