先介绍一下作者本人,作者现在在浙江一家国企内部进行人工智能与企业事务结合探索。现在在各个事务场景的落地中,简直都有对模型进行再练习和微调(Fine Tuning)的需求,在此开一个专栏作为后续开展模型再练习的导论。

AIGC行业现状

AIGC行业现在的现状仍然是ChatGPT领先一个档位,因为在C端对话场景中表现出色,用户简直能感遭到是跟半个领域专家在进行聊天,现在运用最多的场景也是答疑解惑。

B端场景与C端场景的差异

B端场景跟C端有着天然本质的差异。在C端,用户通常关注文娱、普遍性问题和日常生活问题,因此模型答复能够更加敞开,当模型出现不苟言笑的胡言乱语的时候,也更多的是被人拿来调侃。

然而,在B端场景中,企业和组织关注更为专业、针对性和行业相关的问题。要求答复具有高度的准确性、可靠性。最常见的场景是经过衔接企业常识库供给售前和售后服务。当模型无法找到常识的原型,经过生成的虚拟答复,往往会形成更为严重的客户投诉。

ChatGPT模型微调过程

一、预备工作

  1. 确保已获得开发者权限。
  2. 装置OpenAI的SDK,经过pip装置**openai**包。
pip install openai

二、从常识库生成练习数据和验证数据

因为大部分的常识库没有现成的输入和输出,我们需要从常识库中生成输入输出对。一般能够运用自然语言处理(NLP)技术对常识库进行处理,例如运用信息抽取技术从文本中提取问题和答案,将它们作为输入输出对。

三、预备练习数据和验证数据

  1. 依照JSONL格式预备您的练习数据。每行应该包括一个JSON目标,具有以下字段:prompt(输入)和**completion**(预期输出)。
  2. 将练习数据保存到本地,例如**train_data.jsonl**。
  3. 预备一个与练习数据类似但互斥的验证数据集。
  4. 将验证数据保存到本地,例如**validation_data.jsonl**。

四、运用Python进行微调

  1. 引进所需的库:
import openai
  1. 设置API密钥:
openai.api_key = "YOUR_OPENAI_API_KEY"
  1. 上传练习和验证数据文件:
def upload_dataset(file_path):
    with open(file_path, "rb") as f:
        file_data = f.read()
    result = openai.File.create(data=file_data, purpose="fine-tuning")
    return result["id"]
train_file_id = upload_dataset("train_data.jsonl")
validation_file_id = upload_dataset("validation_data.jsonl")
  1. 创建微调使命:
fine_tuning_job = openai.FineTuningJob.create(
    model="gpt-4",
    dataset_id=train_file_id,
    validation_dataset_id=validation_file_id,
    n_epochs=4
)
  1. 查看微调使命状况:
job_id = fine_tuning_job["id"]
job_status = openai.FineTuningJob.get(job_id)