Compartilhar via


Introdução ao Treinamento de Modelos do Mosaic AI

Importante

Esse recurso está em Visualização Pública nas seguintes regiões: centralus, eastus, eastus2, northcentralus e westus.

Com o Treinamento de Modelo do Mosaic AI (antigo Treinamento do Foundation Model), você pode usar seus próprios dados para personalizar um modelo de base e otimizar seu desempenho para seu aplicativo específico. Ao realizar o ajuste fino completo dos parâmetros ou o treinamento contínuo de um modelo básico, você pode treinar seu próprio modelo usando significativamente menos dados, tempo e recursos de computação do que treinar um modelo do zero.

Com o Databricks, você tem tudo em uma única plataforma: seus próprios dados a serem usados para treinamento, o foundation model para treinar, pontos de verificação salvos no MLflow e o modelo registrado no Catálogo do Unity e pronto para implantação.

Consulte Tutorial: Criar e implantar uma execução de Treinamento de Modelo do Mosaic AI para aprender a criar uma execução usando a API de Treinamento de Modelo do Mosaic AI e, em seguida, examinar os resultados e implantar o modelo usando a interface do usuário do Databricks e o Mosaic AI Model Serving.

O que é o Treinamento de Modelo do Mosaic AI?

O Treinamento de Modelo do Mosaic AI permite que você use a API ou a interface do usuário do Databricks para ajustar ou treinar ainda mais um modelo de base.

Usando o Treinamento de Modelo do Mosaic AI, você pode:

  • Treine um modelo com seus dados personalizados, com os pontos de verificação salvos no MLflow. Você mantém o controle completo do modelo treinado.
  • Registre automaticamente o modelo no Catálogo do Unity, permitindo uma implantação fácil com o serviço de modelo.
  • Treine ainda mais um modelo proprietário completo carregando os pesos de um modelo treinado anteriormente.

A Databricks recomenda que você experimente o Treinamento de Modelo do Mosaic AI se:

  • Você tentou aprender pouco e quer melhores resultados.
  • Você tentou usar engenharia de prompt em um modelo existente e quer obter melhores resultados.
  • Você deseja a ter propriedade total em um modelo personalizado para privacidade de dados.
  • Você prioriza latência ou prioriza custos e deseja usar um modelo menor e mais barato com seus dados específicos da tarefa.

Tarefas com suporte

O Treinamento de Modelo do Mosaic AI tem suporte com os seguintes casos de uso:

  • Conclusão de chat: tarefa recomendada. Treine o seu modelo em logs de chat entre um usuário e um assistente de IA. Este formato pode ser usado para logs de chat reais e como um formato padrão para resposta a perguntas e texto de conversação. O texto é formatado automaticamente no formato apropriado para o modelo específico. Veja exemplos de modelos de chat na documentação da HuggingFace para mais detalhes sobre a criação de modelos.
  • Ajuste fino supervisionado: treine o seu modelo com base em dados estruturados de solicitação-resposta. Use isto para adaptar seu modelo a uma nova tarefa, alterar seu estilo de resposta ou adicionar funcionalidades relacionadas a seguir instruções. Esta tarefa não aplica formatação automática aos seus dados e só é recomendada quando for necessário realizar uma formatação de dados personalizada.
  • Pré-treinamento contínuo: treine o seu modelo com dados de texto adicionais. Use isto para adicionar novos conhecimentos a um modelo ou focar um modelo em um domínio específico.

Requisitos

  • Um workspace do Databricks em uma das seguintes regiões do Azure: centralus, eastus, eastus2, northcentralus ou westus.
  • APIs de Treinamento de Modelo do Mosaic AI instaladas usando pip install databricks_genai.
  • Databricks Runtime 12.2 LTS ML ou versões superiores se os seus dados estiverem em uma tabela Delta.

Consulte Prepare os dados para o Treinamento de Modelo do Mosaic AI para obter informações sobre os formatos de dados de entrada necessários.

Tamanho de dados recomendado para treinamento de modelo

O Databricks recomenda o treinamento inicial usando de uma a quatro épocas. Após avaliar o modelo ajustado, se você quiser que as saídas do modelo sejam mais semelhantes aos seus dados de treinamento, poderá começar a continuar o treinamento usando mais uma ou duas épocas.

Se o desempenho do modelo diminuir significativamente em tarefas não representadas em seus dados ajustados ou se o modelo parecer gerar cópias exatas dos dados ajustados, o Databricks recomenda reduzir o número de épocas de treinamento.

Para ajuste refinado supervisionado e conclusão de chat, você deve fornecer tokens suficientes para pelo menos um comprimento de contexto completo do modelo. Por exemplo, 4096 tokens para meta-llama/Llama-2-7b-chat-hf ou 32768 tokens para mistralai/Mistral-7B-v0.1.

Para o pré-treinamento contínuo, o Databricks recomenda um mínimo de 1,5 milhão de tokens para obter um modelo de qualidade mais alta que aprenda os seus dados personalizados.

Modelos com suporte

A tabela a seguir lista os modelos com suporte. Para os modelos mais recentes com suporte e seus comprimentos de contexto associados, use a função get_models().


from databricks.model_training import foundation_model

foundation_model.get_models()

Importante

O Meta Llama 3.2 está licenciado sob a LLAMA 3.2 Community License, Copyright © Meta Platforms, Inc. Todos os direitos reservados. Os clientes são responsáveis por garantir sua conformidade com os termos desta licença e com a Política de Uso Aceitável do Llama 3.2.

O Meta Llama 3.1 está licenciado sob a LLAMA 3.1 Community License, Copyright © Meta Platforms, Inc. Todos os direitos reservados. Todos os direitos reservados. Os clientes são responsáveis por garantir a conformidade com as licenças de modelo aplicáveis.

O Llama 3 é licenciado sob a Licença da Comunidade LLAMA 3, direitos autorais de Meta Platforms, Inc. Todos os direitos reservados. Os clientes são responsáveis por garantir a conformidade com as licenças de modelo aplicáveis.

Os modelos Llama 2 e Code Llama são licenciados sob a Licença da Comunidade LLAMA 2, Direitos Autorais © Meta Platforms, Inc. Todos os direitos reservados. Os clientes são responsáveis por garantir a conformidade com as licenças de modelo aplicáveis.

O DBRX é fornecido e está sujeito à Licença de Modelo Aberto do Databricks, Copyright © Databricks, Inc. Todos os direitos reservados. Os clientes são responsáveis por garantir a conformidade com as licenças de modelo aplicáveis, incluindo a Política de uso aceitável do Databricks.

Modelar Comprimento máximo do contexto Observações
databricks/dbrx-base 32768
databricks/dbrx-instruct 32768
meta-llama/Llama-3.2-1B 131072
meta-llama/Llama-3.2-1B-Instruct 131072
meta-llama/Llama-3.2-3B 131072
meta-llama/Llama-3.2-3B-Instruct 131072
meta-llama/Meta-Llama-3.1-405B 131072
meta-llama/Meta-Llama-3.1-405B-Instruct 131072
meta-llama/Meta-Llama-3.1-70B 131072
meta-llama/Meta-Llama-3.1-70B-Instruct 131072
meta-llama/Meta-Llama-3.1-8B 131072
meta-llama/Meta-Llama-3.1-8B-Instruct 131072
meta-llama/Meta-Llama-3-70B 8192 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Meta-Llama-3-70B-Instruct 8192 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Meta-Llama-3-8B 8192 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Meta-Llama-3-8B-Instruct 8192 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Llama-2-7b-hf 4096 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Llama-2-13b-hf 4096 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Llama-2-70b-hf 4096 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Llama-2-7b-chat-hf 4096 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Llama-2-13b-chat-hf 4096 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
meta-llama/Llama-2-70b-chat-hf 4096 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-7b-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-13b-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-34b-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-7b-Instruct-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-13b-Instruct-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-34b-Instruct-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-7b-Python-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-13b-Python-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
codellama/CodeLlama-34b-Python-hf 16384 Após 13 de dezembro de 2024, não haverá mais suporte a este modelo. Confira Modelos desativados para obter uma recomendação de substituição.
mistralai/Mistral-7B-v0.1 32768
mistralai/Mistral-7B-Instruct-v0.2 32768
mistralai/Mixtral-8x7B-v0.1 32768

Usar o Treinamento de Modelos AI do Mosaic

O Treinamento de Modelo do Mosaic AI pode ser acessado usando o SDK databricks_genai. O exemplo a seguir cria e inicia uma execução de treinamento que usa dados de Volumes do Catálogo do Unity. Consulte Criar uma execução de treinamento usando a API do Treinamento de Modelo do Mosaic AI para obter os detalhes da configuração.

from databricks.model_training import foundation_model as fm

model = 'meta-llama/Meta-Llama-3.1-8B-Instruct'
# UC Volume with JSONL formatted data
train_data_path = 'dbfs:/Volumes/main/mydirectory/ift/train.jsonl'
register_to = 'main.mydirectory'
run = fm.create(
  model=model,
  train_data_path=train_data_path,
  register_to=register_to,
)

Confira o notebook de demonstração Instrução de ajuste fino: Reconhecimento de Entidade Nomeada para obter um exemplo de ajuste fino de instrução que aborda a preparação de dados, a configuração e a implantação da execução de treinamento de ajuste fino.

Limitações

  • Não há suporte para grandes conjuntos de dados (10 bilhão de tokens ou mais) devido à disponibilidade de computação.

  • Para pré-treinamento contínuo, as cargas de trabalho são limitadas a arquivos de 60 a 256 MB. Arquivos maiores que 1 GB podem causar tempos de processamento mais longos.

  • A Databricks se esforça para disponibilizar os modelos de última geração para personalização usando o Treinamento de Modelo do Mosaic AI. À medida que novos modelos ficam disponíveis, a capacidade de acessar modelos mais antigos da API e/ou da interface do usuário pode ser removida, modelos mais antigos podem ser preteridos ou modelos com suporte podem ser atualizados. Confira Política de manutenção de modelos de IA generativa.

  • O Treinamento do Modelo Mosaic AI dá suporte ao treinamento de modelo para workspaces do Azure usando o armazenamento protegido por Link Privado.

    • No momento, há suporte apenas para a leitura de dados do armazenamento protegido por Link Privado no eastus2.
  • Quando há firewalls habilitados na conta do Azure Data Lake Storage que armazena seus dados no Catálogo do Unity, é necessário colocar o tráfego da lista de permissões dos clusters do plano de dados sem servidor do Databricks para usar o Treinamento do Modelo Mosaic AI. Entre em contato com a equipe da sua conta do Databricks para obter mais informações e possíveis soluções personalizadas.