2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

重磅!OpenAI 开放 GPT-3.5 Turbo 微调,网友:将 prompt 减少 90% 才实惠 

  • 2023-08-23
    北京
  • 本文字数:2767 字

    阅读完需:约 9 分钟

重磅!OpenAI 开放 GPT-3.5 Turbo 微调,网友:将prompt减少90%才实惠 

当地时间 8 月 22 日,OpenAI 宣布企业现在可以使用自己的数据对 GPT-3.5 Turbo 进行微调,OpenAI 声称最终的定制模型可以赶上甚至超过 GPT-4 执行某些任务的能力。今年秋天 OpenAI 将开放更先进的 GPT-4。

 

该公司表示,此次更新将使开发人员能够自定义更适合实际用例的模型,并大规模运行这些自定义模型。OpenAI 强调,传入和传出微调 API 的数据归客户所有, OpenAI 或任何其他组织不会使用这些数据来训练其他模型。

 

OpenAI 此举似乎挽回了一些针对其开源的质疑,有网友评价称,“许多人支持开源人工智能,并批评 OpenAI 不够开放。但最重要的是,OpenAI 在不断创新。”

 

微调用例

 

GPT-3.5 Turbo 是 OpenAI 推出的一种先进的语言模型,它能够准确理解并生成自然语言的文本。相比于之前的版本,GPT-3.5 Turbo 在多个方面有了极大的改进。比如,它具备更加出色的上下文理解能力,能够更好地理解用户的问题或指令,从而提供更准确的回答。它还能够产生更流畅、连贯的文本,仿佛是由人类写就的一样。最重要的是,GPT-3.5 Turbo 具备更快的响应速度,使得用户可以即时得到答案或帮助。

 

自 GPT-3.5 Turbo 发布以来,开发人员和企业纷纷要求开放模型自定义功能,以便为用户创造独特且差异化的体验。通过此次发布,开发人员现可运行监督微调,使得该模型在不同用例中表现更好。

 

微调的基本思想是,先在大规模文本数据上预训练一个大型的语言模型,例如 GPT-3.5,然后使用特定任务的数据集(如法律、医疗),进一步对模型进行训练,以适应特定的任务。在这个过程中,模型的参数会进行微小的调整,使其在特定业务场景上的性能更好。

 

在 OpenAI 的内部 beta 测试中,微调客户已经能够在各类常见用例中显著提高模型性能,例如:

 

  • 改善可操纵性:微调允许企业引导模型更好地遵循指令,例如输出更简洁的答案,或者始终以给定语言做出响应。开发人员可以通过微调保证模型在收到德语提示词后,始终以德语给出回应。

  • 更可靠的输出格式:微调使模型所输出响应结果的格式更加统一。对于需要特定响应格式的应用场景(例如代码补全或编写 API 调用),这种格式可靠性至关重要。例如,开发人员可以用微调将用户提示词转换为可在系统中使用的高质量 JSON 片段。

  • 自定义调节:微调是提升模型输出质量的好办法(包括改善语气、风格),更好地适应企业品牌的固有定位。拥有知名品牌调性的企业可以对模型做出微调,使其与自身市场形象更趋一致。

 

除了提高性能之外,微调还能帮助企业缩短提示词长度,并保证性能基本不变。OpenAI 表示,GPT-3.5 Turbo 的微调可处理 4k 个 tokens——可达之前微调模型的 2 倍。早期测试人员还对模型本身的指令进行了微调,从而将提示词长度缩短达 90%,成功加快每次 API 调用的速度并降低了执行成本。

 

成本是更高了吗?

 

价格问题是开发者们普遍关注的问题之一。根据 OpenAI 说法,微调成本分为两个部分:初始训练成本与使用成本:

 

  • 训练:0.008 美元/1K tokens

  • 使用输入:0.012 美元/1K tokens

  • 使用输出:0.016 美元/1K tokens

 

例如,一个 gpt-3.5-turbo 微调作业中包含 10 万个 token 的训练文件。经过 3 个 epoch 训练轮次,预计成本为 2.40 美元。

 

此前,OpenAI 宣布各初版 GPT-3 基础模型(ada、babbage、curie 和 davinci)将于 2024 年 1 月 4 日正式关闭。OpenAI 如今发布了 babbage-002 和 davinci-002 作为这些模型的替代方案,用户可将其用作基础模型或微调模型。这些模型可以使用新 API 端点/v1/fine_tuning/jobs 进行微调。下面是各基础/微调 GPT-3 模型的定价:

 

对此,有网友算了一笔账:微调的 GPT 3.5 Turbo 生成成本是基本模型生成成本的 8 倍,因此用户确实必须处于 OpenAI 提到的“将提示大小减少 90%”的范围内,才能从中获得成本效益

 

微调定价,每 16 次用户交互的成本将超过 1 美元:16 次交互 *(0.012 美元*4 输入 + 0.016 美元输出)= 1.02 美元。

 

本质上,一个简短的提示,如“打个招呼”,比一个长提示“给黄鼠狼宠物起五个可爱的名字”要花费更少的钱。“要想对一个花费 8 倍以上的微调模型来获得纯粹的财务胜利,需要您将输入和输出提示的大小减少 8 倍或更多。”开发者 simonw 表示。有开发者猜测,这是由于 OpenAI 需要存储和加载模型,即使他们或许也在使用类似 LoRA 的方式来微调模型。

 

对此,也有网友表示,如果进行大量检索增强,那么 8 倍的成本可能仍然比在注入的上下文上消耗大量令牌便宜。


曾基于 OpenAI API 做过 GPT-3 开发的 drcode 分享称,GPT 的“微调”与 Llama2 之类的微调不同,因为它可能不会调整网络的所有权重,只是会调整网络的一小部分。代价是 OpenAI 微调的成本较低,但它的功能也没有“真正的”微调强大。

 

附:微调步骤

 

目前微调需要准备数据、上传必要的文件并通过 OpenAI 的 API 创建微调作业,步骤如下:

 

  1. 准备数据

 

{  "messages": [    { "role": "system", "content": "You are an assistant that occasionally misspells words" },    { "role": "user", "content": "Tell me a story." },    { "role": "assistant", "content": "One day a student went to schoool." }  ]}
复制代码

 

  1. 上传文件

 

curl -https://api.openai.com/v1/files \  -H "Authorization: Bearer $OPENAI_API_KEY" \  -F "purpose=fine-tune" \  -F "file=@path_to_your_file" 
复制代码

 

  1. 创建微调作业

 

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",}'
复制代码

 

在模型完成微调过程之后,可以立即在生产环境下使用,且具有与基础模型相同的共享速率限制。

 

  1. 使用微调后的模型

 

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 assistant that occasionally misspells words"    },    {      "role": "user",      "content": "Hello! What is fine-tuning?"    }  ]}'
复制代码

 

该公司表示,所有微调数据都必须通过“审核”API 和 GPT-4 支持的审核系统,以查看是否与 OpenAI 的安全标准相冲突。OpenAI 还计划在未来推出一个微调 UI,其中包含一个仪表板,用于检查正在进行的微调工作负载的状态。

 

OpenAI 表示,在与其他技术(例如提示词工程、信息检索和函数调用)结合使用后,微调的潜力才能得到充分发挥。对函数调用和 gpt-3.5-turbo-16k 微调的支持也计划于今年秋季推出。

 

对于 OpenAI 开放 GPT-3.5 Turbo 微调,您有什么想法?欢迎在评论区发表您的观点!

 

参考链接:

 

https://openai.com/blog/gpt-3-5-turbo-fine-tuning-and-api-updates

https://news.ycombinator.com/item?id=37227139

2023-08-23 13:585474

评论

发布
暂无评论
发现更多内容

敏捷开发:想要快速交付就必须舍弃产品质量?

敏捷开发

项目管理 Scrum 敏捷开发 产品研发 研发

深入了解一下http和https的区别

秃头小帅oi

AlphaGPT在法律大模型圈子火了,案件仅需3分钟搞定

科技汇

大模型+医疗,优质数据助力新生态建立

澳鹏Appen

数据标注 大模型 医疗大模型

比 MyBatis 效率快 100 倍...

Java技术精选

阿里云实时计算Flink的产品化思考与实践【上】

Apache Flink

大数据 flink 实时计算

云端简易指南:快速启动与管理您的ECS实例

极客天地

码上时刻|通过逻辑视图 Logic View 快速实现批流一体

Kyligence

利用Shell二次封装Elasticsearch客户端:简化数据检索与操作

测吧(北京)科技有限公司

测试

新版Redis不再“开源”,对使用者都有哪些影响?

华为云开发者联盟

数据库 redis 华为云 华为云开发者联盟 华为云GeminiDB

深入理解精准测试理论与技术:揭秘测试技术的核心原理

测吧(北京)科技有限公司

测试

实战代码静态分析工具:利用语法树数据工具提升代码质量

测吧(北京)科技有限公司

测试

代码覆盖率提升策略:利用静态分析工具优化测试覆盖率

测吧(北京)科技有限公司

测试

TikTok直播专线:解决出海网络问题痛点,提升商业效率

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 tiktok直播网络

软件测试学习笔记丨Allure2 报告中添加附件(视频)

测试人

软件测试

中国 10 亿参数规模以上大模型数量已超 100 个;GitHub 推出代码自动修复工具丨 RTE 开发者日报 Vol.172

声网

JVM字节码分析与修改:探索代码覆盖率底层实现框架

测吧(北京)科技有限公司

测试

利用Elasticsearch进行文本数据的深度分析

测吧(北京)科技有限公司

测试

TikTok直播专线是什么?有什么用?

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 海外直播网络

数据可视化与分析:利用Kibana展现数据的视觉化洞见

测吧(北京)科技有限公司

测试

ECS公网连接指南:精明选择公网IP计费策略

极客天地

解锁TikTok直播专线,提高使用体验

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 tiktok直播网络

搭建Elasticsearch、Kibana和Logstash环境:构建强大的数据分析平台

测吧(北京)科技有限公司

测试

自定义Elasticsearch索引模式:优化数据存储结构以提高检索效率

测吧(北京)科技有限公司

测试

OLAP性能再获突破!火山引擎ByteHouse性能白皮书发布

极客天地

深度解析代码变更对业务的影响范围:业务影响范围关联分析

测吧(北京)科技有限公司

测试

数字化工厂MES/MOM一体化解决方案PPT

工赋开发者社区

分享一些大数据处理算法

Chris Zhang

大数据

更轻松地部署和升级 NGINX Service Mesh

NGINX开源社区

nginx Kubernetes Helm Service Mesh 服务网格 mTLS

互联网公司裁员现象调查:探寻背后原因与应对策略

小魏写代码

RocketMQ 流数据库解析:如何实现一体化流处理?

阿里巴巴云原生

阿里云 RocketMQ 云原生

重磅!OpenAI 开放 GPT-3.5 Turbo 微调,网友:将prompt减少90%才实惠 _生成式 AI_褚杏娟_InfoQ精选文章