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

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

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

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

相关推荐
_BugMan13 分钟前
【大模型】理论基础(1):函数与神经网络
人工智能·深度学习·神经网络
AI模块工坊1 小时前
CVPR 即插即用 | PConv:重新定义高效卷积,一个让模型“跑”得更快、更省的新范式
人工智能·深度学习·计算机视觉·transformer
lzjava20242 小时前
Spring AI加DeepSeek实现一个Prompt聊天机器人
人工智能·spring·prompt
fanstuck3 小时前
AI辅助数学建模有哪些优势?
人工智能·数学建模·语言模型·aigc
一只安3 小时前
从零开发AI(不依赖任何模型)
人工智能·python
11年老程序猿在线搬砖4 小时前
如何搭建自己的量化交易平台
大数据·人工智能·python·自动交易·量化交易系统
Elastic 中国社区官方博客4 小时前
Elasticsearch 开放推理 API 增加了对 Google 的 Gemini 模型的支持
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·googlecloud
周杰伦_Jay4 小时前
【实战|旅游知识问答RAG系统全链路解析】从配置到落地(附真实日志数据)
大数据·人工智能·分布式·机器学习·架构·旅游·1024程序员节
架构技术专栏4 小时前
大模型安全:从对齐问题到对抗性攻击的深度分析
人工智能
麻雀无能为力4 小时前
深度学习计算
人工智能·深度学习