教程:创建和部署 Mosaic AI 模型训练运行

重要

该功能在以下区域提供公共预览版centraluseastuseastus2northcentraluswestus

本文介绍如何使用 Mosaic AI 模型训练(之前称为“基础模型训练”)API 创建和配置运行,然后使用 Databricks UI 和 Mosaic AI 模型服务查看结果并部署模型。

要求

  • 位于以下 Azure 区域之一的工作区:centraluseastuseastus2northcentraluswestcentraluswestuswestus3
  • Databricks Runtime 12.2 LTS ML 或更高版本。
  • 本教程必须在 Databricks 笔记本中运行。
  • 采用接受格式训练数据。 请查看为 Mosaic AI 模型训练准备数据

步骤 1:准备用于训练的数据

请查看为 Mosaic AI 模型训练准备数据

步骤 2:安装 databricks_genai SDK

使用以下命令安装 databricks_genai SDK。

%pip install databricks_genai

接下来,导入 foundation_model 库:

dbutils.library.restartPython()
from databricks.model_training import foundation_model as fm

步骤 3:创建训练运行

使用 Mosaic AI 模型训练的 create() 功能创建训练运行。 下列参数必填:

  • model:要训练的模型。
  • train_data_path:训练数据集的位置。
  • register_to:要在其中保存检查点的 Unity Catalog 目录和架构。

例如:

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

run

步骤 4:查看运行状态

完成训练运行所需的时间取决于令牌数、模型和 GPU 可用性。 为了加快训练速度,Databricks 建议使用预留计算。 有关详细信息,请联系 Databricks 帐户团队。

启动运行后,可以使用 get_events() 来监视它的状态。

run.get_events()

步骤 5:查看指标和输出

按照以下步骤在 Databricks UI 中查看结果:

  1. 在 Databricks 工作区中,单击左侧导航栏中的“试验”
  2. 从列表中选择你的试验。
  3. 查看“图表”选项卡中的指标图表。每次训练运行都会生成训练指标,只有提供了评估数据路径时才会生成评估指标。
    1. 显示进度的主要训练指标是丢失。 评估丢失可用于查看模型是否过度拟合训练数据。 但是,不应完全依赖丢失,因为在监督训练任务中,当模型不断改进时,评估丢失可能会出现过度拟合。
    2. 准确度越高,模型越好,但请记住,接近 100% 的准确度可能会出现过度拟合。
    3. 运行后,MLflow 中会显示以下指标:
      • LanguageCrossEntropy 基于语言建模输出计算交叉熵。 分数越低越好。
      • LanguagePerplexity 度量语言模型根据前一个单词或字符预测文本块中下一个单词或字符的能力。 分数越低越好。
      • TokenAccuracy 计算语言建模的标记级准确度。 分数越高越好。
    4. 在此选项卡中,如果指定了评估提示,还可以查看评估提示的输出。

步骤 6:在部署之前使用 MLflow LLM Evaluate 评估多个自定义模型

请参阅使用 MLflow 评估大型语言模型

步骤 7:部署模型

训练运行完成后,会在 Unity Catalog 中自动注册模型。 模型是根据在运行 create() 方法的 register_to 字段中指定的内容注册的。

若要部署用于服务的模型,请执行以下步骤:

  1. 导航到 Unity Catalog 中的模型。
  2. 单击“提供此模型”
  3. 单击“创建服务终结点”。
  4. 在“名称1”字段中,提供终结点的名称。
  5. 单击 “创建”

其他资源