创建任务运行
POST
https://qianfan.baidubce.com/wenxinworkshop/finetune/createJob功能介绍
本接口用于创建训练任务运行。
注意事项
- 调用本文API,使用“安全认证/Access Key ”中的Access Key ID 和 Secret Access Key等进行鉴权,无法使用获取Access Token的方式鉴权,具体鉴权认证机制参考鉴权认证机制。
增量训练
curl --location 'https://qianfan.baidubce.com/wenxinworkshop/finetune/createJob' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx3/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8exxxxx525543' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"taskId": 362,
"description": "",
"jobRunType": 1,
"increConfig": {
"taskId":362,
"jobId":1264
},
"trainConfig": {
"epoch": 1,
"learningRate": 0.00003,
"maxSeqLen": 4096
},
"trainset": [
{
"type": 1,
"id": 188
}
],
"trainsetRate": 20
}'
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
error_code | 错误码 |
error_msg | 错误描述信息,帮助理解和解决发生的错误 |
例如参数错误返回:
{
"error_code": 500001,
"error_msg": "param invalid"
}
错误码 | 错误信息 | 描述 |
---|---|---|
500000 | internal server error | 服务器内部错误 |
500001 | param invalid | 参数错误 |
500002 | auth failed, no access | 无权访问 |
510101 | dataset entity count not enough, at least 32 | 数据集数量不足,至少需要32条数据 |
510102 | dataset config error | 数据集异常 |
510201 | task name exist | 任务名称已存在 |
510202 | task not exist | 任务不存在 |
510203 | task count over limit | 任务数量已经达到上限 |
510301 | job not exist | 任务运行不存在 |
510302 | job status invalid | 任务运行状态异常 |
510401 | train config error | 训练配置异常 |
510402 | job training count over limit | 训练中的运行数量已经达到上限 |
510403 | charge quote not enough | 训练额度不足 |
510404 | job not support incre train | 该运行暂不支持增量训练 |
请求参数
固定值:application/json
当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z
用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具
任务运行类型,可选值如下: · 0:普通训练 · 1:增量训练
基础算法类型,说明: (1)当jobRunType为0,此字段必填 (2)可选值如下: · ERNIE-Bot-turbo · Llama-2 · SQLCoder · ChatGLM2 · Baichuan2 · BLOOMZ
具体算法类型版本,说明: (1)当jobRunType为0,此字段必填 (2)当baseTrainType为ERNIE-Bot-turbo,trainType可选值如下: · ERNIE-Bot-turbo-0516 · ERNIE-Bot-turbo-0704 · ERNIE-Bot-turbo-0725 (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
训练方法,说明: (1)当jobRunType为0,此字段必填 (2)固定值:SFT
parameter efficient finetuning方式,说明: (1)当jobRunType为0时,此字段必填 (2)当trainType为ERNIE-Bot-turbo-0516,peftType固定值为ALL (3)当trainType为ERNIE-Bot-turbo-0725、SQLCoder-7B、ChatGLM2-6B或Baichuan2-13B,peftType可选值如下: · ALL · LoRA (4)其他,peftType可选值如下: · ALL · P-tuning · LoRA
迭代轮次,取值范围:[1, 50]
学习率,说明: (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-Bot-turbo-0725, · peftType为ALL,learningRate取值范围[0.00001,0.00004] · peftType为LoRA,learningRate取值范围[0.00003,0.001] (3)当trainType为Baichuan2-13B,learningRate取值范围[0.0000000001,0.0002] (4)其他,learningRate取值范围[0.0000002,0.0002]
序列长度,说明: (1)如果trainType为ERNIE-Bot-turbo-0725时,此字段必填 (2)可选值如下: · 4096 · 8192
数据集类型,可选值如下: 1:表示平台数据集 2:表示bos数据集
数据集版本ID,当type为1时,该字段必传
数据拆分比例,取值范围:[0,50]
{
"taskId": 362,
"description": "",
"jobRunType": 0,
"baseTraintype": "ERNIE-Bot-turbo",
"trainType": "ERNIE-Bot-turbo-0725",
"trainMode": "SFT",
"pefttype": "ALL",
"trainConfig": {
"epoch": 1,
"learningRate": 0.00003,
"maxSeqLen": 4096
},
"trainset": [
{
"type": 1,
"id": 188
}
],
"trainsetRate": 20
}
示例代码
返回响应
{
"log_id": 123,
"result": {
"id": 123
}
}