Press "Enter" to skip to content

如何对ChatGPT 3.5 Turbo进行微调

如何对ChatGPT 3.5 Turbo进行微调 四海 第1张 

如果你还没听说过的话,OpenAI 最近宣布可进行 GPT-3.5 Turbo 的微调。此外,GPT-4.0 的微调预计也将在今年秋季发布。对于开发者来说,这是个非常受欢迎的消息。

但为什么这个公告如此重要呢?简而言之,这是因为微调 GPT-3.5 Turbo 模型带来了几个重要的好处。虽然我们稍后会探讨这些好处,总的来说,微调使得开发者能够更有效地管理他们的项目,并通过将指令嵌入模型本身来缩短他们的提示(有时可减少90%)。

通过经过微调的 GPT-3.5 Turbo 版本,你可以在某些任务上超越基本 Chat GPT-3.5 的功能。让我们更深入地探讨如何对 GPT-3.5 Turbo 进行微调。

 

为微调准备数据

 

将数据准备为 GPT-3.5 Turbo 的微调格式的第一步是将数据以 JSONL 格式进行格式化。您的 JSONL 文件中每一行都将具有具有三种不同类型的消息的 message 键:

  • 您的输入消息(也称为用户消息)
  • 消息的上下文(也称为系统消息)
  • 模型回应(也称为助理消息)

以下示例显示了包含这三种消息类型的例子:

{  "messages": [    { "role": "system", "content": "您是一位经验丰富的 JavaScript 开发者,擅长纠正错误" },    { "role": "user", "content": "找出以下代码中的问题" },    { "role": "assistant", "content": "提供的代码存在多个需要改进的方面" }  ]}

 

然后,您需要在准备好数据后保存您的 JSON 对象文件。

 

上传文件进行微调

 

一旦您已经创建和保存了类似上述的数据集,就可以上传文件以进行微调。

以下是一个通过 OpenAI 提供的 Python 脚本如何进行上传的示例:

curl https://api.openai.com/v1/files \  -H "Authorization: Bearer $OPENAI_API_KEY" \  -F "purpose=fine-tune" \  -F "file=@path_to_your_file" 

 

创建微调任务

 

现在是时候执行微调了。同样,OpenAI 提供了一个示例,展示了您可以如何执行微调:

curl https://api.openai.com/v1/fine_tuning/jobs \-H "Content-Type: application/json" \-H "Authorization: Bearer $OPENAI_API_KEY" \-d '{  "training_file": "TRAINING_FILE_ID",  "model": "gpt-3.5-turbo-0613"}'

 

如上例所示,您需要使用 openai.file.create 来发送上传文件的请求。记得保存文件 ID,因为您将在后续步骤中需要它。

 

利用微调模型

 

现在是时候部署和与经过微调的模型交互了。您可以在 OpenAI playground 中完成这一操作。

以下是 OpenAI 的示例:

curl https://api.openai.com/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer $OPENAI_API_KEY" \-d '{  "model": "ft:gpt-3.5-turbo:org_id",  "messages": [    {      "role": "system",      "content": "您是一位经验丰富的 JavaScript 开发者,擅长纠正错误"    },    {      "role": "user",      "content": "你好!你能帮我审核一下我写的代码吗?"    }  ]}'

这也是一个比较新的微调模型与原始GPT-3.5 Turbo模型的好机会。

微调的优势

微调您的GPT-3.5 Turbo提示有三个主要优势,可用于提高模型质量和性能(用于提高模型质量)

改进的可控性

这又可以说是微调允许开发者更好地确保其定制模型遵循特定指令的一种方式。例如,如果您希望您的模型在另一种语言(如意大利语或西班牙语)中完成,微调您的模型可以实现这一点。

同样,如果您需要模型使输出更短或以特定方式回应,也适用。说到输出…

更可靠的输出格式化

通过微调,模型可以改进其以一致方式格式化响应的能力。对于任何需要特定格式的应用程序(如编码)非常重要。具体而言,开发者可以微调模型,使用户提示转换为JSON片段,然后可以将其纳入以后的更大的数据模块中。

定制音调

如果任何企业需要确保其AI模型生成的输出具有特定的音调,微调是确保这一点的最有效方式。许多企业需要确保其内容和营销材料与其品牌声音匹配或具有特定的音调,以更好地与客户联系。

如果任何企业拥有一种可识别的品牌声音,它们可以在为微调准备数据时微调自己的GPT-3.5 Turbo模型。具体而言,这将在上述的‘用户消息’和‘系统消息’消息类型中完成。如果正确进行,这将以该公司的品牌声音为基础创建所有消息,同时极大地减少从社交媒体复制到专业文章等所有内容编辑所需的时间。

未来的改进

正如上文所述,OpenAI预计很快推出GPT-4.0的微调功能。此外,该公司预计将推出其他功能,例如支持函数调用和通过用户界面进行微调的能力。后者将使初学者更容易进行微调。

这些微调的发展不仅对开发者而言,也对企业至关重要。例如,许多科技和开发领域的最有前途的初创公司,例如Sweep或SeekOut,依赖使用AI完成其服务。这些企业将会充分利用微调他们的GPT数据模型的能力。

结论

由于微调GPT-3.5 Turbo的新功能,企业和开发者现在可以更有效地监督其模型,以确保其在更符合其应用程序的方式下运行。

****[Nahla Davies](http://nahlawrites.com/)**** 是一名软件开发人员和技术作家。在全职从事技术写作之前,她曾是一家Inc. 5,000体验品牌机构的首席程序员,该机构的客户包括三星、时代华纳、Netflix和索尼。

Leave a Reply

Your email address will not be published. Required fields are marked *