ChatGPT 问世一周年之际,开源大模型能否迎头赶上?

就在11月30日,ChatGPT 迎来了它的问世一周年,这个来自 OpenAI 的强大AI在过去一年里取得了巨大的发展,迅速吸引各个领域的用户群体。

我们首先回忆一下 OpenAI和ChatGPT这一年的大事记(表格由ChatGPT辅助生成):

图片

图片

在这个具有里程碑意义的时刻,我们在回顾这一引领变革的产品的同时,也需要注意到新一代的开源大语言模型也在崛起。

这些开源大模型发展到什么程度了?

能否赶超一年前发布的 ChatGPT呢?

在这篇综述中,我们将深入介绍这些开源 LLM 的强大之处,在各个任务领域中,对比他们和 ChatGPT 的表现。相信这些模型将为自然语言处理领域未来的研究方向提供新的启示。

论文题目:
ChatGPT's One-year Anniversary: Are Open-Source Large Language Models Catching up ?

论文链接:
https://arxiv.org/abs/2311.16989

由于 ChatGPT 具有降低劳动成本、使工作流程自动化,甚至为客户带来全新体验的潜力,它在诞生仅一个月就吸引了 1 亿用户以及大量的商业投资。但它的闭源性质使得难以获取其技术细节,用户和研究者无法深入了解其确切的架构、预训练数据和微调数据。

不开源的 ChatGPT VS 开源 LLM

ChatGPT 不开源的缺点

  1. 缺乏透明度: 这种缺乏透明度使得难以正确评估其对社会的潜在风险(尤其涉及生成有害、有悖道德和不真实内容的情况)。

  2. 可复制性问题: 由于闭源,ChatGPT 的性能随时间推移可能会发生变化,妨碍了研究人员和开发者进行可复现的实验和结果验证。这种不确定性影响了对 ChatGPT长期效果和稳定性的信任。

  3. 服务不稳定:ChatGPT 在过去经历了多次故障,包括前段时间影响诸多忠实用户工作和学习的大宕机事件。这使得依赖 ChatGPT 的企业和开发者可能面临服务中断和不可预测的事件,对其业务产生负面影响。

  4. 高昂的调用费:企业调用 ChatGPT 的 API 可能会面临高昂的调用费用,这也成为使用该技术的负担。

开源 LLM 有何好处?

  1. 透明度与可控性: 开源 LLM 具有更高的透明度,用户和研究人员可以访问模型的源代码和详细文档,了解其内部工作原理。这种透明度有助于评估模型的安全性和可靠性。

  2. 社区参与与反馈: 促进了社区广泛参与,研究人员和开发者可以共同改进模型、提出建议,并报告问题。这种反馈循环有助于及时纠正潜在的问题和提升模型性能。

  3. 可持续发展:开源 LLM 的持续发展受益于全球社区的共同努力,使其更具鲁棒性和可持续性。这种合作能助力模型适应不断变化的需求和挑战。

  4. 避免依赖单一提供者:采用开源 LLM 可避免对单一提供者的过度依赖,降低了由于服务不稳定或其他问题而产生的风险。这种多样性有助于保障业务的连续性。

图片

▲图1 不同开源LLM 在各种通用基准上的概述

如图 1 所示,在某些任务上,最好的开源 LLM 已经超过了 GPT-3.5-turbo。然而,随着开源 LLM 几乎每周发布一次,以及大量用于评估比较 LLM 的数据集和基准不断涌现,从中找出最佳 LLM 变得更加具有挑战性。为了帮助读者更好地了解这一领域的最新进展,本文作者对近期关于开源 LLM 的研究进行了综述,提供了在各个领域与 ChatGPT 相匹敌或超越的开源 LLM 的概述。

图片

▲图2 LLM 能力和表现最佳的开源 LLM 类型。白色方框表示领域,蓝色方框表示特定数据集,橙色方框表示开源LLM

图 2 展示了在各种任务中超越或赶上 ChatGPT 的开源 LLM。

开源 LLM 与 ChatGPT 的比较

1. 通用能力上的对比

如表 1 所示,在通用任务中,Llama-2-chat-70B 相较于 GPT3.5-turbo 在一些基准上表现更好,但在其他测试中仍稍显不足。Zephir-7B 通过优化偏好逼近 70B 的 LLM。WizardLM-70B 和 GodziLLa-70B 则能够与 GPT-3.5-turbo 相媲美。整体而言,GPT-4在几个评估指标上表现都是最好的,这是目前的很多开源模型所不能比的,也是其未来所要努力的方向。

图片

▲表1 模型在通用基准上的比较

2. 智能体能力上的对比

在基于 LLM 的智能体任务中,Lemur-70B-chat 在探索环境和任务特定预训练方面表现更好,AgentTuning 在未见过的智能体任务上有所提升,ToolLLama 更擅长掌握使用工具,Gorilla 在编写 API 调用方面优于 GPT-4。

图片

▲表2 模型在智能体基准上的性能比较

3. 逻辑推理能力上的对比

逻辑推理方面,WizardCoder 和 WizardMath 通过增强指令微调提高了推理能力,Lemur 和 Phi 通过在更高质量的数据上进行预训练表现更强大。

4. 长序列建模能力

处理长序列仍是 LLM 的关键技术瓶颈之一,因为所有模型都受到最大上下文窗口的限制,通常长度在 2k 到 8k token 之间。在长上下文建模方面,Llama-2-long 通过使用更长的 token 和更大的上下文窗口进行预训练,可以在选定的基准上取得进展。

解决长上下文任务的方法包括使用位置插值进行上下文窗口扩展,其中有对更长上下文窗口进行另一轮微调,以及需要访问检索器以查找相关信息的检索增强。Xu 等人(2023b)结合了这两种技术,将 Llama-2-70B 在 7 个长上下文任务上的平均性能提升到了 GPT-3.5-turbo-16k 之上。

5. 特定应用能力的对比

对于特定应用能力,InstructRetro 通过检索和指令微调改善了开放式问答的性能,MentaLlama-chat13B 在心理健康分析数据集中优于 GPT-3.5-turbo,RadiologyLlama2 在放射学报告分析上表现出色,Stru-Bench 在生成结构化回复方面优于 GPT-3.5-turbo,Shepherd 在生成模型反馈和批评方面达到了与 GPT-3.5-turbo相当或更好的性能。

6. 可信度方面的比较

为了确保 LLM 在现实应用中能够得到人类的信任,需要考虑的重要因素是它们的可靠性。对于幻觉和安全性的担忧可能会降低用户对 LLM 的信任。

  • 在微调过程中,提高正确性和相关性方面的数据质量可以导致产生幻觉的模型减少。

  • 在推理期间,现有的技术有特定的解码策略、外部知识增强和多智能体对话。

图片

▲表3 模型在幻觉基准上的性能比较

然而,在 AI 安全领域,很多开源 LLM 与 GPT-3.5-turbo 和 GPT-4 仍然无法匹敌,因为它们以更安全、更具道德的行为而闻名,这可能是商业 LLM 相对于开源 LLM 更为重视安全性。尽管如此,随着 RLHF 过程的民主化,我们能够期待看到更多开源 LLM 改进安全性方面的性能。

LLM 的发展趋势

图片

▲图3 LLM 的发展时间线,下半部分模型是闭源的,上半部分模型是开源的

自从有人证明冻结参数的 GPT-3 在 zero-shot 和 few-shot 任务上表现卓越后,研究者们就采取了多方面措施推动 LLM 的发展:

  • 尝试通过增大模型参数量提升性能,但这些模型不开源,受到了应用范围的限制,从而引发了更多人对于开源 LLM 的研究兴趣。

  • 致力于寻找更好的预训练策略(如 Chinchilla 和 UL2),以及在预训练以外进行指令微调的方法(如 FLAN、T0 和 Flan-T5)。

去年,OpenAI 发布的 ChatGPT 推动了 NLP 领域的研究,随后 Google 和 Anthropic 又相继推出了 Bard 和 Claude。尽管它们在很多任务上表现突出,但与 GPT-4 相比仍存在着性能上的差距。为促进开源 LLM 的发展,Meta 发布了 Llama 系列模型,以及 Alpaca、Vicuna、Lima 和 WizardLM 等模型,它们通过微调实现了不断的发展,同时还有其他工作致力于从头开始训练强大的 LLM。未来,开发更强大、高效的开源 LLM 是具有前途的研究方向。

最佳的开源 LLM 配置

作者还讨论了训练开源 LLM 的最佳实践方案:

  • 数据:预训练阶段使用数万亿个来自公开可访问来源的数据 token。在道德层面排除了包含个人信息的任何数据。微调所用的数据量较小,但质量都很高,尤其是在专业领域的微调,使用优质数据能够改进性能。

  • 模型架构:大多数 LLM 使用仅有解码器的 Transformer 架构,但用了不同的技术来优化效率。例如,Llama-2 引入了 Ghost attention 来改进多轮对话控制,而 Mistral 采用了滑动窗口注意力以处理更长的上下文。

  • 训练使用指令微调数据进行监督微调(SFT)的过程至关重要。高质量结果需要数万个 SFT 注释,例如 Llama-2 使用了 27540个 注释。数据的多样性和质量在这个过程中至关重要。在 RLHF 阶段,近端策略优化(PPO)通常是优选的算法,有助于使模型行为与人类偏好和指令遵循一致,从而提高 LLM 的安全性。替代 PPO 的选择是直接偏好优化(DPO)。例如,Zephyr-7B 采用了蒸馏 DPO,在各种通用基准中表现与 70B-LLM 相当,甚至在 AlpacaEval 上超越了 GPT-3.5-turbo。

待改进之处

尽管许多开源LLM 的涌现让我们看到了希望,但目前仍存在一些需要改进的方面,比如:

  • 预训练期间的数据污染:模型发布时通常不公开其预训练语料库的来源,因此模型在预训练过程中可能使用了一些基准数据,而这些数据并没有在预训练任务中的数据源中被明确标记。这可能导致数据污染问题,即模型可能无意中从中获取了某些知识。由于缺少对模型预训练语料库来源的清晰了解,人们可能怀疑模型在实际应用中是否能够有效泛化到不同任务和场景。为了解决这一问题,需要检测 LLM 预训练语料库,研究基准数据与广泛使用的预训练语料库之间的重叠情况,并评估模型对基准数据的过拟合情况。未来可能的研究方向包括建立一些标准化实践,使模型在开发过程中能更透明地披露其预训练语料库的细节,并在开发层面减轻模型在整个生命周期中受到的数据污染。

  • 在对齐方面的闭源开发:目前 AI 社区越来越关注利用通用偏好数据,这是一种表达人类喜好和优先选择的数据类型,结合强化学习方法进行模型的对齐,微调模型使其与人类的喜好和反馈一致。但是,获取高质量、公开可用的通用偏好数据和预训练奖励模型并不容易,只有少数开源 LLM 采用了增强 RLHF 来进行对齐。有人提议为开源社区提供支持,以解决通用偏好数据的稀缺性问题,从而促进更多的开源 LLM 采用对齐方法。但在复杂的推理、编程和安全场景中,仍然存在缺乏多样性、高质量和可扩展的偏好数据的挑战,这仍是个难题。

  • 持续提升基本能力的困境

    (1)预训练期间投入大量努力来改进数据混合,以构建更平衡和稳健的基础模型。但这方面的探索成本通常较高,使得方法难以实际应用。

    (2)模型要想超越像 GPT-3.5-turbo 或 GPT-4,主要依赖对这些闭源模型的知识蒸馏和额外的专家注释。尽管这种方法高效,但过度依赖知识蒸馏可能掩盖了将这些方法扩展到教师模型时的效果问题。

    (3)人们都希望 LLM 能扮演智能体并提供合理的解释以支持决策,但对智能体样式的数据进行注释以使 LLM 适用于实际场景非常昂贵且耗时

    实际上,仅通过知识蒸馏或专家注释进行优化无法实现基本能力的持续改进,可能会接近一个上限。未来的研究可能需要探索无监督或自监督学习范式的新方法,以实现持续提升基本 LLM 的能力,以减轻所面临的挑战和成本。

总结

在开源 LLM 与 ChatGPT 的详细性能比较中,作者深挖了一些现象背后的原因。然而,我们应该认识到文章的关键并非仅是简单的性能数值比较,更在于作者对背后现象的深刻剖析。因为在不同的规则或标准下,这些比较都不尽全面。而在我们研究的道路上,理解“为什么”比“是什么”更为重要,所有的研究都致力于不断改进,而未来的关键更在于应该探讨“怎么办”。

尽管开源是广大研究者一致追求的目标,但要实现这一目标需要面对 LLM 训练和创新所需的高昂成本。这不仅需要大量时间和精力处理数据,还需要投入资源来处理潜在的安全或道德伦理层面的风险。

希望在相关研究层出不穷的情况下,未来的某一天,我们能够摆脱在特定领域或指标上绞尽脑汁比较性能来证明模型优越性的局面,而能够直接通过感受开源 LLM 的表现就能判断足与这些优秀的商业 LLM 相匹敌。对于这样的一天,我们翘首以盼。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/207395.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java基础面试题(二)

java后端面试题大全 3.JVM3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置?3.2 java类的加载流程3.3 ThreadLocal 3.JVM 3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置? 堆 对象实例、String常量池、基本类型常量池、静态变量方法…

设计模式详解(二):抽象工厂——Abstract Factory

目录导航 抽象工厂及其作用工厂方法的好处工厂方法的实现关系图实现步骤 工厂方法的适用场景工厂方法举例 抽象工厂及其作用 工厂方法是一种创建型设计模式。所谓创建型设计模式是说针对创建对象方面的设计模式。在面向对象的编程语言里,我们通过对象间的相互协作&…

ios-class-guard - iOS代码混淆与加固实践

​ 目录 ios-class-guard - iOS代码混淆与加固实践 摘要 引言 一、class-dump 二、ios-class-guard 混淆原理 三、ios-class-guard 混淆结果 四、ios-class-guar 的使用 ios-class-guard 不支持 Swift ios-class-guard 不支持 iPhoneOS SDK ios-class-guard --sdk-ro…

【紫光同创PCIE教程】——DMA读写/PIO内存读写TLP解析

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(http://www.meyesemi.com) 一:PIO内存读写操作TLP解析 PCIE有三种空间——内存空间、IO空间、配置空间,其中内存空…

设计一款可扩展和基于windows系统的一键处理表格小工具思路

原创/朱季谦 设计一款可扩展和基于windows系统的一键处理表格小工具思路 日常开发当中,业务人员经常会遇到一些重复性整理表格的事情,这时候,就可以通过一些方式进行自动化程序处理,提高工作(摸鱼)效率。 …

【机器视觉技术】:开创人工智能新时代

🎥 屿小夏 : 个人主页 🔥个人专栏 : IT杂谈 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑 前言🌤️ 机器视觉技术的实现☁️ 图像采集☁️ 图像处理☁️ 数据建模☁️应用展示…

基于harbor管理helm charts的方法

前言 Helm是Kubernetes的包管理器。Helm使用一种称为charts的打包格式。自1.6.0版本以来,Harbor是一个复合的云原生注册表,支持容器镜像管理和Helm Chart管理。对Harbor中Helm charts的访问由基于角色的访问控制(RBAC)控制&#…

Servlet概念视频笔记

学习地址:121-尚硅谷-Servlet-什么是Servlet_哔哩哔哩_bilibili 目录 1.Servlet技术 a.什么是Servlet b.手动实现Servlet程序 c.url地址如何定位到Servlet程序去访问 d.Servlet的生命周期 e.GET 和 POST 请求的分发处理 f.通过继承 HttpServlet 实现 Servlet程序 g.使用…

分享82个清新唯美PPT,总有一款适合您

分享82个清新唯美PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/1tnRpOR8Gexg9gjWz4z15Xw?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付…

AI一键生成文案-免费AI一键生成文案的软件有哪些

AI一键生成文案的原理涉及自然语言处理(NLP)和机器学习技术。这种技术的核心是基于大量文本数据的模式识别和生成,通常使用深度学习模型,如循环神经网络(RNN)、长短期记忆网络(LSTM)…

今日公众号爆文排行

​写爆文公众号需要综合考虑多个因素,包括内容质量、受众需求、话题热度、推广策略等。在创作过程中,可以着重参考其他作品,学习其优点和技巧,但同时也要注意避免抄袭和侵权行为。以下是一些写爆文公众号的方法和建议:…

2023年第十二届数学建模国际赛小美赛D题望远镜的微光系数求解分析

2023年第十二届数学建模国际赛小美赛 D题 望远镜的微光系数 原题再现: 当我们使用普通光学望远镜在昏暗的光线下观察远处的目标时,入射孔径越大,进入双筒望远镜的光线就越多。望远镜的放大倍数越大,视野越窄,图像显示…

使用NVM管理多个版本的node.js

1、nvm介绍: nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js 2、下载nvm地址: https://d…

蓝桥杯day03——二进制间距

1.题目 给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。 如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离…

计算机新建盘符和重新分配盘符的大小

一、新建盘符 有些电脑刚买来时候,只有一个C盘分区,此时最好增加几个分区方便使用。 注意:分区操作要慎重,不要轻易去试。这里只针对购买的电脑厂家未做分区,只有一个C盘的情况。 如果自己电脑的分区本身已经满足你…

Android 断点调试

Android 调试 https://developer.android.google.cn/studio/debug?hlzh-cn 调试自己写的代码(不在Android源码) 点击 Attach debugger to Android process 图标 需要在添加断点界面手动输入函数名 但也可以不手动,有个技巧可以new 空proje…

Vue生命周期:组件的生命之旅

🍃引言 在Vue.js中,每个组件都有其独特的生命周期。这个生命周期指的是组件从创建到销毁的一系列过程。了解并正确使用Vue的生命周期钩子,对于优化组件性能、管理组件状态以及实现特定功能至关重要。本文将详细介绍Vue的生命周期及其各个阶段…

【Linux】I/O多路转接技术

I/O多路转接技术 一、I/O多路转接之select1、select函数2、fd_set的相关内容3、如何在代码中高效的使用select函数4、select服务器5、select的优缺点6、select的适用场景 二、I/O多路转接之poll1、poll函数2、struct pollfd结构2、poll服务器3、poll的优缺点 三、I/O多路转接之…

在文本框中添加单位

<el-col :span"12"><el-form-item label"进度" prop"schedule":rules"[{required: true, message:进度不能为空, trigger:blur},{validator: validator.isFloatGteZero, trigger:blur}]"><el-input v-model"input…

vcruntime140_1.dll错误的解决方案,与vcruntime140_1.dll下载指南

vcruntime140_1.dll是Visual C redistributable 2015-2019的一部分&#xff0c;如同很多动态链接库&#xff08;dll&#xff09;文件&#xff0c;它落在系统级别可共享软件组件的范畴。用户可能会在安装或运行一些游戏或程序时遇到"vcruntime140_1.dll丢失"的问题。今…