硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

重磅!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:586016

评论

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

编程思考路径2条

顿晓

5月日更 思考路径

揭秘 Amazon Go 无人商店是如何炼成的!

亚马逊云科技 (Amazon Web Services)

Amazon Glue 版本 2.0 将作业启动时间缩短了 10 倍,现已全面开放!

亚马逊云科技 (Amazon Web Services)

限流与Guava RateLimiter原理解析

千珏

Java 微服务 限流算法 Guava 令牌桶

STM32电源框图解析(VDD、VSS、VDDA、VSSA、VREF+、VREF-、VBAT等的区别)

不脱发的程序猿

嵌入式 stm32 单片机 电源框图解析

你认识镜子里的那个自己吗?

小天同学

原则 认知 5月日更

NumPy之:理解广播

程序那些事

Python Numpy 程序那些事

Amazon Route 53 Resolver 落地中国区,轻松玩转私有域名互访不是梦!| 新服务上线

亚马逊云科技 (Amazon Web Services)

再学习一个 Golang 专栏

escray

学习 极客时间 Go 语言 5月日更

流量变现业务概论——Linkedmall流量变现业务初步分析及系统设计概要

关贺宇

Nginx负载均衡配置误区

运维研习社

nginx 负载均衡 5月日更

Gradle学习笔记

ES_her0

5月日更

Windows自带的功能这么好用,还装什么第三方软件?

彭宏豪95

windows 5月日更

华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)

华为云开发者联盟

数据仓库 华为云 数据迁移 GaussDB(for Redis) PB级数据库

源码解析之Seata项目中的分布式ID生成算法

Coder的技术之路

分布式 分布式ID

嵌入式程序调用函数的内部过程和机制

不脱发的程序猿

单片机 嵌入式程序 嵌入式设计

CampusBulider(模模搭)学习笔记5:创建自定义建筑

ThingJS数字孪生引擎

大前端 可视化 3D 3D可视化 数字孪生

智慧党建三维云展厅可视化

一只数据鲸鱼

数据可视化 智慧党建 三维可视化

怎么进大厂?166位Java工程师的大厂面试经验分享

北游学Java

Java 面试 大厂

人证一体机产品设计

lenka

5月日更

将自媒体玩得风生水起的不一定是前总统,还有可能是艺术家

zhoo299

艺术 自媒体 5月日更

网络协议之HTTP:HTTP 1.1与HTTP 2

程序员架构进阶

HTTP2.0 28天写作 HTTP协议 5月日更

HuskyLens人工智能摄像头

不脱发的程序猿

人工智能 智能硬件 AIOT HuskyLens 人工智能摄像头

学习笔记:02 | 第一个程序:教你输出彩色的文字

Nydia

学习

anyRTC 六周年 打造全网最低音视频价格

anyRTC开发者

音视频 WebRTC RTC sdk

“云演唱会”也有仪式感!能检票、可转赠,爱奇艺“云票”如何重构线上购票逻辑

爱奇艺技术产品团队

iMazing比iTunes好用在哪些地方

懒得勤快

Ansible AD-Hoc

耳东@Erdong

ansible 5月日更

【LeetCode】子数组异或查询Java题解

Albert

算法 LeetCode 5月日更

关于组件,你真的了解么?

架构精进之路

组件化 5月日更

如何高效地存储与检索大规模的图谱数据?

华为云开发者联盟

存储 知识图谱 检索 图结构 表结构

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