模型训练相关进展
微调模型所需的数据集已经初步搜集整理完毕(目前有30000+条QA数据对),现尝试采用部分数据对Chatglm3-6b大模型进行微调。
首先需要上传微调所用的数据文件,格式为jsonl,文件可用于微调。
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填写自己的APIKey
result = client.files.create(
file=open("<path-to-file.jsonl>", "rb"),
purpose="fine-tune"
)
print(result.id)
之后可以查询你所上传的所有文件列表
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 自己的APIKey
client.files.list() # 此为文件列表,可print出来
在上传了数据集文件后,可基于该文件创建微调任务,且会给出该微调任务的ID
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填写自己的APIKey
job = client.fine_tuning.jobs.create(
model="chatglm3-6b",
training_file="file-xxx", # 填写上传的文件id
validation_file="file-yyy", # 填写上传的文件id
suffix="<self-defined>",
)
job_id = job.id
print(job_id)
在创建了微调任务后,可以查询自己创建的微调任务,需要填写创建微调任务后系统给出的微调任务ID,查询微调任务后会得到微调模型的ID(很重要,调用微调后模型需要)
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填写自己的APIKey
fine_tuning_job = client.fine_tuning.jobs.retrieve(
fine_tuning_job_id = job_id, # job_id 来自于创建任务返回的信息
)
print(fine_tuning_job)
调用微调后的模型
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填写自己的APIKey
response = client.chat.completions.create(
model="chatglm3-6b-模型ID", # 填写需要调用的模型名称
messages=[
{"role": "user", "content": "你能给我一些心理健康方面的建议吗"}
],
)
print(response.choices[0].message)