Partilhar via


Ajuste os modelos Phi-3 no portal do Azure AI Foundry

Importante

Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

O Azure AI Foundry permite adaptar grandes modelos de linguagem aos seus conjuntos de dados pessoais usando um processo conhecido como ajuste fino. A otimização oferece um valor significativo, pois permite a personalização e o ajuste de tarefas e aplicações específicas. Isso leva a um melhor desempenho, eficiência de custos, latência reduzida e saídas personalizadas.

Neste artigo, você aprenderá a ajustar a família Phi-3 de modelos de linguagem pequena (SLMs) no portal do Azure AI Foundry como um serviço com cobrança paga conforme o uso.

A família Phi-3 de SLMs é uma coleção de modelos de texto generativo ajustados para instrução. Os modelos Phi-3 são os modelos de linguagem pequena (SLMs) mais capazes e econômicos disponíveis, superando modelos do mesmo tamanho e do tamanho seguinte em vários benchmarks de linguagem, raciocínio, codificação e matemática.

Importante

Os modelos que estão em pré-visualização são marcados como pré-visualização nos respetivos cartões de modelo no catálogo de modelos.

O Phi-3 Mini é um modelo aberto de parâmetros 3.8B, leve e de última geração, construído sobre conjuntos de dados usados para Phi-2 - dados sintéticos e sites filtrados - com foco em dados densos de raciocínio de alta qualidade. O modelo pertence à família de modelos Phi-3, e a versão Mini vem em duas variantes 4K e 128K, que é o comprimento de contexto (em tokens) que pode suportar.

O modelo passou por um rigoroso processo de aprimoramento, incorporando ajuste fino supervisionado e otimização de preferência direta para garantir a aderência precisa das instruções e medidas de segurança robustas. Quando avaliados em comparação com benchmarks que testam senso comum, compreensão de linguagem, matemática, código, contexto longo e raciocínio lógico, o Phi-3 Mini-4K-Instruct e o Phi-3 Mini-128K-Instruct apresentaram um desempenho robusto e de última geração entre modelos com menos de 13 bilhões de parâmetros.

Pré-requisitos

  • Uma subscrição do Azure. Se você não tiver uma assinatura do Azure, crie uma conta paga do Azure para começar.

  • Um hub do Azure AI Foundry.

    Importante

    Para modelos da família Phi-3, a oferta de ajuste fino do modelo pré-pago só está disponível com hubs criados nas regiões Leste dos EUA 2 .

  • Um projeto do Azure AI Foundry.

  • Os controles de acesso baseados em função do Azure (Azure RBAC) são usados para conceder acesso a operações no portal do Azure AI Foundry. Para executar as etapas neste artigo, sua conta de usuário deve receber a função de Desenvolvedor do Azure AI no grupo de recursos.

    Para obter mais informações sobre permissões, consulte Controle de acesso baseado em função no portal do Azure AI Foundry.

Registo do fornecedor de subscrição

Verifique se a assinatura está registrada no provedor de Microsoft.Network recursos.

  1. Inicie sessão no portal do Azure.
  2. Selecione Assinaturas no menu à esquerda.
  3. selecione a subscrição que quer utilizar.
  4. Selecione Configurações>Provedores de recursos no menu à esquerda.
  5. Confirme se Microsoft.Network está na lista de provedores de recursos. Caso contrário, adicione-o.

Preparação de dados

Prepare os dados de preparação e de validação para otimizar o seu modelo. Os dados de preparação e os conjuntos de dados de validação consistem em exemplos de entrada e saída de como pretende que o modelo seja executado.

Certifique-se de que todos os seus exemplos de treinamento sigam o formato esperado para inferência. Para ajustar modelos de forma eficaz, garanta um conjunto de dados equilibrado e diversificado.

Isso envolve manter o equilíbrio de dados, incluindo vários cenários, e refinar periodicamente os dados de treinamento para alinhá-los com as 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.

Conclusão do chat

Os dados de treinamento e validação usados devem ser formatados como um documento JSONL (JSON Lines). Para Phi-3-mini-128k-instruct o ajuste fino, o conjunto de dados deve ser formatado no formato de conversação usado pela API de conclusão de bate-papo.

Exemplo de formato de ficheiro

    {"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 ficheiro suportado é JSON Lines. Os ficheiros são carregados para o arquivo de dados predefinido e disponibilizados em seu projeto.

Ajuste um modelo Phi-3

Para ajustar um modelo Phi-3:

  1. Entre no Azure AI Foundry.

  2. Escolha o modelo que deseja ajustar no catálogo de modelos do portal do Azure AI Foundry.

  3. Na página Detalhes do modelo, selecione Ajustar.

  4. Selecione o projeto no qual você deseja ajustar seus modelos. Para usar a oferta de ajuste fino do modelo pré-pago, seu espaço de trabalho deve pertencer à região Leste dos EUA 2 .

  5. No assistente de ajuste fino, selecione o link para os Termos do Azure AI Foundry para saber mais sobre os termos de uso. Você também pode selecionar a guia Detalhes da oferta do Azure AI Foundry para saber mais sobre os preços do modelo selecionado.

  6. Se esta for a primeira vez que você ajusta o modelo no projeto, você precisa inscrever seu projeto para a oferta específica (por exemplo, Phi-3-mini-128k-instruct) do Azure AI Foundry. Esta etapa requer que sua conta tenha as permissões de assinatura do Azure e as permissões de grupo de recursos listadas nos pré-requisitos. Cada projeto tem sua própria assinatura para a oferta específica do Azure AI Foundry, que permite controlar e monitorar os gastos. Selecione Subscrever e ajustar.

    Nota

    Inscrever um projeto em uma oferta específica do Azure AI Foundry (neste caso, Phi-3-mini-128k-instruct) requer que sua conta tenha acesso de Colaborador 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 de assinatura do Azure e as permissões de grupo de recursos listadas nos pré-requisitos.

  7. Depois de inscrever o projeto para a oferta específica do Azure AI Foundry, o ajuste fino subsequente da mesma oferta no mesmo projeto não requer assinatura novamente. Portanto, você não precisa ter as permissões de nível de assinatura para trabalhos de ajuste fino subsequentes. Se esse cenário se aplicar a você, selecione Continuar para ajustar.

  8. Introduza um nome para o seu modelo ajustado e as etiquetas e descrição opcionais.

  9. Selecione os dados de treinamento para ajustar seu modelo. Consulte a preparação de dados para obter mais informações.

    Nota

    Se você tiver seus arquivos de treinamento/validação em um armazenamento de dados sem credenciais, precisará permitir o acesso de identidade gerenciada pelo espaço de trabalho ao seu armazenamento de dados para prosseguir com o ajuste fino do MaaS com menos armazenamento de credenciais. Na página "Datastore", depois de clicar em "Atualizar autenticação", > selecione a seguinte opção:

    Use a identidade gerenciada do espaço de trabalho para visualização de dados e criação de perfil no estúdio do Azure Machine Learning.

    Certifique-se de que todos os seus exemplos de treinamento sigam o formato esperado para inferência. Para ajustar modelos de forma eficaz, garanta um conjunto de dados equilibrado e diversificado. Isso envolve manter o equilíbrio de dados, incluindo vários cenários, e refinar periodicamente os dados de treinamento para alinhá-los com as expectativas do mundo real, levando a respostas de modelo mais precisas e equilibradas.

    • O tamanho do lote a 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 aprendizagem de ajuste fino é a taxa de aprendizagem original utilizada para a pré-formação multiplicada por este multiplicador. Recomendamos experimentar valores entre 0,5 e 2. Empiricamente, descobrimos que taxas de aprendizagem maiores geralmente têm melhor desempenho com lotes maiores. Deve estar entre 0,0 e 5,0.
    • Número de épocas de formação. Uma época refere-se a um ciclo completo através do conjunto de dados.
  10. Os parâmetros da tarefa são uma etapa opcional e uma opção avançada - O ajuste do hiperparâmetro é essencial para otimizar grandes modelos de linguagem (LLMs) em aplicações do mundo real. Permite um melhor desempenho e uma utilização eficiente dos recursos. Os usuários podem optar por manter as configurações padrão ou os usuários avançados podem personalizar parâmetros como épocas ou taxa de aprendizagem.

  11. Reveja as suas seleções e prossiga para treinar o seu modelo.

Depois que o modelo estiver ajustado, você poderá implantá-lo e usá-lo em seu próprio aplicativo, no playground ou no fluxo de prompt. Para obter mais informações, consulte Como implantar a família Phi-3 de modelos de linguagem grandes com o Azure AI Foundry.

Limpeza dos seus modelos ajustados

Você pode excluir um modelo ajustado da lista de modelos de ajuste fino no Azure AI Foundry ou da página de detalhes do modelo. Selecione o modelo ajustado a ser excluído da página Ajuste fino e, em seguida, selecione o botão Excluir para excluir o modelo ajustado.

Nota

Não é possível excluir um modelo personalizado se ele tiver uma implantação existente. Você deve primeiro excluir sua implantação de modelo antes de poder excluir seu modelo personalizado.

Custo e quotas

Considerações sobre custo e cota para modelos Phi ajustados como um serviço

Os modelos Phi ajustados como um serviço são oferecidos pela Microsoft e integrados ao Azure AI Foundry para uso. Você pode encontrar os preços ao implantar ou ajustar os modelos na guia Preços e termos no assistente de implantação.

Exemplo de caderno

Você pode usar este bloco de anotações de exemplo para criar um trabalho de ajuste fino autônomo 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 bloco de anotações emprega os modelos de IA do Azure disponíveis para a tarefa de conclusão de bate-papo (se você quiser usar um modelo diferente do usado no bloco de anotações, poderá substituir o nome do modelo). O bloco de anotações inclui a configuração de pré-requisitos, a seleção de um modelo para ajustar, a criação de conjuntos de dados de treinamento e validação, a configuração e o envio do trabalho de ajuste fino e, finalmente, a criação de uma implantação sem servidor usando o modelo ajustado para inferência de amostra.

Filtragem de conteúdos

Os modelos implantados como um serviço com pagamento conforme o uso são protegidos pelo Azure AI Content Safety. Quando implantado em pontos de extremidade em tempo real, você pode desativar esse recurso. Com a segurança de conteúdo de IA do Azure habilitada, tanto o prompt quanto a conclusão passam por um conjunto de modelos de classificação destinados a detetar e prevenir a saída de conteúdo nocivo. O sistema de filtragem de conteúdo (visualização) deteta e executa ações em categorias específicas de conteúdo potencialmente nocivo em prompts de entrada e finalizações de saída. Saiba mais sobre a Segurança de Conteúdo do Azure AI.

Próximos passos