百度智能云文心大模型API ERNIE 3.0模型精调 - 模型训练
文档简介:
用户设置:
在代码最开始处设置您在官网获取到的ak和sk。
import wenxin_api
wenxin_api.ak = "your ak"
wenxin_api.sk = "your sk"
创建精调任务:
数据上传后,启动训练任务。
【百度智能云】文心一言
用户设置
- 在代码最开始处设置您在官网获取到的ak和sk
import wenxin_api
wenxin_api.ak = "your ak" wenxin_api.sk = "your sk"
创建精调任务
- 数据上传后,启动训练任务
from wenxin_api import Train, Dataset from wenxin_api.const import (ERNIE_100B_
MODEL, ERNIE_10B_MODEL, ERNIE_1P5B_MODEL) data_id = "your data id" #请查看数据准备页面,
上传数据集合并获得id dataset = Dataset.retrieve(data_id=data_id) Train.create(trai
n_datasets=[dataset], base_model=ERNIE_100B_MODEL)
您可以在base_model处指定您要训练的基础模型的量级 基础模型为:
- ERNIE_100B_MODEL(即千亿模型ERNIE 3.0 Zeus)
- ERNIE_10B_MODEL(即百亿模型ERNIE 3.0-10B)
- ERNIE_1P5B_MODEL(即十五亿模型ERNIE 3.0-1.5B)
开始精调任务后,可能需要一些时间才能完成。您的任务在我们系统中按提交时间排队运行,
精调模型可能需要几分钟或几小时,具体取决于您选择的模型量级和数据集的大小。
查询训练好的模型
- 任务完成后,您可以查询训练好的模型名称。
from wenxin_api import Model # 查看所有模型 models = Model.list() print(models) # 根据model_id
查看模型 model_id = "your model id" model = Model.retrieve(model_id=model_id) print(model)
# 根据训练任务的task_id查看模型 task_id = "your task id" model = Model.retrieve(task_id=model_id) print(model)
- 查询结果返回示例(单个模型)
{ "id":42, # 模型id "status":1, # 模型状态,1代表模型准备就绪,可以参考状态码表 "base_model":3,
# 基础模型,3代表基础模型是15亿模型,可以参考状态码表 "is_public":0, # 是否是公开模型,
0表示是私有模型 "name":"job-0bb62f509620bc90_prompt_embeddings.npy", # 模型名称 "type":"model" }
其中常见的状态码可以参考:状态码汇总
获取模型和删除模型
- 针对训练好的模型,您还可以获取和删除模型:
from wenxin_api import Model # 查看所有模型 models = Model.list() # 使用训练任务的task_id获取模型
task_id = "your task id" model = Model.retrieve(task_id=task_id) # 使用model_id获取模型 model_id =
"your model id" model = Model.retrieve(model_id=model_id) # 删除模型 model_id="your
model id" Model.delete(model_id=model_id)
查看、删除、停止任务
- 除了创建微调作业外,您还可以查看所有训练任务、查看指定训练任务、停止训练任务。
from wenxin_api import Train # 查看所有训练任务 tasks = Train.list() print(tasks) train_id
="your train task id" # 查看指定训练任务 task = Train.retrieve(task_id=train_id) print(task) # 停止训练任务 task.stop()
- 查询结果返回示例
{ "job_id":"job-0bb62f210535f7c6", # 训练平台上任务的id "response":"{}", # 训练成功后该字段
下有模型的id "task_state":203, # 训练状态码,以参考状态码表 "task_id":16, # 训练任务id "task_t
ype":1, # 任务种类,1代表训练任务 "type":"task", "base_model":3 }
其中常见的状态码可以参考:状态码汇总
指定验证集启动训练任务
- 如果您只上传训练数据,系统会自动把您的数据分为训练集和验证集,如果您希望上传自己的验证数据,
- 您可以通过以下代码自己指定验证集来启动您的训练任务。验证集与训练集格式相同,并且您的训练和验证数据应该是互斥的。
from wenxin_api import Train # 指定本地数据集位置 train_file_path = "your train file" dev_file_path
= "your dev file" # 上传训练集和验证集 train_dataset = Dataset.create(local_file_path=train_file
_path) dev_dataset = Dataset.create(local_file_path=dev_file_path) # 训练时指定训练集和验证集 Train
.create(train_datasets=[train_dataset], dev_datasets=[dev_dataset])