创建任务运行
更新时间:2024-11-06
注意:为提升开发者使用体验,平台升级了模型调优接口。推荐使用新版模型精调接口,功能更全面、且接口更规范,详见模型调优API列表;本文内容不再更新,由于V1版本接口后续可能下线停止服务,为避免影响使用,建议接入V2版本接口。
功能介绍
本接口用于创建训练任务运行。
使用说明
调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
SDK调用
调用示例
import os
from qianfan import resources
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
# 创建任务运行,具体参数请查看参数说明
create_job_resp = resources.FineTune.create_job(job={
"taskId": task_id,
"baseTrainType": "ERNIE-Bot-turbo",
"trainType": "ERNIE-Bot-turbo-0725",
"trainMode": "SFT",
"peftType": "LoRA",
"trainConfig": {
"epoch": 4,
"learningRate": 0.00002,
"batchSize": 4,
"maxSeqLen": 4096
},
"trainset": [
{
"type": 1,
"id": 1234
}
],
"trainsetRate": 20
})
# 获取运行 id
print(create_job_resp)
返回示例
QfResponse(code = 200, headers = {
...
},
body = {
'log_id': '3019477815',
'result': {
'id': 6301
}
},
)
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
job | dict | 是 | 任务描述 |
job说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
taskId | int | 是 | 任务ID |
description | string | 否 | 运行描述 |
jobRunType | int | 是 | 任务运行类型,可选值如下: · 0:普通训练 · 1:增量训练 |
increConfig | dict | 否 | 增量训练基础任务信息,说明: (1)当jobRunType为1,此字段必填 (2)目前支持的基础任务算法: · ERNIE-Bot-turbo-0704 · ERNIE-Bot-turbo-0725 · ERNIE-Bot-turbo-0922 · Llama-2-7b · Llama-2-13b · SQLCoder-7B · ChatGLM2-6B · Baichuan2-13B · BLOOMZ-7B (3)基础任务需满足以下要求:peftType为ALL |
baseTrainType | string | 否 | 基础算法类型,说明: (1)当jobRunType为0,此字段必填 (2)可选值如下: · ERNIE-Speed · ERNIE-Bot-turbo · Llama-2 · SQLCoder · ChatGLM2 · Baichuan2 · BLOOMZ · CodeLLama |
trainType | string | 否 | 具体算法类型版本,说明: (1)当jobRunType为0,此字段必填 (2)当baseTrainType为ERNIE-Bot-turbo,trainType可选值如下: · ERNIE-Bot-turbo-0704 · ERNIE-Bot-turbo-0725 · ERNIE-Bot-turbo-0922 (3)当baseTrainType为Llama-2,trainType可选值如下: · Llama-2-7b · Llama-2-13b (4)当baseTrainType为SQLCoder,trainType为固定值SQLCoder-7B (5)当baseTrainType为ChatGLM2,trainType值为固定值ChatGLM2-6B (6)当baseTrainType为Baichuan2,trainType为固定值Baichuan2-13B (7)当baseTrainType为BLOOMZ,trainType为固定值BLOOMZ-7B (8)当baseTrainType为ERNIE-Speed,trainType为固定值ERNIE-Speed (9)当baseTrainType为CodeLlama,trainType为固定值CodeLlama-7B |
trainMode | string | 是 | 训练方法,说明: (1)当jobRunType为0,此字段必填 (2)固定值:SFT |
peftType | string | 否 | parameter efficient finetuning方式,说明: (1)当jobRunType为0时,此字段必填 (2)当trainType为ERNIE-Speed、ERNIE-Bot-turbo-0725、ERNIE-Bot-turbo-0922、SQLCoder-7B、ChatGLM2-6B、Baichuan2-13B或CodeLlama-7B,peftType可选值如下: · ALL · LoRA (4)其他,peftType可选值如下: · ALL · P-tuning · LoRA |
trainConfig | dict | 是 | 训练配置 |
trainset | list | 是 | 数据集配置 |
trainsetRate | float | 是 | 数据拆分比例,取值范围:[0,50] |
increConfig说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
taskId | int | 是 | 基础任务ID |
jobId | int | 是 | 基础任务运行ID |
trainConfig说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
epoch | int | 是 | 迭代轮次,取值范围:[1, 50] |
batchSize | int | 否 | 批处理大小,说明: (1)当trainType为ERNIE-Bot-turbo-0704、ERNIE-Bot-turbo-0725、ERNIE-Bot-turbo-0922或Baichuan2-13B,该字段不需要填写 (2)其他,batchSize取值范围:[1, 4] |
learningRate | float | 是 | 学习率,说明: (1)当trainType为ERNIE-Bot-turbo-0704, · peftType为ALL,learningRate取值范围[0.00001,0.00004] · peftType为P-tuning,learningRate取值范围[0.003,0.1] · peftType为LoRA,learningRate取值范围[0.00003,0.001] (2)当trainType为ERNIE-Speed、ERNIE-Bot-turbo-0725或ERNIE-Bot-turbo-0922, · peftType为ALL,learningRate取值范围[0.00001,0.00004] · peftType为LoRA,learningRate取值范围[0.00003,0.001] (3)当trainType为Baichuan2-13B或CodeLlama-7B,learningRate取值范围[0.0000000001,0.0002] (4)其他,learningRate取值范围[0.0000002,0.0002] |
maxSeqLen | int | 否 | 序列长度,说明: (1)如果trainType为ERNIE-Speed、ERNIE-Bot-turbo-0725或ERNIE-Bot-turbo-0922时,该字段必填 (2)可选值如下: · 4096 · 8192 |
loggingSteps | int | 否 | 保存日志间隔,说明: (1)当trainType为ERNIE-Speed或ERNIE-Bot-turbo-0922,该字段必填 (2)取值范围[1, 100] |
warmupRatio | float | 否 | 预热比例,说明: (1)当trainType为ERNIE-Speed或ERNIE-Bot-turbo-0922,该字段必填 (2)取值范围[0.01, 0.5] |
weightDecay | float | 否 | 正则化系数,说明: (1)当trainType为ERNIE-Speed或ERNIE-Bot-turbo-0922,该字段必填 (2)取值范围[0.0001, 0.1] |
loraRank | int | 否 | LoRA 策略中的秩,说明: (1)当trainType为ERNIE-Speed或ERNIE-Bot-turbo-0922,且peftType为LoRA时,该字段必填 (2)可选值如下: · 2 · 4 · 8 |
loraAllLinear | string | 否 | LoRA 所有线性层,说明: (1)当trainType为ERNIE-Speed或ERNIE-Bot-turbo-0922,且peftType为LoRA时,该字段必填 (2)可选值如下: · True · False |
trainset说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
type | int | 是 | 数据集类型,可选值如下: 1:表示平台数据集 2:表示bos数据集 |
id | int | 否 | 数据集版本ID,当type=1时,该字段必传 |
bosPath | string | 否 | 数据集版本bos路径,当type=2时,该字段必传 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 请求ID |
result | dict | 请求结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
id | int | 运行ID |