Como usar modelos de base Open Source selecionados pelo Azure Machine Learning

Neste artigo, você aprenderá a ajustar, avaliar e implantar modelos básicos no Catálogo de Modelos.

Você pode testar rapidamente qualquer modelo pré-treinado usando o formulário Inferência de amostra no cartão modelo, fornecendo sua própria entrada de amostra para testar o resultado. Além disso, o cartão de modelo para cada modelo inclui uma breve descrição do modelo e links para exemplos para inferência baseada em código, ajuste fino e avaliação do modelo.

Como avaliar modelos de fundação usando seus próprios dados de teste

Você pode avaliar um Modelo de Base em relação ao seu conjunto de dados de teste, usando o formulário Avaliar interface do usuário ou usando os exemplos baseados em código, vinculados a partir do cartão modelo.

Avaliando usando o estúdio

Você pode invocar o formulário Avaliar modelo selecionando o botão Avaliar no cartão de modelo para qualquer modelo de base.

Screenshot showing the evaluation settings form after the user selects the evaluate button on a model card for a foundation model.

Cada modelo pode ser avaliado para a tarefa de inferência específica para a qual o modelo será usado.

Dados do teste:

  1. Passe nos dados de teste que você gostaria de usar para avaliar seu modelo. Você pode optar por carregar um arquivo local (no formato JSONL) ou selecionar um conjunto de dados registrado existente em seu espaço de trabalho.
  2. Depois de selecionar o conjunto de dados, você precisa mapear as colunas dos dados de entrada, com base no esquema necessário para a tarefa. Por exemplo, mapeie os nomes das colunas que correspondem às teclas 'frase' e 'rótulo' para a Classificação de Texto

Screenshot showing the evaluation map in the foundation models evaluate form.

Computação:

  1. Forneça o cluster de computação do Azure Machine Learning que você gostaria de usar para ajustar o modelo. A avaliação precisa ser executada na computação da GPU. Certifique-se de ter cota de computação suficiente para as SKUs de computação que deseja usar.

  2. Selecione Concluir no formulário Avaliar para enviar seu trabalho de avaliação. Quando o trabalho for concluído, você poderá visualizar as métricas de avaliação do modelo. Com base nas métricas de avaliação, você pode decidir se deseja ajustar o modelo usando seus próprios dados de treinamento. Além disso, você pode decidir se deseja registrar o modelo e implantá-lo em um ponto de extremidade.

Avaliando usando exemplos baseados em código

Para permitir que os usuários comecem com a avaliação de modelos, publicamos exemplos (tanto blocos de anotações Python quanto exemplos de CLI) nos exemplos de avaliação no repositório git azureml-examples. Cada modelo de cartão também tem links para amostras de avaliação para tarefas correspondentes

Como ajustar modelos básicos usando seus próprios dados de treinamento

Para melhorar o desempenho do modelo na sua carga de trabalho, convém otimizar um modelo de fundação utilizando os seus próprios dados de formação. Você pode facilmente ajustar esses modelos de base usando as configurações de ajuste fino no estúdio ou usando os exemplos baseados em código vinculados a partir do cartão modelo.

Ajuste fino usando o estúdio

Você pode invocar o formulário de configurações de ajuste fino selecionando no botão Ajustar no cartão de modelo para qualquer modelo de base.

Ajuste as configurações:

Screenshot showing the fine-tune settings options in the foundation models fine-tune settings form.

Tipo de tarefa de ajuste fino

  • Cada modelo pré-treinado do catálogo de modelos pode ser ajustado para um conjunto específico de tarefas (por exemplo: classificação de texto, classificação de token, resposta a perguntas). Selecione a tarefa que deseja usar na lista suspensa.

Dados de treinamento

  1. Passe os dados de treinamento que você gostaria de usar para ajustar seu modelo. Você pode optar por carregar um arquivo local (em formato JSONL, CSV ou TSV) ou selecionar um conjunto de dados registrado existente em seu espaço de trabalho.

  2. Depois de selecionar o conjunto de dados, você precisa mapear as colunas dos dados de entrada, com base no esquema necessário para a tarefa. Por exemplo: mapeie os nomes das colunas que correspondem às teclas 'frase' e 'rótulo' para a Classificação de Texto

Screenshot showing the fine-tune map in the foundation models evaluate wizard.

  • Dados de validação: passe os dados que você gostaria de usar para validar seu modelo. Selecionar Divisão automática reserva uma divisão automática de dados de treinamento para validação. Como alternativa, você pode fornecer um conjunto de dados de validação diferente.
  • Dados de teste: passe nos dados de teste que você gostaria de usar para avaliar seu modelo ajustado. Selecionar Divisão automática reserva uma divisão automática de dados de treinamento para teste.
  • Computação: forneça o cluster de computação do Azure Machine Learning que você gostaria de usar para ajustar o modelo. O ajuste fino precisa ser executado na computação da GPU. Recomendamos o uso de SKUs de computação com GPUs A100 / V100 durante o ajuste fino. Certifique-se de ter cota de computação suficiente para as SKUs de computação que deseja usar.
  1. Selecione Concluir no formulário de ajuste fino para enviar seu trabalho de ajuste fino. Quando o trabalho for concluído, você poderá visualizar as métricas de avaliação para o modelo ajustado. Em seguida, você pode registrar a saída do modelo ajustado pelo trabalho de ajuste fino e implantar esse modelo em um ponto de extremidade para inferência.

Ajuste fino usando exemplos baseados em código

Atualmente, o Azure Machine Learning dá suporte a modelos de ajuste fino para as seguintes tarefas de idioma:

  • Classificação de textos
  • Classificação de token
  • Perguntas e respostas
  • Resumo
  • Tradução

Para permitir que os usuários comecem rapidamente com o ajuste fino, publicamos exemplos (blocos de anotações Python e exemplos de CLI) para cada tarefa nos exemplos azureml-examples git repo Finetune. Cada placa modelo também é vinculada a amostras de ajuste fino para tarefas de ajuste fino suportadas.

Implantando modelos de base em pontos de extremidade para inferência

Você pode implantar modelos básicos (modelos pré-treinados do catálogo de modelos e modelos ajustados, depois de registrados em seu espaço de trabalho) em um ponto de extremidade que pode ser usado para inferência. É suportada a implementação em pontos finais em tempo real e em pontos finais em lote. Você pode implantar esses modelos usando o assistente Implantar interface do usuário ou usando os exemplos baseados em código vinculados a partir do cartão modelo.

Implantando usando o estúdio

Você pode invocar o formulário Implantar interface do usuário selecionando o botão Implantar no cartão modelo para qualquer modelo básico e selecionando Ponto de extremidade em tempo real ou Ponto de extremidade em lote

Screenshot showing the deploy button on the foundation model card.

Definições de implementação

Como o script de pontuação e o ambiente são incluídos automaticamente no modelo de base, você só precisa especificar a SKU da máquina virtual a ser usada, o número de instâncias e o nome do ponto de extremidade a ser usado para a implantação.

Screenshot showing the deploy options on the foundation model card after user selects the deploy button.

Quota partilhada

Se você estiver implantando um modelo Llama-2, Phi, Nemotron, Mistral, Dolly ou Deci-DeciLM do catálogo de modelos, mas não tiver cota suficiente disponível para a implantação, o Aprendizado de Máquina do Azure permitirá que você use a cota de um pool de cotas compartilhadas por um tempo limitado. Para obter mais informações sobre a quota partilhada, consulte Quota partilhada do Azure Machine Learning.

Screenshot showing the option to deploy a Llama model temporarily, using shared quota.

Implementar utilizando exemplos baseados em código

Para permitir que os usuários comecem rapidamente com a implantação e a inferência, publicamos exemplos nos exemplos de inferência no repositório git azureml-examples. Os exemplos publicados incluem notebooks Python e exemplos de CLI. Cada cartão modelo também se vincula a amostras de inferência para inferência em tempo real e inferência em lote.

Importar modelos de fundação

Se você deseja usar um modelo de código aberto que não está incluído no catálogo de modelos, pode importar o modelo do Hugging Face para seu espaço de trabalho do Azure Machine Learning. Hugging Face é uma biblioteca de código aberto para processamento de linguagem natural (NLP) que fornece modelos pré-treinados para tarefas populares de PNL. Atualmente, a importação de modelos oferece suporte à importação de modelos para as seguintes tarefas, desde que o modelo atenda aos requisitos listados no Bloco de Anotações de Importação de Modelo:

  • máscara de enchimento
  • classificação de tokens
  • pergunta-resposta
  • Sumarização
  • geração de texto
  • classificação textual
  • tradução
  • classificação de imagens
  • conversão de texto em imagem

Nota

Os modelos da Hugging Face estão sujeitos aos termos de licença de terceiros disponíveis na página de detalhes do modelo Hugging Face. É da sua responsabilidade cumprir os termos de licença do modelo.

Você pode selecionar o botão Importar no canto superior direito do catálogo de modelos para usar o Bloco de Anotações de Importação de Modelo.

Screenshot showing the model import button as it's displayed in the top right corner on the foundation model catalog.

O bloco de anotações de importação de modelo também está incluído no repositório git azureml-examples aqui.

Para importar o modelo, você precisa passar o MODEL_ID do modelo que deseja importar do Hugging Face. Navegue pelos modelos no hub Hugging Face e identifique o modelo a ser importado. Verifique se o tipo de tarefa do modelo está entre os tipos de tarefa suportados. Copie o ID do modelo, que está disponível no URI da página ou pode ser copiado usando o ícone de cópia ao lado do nome do modelo. Atribua-o à variável 'MODEL_ID' no bloco de anotações de importação de modelo. Por exemplo:

Screenshot showing an example of a hugging face model ID ('bert-base-uncased') as it's displayed in the hugging face model documentation page.

Você precisa fornecer computação para que a importação do modelo seja executada. A execução da Importação de Modelo resulta na importação do modelo especificado do Hugging Face e registrada em seu espaço de trabalho do Azure Machine Learning. Em seguida, você pode ajustar esse modelo ou implantá-lo em um ponto de extremidade para inferência.

Mais informações