chatGPT的FineTuning最佳实践:创建自己的微调模型

为了方便自己调用和及时跟上OpenAI官方API更新的节奏,我做了两件事:

  1. OpenAI API SDK java版本,可访问 github:openai-java
  2. 用VUE3写了一个网站应用,包括H5和PC两个版本(网址都是 web.felh.xyz ),还有小程序版【FELH AI】(后续不会更新了,因为不要face的微信开始对个人小程序也开始收年审的费用了)

到目前为止SDK已经支持所有2023-11-06 API更新后新加的接口(Assistants, Threads, Messages, Runs),移除了废弃和过时接口(Completions, Edits, Fine-tunes)


下面我就用一个具体的例子来创建一个基于GPT-3.5-turbo-1106这个版本的微调模型。

一、准备数据,录入系统、创建训练集文件并上传到OpenAI

  • 点击左下角用户头像,然后选择【个人微调模型(Fine-tuning Model)】菜单,进入下图所示页面。
  • 可以看到左上角有两种方式(【手动录入训练数据】和【上传训练集文件】)创建自己的训练集文件。(推荐使用【手动录入训练数据】)
  1. 手动录入训练数据


点击【录入新训练数据】,对于小白,就不要设置系统提示,只是输入问题和答案,对于单条问题和答案最好文本长一些,不要太简短,不然训练效果不好。对于一个训练文件,请至少包含10条数据,推荐包含50-100条数据。当然也不用担心自己的数据补全,等有了新的问题和答案还可以基于之前新建的微调模型继续微调。 我从网上粘贴了一些关于2023年10月以来巴以冲突的新闻,都是基础模型中不存在的内容。


点击需要训练集内容右侧的【加入训练文件】按钮加入文件。加入后,请点击本页面顶部提示中的训练文件名,然后点击【文件页面】跳转到文件页面找到对应的文件,如下图。


点击对应文件右侧上传训练集,对应训练数据会被上传到OpenAI。


记住当前的训练集文件名称,将在下一步中使用。

  1. 上传训练集文件


对于小白用户不建议使用这种方式创建训练集文件,需要自己准备数据,然后生成对应的JSONL文件,通过【上传文件】上传到OpenAI。 具体格式如下:

json 复制代码
{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already."}]}
{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "Who wrote 'Romeo and Juliet'?"}, {"role": "assistant", "content": "Oh, just some guy named William Shakespeare. Ever heard of him?"}]}
{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "How far is the Moon from Earth?"}, {"role": "assistant", "content": "Around 384,400 kilometers. Give or take a few, like that really matters."}]}

上传时purpose请选择fine-tune,上传后可在本页面得到一个最新上传的文件,也就是我们的训练集文件,此时这个文件已经在OpenAI服务器上了。

二、根据训练集文件创建自己的微调模型

回到个人微调模型页面,点击【新建模型】


在此页面中填入微调模型的名称,基础模型选择gpt-3.5-turbo-1106,训练文件选择上一步中上传的文件,点击确认。


然后经过大概10分钟的等待即可得到我们自己的微调模型。

三、调用最新生成的微调模型

下面是使用基础模型和我们生成的微调模型的区别(左侧基础模型,右侧为微调模型):

到这里也就结束了,如果你有任何问题可以在这里留言。

相关推荐
长江后浪博客8 分钟前
运动控制电子凸轮(Electronic Cam)设计:从运动需求到 Trio FLEXLINK 凸轮曲线公式推导
人工智能·运动控制·电子凸轮·trio·旋转刀
*小海豚*11 分钟前
windows安装零C盘安装omp
人工智能
策案案案12 分钟前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
思录Echo13 分钟前
自助易AI数字人外挂技术剖析|如何解决政企智能客服的多端适配难题?
人工智能·华为·harmonyos
IT_陈寒25 分钟前
Python的切片赋值把我坑惨了,这不是bug是特性
前端·人工智能·后端
掘金酱28 分钟前
【社区公告】致每一位掘友:关于这次调整, 想再说几句
前端·人工智能
半个落月29 分钟前
别再让 AI 一上来就写代码:用 SDD 规划 Chrome 翻译插件
人工智能
CoderLiu30 分钟前
程序化工具调用(PTC)与动态工作流引擎:深入大模型工具调用的架构演进与实践
前端·人工智能·后端
m0_3807438733 分钟前
给 OpenAI API 调用加上模型切换:GPT-5.1 和 Codex 的配置实践
人工智能·python·gpt