文心大模型文档

模型训练

用户设置

  • 在代码最开始处设置您在官网获取到的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 TYPE_TEXT_TO_IMAGE
data_id = "your data id" #请查看数据准备页面,上传数据集合并获得id
dataset = Dataset.retrieve(data_id=data_id, api_type=TYPE_TEXT_TO_IMAGE)
Train.create(train_datasets=[dataset], 
             step=200, 
             learning_rate=1e-5,
             batch_size=4,
             api_type=TYPE_TEXT_TO_IMAGE)

开始精调任务后,可能需要一些时间才能完成。您的任务在我们系统中按提交时间排队运行,精调模型可能需要几分钟或几十分钟,具体取决于您d的参数配置,举例来说,step设置为500,batch_size设为8的情况下,训练时间大约需要十几分钟。

查询训练好的模型

  • 任务完成后,您可以查询训练好的模型名称。
查看模型全集

from wenxin_api import Model
from wenxin_api.const import TYPE_TEXT_TO_IMAGE

# 查看所有模型
models = Model.list(api_type=TYPE_TEXT_TO_IMAGE)
print(models)

# 根据model_id查看模型
model_id = "your model id"
model = Model.retrieve(model_id=model_id, api_type=TYPE_TEXT_TO_IMAGE)
print(model)

# 根据训练任务的task_id查看模型
task_id = "your task id"
model = Model.retrieve(task_id=model_id, api_type=TYPE_TEXT_TO_IMAGE)
print(model)

注意:上述填入的model_id和task_id都是int类型的。

  • 查询结果返回示例(单个模型)
{
    "taskList": null,
    "model_state": 1,
    "task_id": 44,
    "model_id": 132,
    "url": "http://bj.bcebos.com/api-platform-wenxin/job-0bb62fccdada6394_prompt_embeddings.npy",
    "model_name": "job-0bb62fccdada6394_prompt_embeddings.npy",
    "requestId": "67425a1b50d47e22a06379ed38065648",
    "log_url": "http://bj.bcebos.com/api-platform-wenxin/job-0bb62fccdada6394_log.tar",
    "is_public": 0,
    "is_prompt": 1,
    "md5": "877b1c6ce35dfaf419796649973ab207",
    "timestamp": "2022-08-17 19:37:28.0"
}

获取模型和删除模型

  • 针对训练好的模型,您还可以获取和删除模型:
from wenxin_api import Model
from wenxin_api.const import TYPE_TEXT_TO_IMAGE

# 查看所有模型
models = Model.list(api_type=TYPE_TEXT_TO_IMAGE)

# 使用训练任务的task_id获取模型
task_id = "your task id"
model = Model.retrieve(task_id=task_id, api_type=TYPE_TEXT_TO_IMAGE)

# 使用model_id获取模型
model_id = "your model id"
model = Model.retrieve(model_id=model_id, api_type=TYPE_TEXT_TO_IMAGE)

# 删除模型
model_id="your model id"
Model.delete(model_id=model_id, api_type=TYPE_TEXT_TO_IMAGE)

查看、删除、停止任务

  • 除了创建微调作业外,您还可以查看所有训练任务、查看指定训练任务、停止训练任务。
from wenxin_api import Train
from wenxin_api.const import TYPE_TEXT_TO_IMAGE

# 查看所有训练任务
tasks = Train.list(api_type=TYPE_TEXT_TO_IMAGE)
print(tasks)

train_id="your train task id"
# 查看指定训练任务
task = Train.retrieve(task_id=train_id, api_type=TYPE_TEXT_TO_IMAGE)
print(task)

# 停止训练任务
task.stop()
  • 查询结果返回示例
{
    "job_id":"job-0bb62f210535f7c6", # 训练平台上任务的id
    "response":"{}", # 训练成功后该字段下有模型的id
    "task_state":203, # 训练状态码,以参考状态码表
    "task_id":16, # 训练任务id
    "task_type":1, # 任务种类,1代表训练任务
    "type":"task",
}

其中常见的状态码可以参考:常见状态码

上一篇
数据准备
下一篇
模型调用