Ajuste fino do modelo de fundação
Importante
Este recurso está na 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 do modelo de IA em mosaico), 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 de 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 para usar para treinamento, o modelo básico para treinar, pontos de verificação salvos no MLflow e o modelo registrado no Unity Catalog e pronto para implantar.
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 Base e, em seguida, revise 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 total do modelo treinado.
- Registe automaticamente o modelo no Unity Catalog, permitindo uma fácil implementação com o serviço de disponibilização de modelos.
- Treine ainda mais um modelo completo e proprietário carregando os pesos de um modelo previamente treinado.
O Databricks recomenda que você tente o ajuste fino do modelo de base se:
- Você já experimentou poucos aprendizados e quer melhores resultados.
- Você tentou engenharia rápida em um modelo existente e quer melhores resultados.
- Você deseja a propriedade total sobre um modelo personalizado para privacidade de dados.
- Você é sensível à latência ou ao custo e deseja usar um modelo menor e mais barato com seus dados específicos da tarefa.
Tarefas suportadas
O ajuste fino do modelo básico suporta os seguintes casos de uso:
- Conclusão do chat: tarefa recomendada. Treine seu modelo em logs de bate-papo entre um usuário e um assistente de IA. Esse formato pode ser usado tanto para logs de bate-papo reais quanto como um formato padrão para resposta a perguntas e texto conversacional. O texto é formatado automaticamente no formato apropriado para o modelo específico. Consulte exemplos de modelos de bate-papo na documentação do HuggingFace para obter mais informações sobre modelos.
- Instruções de ajuste fino: Treine o seu modelo em dados estruturados de pergunta-resposta. Use isso para adaptar seu modelo a uma nova tarefa, alterar seu estilo de resposta ou adicionar recursos de acompanhamento de instruções. Esta tarefa não aplica automaticamente qualquer formatação aos seus dados e só é recomendada quando é necessária uma formatação de dados personalizada.
- Pré-treinamento contínuo: treine seu modelo com dados de texto adicionais. Use isso para adicionar novos conhecimentos a um modelo ou focar um modelo em um domínio específico.
Requerimentos
- Um espaço de trabalho Databricks em uma das seguintes regiões do Azure:
centralus
,eastus
,eastus2
,northcentralus
ouwestus
. - APIs de ajuste fino do modelo básico instaladas usando
pip install databricks_genai
o . - Databricks Runtime 12.2 LTS ML ou superior se seus dados estiverem em uma tabela Delta.
Consulte Preparar dados para ajuste fino do modelo básico para obter informações sobre os formatos de dados de entrada necessários.
Tamanho de dados recomendado para treinamento de modelo
A Databricks recomenda inicialmente treinar usando uma a quatro épocas. Depois de avaliar seu modelo ajustado, se você quiser que as saídas do modelo sejam mais semelhantes aos seus dados de treinamento, você pode começar a continuar o treinamento usando mais uma a duas épocas.
Se o desempenho do modelo diminuir significativamente em tarefas não representadas em seus dados de ajuste fino, ou se o modelo parecer produzir cópias exatas de seus dados de ajuste fino, o Databricks recomenda reduzir o número de épocas de treinamento.
Para ajuste fino de instruções e conclusão de bate-papo, você deve fornecer tokens suficientes para pelo menos um comprimento de contexto completo do modelo. Por exemplo, 131072 tokens para meta-llama/Llama-3.2-3B-Instruct
.
Para um pré-treinamento contínuo, a Databricks recomenda um mínimo de 1,5 milhão de tokens para obter um modelo de maior qualidade que aprenda seus dados personalizados.
Modelos suportados
A tabela a seguir lista os modelos suportados. Consulte as licenças de modelo e para obter informações sobre a licença de modelo aplicável e a política de uso aceitável.
Para continuar a oferecer suporte aos modelos mais avançados, o Databricks pode atualizar os modelos suportados ou aposentar modelos mais antigos. Veja para modelos a serem descontinuados.
Modelo | Comprimento máximo do contexto | Notas |
---|---|---|
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-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 |
Para serem modelos aposentados
A tabela a seguir lista os modelos suportados que estão planejados para a aposentadoria. Consulte Modelos aposentados para modelos aposentados, datas de aposentadoria planejadas e substituições de modelos recomendadas.
Importante
Após 30 de janeiro de 2025, a família modelo Meta Llama 3.1 405B é aposentada. Consulte Modelos descontinuados para obter os modelos de substituição recomendados.
Modelo | Comprimento máximo do contexto | Notas |
---|---|---|
mistralai/Mistral-7B-v0.1 |
32768 | Este modelo não é mais suportado após 30 de abril de 2025. |
mistralai/Mistral-7B-Instruct-v0.2 |
32768 | Este modelo não é mais suportado após 30 de abril de 2025. |
mistralai/Mixtral-8x7B-v0.1 |
32768 | Este modelo não é mais suportado após 30 de abril de 2025. |
databricks/dbrx-base |
32768 | Este modelo não é mais suportado após 30 de abril de 2025. |
databricks/dbrx-instruct |
32768 | Este modelo não é mais suportado após 30 de abril de 2025. |
Modelos de licença
A tabela a seguir fornece a licença de modelo aplicável e as informações de política de uso aceitável para as famílias de modelos suportados.
Família de modelos | Política de licença e uso aceitável |
---|---|
Meta Llama 3,2 | 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 a sua conformidade com os termos desta licença e com a Política de Utilização Aceitável da Llama 3.2. |
Meta Llama 3,1 | Meta Llama 3.1 é licenciado sob a LLAMA 3.1 Community License, Copyright © 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. |
DBRX | DBRX é fornecido sob e sujeito à Databricks Open Model License, 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. |
Usar ajuste fino do modelo de base
O ajuste fino do modelo básico pode ser acessado usando o databricks_genai
SDK. O exemplo a seguir cria e inicia uma execução de treinamento que usa dados de Unity Catalog Volumes. Consulte Criar uma execução de treinamento usando a API de ajuste fino do modelo básico 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,
)
Consulte o bloco de anotações de demonstração Ajuste fino de instruções: reconhecimento de entidade nomeada para obter um exemplo de ajuste fino de instruções que percorre a preparação de dados, o ajuste fino, o treinamento, a execução, a configuração e a implantação.
Limitações
Não há suporte para grandes conjuntos de dados (tokens 10B+) 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 1GB 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 fundação. À 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, modelos mais antigos podem ser preteridos ou modelos suportados atualizados. Consulte Política de manutenção de modelos de IA generativa.
Se você tiver o Azure Private Link configurado em seu espaço de trabalho, o ajuste fino do Modelo de Fundação só dá suporte aos espaços de trabalho do Azure no
eastus2
.Se você tiver o Private Link configurado em seu armazenamento, o Databricks recomenda o uso de tabelas do Unity Catalog.
Se tiver firewalls habilitados na conta de Armazenamento do Azure Data Lake que armazena os seus dados no Unity Catalog, precisa de permitir o tráfego dos clusters de plano de dados sem servidor Databricks na lista de permitidos para poder usar o ajuste fino do Foundation Model. Entre em contato com sua equipe de conta Databricks para obter mais informações e possíveis soluções personalizadas.