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
ouwestus
. - 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
.
- No momento, há suporte apenas para a leitura de dados do armazenamento protegido por Link Privado no
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.