Compartilhar via


Ajuste fino do modelo de fundação

Importante

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

Com o ajuste fino do modelo de base (agora parte do treinamento de modelo de IA do Mosaic), você pode usar seus próprios dados para personalizar um modelo de base para 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 ajuste fino do Modelo de Base para saber como criar uma execução usando a API de Ajuste Fino do Modelo de Fundação e, em seguida, examine os resultados e implante o modelo usando a interface do usuário do Databricks e o Mosaic AI Model Serving.

O que é o ajuste fino do modelo de fundação?

O ajuste fino do modelo de base 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 ajuste fino do modelo de fundação, 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.

O Databricks recomenda que você experimente o ajuste fino do Modelo de Base 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 ajuste fino do modelo de base é compatível 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.
  • Modelo de base APIs de ajuste fino instaladas usando pip install databricks_genaio .
  • Databricks Runtime 12.2 LTS ML ou versões superiores se os seus dados estiverem em uma tabela Delta.

Consulte Preparar dados para o ajuste fino do modelo de base 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 ajuste fino do modelo de fundação

O ajuste fino do modelo de base pode ser acessado usando o databricks_genai SDK. 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 de ajuste fino do modelo de base para obter detalhes de 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 mais recentes para personalização usando o ajuste fino do modelo de base. À medida que novos modelos se tornam disponíveis, o acesso a modelos mais antigos da API ou da interface do usuário pode ser removido, os modelos mais antigos podem ser preteridos ou os modelos com suporte atualizados. Confira Política de manutenção de modelos de IA generativa.

  • O ajuste fino do modelo básico só dá suporte ao treinamento de modelo para workspaces do Azure usando o armazenamento por trás do Link Privado.

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