首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

花2.4刀微调GPT3.5定制你自己的ChatGPT

OpenAI GPT-3.5 模型发布了微调 API,以后大家可以根据自己的格式定制 ChatGPT 模型。微调 10 万 token (约 13 万词)只需要 2.4 美元,还是非常吸引人的。

GPT-3.5 微调 API 的发布,为那些希望在开源模型之外寻求更优选择的个人或初创公司提供了新的机会。在深入阅读官方文档和 Cookie Book 后,我们对微调的关键问题进行了梳理:

1. 微调是什么?

微调是在现有训练有素的语言模型基础上,利用小规模特定数据集继续训练,使其更适应于特定任务或领域。简言之,它是为了提升模型在特定任务上的性能。

2. 微调、提示工程、嵌入、智能体的区别是?

我们可以通过两个比喻来理解这些概念:

家政阿姨比喻:语言模型类似于一位懂中文的家政阿姨,微调是第一次她来您家时,您花时间告诉她您家的情况;嵌入是您在家里贴纸条,她按纸条指引工作;提示工程是指令告诉她应该做什么,还需要包含背景信息;智能体类似于专家,可以帮助模型处理其能力范围外的任务。

大学生比喻:语言模型类似于大学生,提示工程就像考试问题,要求在提供的背景知识下进行推理回答;微调就像学生针对某门考试进行复习,学习指定格式的问题和答案;嵌入是类似记笔记,可以带入考场使用;智能体类似于高级计算器,处理复杂问题。

通过这些比喻,我们能更清楚地了解微调、提示工程、嵌入和智能体之间的联系和区别。

3. 微调带来的优势

精简Prompt长度:微调使得原本需要在Prompt中加入one-shot、few-shot示例或详细描述格式的内容变得不再必要。这有效地减少了Prompt的长度。

潜在更好的结果:借助微调,可以使用私有数据对模型进行微调,这些数据可能很难通过Prompt完整地呈现或描述清楚。因此,在这些情况下,通过微调获得的生成结果可能会比仅使用Prompt更好。

稳定的特定格式输出:经过微调后,模型能够更稳定地按照特定格式输出,如代码生成、JSON格式输出以及特定语言输出(如中文)。这对于涉及格式要求的任务尤为重要。

降低请求延迟:由于微调后的模型在特定任务上的效果已经得到提升,您可能不再需要升级到GPT-4,而是可以利用微调后的GPT-3.5,这降低了请求的延迟。

虽然微调模型的调用价格相对较高,大约是GPT-3.5的8-9倍,但如果微调能够实现接近GPT-4的效果,并且通过精简的Prompt能够达到更好的输出结果,那么从性价比角度考虑,微调仍然是一个值得考虑的选择。

4. 微调存在的问题

影响其他能力:对于特定任务的微调可能影响模型在其他任务上的表现。在进行微调之前,最好准备一些测试数据集,用微调后的模型进行测试,以便评估性能。如果模型在某些方面表现不佳,可能需要进一步微调。

幻觉问题无法解决:微调无法完全解决模型的幻觉问题,即使在微调数据集上表现出色,模型在未知领域或微调数据集之外仍可能会胡言乱语。

隐形成本:微调的结果高度依赖于用于训练的数据集质量。数据质量低劣可能导致微调效果不佳。此外,微调需要满足特定的格式要求,不是简单的文本就能进行微调。

在进行微调之前,需要花费大量时间整理、筛选数据,还要准备多组测试数据集,用于评估微调后的效果。同时,要做好准备,可能需要多次微调才能达到满意的效果,这需要考虑试错带来的成本。

安全问题:个人或者普通中小企业也没太大问题,但是对于数据安全要求高的企业,或者国内的用户,将微调后的模型托管在 OpenAI,这个数据安全性是不得不考虑的一个重要问题。

受OpenAI的对齐和内容审查限制,那些试图用微调来从事违法活动,如训练黑客应用程序等的行为,是无法通过审查的。

OpenAI将通过基于GPT-4的内容审查模型对微调后的数据进行过滤审查。

虽然微调带来了诸多好处,但这些问题也需要在决定是否进行微调时予以考虑。

5. 适合微调的一些应用场景

1. 稳定的特定格式和风格输出:微调可确保稳定地输出特定格式和风格的数据。例如:

类似 GitHub Copilot 的代码生成。

OpenAI 自己微调的 Function Calling,能稳定输出 JSON 格式。

模仿名人、动漫角色的说话风格。

强制输出特定语言风格。

模仿某位作家的写作风格。

当需要特定格式和风格的输出,但用 Prompt 难以描述或受长度限制时,微调是一个好的选择。

2. 扩展 Prompt 内容:通过将原本放在 Prompt 中的示例作为微调的数据,可以让更多内容纳入生成过程,而不必将大量背景说明和 few-shot 示例放入 Prompt 中。适用于:

需要详细描述的输出格式。

数据分块后超过了 Prompt 长度限制的情况。

3. 增强模型能力:微调可让大型语言模型具备新的能力,例如:

OpenAI 的 ChatGPT 是基于 GPT 3.0 微调的,同时 Function Calling 也是微调的结果。

在新发明的编程语言中生成代码。

处理没有在训练数据中涵盖的行业数据,如中医数据。

无论是为了特定格式输出、更多内容或新增能力,微调都为模型提供了适应性和个性化的功能,适用于多种应用场景。

6. OpenAI的微调模型如何收费的

GPT-3.5微调费用如下:

训练:每1K Token $0.008

使用输入:每1K Token $0.012

使用输出:每1K Token $0.016

模型托管:免费

需要注意的是,文档中有几点并未明确说明:

训练可能需要多个周期:训练不仅仅限于一个周期,为达到更好效果,可能需要多个周期。默认情况下,每个周期(epochs)的数量为4。因此,训练费用不仅与训练数据的Token数量有关,还需要考虑周期数。例如,使用100K的训练数据,在4个周期下实际费用为$3.2。

免费的模型托管:尽管不明确,但模型托管是不收费的。这可能有些奇怪,因为即使不使用,托管模型也会消耗资源。

使用输入和使用输出的区别:与现有的ChatGPT等API计费方式相同,区别在于:

输入:您提交给API的所有请求内容,包括您输入的Prompt。

输出:模型返回给您的内容。为了鼓励更多使用输入(即Prompt),输入的价格较为便宜。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O38wRImLGNam1TPsCJLQGk8Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券