Ajustar modelos Meta Llama no portal do Azure AI Foundry
Importante
Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso 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 de Versões Prévias do Microsoft Azure.
O Azure AI Foundry permite personalizar grandes modelos de linguagem para os seus conjuntos de dados pessoais usando um processo conhecido como ajuste fino.
O ajuste fino fornece um valor significativo habilitando a personalização e a otimização para tarefas e aplicativos específicos. Isso leva a um melhor desempenho, eficiência de custo, latência reduzida e saídas personalizadas.
Neste artigo, você aprenderá a ajustar os modelos do Meta Llama no Azure AI Foundry.
A família Meta Llama de LLMs (grandes modelos de linguagem) é uma coleção de modelos de texto generativos pré-treinados e ajustados que variam em escala de 7 a 70 bilhões de parâmetros. A família de modelos também inclui versões ajustadas otimizadas para casos de uso de diálogo com o RLHF (Aprendizado por reforço com feedback de pessoas), chamado Llama-Instruc.
Importante
Os modelos que estão em versão prévia são marcados como versão prévia em seus cartões de modelo no catálogo de modelos.
Modelos
Os seguintes modelos estão disponíveis no Azure Marketplace para o Llama 3.1 quando implantados como um serviço com pagamento conforme o uso:
Meta-Llama-3.1-70B-Instruct
(versão prévia)Meta-LLama-3.1-8b-Instruct
(versão prévia)
Atualmente, há suporte para ajuste fino de modelos Llama 3.1 em projetos localizados no Oeste dos EUA 3.
Importante
No momento, não é possível fazer ajuste fino para Llama 3.1 com comprimento de sequência de 128K.
Pré-requisitos
Uma assinatura do Azure com uma forma de pagamento válida. As assinaturas gratuitas ou de avaliação do Azure não funcionarão. Caso você não tenha uma assinatura do Azure, crie uma conta paga do Azure para começar.
-
Importante
Para os modelos do Meta Llama 3.1, a oferta de ajuste do modelo de pagamento conforme o uso só está disponível com hubs criados na região Oeste dos EUA 3.
Um projeto do Azure AI Foundry no portal do Azure AI Foundry.
Controles de acesso baseados em função do Azure (RBAC do Azure) são usados para conceder acesso a operações no portal do Azure AI Foundry. Para realizar as etapas deste artigo, a função de proprietário ou colaborador deve ser atribuída à conta de usuário da assinatura do Azure. Como alternativa, sua conta pode receber uma função personalizada que tenha as seguintes permissões:
Na assinatura do Azure, para assinar o projeto do Azure AI Foundry na oferta do Azure Marketplace, uma vez para cada projeto, por oferta:
Microsoft.MarketplaceOrdering/agreements/offers/plans/read
Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
Microsoft.SaaS/register/action
No grupo de recursos, para criar e usar o recurso SaaS:
Microsoft.SaaS/resources/read
Microsoft.SaaS/resources/write
No projeto do Azure AI Foundry, para implantar pontos de extremidade (a função Desenvolvedor de IA do Azure já contém essas permissões):
Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*
Para obter mais informações sobre permissões, confira Controle de acesso baseado em função no portal do Azure AI Foundry.
Registro do provedor de assinatura
Verifique se a assinatura está registrada no provedor de recursos Microsoft.Network
.
Entre no portal do Azure.
Selecione Assinaturas no menu à esquerda.
Selecione a assinatura que deseja usar.
Selecione Configurações>Provedores de recursos no menu à esquerda.
Confirme se o Microsoft.Network está na lista de provedores de recursos. Caso contrário, adicione-o.
Preparação de dados
Prepare seus dados de treinamento e validação para ajustar seu modelo. Seu conjunto de dados de treinamento e de validação consiste em exemplos de saída de entrada e saída para o desempenho do modelo.
Verifique se todos os seus exemplos de treinamento seguem o formato esperado para inferência. Para ajustar os modelos com eficiência, garanta um conjunto de dados equilibrado e diversificado.
Isso envolve manter o equilíbrio de dados, incluindo vários cenários e refinar periodicamente dados de treinamento para se alinhar às expectativas do mundo real, levando a respostas de modelo mais precisas e equilibradas.
Diferentes tipos de modelo exigem um formato diferente de dados de treinamento.
Os dados de treinamento e validação usados devem ser formatados como um documento JSONL (Linhas JSON). Para Meta-Llama-3.1-70B-Instruct
, o conjunto de dados de ajuste fino deve ser formatado no formato de conversa que é usado pela API de conclusões do chat.
Formato de arquivo de exemplo
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}
O tipo de arquivo com suporte é Linhas JSON. Os arquivos são carregados no armazenamento de dados padrão e disponibilizados em seu projeto.
Ajustar um modelo do Meta Llama
Para ajustar um modelo do LLama 3.1:
Entre no Azure AI Foundry.
Escolha um modelo que deseja ajustar no catálogo de modelos do Azure AI Foundry.
Na página Detalhes do modelo, selecione ajustar.
Selecione o projeto no qual você deseja ajustar seus modelos. Para usar a oferta de ajuste do modelo pré-pago, seu espaço de trabalho deve pertencer à região Oeste dos EUA 3.
No assistente de ajuste, selecione o link para Termos do Azure Marketplace para saber mais sobre os termos de uso. Você também pode selecionar a guia Detalhes da oferta do Marketplace para saber mais sobre os preços do modelo selecionado.
Se essa for a primeira vez que você ajusta o modelo no projeto, terá de subscrever o seu projeto para a oferta específica (por exemplo, Meta-Llama-3.1-70B-Instruct) do Azure Marketplace. Esta etapa exige que sua conta tenha as permissões de assinatura do Azure e as permissões do grupo de recursos listadas nos pré-requisitos. Cada projeto tem sua própria inscrição na oferta específica do Azure Marketplace, que permite controlar e monitorar os gastos. Selecione Assinar e ajustar.
Observação
A assinatura de um projeto em uma oferta específica do Azure Marketplace (nesse caso, Meta-Llama-3.1-70B-Instruct) exige que sua conta tenha acesso de Contribuidor ou Proprietário no nível de assinatura em que o projeto é criado. Como alternativa, sua conta de usuário pode receber uma função personalizada que tenha as permissões do Azure e as permissões do grupo de recursos listadas nos pré-requisitos.
Depois de inscrever o projeto na oferta específica do Azure Marketplace, os ajustes subsequentes da mesma oferta no mesmo projeto não exigirão a inscrição novamente. Portanto, você não precisa ter as permissões no nível da assinatura para trabalhos de ajuste subsequentes. Se esse cenário se aplicar a você, selecione Continuar a ajustar.
Insira um nome para seu modelo ajustado e as marcas opcionais e a descrição.
Selecione dados de treinamento para ajustar seu modelo. Confira a preparação de dados para obter mais informações.
Observação
Se você tiver os arquivos de treinamento/validação em um armazenamento de dados com menos credenciais, precisará permitir o acesso de identidade gerenciada do workspace ao armazenamento de dados para continuar com o ajuste do MaaS com uma credencial menor. Na página "Armazenamento de dados", depois de clicar em "Atualizar autenticação" > Selecione a opção a seguir:
Verifique se todos os seus exemplos de treinamento seguem o formato esperado para inferência. Para ajustar os modelos com eficiência, garanta um conjunto de dados equilibrado e diversificado. Isso envolve manter o equilíbrio de dados, incluindo vários cenários e refinar periodicamente dados de treinamento para se alinhar às expectativas do mundo real, levando a respostas de modelo mais precisas e equilibradas.
- O tamanho do lote que será usado para treinamento. Quando definido como -1, batch_size é calculado como 0,2% dos exemplos no conjunto de treinamento e o máximo é 256.
- A taxa de aprendizado de ajuste é a taxa de aprendizado original usada para pré-treinamento multiplicada por esse valor. É recomendável experimentar valores entre 0,5 e 2. Empiricamente, descobrimos que taxas de aprendizagem maiores geralmente têm melhor desempenho com tamanhos de lote maiores. Deve estar entre 0,0 e 5,0.
- Número de épocas de treinamento. Uma época refere-se a um ciclo completo por meio do conjunto de dados.
Os parâmetros de tarefa são uma etapa opcional e uma opção avançada: o hiperparâmetro de ajuste é essencial para otimizar LLMs (modelos de linguagem grandes) em aplicativos do mundo real. Ele permite um melhor desempenho e uso eficiente de recursos. As configurações padrão podem ser usadas ou usuários avançados podem personalizar parâmetros como épocas ou taxa de aprendizado.
Examine suas seleções e prossiga para treinar seu modelo.
Depois que o modelo estiver ajustado, você poderá implantar o modelo e usá-lo em seu próprio aplicativo, no playground ou no prompt flow. Para obter mais informações, confira Como implantar a família de modelos de linguagem grandes Llama 3.1 com o Azure AI Foundry.
Limpar modelos ajustados
Você pode excluir um modelo com ajuste fino da lista de ajuste fino de modelos no Azure AI Foundry ou na página de detalhes do modelo. Selecione o modelo ajustado para excluir da página Ajuste e, em seguida, selecione o botão Excluir para excluir o modelo ajustado.
Observação
Você não poderá excluir um modelo personalizado se ele tiver uma implantação existente. Primeiro, você deve excluir a implantação do modelo antes de poder excluir o modelo personalizado.
Custo e cotas
Considerações sobre custo e cota para modelos Meta Llama ajustados como um serviço
Os modelos Meta Llama implantados como um serviço são oferecidos pela Meta por meio do Azure Marketplace e são integrados ao Azure AI Foundry para uso. Encontre os preços do Azure Marketplace ao implantar ou ajustar os modelos.
Sempre que um projeto se inscreve em determinada oferta do Azure Marketplace, um recurso é criado para acompanhar os custos associados ao consumo dele. O mesmo recurso é usado para acompanhar os custos associados à inferência e ao ajuste. No entanto, vários medidores estão disponíveis para acompanhar cada cenário de modo independente.
Para obter mais informações sobre como acompanhar os custos, consulte Monitorar os custos dos modelos oferecidos por meio do Azure Marketplace.
Exemplo de notebook
Você poderá usar esse notebook de amostra para criar um trabalho de ajuste fino independente para aprimorar a capacidade de um modelo de resumir diálogos entre duas pessoas usando o conjunto de dados Samsum. Os dados de treinamento utilizados são o conjunto de dados ultrachat_200k, que é dividido em quatro divisões adequadas para ajuste fino supervisionado (sft) e classificação de geração (gen). O notebook utiliza os modelos de IA do Azure disponíveis para a tarefa de conclusão de chat (se desejar usar um modelo diferente do usado no notebook, você pode substituir o nome do modelo). O notebook inclui a configuração de pré-requisitos, a seleção de um modelo para ajuste fino, a criação de conjuntos de dados de treinamento e validação, a configuração e o envio do trabalho de ajuste fino e, por fim, a criação de uma implantação sem servidor usando o modelo ajustado para inferência de amostra.
Filtragem de conteúdo
Os modelos implantados como um serviço com cobrança conforme o uso são protegidos pela Segurança de Conteúdo de IA do Azure. Quando implantados em pontos de extremidade em tempo real, você pode recusar essa funcionalidade. Com a Segurança de Conteúdo de IA do Azure habilitada, o prompt e o preenchimento passam por um conjunto de modelos de classificação destinados a detectar e impedir a saída de conteúdo prejudicial. O sistema de filtragem de conteúdo (versão prévia) detecta e toma medidas em categorias específicas de conteúdo potencialmente prejudicial tanto em prompts de entrada quanto em conclusões de saída. Saiba mais sobre de Segurança de Conteúdo de IA do Azure.