查看、管理和分析基础模型微调运行

重要

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

本文介绍如何使用 API 或使用 UI 查看、管理和分析基础模型微调(现在是马赛克 AI 模型训练的一部分)运行。

有关创建运行的信息,请参阅 使用基础模型微调 API 创建训练运行,并使用 基础模型微调 UI 创建训练运行。

使用基础模型微调 API 查看和管理训练运行

基础模型微调 API 提供以下功能来管理训练运行。

获取运行

使用 get() 函数按已启动的名称返回运行或运行已启动的对象。

from databricks.model_training import foundation_model as fm

fm.get('<your-run-name>')

列出运行

使用 list() 函数查看已启动的运行。 下表列出了可以指定的可选筛选器。

可选筛选器 定义
finetuning_runs 要获取的运行列表。 默认为选择所有运行。
user_emails 如果为工作区启用了共享运行,则可以按提交训练运行的用户筛选结果。 默认为无用户筛选器。
before 用于筛选之前运行的日期/时间或日期/时间字符串。 默认为所有运行。
after 要筛选之后运行的日期/时间或日期/时间字符串。 默认为所有运行。
from databricks.model_training import foundation_model as fm

fm.list()

# filtering example
fm.list(before='2023-01-01', limit=50)

取消训练运行

若要取消单个训练运行,请使用 cancel() 函数并传入运行名称。

from databricks.model_training import foundation_model as fm

run_to_cancel = '<name-of-run-to-cancel>'
fm.cancel(run_to_cancel)

若要取消多个训练运行,请以列表的形式传入特定的运行名称。

from databricks.model_training import foundation_model as fm

runs_to_cancel = ['<run_1>, <run_2>, <run_3>']
fm.cancel(runs=runs_to_cancel)

若要取消试验中的所有训练运行,请传入试验 ID。

from databricks.model_training import foundation_model as fm

experiment_to_cancel = '<experiment-id-to-cancel>'
fm.cancel(experiment_id=experiment_to_cancel)

查看训练运行的状态

下表列出了训练运行创建的事件。 在运行期间随时使用 get_events() 函数查看运行进度。

注意

基础模型微调强制实施 10 个活动运行的限制。 这些运行处于排队中、正在运行或即将完成状态。 在运行进入已完成、失败或已停止状态后,不再将它们视为活动状态。

事件类型 示例事件消息 定义
CREATED 已创建运行。 已创建训练运行。 如果资源可用,则运行将启动。 否则,它将进入 Pending 状态。
STARTED 已启动运行。 已分配资源,并且运行已启动。
DATA_VALIDATED 已验证训练数据。 已验证训练数据的格式是否正确。
MODEL_INITIALIZED 已为基本模型 meta-llama/Llama-2-7b-chat-hf 下载和初始化模型数据。 已下载基本模型的权重,训练已就绪,可以开始。
TRAIN_UPDATED [epoch=1/1][batch=50/56][ETA=5min] 训练损失:1.71 报告当前训练批次、周期或令牌,估计训练完成时间(不包括检查点上传时间)和训练丢失时间。 此事件会在每个批处理结束时进行更新。 如果运行配置指定了以 tok 单位表示的 max_duration,则会在令牌中报告进度。
TRAIN_FINISHED 已完成训练。 训练已完成。 检查点上传开始。
COMPLETED 已完成运行。 已上传最终权重。 已上传检查点,并且已完成运行。
CANCELED 已取消运行。 如果在它上面调用 fm.cancel(),则会取消该运行。
FAILED 一个或多个训练数据集示例包含未知键。 请查看文档,以了解支持的数据格式。 运行失败。 检查 event_message 以了解可操作的详细信息,或联系客户支持。
from databricks.model_training import foundation_model as fm

fm.get_events()

使用 UI 查看和管理运行

要在 UI 中查看运行,请:

  1. 单击左侧导航栏中的“试验”以显示“试验”页。

  2. 在表中,单击试验的名称以显示试验页。 试验页列出与试验关联的所有运行。

    “试验”页

  3. 要在表中显示其他信息或指标,请单击 加号 并从菜单中选择要显示的项:

    向图表添加指标

  4. “图表”选项卡中提供了其他运行信息:

    “图表”选项卡

  5. 还可以单击运行的名称以显示运行屏幕。 借助此屏幕,可以访问有关运行的其他详细信息。

    “运行”页

检查点

要访问检查点文件夹,请单击运行屏幕上的“项目”选项卡。 打开试验名称,然后打开检查点文件夹。 这些项目检查点与训练运行结束时注册的模型不同。

“项目”选项卡上的检查点文件夹

此文件夹中有几个目录:

  • 纪元文件夹(命名为 ep<n>-xxx)包含每个 Composer 检查点的权重和模型状态。 Composer 检查点通过训练定期保存,这些检查点用于恢复微调训练运行并继续进行微调。 此检查点是作为 custom_weights_path 传入的检查点,用于从这些权重启动另一个训练运行,请参阅 基于自定义模型权重生成
  • huggingface 文件夹中,Hugging Face 检查点也会定期通过训练保存。 下载此文件夹中的内容后,可以使用 AutoModelForCausalLM.from_pretrained(<downloaded folder>) 加载这些检查点,就像使用任何其他 Hugging Face 检查点一样。
  • checkpoints/latest-sharded-rank0.symlink 是一个文件,用于保存最新检查点的路径,可用于恢复训练。

还可以在使用 get_checkpoints(run) 保存运行的 Composer 检查点后获取这些检查点。 此函数将运行对象作为输入。 如果检查点尚不存在,系统会提示你在保存检查点后重试。