查看、管理和分析基础模型微调运行
重要
该功能在以下区域提供公共预览版:centralus
、eastus
、eastus2
、northcentralus
和 westus
。
本文介绍如何使用 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 中查看运行,请:
单击左侧导航栏中的“试验”以显示“试验”页。
在表中,单击试验的名称以显示试验页。 试验页列出与试验关联的所有运行。
要在表中显示其他信息或指标,请单击 并从菜单中选择要显示的项:
“图表”选项卡中提供了其他运行信息:
还可以单击运行的名称以显示运行屏幕。 借助此屏幕,可以访问有关运行的其他详细信息。
检查点
要访问检查点文件夹,请单击运行屏幕上的“项目”选项卡。 打开试验名称,然后打开检查点文件夹。 这些项目检查点与训练运行结束时注册的模型不同。
此文件夹中有几个目录:
- 纪元文件夹(命名为
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 检查点后获取这些检查点。 此函数将运行对象作为输入。 如果检查点尚不存在,系统会提示你在保存检查点后重试。