6、ChatGPT中的fine-tuning微调是如何进行实践的

简介: 我现在的模式便是有问题就会先问问ChatGPT,甭管它给予我的答案是正确的、错误的、模棱两可的,都可以给予我一定的参考。下面我主要来尝试一下,如何通过代码来实现微调呢? Fine-tuning - OpenAI API 这个链接算是官网的指导,其实我就是看着官网的指导进行的

前言


我现在的模式便是有问题就会先问问ChatGPT,甭管它给予我的答案是正确的、错误的、模棱两可的,都可以给予我一定的参考。 下面我主要来尝试一下,如何通过代码来实现微调呢? Fine-tuning - OpenAI API 这个链接算是官网的指导,其实我就是看着官网的指导进行的


image.png


我的ChatGPT系列文章







准备环境


可以先找到一个指定的文件夹,这里前提是要先安装 python


image.png


如果执行没有看到版本信息要先去安装下载了,然后顺序执行以下指令


// 安装依赖
pip install --upgrade openai
// 设置 OPENAI_API_KEY
export OPENAI_API_KEY="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"
// 设置openai 代理
export OPENAI_API_BASE="https://service-r7s1v88u-1253646855.usw.apigw.tencentcs.com/v1"


准备数据


数据文件为test.jsonl,这里的数据我也不准备多了,对我来说只是实践一下如何来微调数据产生自己的模型而已。 下面是我随便准备了两条json数据


{"prompt": "请使用golang写一个冒泡排序的算法", "completion": "这个算法不需要生成了,本地已经存在,请换其他问题"}
{"prompt": "请告诉我XX公司发展的怎么样了", "completion": "融资款已到,XX项目的首付剩余款也在路上,已步入正轨"}


重新格式化数据


openai tools fine_tunes.prepare_data -f test.jsonl


执行后会提供给我们一系列的建议,最后输出一个它建议的数据格式


image.png


创建微调模型


根据上面的数据进行创建微调模型,基础模型为 davinci,你也可以根据需要选择其他的模型。如果数据量很大,价格差距还是蛮大的


image.png


openai api fine_tunes.create -t "test_prepared.jsonl" -m "davinci"



image.png


image.png


看上图发现原来是stream流应该是不支持的, 这个是腾讯云的问题,于是我换成了使用cloudflaredash.cloudflare.com 搭建的代理


image.png


然后再次运行立马成功了


微调模型的调用


  • 第一种直接使用命令调用


image.png


  • 第二种使用接口调用


image.png


后续


通过官platform.openai.com/docs/guides…


  • 可以删除微调的模型
  • 可以对微调的模型继续微调
  • 可以对微调模型名称进行自定义
  • 等等还有其他许多的细节知识有兴趣的可以去看原版


总结


如何使用OpenAI fine-tuning(微调)训练属于自己的专有模型? - 知乎 (zhihu.com)这是知乎上一个大牛自己实测数据有兴趣的可以看一下。其实花费70、80美元还是蛮大的而且只是1000条数据而已,而且最终达到的效果并不是特别理想。

Embedding模型其实在某些场景下的相似性、相关联结果还是非常棒的。对于微调模型暂时只能学习一下,感觉上并不能进行应用使用,或者使用的方法可能还存在问题,这里的实践仅供学术的参考。


本文所有代码都在我的go代码仓库: github.com/aehyok/go-a…


我的个人博客:vue.tuokecat.com/blog


我的个人github:github.com/aehyok


我的前端项目:pnpm + monorepo + qiankun + vue3 + vite3 + 工具库、组件库 + 工程化 + 自动化


不断完善中,整体框架都有了


在线预览:vue.tuokecat.com


github源码:github.com/aehyok/vue-…

目录
相关文章
|
机器学习/深度学习 存储 人工智能
LLM系列 | 19: ChatGPT应用框架LangChain实践速成
本文以实践的方式将OpenAI接口、ChatOpenAI接口、Prompt模板、Chain、Agent、Memory这几个LangChain核心模块串起来,从而希望能够让小伙伴们快速地了解LangChain的使用。
|
2月前
|
人工智能
ChatGPT使用技巧和实践
ChatGPT使用技巧和实践
31 0
ChatGPT使用技巧和实践
|
8月前
|
敏捷开发 人工智能 安全
ChatGPT 赋能 Scrum 实践
ChatGPT 赋能 Scrum 实践
39 0
|
机器学习/深度学习 人工智能 运维
不满足当 ChatGPT “接口侠”?轻松可视化 Fine-tuning 训练你的模型!
不满足当 ChatGPT “接口侠”?轻松可视化 Fine-tuning 训练你的模型!
514 0
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT AI聊天机器人实践
ChatGPT AI聊天机器人实践
390 0
|
机器学习/深度学习 人工智能 自然语言处理
LLM 系列 | 09:吴恩达ChatGPT Prompt课程实践:以智能客服邮件为例
主要介绍如何用ChatGPT进行文本扩展,并以如何根据客户评价和情感撰写自定义电子邮件为例详细说明。
|
机器学习/深度学习 XML JSON
LLM 系列 | 08:ChatGPT Prompt实践:文本转换
今天这篇小作文主要介绍如何通过构建ChatGPT Prompt以解决文本转换任务。
|
机器学习/深度学习 JSON 自然语言处理
LLM 系列 | 07:ChatGPT Prompt实践:文本推断
今天这篇小作文主要介绍如何通过构建ChatGPT Prompt以解决文本推断任务。
|
机器学习/深度学习 自然语言处理
LLM 系列 | 06:ChatGPT Prompt实践:文本摘要
今天这篇小作文主要介绍如何通过构建ChatGPT Prompt以解决「文本摘要」任务。
|
人工智能 搜索推荐 安全
我用ChatGPT的一些实践案例
我用ChatGPT的一些实践案例
299 0