教程:创建和部署基础模型微调运行
重要
该功能在以下区域提供公共预览版:centralus
、eastus
、eastus2
、northcentralus
和 westus
。
本文介绍如何使用基础模型微调(现在是马赛克 AI 模型训练的一部分)API 创建和配置运行,然后使用 Databricks UI 和马赛克 AI 模型服务查看结果并部署模型。
要求
- 位于以下 Azure 区域之一的工作区:
centralus
、eastus
、eastus2
、northcentralus
、westcentralus
、westus
、westus3
。 - Databricks Runtime 12.2 LTS ML 或更高版本。
- 本教程必须在 Databricks 笔记本中运行。
- 采用接受格式训练数据。 请参阅 “为基础模型微调准备数据”。
步骤 1:准备用于训练的数据
请参阅 “为基础模型微调准备数据”。
步骤 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:创建训练运行
使用基础模型微调 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 中查看结果:
- 在 Databricks 工作区中,单击左侧导航栏中的“试验”。
- 从列表中选择你的试验。
- 查看“图表”选项卡中的指标图表。每次训练运行都会生成训练指标,只有提供了评估数据路径时才会生成评估指标。
- 显示进度的主要训练指标是丢失。 评估丢失可用于查看模型是否过度拟合训练数据。 但是,不应完全依赖丢失,因为在监督训练任务中,当模型不断改进时,评估丢失可能会出现过度拟合。
- 准确度越高,模型越好,但请记住,接近 100% 的准确度可能会出现过度拟合。
- 运行后,MLflow 中会显示以下指标:
LanguageCrossEntropy
基于语言建模输出计算交叉熵。 分数越低越好。LanguagePerplexity
度量语言模型根据前一个单词或字符预测文本块中下一个单词或字符的能力。 分数越低越好。TokenAccuracy
计算语言建模的标记级准确度。 分数越高越好。
- 在此选项卡中,如果指定了评估提示,还可以查看评估提示的输出。
步骤 6:在部署之前使用马赛克 AI 代理评估评估多个自定义模型
步骤 7:部署模型
训练运行完成后,会在 Unity Catalog 中自动注册模型。 模型是根据在运行 create()
方法的 register_to
字段中指定的内容注册的。
若要部署用于服务的模型,请执行以下步骤:
- 导航到 Unity Catalog 中的模型。
- 单击“提供此模型”。
- 单击“创建服务终结点”。
- 在“名称1”字段中,提供终结点的名称。
- 单击 “创建” 。
其他资源
- 使用基础模型微调 API 创建训练运行
- 基础模型微调
- Azure Databricks 中的模型服务
- 请参阅指令微调:命名实体识别演示笔记本,查看指令微调示例,按步骤进行数据准备、微调训练运行配置和部署。