Skip to content

Latest commit

 

History

History
151 lines (95 loc) · 7.82 KB

how-to-finetune-chatgpt-35-turbo.md

File metadata and controls

151 lines (95 loc) · 7.82 KB

如何微调 ChatGPT 3.5 Turbo

原文:www.kdnuggets.com/how-to-finetune-chatgpt-35-turbo

如何微调 ChatGPT 3.5 Turbo

编辑器提供的图片

如果你还没有听说,OpenAI 最近宣布 GPT-3.5 Turbo 的微调已经开放。此外,GPT-4.0 的微调预计将在秋季晚些时候发布。对于开发人员而言,这无疑是一个受欢迎的消息。


我们的前三大课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业生涯。

2. 谷歌数据分析专业证书 - 提升你的数据分析技能

3. 谷歌 IT 支持专业证书 - 支持你的组织 IT


但为什么这项公告如此重要呢?简而言之,是因为微调 GPT-3.5 Turbo 模型提供了几个重要的好处。虽然我们将在本文后面探讨这些好处,但本质上,微调使开发人员能够更有效地 管理他们的项目 并缩短提示(有时缩短高达 90%),通过将指令嵌入模型本身。

通过微调后的 GPT-3.5 Turbo 版本,有可能超越基本的 Chat GPT-3.5 能力,完成某些任务。让我们深入探讨如何更好地微调你的 GPT-3.5 Turbo 模型。

准备微调数据

微调 GPT-3.5 Turbo 数据的第一步是 将其格式化为正确的结构 的 JSONL 格式。你的 JSONL 文件中的每一行都将有一个消息键,包含三种不同类型的消息:

  • 你的输入消息(也称为用户消息)

  • 消息的上下文(也称为系统消息)

  • 模型响应(也称为助手消息)

这是一个包含所有三种消息类型的示例:

{
  "messages": [
    { "role": "system", "content": "You are an experienced JavaScript developer adept at correcting mistakes" },
    { "role": "user", "content": "Find the issues in the following code." },
    { "role": "assistant", "content": "The provided code has several aspects that could be improved upon." }
  ]
}

准备好数据后,你需要保存你的 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 游乐场中完成这一操作。

请注意下面的 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": "You are an experienced JavaScript developer adept at correcting mistakes"
    },
    {
      "role": "user",
      "content": "Hello! Can you review this code I wrote?"
    }
  ]
}'

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

微调的优势

微调你的 GPT-3.5 Turbo 提示提供了三个主要的优势,提升模型质量和性能。

改进的引导性

这也是说微调允许开发人员确保他们的定制模型更好地遵循特定指令。例如,如果你希望你的模型用另一种语言(例如意大利语或西班牙语)完成,微调你的模型使你能够做到这一点。

如果你需要你的模型使输出更简短或让模型以某种方式回应也是一样的。说到输出…

更可靠的输出格式化

通过微调,模型可以提高其以一致方式格式化响应的能力。这对任何需要特定格式的应用程序都非常重要,例如编码。具体来说,开发人员可以微调他们的模型,使得用户提示被转换成JSON 片段,这些片段随后可以被纳入到更大的数据模块中。

定制语调

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

如果任何企业有一个可识别的品牌声音,他们可以在准备数据进行微调时微调他们的 GPT-3.5 Turbo 模型。具体来说,这将在上面讨论的“用户消息”和“系统消息”类型中进行。正确操作时,这将确保所有消息都以公司的品牌声音为基础,同时显著减少从社交媒体文案到白皮书编辑所需的时间。

未来的增强功能

如上所述,OpenAI 预计很快会推出 GPT-4.0 的微调功能。除此之外,公司还预计推出即将支持函数调用和通过 UI 进行微调的功能。后者将使微调对新手用户更加可及。

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

结论

借助这种对 GPT-3.5 Turbo 的新微调能力,企业和开发人员现在可以更有效地监督他们的模型,以确保它们的表现与其应用更加一致。

Nahla Davies 是一名软件开发人员和技术作家。在将她的工作全职投入到技术写作之前,她还担任过一家 Inc. 5,000 的体验品牌组织的首席程序员,该组织的客户包括三星、时代华纳、Netflix 和索尼。

相关话题