Como usar foundation models de código aberto coletados pelo Azure Machine Learning

Neste artigo, você aprenderá a ajustar, avaliar e implantar modelos de base no catálogo de modelos.

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

Como avaliar foundation models usando seus próprios dados de teste

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

Avaliando o uso do 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 de teste:

  1. Passe os 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 no seu espaço de trabalho.
  2. Uma vez selecionado o conjunto de dados, é necessário mapear as colunas dos dados de entrada, com base no esquema necessário para a tarefa. Por exemplo, mapeie os nomes de coluna que correspondem às chaves 'sentence' e 'label' 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 fazer o ajuste fino do modelo. A avaliação precisa ser executada na computação de GPU. Verifique se você tem cota de computação suficiente para os SKUs de computação que deseja usar.

  2. Selecione Concluir no formulário Avaliar para enviar seu trabalho de avaliação. Depois que o trabalho for concluído, você poderá exibir 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.

Avaliação usando exemplos baseados em código

Para permitir que os usuários iniciem a avaliação do modelo, publicamos exemplos (notebooks Python e exemplos da CLI) em Exemplos de avaliação no repositório git azureml-examples. Cada cartão de modelo apresenta links para exemplos de avaliação para tarefas correspondentes

Como ajustar os modelos de base usando seus próprios dados de treinamento

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

Ajuste fino usando o estúdio

Você pode invocar o formulário de ajustes finos selecionando o botão Ajustes fino no cartão do modelo para qualquer modelo de base.

Configurações de Ajuste fino:

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 tokens, Resposta às perguntas). Selecione a tarefa que você 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 (no formato JSONL, CSV ou TSV) ou selecionar um conjunto de dados registrado existente no seu espaço de trabalho.

  2. Depois de selecionar o conjunto de dados, você precisará mapear as colunas dos dados de entrada, com base no esquema necessário para a tarefa. Por exemplo: mapear os nomes de coluna que correspondem às chaves 'sentence' e 'label' 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 dos dados de treinamento para validação. Como alternativa, você pode fornecer um conjunto de dados de validação diferente.
  • Dados de teste: passe os dados de teste que você gostaria de usar para avaliar seu modelo ajustado. Selecionar Divisão automática reserva uma divisão automática dos dados de treinamento para teste.
  • Computação: forneça o cluster de Computação do Azure Machine Learning que você gostaria de usar para fazer o ajuste fino do modelo. O ajuste fino precisa ser executado na computação da GPU. Recomendamos usar SKUs de computação com GPUs A100/V100 ao fazer o ajuste fino. Verifique se você tem cota de computação suficiente para os SKUs de computação que deseja usar.
  1. Selecione Concluir no formulário de ajuste fino para enviar seu trabalho de ajuste fino. Uma vez concluído o trabalho, você poderá exibir as métricas de avaliação do modelo ajustado. Em seguida, é possível 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 utilizando 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 texto
  • Classificação de token
  • Respostas às perguntas
  • Resumo
  • Tradução

Para permitir que os usuários iniciem rapidamente o ajuste fino, publicamos amostras (notebooks Python e exemplos de CLI) para cada tarefa no repositório Git de exemplos do Finetune azureml-examples. Cada cartão de modelo também é vinculado a amostras de ajuste fino para tarefas de ajuste fino com suporte.

Implantando foundation models em pontos de extremidade para inferência

É possível implantar modelos de base (modelos pré-treinados do catálogo de modelos e modelos ajustados, uma vez registrados no seu espaço de trabalho) em um ponto de extremidade que poderá ser usado para inferência. Há suporte para a implantação em pontos de extremidade em tempo real e pontos de extremidade em lote. Você pode implantar esses modelos usando o assistente de interface do usuário Implantar ou usando os exemplos baseados em código vinculados do cartão de modelo.

Implantar usando o estúdio

Você pode invocar o formulário Implantar interface do usuário selecionando o botão Implantar no cartão de modelo para qualquer modelo de base e selecionando o ponto de extremidade em tempo real ou o ponto de extremidade do Lote

Screenshot showing the deploy button on the foundation model card.

Configurações de implantaçã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 computador a ser usado na implantação do modelo.

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

Cota compartilhada

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 Azure Machine Learning permitirá que você use a cota de um pool de cotas compartilhado por um tempo limitado. Para obter mais informações sobre a cota compartilhada, consulte Cota compartilhada do Azure Machine Learning.

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

Implantação usando exemplos baseados em código

Para permitir que os usuários iniciem rapidamente a implantação e a inferência, publicamos exemplos em Exemplos de inferência no repositório git azureml-examples. Os exemplos publicados incluem notebooks Python e exemplos da CLI. Cada cartão de modelo também apresenta links para exemplos de inferência para Inferência em tempo real e inferência do Lote.

Importar modelos base

Se você quiser usar um modelo de código aberto que não está incluído no catálogo de modelos, poderá importar o modelo da Hugging Face para o workspace do Azure Machine Learning. A Hugging Face é uma biblioteca de software livre para NLP (processamento de linguagem natural) que fornece modelos pré-treinados para tarefas populares de NLP. Atualmente, a importação de modelo dá suporte à importação de modelos para as seguintes tarefas, desde que o modelo atenda aos requisitos listados no Notebook de Importação de Modelo:

  • máscara de preenchimento
  • classificação de token
  • resposta a perguntas
  • resumo
  • geração de texto
  • classificação de texto
  • tradução
  • classificação de imagem
  • texto para imagem

Observação

Os modelos da Hugging Face estão sujeitos aos termos de licença de terceiros disponíveis na página de detalhes do modelo dessa empresa. É 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 notebook 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 notebook 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 da Hugging Face. Procure modelos no Hub da Hugging Face e identifique o modelo a ser importado. Verifique se o tipo de tarefa do modelo está entre os tipos de tarefa com suporte. Copie a ID do modelo, que está disponível no URI da página ou pode ser copiada usando o ícone de cópia ao lado do nome do modelo. Atribua-o à variável 'MODEL_ID' no notebook 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 de modelo seja executada. A execução da Importação de Modelo resulta na importação do modelo especificado da Hugging Face e registrado no workspace do Azure Machine Learning. Em seguida, é possível fazer o ajuste fino desse modelo ou implantá-lo em um ponto de extremidade para inferência.

Saiba mais