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分钟的等待即可得到我们自己的微调模型。

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

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

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

相关推荐
Dante但丁1 分钟前
手扒Github项目文档级知识图谱构建框架RAKG(保姆级)Day4
人工智能
用户5191495848459 分钟前
使用JavaScript与CSS创建"移动高亮"导航栏
人工智能·aigc
Java中文社群17 分钟前
淘宝首位程序员离职,竟投身AI新公司做这事!
人工智能·后端·程序员
失散1329 分钟前
自然语言处理——02 文本预处理(上)
人工智能·自然语言处理
量子位34 分钟前
4o-mini华人领队也离职了,这次不怪小扎
openai·gemini
Listennnn1 小时前
nuScence数据集
人工智能
duration~1 小时前
SpringAI集成MCP
人工智能·后端·spring·ai
用户5191495848451 小时前
Linux内核UAF漏洞利用实战:Holstein v3挑战解析
人工智能·aigc
nenchoumi31191 小时前
Tello无人机与LLM模型控制 ROS
人工智能·语言模型·机器人·无人机
居然JuRan1 小时前
每天拆解一个AI知识: Context Engineering
人工智能