资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

创建模型精调任务

接口描述

本接口用于创建模型精调任务。

权限说明

调用本文API,需符合以下权限要求,权限介绍及分配,请查看角色与权限控制列表账号创建与权限分配。需具有以下任一权限:

  • 完全控制千帆大模型平台的权限:QianfanFullControlAccessPolicy
  • 完全控制千帆大模型平台模型调优的权限:QianfanModelTuningFullControlAccessPolicy

鉴权说明

调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明

请求结构

POST /v2/finetuning?Action=CreateFineTuningTask HTTP/1.1
Host: qianfan.baidubce.com
Authorization: authorization string
Content-Type: application/json

{
    "jobId": "job-1xzycis4jm3b",
    "parameterScale": "FullFineTuning",
    "hyperParameterConfig": {
        "epoch": 1,
        "learningRate": 0.00003,
        "maxSeqLen": 4096
    },
    "datasetConfig": {
        "sourceType": "Platform",
        "versions": [{
            "versionId": "ds-he8srs01ym0b8fh7"
        }],
        "splitRatio": 20
    }
}

请求头域

除公共头域外,无其它特殊头域。

请求参数

  • Query参数
名称 类型 必填 描述
Action string 方法名称,固定值CreateFineTuningTask
  • Body参数
名称 类型 必填 描述
jobId string 作业ID,可以通过以下方式获取该参数值,以SFT为例说明:
控制台-模型精调页面,查看ID,如下图所示:
image.png
incrementTaskId string 基础任务ID,说明:
(1)如果是增量训练,该字段必传
(2)传了该字段,默认走增量训练
(3)基础任务的模型类型要和作业一致
(4)自定义模型作业不支持增量训练
incrementCheckpointStep int 基础任务Step,说明:如果基础任务是多checkpoint任务,该字段必传
parameterScale string 调优的参数规模,该字段取值详情参考模型支持情况
hyperParameterConfig object 超参数配置,说明:该字段请查看本文hyperParameterConfig说明,也可以参考模型支持情况
datasetConfig object 数据集配置
corpusConfig object 混合语料配置
modelConfig object 模型配置,说明:只支持自定义模型作业,此时该参数必传
resourceConfig object 资源池配置

corpusConfig说明

名称 类型 必填 描述
generalCorpusProportion double 通用语料混入比例 ,说明:
(1)取值范围 :大于0。默认为0,不混入此语料
(2)仅支持ERNIE系列模型使用此参数
verticalCorpusProportion double 垂直语料混入比例 ,说明:
(1)取值范围:大于0。默认为0,不混入此语料
(2)仅支持ERNIE系列模型使用此参数
defaultCorpusProportion double 默认语料混入比例,说明:
(1)取值范围:[0-100]。默认为0,不混入此语料
(2)仅支持开源系列模型使用此参数
copyData bool 是否数据拷贝,说明:
(1)如果在配置的混合比例下,需要混合的数据量超出了平台混合数据的总量。
(2)此参数作用于通用语料和垂直语料。
(3)可选值如下:
· false:不重复,选择数据训练,默认为false
· true:重复选择数据
labels List<string> 混入语料任务类型,说明:
(1)仅支持垂直混合语料使用此参数
(2)SFT和Post-pretrain支持的任务类型不同。
(3)SFT支持以下任务类型
· 知识问答:可分为两类,主观知识问答侧重获取个人见解、经验和观点,答案因人而异;客观知识问答则涉及可验证的事实和数据,答案基于可靠资料和逻辑推理,强调客观性和真实性。
· 文本创作:各类的文案、文学、创意等写作任务,可以涉及多种体裁,包括但不限于小说、诗歌、散文、剧本、广告文案、新闻报道、科技文档等。
· 表格问答:根据给定的表格信息进行问答的任务,要求模型能够从表格中提取信息,并回答相关问题。
· 信息抽取:从非结构化或半结构化的文本中抽取特定信息的任务,要求模型能够准确地找到并提取出需要的信息。
· 指令理解:理解用户给出的指令或命令的任务,并作出相应的合理动作或回答。包含了多种指令理解任务的组合。
· 标题生成:根据给定的内容生成相应的标题的任务,要求模型能够准确抓住文本的核心信息,并生成简洁而具有概括性的标题。
· 问题生成:根据给定的内容生成相应的问题的任务,要求模型能够从文本中提取出问题的关键信息,并生成符合规范的问题。
· 示例学习:通过给定的示例来理解任务的要求,要求模型能够从示例中学习到通用的模式或规律,并应用到类似的任务中。
· 文本属性分析:分析文本中的属性或特征的任务,要求模型能够识别文本中的各种属性,如观点、主题、意图等。
· 摘要:对文本进行概括性提取的任务,要求模型能够从文本中提取出最重要或最具代表性的信息,生成简洁而完整的摘要。
· 语言推理:理解和推断文本中的逻辑关系和语义关系的任务,要求模型能够根据文本内容进行推理和判断。
· 阅读理解:理解和回答与给定文本相关的问题的任务,要求模型能够从文本中获取必要的信息,并作出准确的回答。
· 文本分类:将文本分类到预定义类别的任务,要求模型能够根据文本内容确定其所属的类别或标签。
· Json转文本:将结构化的json数据转换为可读的自然语言文本。这项任务在很多应用场景中都很有用,比如生成报告、用户界面展示、自然语言接口等。
· 代码生成:代码生成指根据给定的要求生成相应的代码的任务,要求模型能够理解代码的要求,并生成符合要求的代码。
· 代码纠错:检测和修正代码中的错误的任务,要求模型能够识别代码中的错误,并提供正确的修正建议。
· 代码解释: 解释代码功能和逻辑的任务,要求模型能够理解代码的功能和实现方式,并用易于理解的语言进行解释。
· 理科试题:涉及自然科学知识的试题,要求模型能够理解科学知识,并回答相关问题。例如各学段的数学题目。
· 多轮对话:进行多轮交互的对话任务,要求模型能够理解上下文,并进行连贯和合理的对话。
· 角色扮演(多轮):使用大型语言模型进行角色扮演对话。在这个任务中,用户可以与大模型进行各类对话交互,大模型根据对话的内容和扮演的角色特点来生成回复,该任务经常被用于娱乐、教育等场景。
· 风格定制(多轮):通过特定风格类描述定制,使得大模型在生成文本时符合特定的风格要求。通过这种方式,可以定制语言模型的回复风格,使其更符合特定应用场景或个人喜好。
· 翻译:将一种语言的文字内容转换成另一种语言的任务。
· 专业考试:涉及专业知识的考试题目(主要为文科类),要求模型能够理解专业知识,并作出准确的回答或解释。
· Agent:智能助手根据用户请求执行特定任务,如查询信息或执行服务。
· NL2SQL:将自然语言转换成结构化查询语言的任务,要求模型能够理解自然语言的意图,并将其转换成能够执行的SQL查询语句。
· 记忆增强:AI助手根据用户个人信息和偏好,提供个性化服务和提醒。
(4)Post-pretrain支持以下任务类型
· 金融
· 医疗
· 广告传媒
· 电商
· 旅游
· 教育
· 交通物流
· 地产家装
· 法律
· 党政
· 游戏
· 科技
· 化工
· 能源
· 机械
languages List<string> 混合通用/垂直语料的语言类型,说明:
(1)仅支持Post-pretrain使用此参数
(2) 可选值如下:
· en:英文
· cn:中文
· code:代码,仅支持通用语料

resourceConfig说明

名称 类型 必填 描述
idleResource bool 是否开启潮汐调度任务,说明:
目前只有SFT的任务,支持潮汐任务调度

datasetConfig说明

名称 类型 必填 描述
sourceType string 数据来源,可选值:
· Platform
· Bos
versions List<datasetVersion> 数据集版本列表,说明:可以通过以下方法获取该数据版本值:
控制台-数据集管理页面,查看某数据集版本,如下图所以:
image.png
splitRatio double 数据拆分比例,取值范围:[0,20]
validationDatasetSourceType string 验证集数据来源,可选值如下:
· Platform
validationDatasetVersions List<datasetVersion> 验证集数据版本列表

datasetVersion说明

名称 类型 必填 描述
versionId string 数据集版本ID,说明:
(1) 当sourceType为Platform时,该字段必传
(2) 数据集必须是已发布的数据集
(3)可以通过以下方法获取该字段值,在控制台-数据集管理页面,查看某数据集版本ID,如下图所示:
image.png
samplingRate float 数据集采样率,说明:
(1)sourceType为Platform时,该字段有效
(2)取值范围:[0.01-10],默认值1
versionBosUri string 数据集版本bos地址,说明:
(1)当sourceType为Bos时,该字段必传

modelConfig说明

名称 类型 必填 描述
modelId string 模型ID
modelVersionId string 模型版本ID

hyperParameterConfig说明

名称 类型 必填 描述
epoch int 迭代轮次,说明:该字段取值详情参考模型支持情况
learningRate float 学习率,说明:该字段取值详情参考模型支持情况
batchSize int 批处理大小,说明:该字段取值更多详情参考模型支持情况
maxSeqLen int 序列长度,说明:该字段取值更多详情参考模型支持情况
loggingSteps int 保存日志间隔,说明:该字段取值更多详情参考模型支持情况
warmupRatio float 预热比例,说明:该字段取值更多详情参考模型支持情况
weightDecay float 正则化系数,说明:该字段取值更多详情参考模型支持情况
loraRank int LoRA 策略中的秩,说明:该字段取值更多详情参考模型支持情况
loraAlpha int 说明:该字段取值更多详情参考模型支持情况
loraAllLinear bool LoRA 所有线性层,说明:该字段取值更多详情参考模型支持情况
loraTargetModules string 说明:该字段取值更多详情参考模型支持情况
loraDropout float 说明:该字段取值更多详情参考模型支持情况
schedulerName string 说明:该字段取值更多详情参考模型支持情况
Packing string 可选值:true、false 或 auto,默认值auto,说明:该字段取值更多详情参考模型支持情况
globalBatchSize int 说明:该字段取值更多详情参考模型支持情况
pseudoSamplingProb float 说明:该字段取值更多详情参考模型支持情况
checkpointCount int 说明:该字段取值更多详情参考模型支持情况
saveStep int 说明:该字段取值更多详情参考模型支持情况
dpoBeta float 说明:该字段取值更多详情参考模型支持情况
seed int 说明:该字段取值更多详情参考模型支持情况
lrSchedulerType string 说明:该字段取值更多详情参考模型支持情况
lrEnd float 说明:该字段取值更多详情参考模型支持情况
power int 说明:该字段取值更多详情参考模型支持情况
validationStep int 说明:该字段取值更多详情参考模型支持情况
earlyStopping bool 说明:该字段取值更多详情参考模型支持情况
earlyStopMetric string 说明:该字段取值更多详情参考模型支持情况
early_stopping_threshold int 说明:该字段取值更多详情参考模型支持情况
early_stopping_patience int 说明:该字段取值更多详情参考模型支持情况
tensorParallelDegree int 说明: 该字段取值更多详情参考模型支持情况
shardingParallelDegree int 说明: 该字段取值更多详情参考模型支持情况
sharding string 说明: 该字段取值更多详情参考模型支持情况
recompute int 说明: 该字段取值更多详情参考模型支持情况
critic_learning_rate float 说明: 该字段取值更多详情参考模型支持情况
clip_range_score int 说明: 该字段取值更多详情参考模型支持情况
clip_range_value int 说明: 该字段取值更多详情参考模型支持情况
clip_range_ratio float 说明: 该字段取值更多详情参考模型支持情况
top_p float 说明: 该字段取值更多详情参考模型支持情况
repetition_penalty float 说明: 该字段取值更多详情参考模型支持情况
temperature float 说明: 该字段取值更多详情参考模型支持情况
kl_coeff float 说明: 该字段取值更多详情参考模型支持情况
checkpointSaveStrategy string 说明: 该字段取值更多详情参考模型支持情况
perDeviceTrainBatchSize int 说明: 该字段取值更多详情参考模型支持情况
maxPromptLen int 说明: 该字段取值更多详情参考模型支持情况
maxSteps int 说明: 该字段取值更多详情参考模型支持情况

响应头域

除公共头域外,无其它特殊头域。

响应参数

名称 类型 描述
requestId string 请求ID
result object 请求结果

result说明

名称 类型 描述
jobId string 作业ID
taskId string 任务ID

请求示例

curl --location 'https://qianfan.baidubce.com/v2/finetuning?Action=CreateFineTuningTask' \
--header 'Authorization: bce-auth-v1/f0ee7xxx8079702c13/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44xxx' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
    "jobId": "job-1xzycis4jm3b",
    "parameterScale": "FullFineTuning",
    "hyperParameterConfig": {
        "epoch": 1,
        "learningRate": 0.00003,
        "maxSeqLen": 4096
    },
    "datasetConfig": {
        "sourceType": "Platform",
        "versions": [{
            "versionId": "ds-he8srs01ym0b8fh7"
        }],
        "splitRatio": 20
    }
}'

响应示例

{
    "requestId":"1bef3f87-c5b2-4419-936b-50f9884f10d4",
    "result":{
        "jobId":"job-n50985crhqq3",
        "taskId":"task-nycp7bycjjn7"
    }
}

错误码

若请求错误,服务器将返回的JSON文本包含以下参数:

名称 描述
requestId 请求ID
code 错误码
message 错误描述信息,帮助理解和解决发生的错误

例如错误返回:

{
    "requestId":"6ba7b810-xxxc04fd430c8",
    "code":"AccessDenied",
    "message":"Access denied."
}

更多其他错误码,也可以查看错误码说明

上一篇
删除模型精调作业
下一篇
停止模型精调任务