Crie uma execução de treinamento usando a API do Mosaic AI Model Training
Importante
Este recurso está em prévia pública em us-east-1
e us-west-2
.
Esta página descreve como criar e configurar uma execução de treinamento usando a API do Mosaic AI Model Training (antigo Foundation Model Training) e descreve todos os parâmetros usados na chamada da API. Você também pode criar uma execução usando a interface do usuário. Para obter instruções, consulte Criar uma execução de treinamento usando a interface de usuário do Mosaic AI Model Training.
Requisitos
Consulte Requisitos.
Crie uma execução de treinamento
Para criar execuções de treinamento de forma programática, use a função create()
. Essa função treina um modelo no conjunto de dados disponibilizado e converte o ponto de verificação final do Composiotr em um ponto de verificação formatado como Hugging Face para inferência.
As entradas necessárias são o modelo que você deseja treinar, o local do seu dataset de treinamento e onde registrar seu modelo. Há também campos opcionais que permitem realizar a avaliação e alterar os hiperparâmetros de sua execução.
Após a conclusão da execução, a execução concluída e o ponto de verificação final são salvos, o modelo é clonado e esse clone é registrado no Unity Catalog como uma versão do modelo para inferência.
O modelo da execução concluída, não a versão do modelo clonado no Unity Catalog, e seus pontos de verificação Composer e Hugging Face são salvos no MLflow. Os pontos de verificação do Composer podem ser usados para tarefas contínuas de ajuste fino.
Consulte Configurar uma execução de treinamento para ver os detalhes sobre os argumentos da função create()
.
from databricks.model_training import foundation_model as fm
run = fm.create(
model='meta-llama/Llama-2-7b-chat-hf',
train_data_path='dbfs:/Volumes/main/mydirectory/ift/train.jsonl', # UC Volume with JSONL formatted data
# Public HF dataset is also supported
# train_data_path='mosaicml/dolly_hhrlhf/train'
register_to='main.mydirectory', # UC catalog and schema to register the model to
)
Configurar uma execução de treinamento
A tabela a seguir resume os campos da função create()
.
campo |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
|
x |
str |
O nome do modelo a ser usado. Consulte Modelos compatíveis. |
|
x |
str |
O local dos seus dados de treinamento. Pode ser um local no Unity Catalog ( Para Para |
|
x |
str |
O catálogo e o esquema do Unity Catalog ( |
|
str |
O ID do clustering a ser usado para processamento de dados do Spark. Isso é necessário para tarefas de treinamento supervisionado em que os dados de treinamento estão em uma tabela Delta. Para obter informações sobre como encontrar a ID do cluster, consulte Obter ID do cluster. |
|
|
str |
O caminho para o experimento MLflow em que a saída da execução de treinamento (métricas e pontos de verificação) é salva. O default é o nome da execução dentro do workspace pessoal do usuário (ou seja, |
|
|
str |
O tipo de tarefa a ser executada. Pode ser |
|
|
str |
A localização remota dos seus dados de avaliação (se houver). Deve seguir o mesmo formato de |
|
|
str |
Uma lista de strings de instrução para gerar respostas durante a avaliação. O padrão é |
|
|
str |
A localização remota de um ponto de verificação de modelo personalizado para treinamento. O default é |
|
|
str |
A duração total da sua execução. O default é uma época ou |
|
|
str |
Taxa de aprendizagem para treinamento de modelos. O default é |
|
|
str |
O comprimento máximo da sequência da amostra de dados. É usado para truncar quaisquer dados muito longos e para empacotar sequências mais curtas para eficiência. O default é 8192 tokens ou o tamanho máximo do contexto para o modelo oferecido, o que for menor. Você pode usar esse parâmetro para configurar o tamanho do contexto, mas a configuração além do tamanho máximo do contexto de cada modelo não é compatível. Consulte Modelos compatíveis para saber o tamanho máximo de contexto suportado de cada modelo. |
|
|
Booleana |
Se deve validar o acesso aos caminhos de entrada antes de enviar o Job de treinamento. O default é |
Construir sobre os pesos dos modelo personalizados
O Mosaic AI Model Training dá suporte ao treinamento de todos os modelos compatíveis a partir de pesos personalizados usando o parâmetro opcional custom_weights_path.
Por exemplo, você pode criar um modelo específico de domínio com seus dados personalizados e passar então o ponto de verificação desejado como entrada para mais treinamento.
Você pode indicar o local remoto para o ponto de verificação do Compositor da sua execução anterior para treinamento. Os caminhos do ponto de verificação estão disponíveis na tab Artefatos de uma execução anterior do MLflow e estão no formato: dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<run_name>/checkpoints/<checkpoint_folder>[.symlink]
, onde a extensão do link simbólico é opcional. Esse nome de pasta de ponto de verificação corresponde ao lote e à época de um snapshot específico, como ep29-ba30/
. O snapshot final pode ser acessado com o link simbólico latest-sharded-rank0.symlink
.
O caminho pode então ser passado para o parâmetro custom_weights_path
em sua configuração.
model = 'meta-llama/Llama-2-7b-chat-hf'
custom_weights_path = 'your/checkpoint/path'
Obtenha o ID do cluster
Para recuperar o ID do cluster:
Na barra de navegação esquerda do workspace do Databricks, clique em Computação.
Na tabela, clique no nome do cluster.
Clique em no canto superior direito e selecione Ver JSON no menu suspenso.
O arquivo JSON do cluster é exibido. Copie a ID do cluster, que é a primeira linha no arquivo.
Ver o status de uma execução
Você pode acompanhar o progresso da execução usando a página Experimento na interface do usuário do Databricks ou usando o comando get_events()
da API. Para obter detalhes, consulte Exibição, gerenciamento e análise de execuções do Mosaic AI Model Training.
Exemplo de saída de get_events()
:
Detalhes da execução de exemplo na página Experimento:
Próximas etapas
Após a conclusão da execução do treinamento, é possível revisar as métricas no MLflow e implantar o modelo para inferência. Veja os passos 5 a 7 do Tutorial: criação e implantação de uma execução do Mosaic AI Model Training.
Consulte o Notebook Instruction fine-tuning: Named Entity Recognition para ver um exemplo de ajuste fino de instruções que descreve a preparação de dados, a configuração e a implementação do treinamento de ajuste fino.
Notebook exemplo
O site Notebook a seguir mostra um exemplo de como gerar o uso sintético de dados do modelo Meta Llama 3.1 405B Instruct e usar esses dados para ajustar um modelo: