总览
自 2023 年 7 月 6 日,书生·浦语(InternLM)在世界人工智能大会上正式开源以来,在社区和业界形成越来越大的影响。在过去半年,大模型技术体系也在快速演进,100K 级别的长上下文、代码解释、智能体等新技术不断迭代。在技术水平不断进步的同时,大模型在应用上的边界也不断拓宽。在这半年里,上海人工智能实验室与商汤科技联合香港中文大学和复旦大学也在潜心打造新一代的语言模型,近日正式发布书生·浦语 2.0(InternLM2)。
相比于第一代 InternLM 和一些主流开源模型,InternLM2 的核心在于回归语言建模的本质,致力于通过更高质量的语料以及更高的信息密度,实现模型基座语言建模能力的质的提升。我们观察到,随着 InternLM2 在基础语言建模能力的实质性增强,数理、代码、对话、创作等各方面能力都获得了长足进步,综合性能达到开源模型的领先水平。
在此次发布中,沿袭第一代浦语的设定,InternLM2 包含两种模型规格:7B 和 20B。7B 为轻量级的研究和应用提供了一个轻便但性能不俗的模型,20B 模型的综合性能更为强劲,可以有效支持更加复杂的实用场景。面向不同的使用需求,每个规格包含三个模型版本:
-
InternLM2-Base:高质量和具有很强可塑性的模型基座,是模型进行深度领域适配的高质量起点;
-
InternLM2:在 Base 基础上,在多个能力方向进行了强化,在评测中成绩优异,同时保持了很好的通用语言能力,是我们推荐的在大部分应用中考虑选用的优秀基座;
-
InternLM2-Chat:在 Base 基础上,经过 SFT 和 RLHF,面向对话交互进行了优化,具有很好的指令遵循、共情聊天和调用工具等的能力。
秉持“以高质量开源赋能创新”的理念,我们发布的新一代 InternLM2 继续支持免费商用。浦语开源项目放在 Github,模型权重也同时在 Hugging Face 和阿里云的 ModelScope 开放访问,相关网址如下:
GitHub主页:
https://github.com/InternLM/InternLM
Hugging Face主页:
https://huggingface.co/internlm
ModelScope主页:
https://modelscope.cn/organization/Shanghai_AI_Laboratory
OpenXLab主页:
https://openxlab.org.cn/usercenter/OpenLMLab
有商用需要的用户,可以在 GitHub 项目主页或者识别下方二维码申请免费商用的License。
回归语言建模的本质
InternLM2 的核心在于回归语言建模的本质。我们的研究表明,语言建模能力增强的关键在于训练语料质量以及信息密度的提升。为此,我们研发了新一代的数据清洗过滤技术,主要发展了以下几个方面的技术方法:
-
多维度数据价值评估:基于文本质量、信息质量、信息密度等维度对数据价值进行综合评估与提升;
-
高质量语料驱动的数据富集:利用高质量语料的特征从物理世界、互联网以及语料库中进一步富集更多类似语料;
-
有针对性的数据补齐:针对性补充语料,重点加强世界知识、数理、代码等核心能力。
基于新的数据清洗过滤技术,语言建模能力实现了实质性的显著增强。下图比较了初代 InternLM 和 InternLM2 在大规模高质量的验证语料上的 loss 分布。我们看到了整个分布的整体左移,表明了语言建模能力的实质性增强(注:指令微调等虽然可以在下游任务带来明显提升,但是对于整体语言建模能力的影响是非常非常微弱的)
在过去一年的大模型研发历程中,我们的数据清洗技术完成了三轮迭代。下图比较了这三代数据训练的 7B 模型在下游任务中的性能成长曲线:在新的数据清洗技术(InternData-V3)的加持下,我们只使用约 60%的训练数据即可达到上一版模型训练 1T tokens(InternData-V2) 的性能表现,而且持续训练后建模能力到达更高的水平。
语言建模能力的增强为各项能力的形成打下坚实的基础。
主要亮点
语言建模能力的实质增强,带来了下游任务的全方位性能提升。以下列出了 InternLM2 的主要亮点:
-
有效支持 20 万字超长上下文:模型在 20 万字长输入中几乎完美地实现长文“大海捞针”,而且在 LongBench 和 L-Eval 等长文任务中的表现也达到开源模型中的领先水平。
-
综合性能全面提升:InternLM2 和 InternLM2-Chat 在各能力维度全面进步,在推理、数学、代码等方面的能力提升尤为显著,综合性能达到同量级开源模型的领先水平,在重点能力评测上 InternLM2-Chat-20B 甚至可以达到比肩 ChatGPT (GPT-3.5)的水平。
-
优秀的对话和创作体验:InternLM2-Chat 可以精准地理解和遵循用户意图,具备较强的共情能力和丰富的结构化创作能力。在最新公布的 AlpacaEval2 英文主观对话榜单上,InternLM2-Chat-20B 超越了 GPT-3.5、 Gemini Pro 和 Claude-2。
上面的回答不仅提供了一个内容合理的课程大纲,而且在整个结构化输出中,格式和数量上也精准地遵循了用户的要求(7个小节,标题格式、1-5分的星标等),结语对于正文的总结也很准确。
-
工具调用能力整体升级:基于更强和更具有泛化性的指令理解、工具筛选与结果反思等能力,新版模型可以更可靠地支持复杂智能体的搭建,支持对工具进行有效的多轮调用,完成较复杂的任务。
-
突出的数理能力和实用的数据分析功能:模型在不使用外部工具的条件下已具备不错的计算能力和推理能力,数理表现超过 ChatGPT;在配合代码解释器(code-interpreter)的条件下,InternLM2-Chat-20B 在 GSM8K 和 MATH 上可以达到和 GPT-4 相仿的水平。基于在数理和工具方面强大的基础能力,InternLM2-Chat 提供了实用的数据分析能力。
下面,我们分别就 InternLM2 对超长上下文支持、全方位的性能提升、优秀的对话和创作能力、工具调用和交互能力、以及数理分析能力展开介绍。
超长上下文支持:
200K上下文中近乎完美的“大海捞针”
InternLM2通过拓展训练窗口大小和位置编码改进将对上下文窗口的支持延长到了20万tokens。为了检验这种支持的有效性,我们参考业界范例,对模型进行“大海捞针”试验。该试验通过将关键信息随机插入一段长文本的不同位置构造问题,测试模型是否能从长文本中提取出关键信息。
上面两幅图分别展示 InternLM-Chat 和 InternLM2-Chat 在不同长度的上下文(横轴)及上下文中不同位置(纵轴)上召回关键信息的准确率。红色代表较低的召回准确率,而绿色则代表较高的召回率。我们看到,初代模型随着文档长度的增长,召回准确率不断下降,对于超过 8K 的上下文,平均准确率下降到低于30%的水平。而新一代 InternLM2-Chat,召回准确率始终保持在高位,16K以内的平均准确率达到 95.65%。
我们继续延长上下文的长度,对 InternLM-2 提出更大的挑战。试验结果表明,InternLM2-Chat 在上下文长度延展到 200K 时依旧保持了很高的信息召回成功率,验证了 InternLM2 对于超长上下文的支持能力是十分坚实的。
我们还通过两个主流的长文评测集 LongBench 和 L-Eval 检验模型在多种长文任务中的表现。
从上表中我们可以看到,InternLM2 在主流长文评测中表现不俗,不仅显著超越了初代 InternLM、Qwen 和 Mistral,而且相比于在长文任务中有很强表现的 ChatGLM3 也稍胜一筹。
长语境能力可以显著拓展大模型的应用场景,帮助人们应对繁琐的书面工作。比如我们可以让InternLM2总结一段3小时会议的记录并提取出我们关心的信息。尽管这段文本是语音转录存在很多错别字,InternLM2仍然很好地完成了任务。
联合国2023年10月2日召开的 联合国贸易和发展会议 会议记录 原录音链接:https://conf.unog.ch/digitalrecordings/index.html?guid=public/60.5295/9849DF25-F3B5-4BFF-8979-C5A989586205_10h09&position=0&channel=ORIGINAL
除此之外,InternLM2整理财报内容表现也不俗。在以下例子中,我们让 InternLM2 整理一份212页的财报
原文链接财报1:https://file.finance.sina.com.cn/211.154.219.97:9494/MRGG/CNSESZ_STOCK/2020/2020-4/2020-04-24/6101481.PDF
性能全方位提升:
推理能力显著增强,综合性能开源领先
我们根据大语言模型的应用方式和用户通常关注的方面,定义了语言、知识、推理、数学、代码、考试六个能力维度,每个维度选取了相关的主流评测集,综合对语言模型的表现进行多维度的评价。
-
语言:考察模型的基础语言能力,包括信息抽取、意图识别、情感分析、内容总结评价、翻译、问答等多个方面。面向这个维度,我们选取了 WinoGrande、C3、RACE 等评测集。
-
知识:考察模型在生活常识,自然科学,社会科学,人文科学等多个领域的知识水平。面向这个维度,我们选取了 TriviaQA、NaturalQuestions 等评测集。
-
推理:考察模型在常识推理、逻辑推理(包括演绎推理、归纳推理、溯因推理)等多种推理能力。面向这个维度,我们选取了 HellaSwag、PIQA、BigBench-Hard(BBH)等评测集。
-
数学:考察模型在小学,初中,高中,大学等多个学段,多知识点的全方位数学推理能力。面向这个维度,我们选取了 GSM8K、MATH、GSM-Hard 等评测集。
-
代码:考察模型在代码分析、代码理解、代码生成、多编程语言掌握等各类代码能力。面向这个维度,我们选取了 HumanEval、MBPP等评测集。
-
考试:以综合化考试的形式考察模型在各学段各学科的中英文学科知识水平。面向这个维度,我们选取了 MMLU、AGIEval、C-Eval 等评测集。
两代模型的对比
对于上述维度,我们总共选取了 55 个评测集对模型进行评价。每个维度的评分就是对应评测集得分的平均。
首先,我们比较了初代 InternLM 和 InternLM2 在各个能力维度上的表现,如下表所示:
从上表中,我们可以看到,InternLM2 相比于初代模型在各个维度上都取得了长足的进步。其中,在推理、数学、代码方面,新一代模型的进步尤为明显。上述结果表明,核心语言建模能力的增强,给下游任务带来的提升是全方位的,不仅语言能力本身得以改善,而且在此基础上也形成了更加扎实的推理、数学和代码能力。
和其它开源模型的性能对比
在过去的几个月,国内外机构开源了多个优秀的大语言模型,包括国外的Llama2、Mistral,国内的Baichuan2、Qwen、ChatGLM3、Yi等。这些模型的表现可圈可点,有力推动了大模型开源生态的繁荣。
下面,我们就相近规格的基座模型和对话模型分别进行比较。下列表格中,每一列为一个模型,每一行为一个能力维度或各维度的总平均,该行的最高成绩以粗体突出。
6B~7B基座模型对比
13B~20B基座模型对比
注:Mixtral-8x7B每次推理会激活约 13B 参数,而且这个模型近期也备受关注,因此其表现也列在此处作为参考。
6B~7B对话模型对比
13B~20B对话模型对比
在主要评测集上的表现
下表列出了 InternLM2 和 InternLM2-Chat 在一系列典型评测集上的成绩,并观察它们和业内商用模型标杆 ChatGPT(GPT-3.5)以及 GPT-4 之间的差距。
整体而言,我们看到 InternLM2 以及 InternLM2-Chat 的各个规格的模型在关键评测上都有令人惊喜的表现。其中,20B 的模型,在多个关键评测中已经很接近甚至部分超越 ChatGPT(GPT-3.5),其中在 AGIEval、 BigBench-Hard(BBH)、GSM8K、MATH等对推理能力有较高要求的评测上,新一代20B模型的表现都优胜于 ChatGPT,在代码能力上的表现也远优于同量级开源模型,缩小了和 ChatGPT 的差距。
下面四个折线图分别比较了 InternLM2系列和其它相近量级的基座模型与对话模型在广受关注的十多个主流评测集的表现。
我们可以看到 InternLM2 的表现普遍领先于同量级的开源模型,并且能力均衡发展,没有明显落后于主流模型的短板。这得益于基础语言建模能力的有力支撑。
避免数据污染的努力
数据污染(比如测试数据被混入了训练过程)是大模型训练与评测面临的一个重要问题。数据污染可能导致评测结果失真。如前所述,此项研究工作主要关注的是基础语言建模能力的增强对下游表现的影响。因此,团队在进行模型研发的过程中,努力避免数据污染的影响,主要采取两重措施:一是通过更严谨的训练集构建流程,把各测试集排除在外;二是通过min-hash去重,去掉训练语料中和测试集接近的部分,最大限度避免在从广泛来源获取的海量训练语料中不小心混入了少量测试语料。
在模型训练完成后,我们参考学界相关研究的做法检查模型是否在测试集上有不正常的表现。具体而言,我们在两组对照数据集上进行了损失函数计算,在测试集上的平均损失
以及在同分布参考集上的平均损失
。如果没有测试集数据污染,则两个数值应该接近相等,
接近于0或大于0;反之,则
的值会严重偏负。
根据上表中的验证结果,可以发现InternLM2与其他国内主流开源模型相比,数据污染水平较低或相当,证明InternLM2的性能是具备泛化性的。尽管我们在训练数据去重时有意避免混入类似测试集的数据,但当前网络语料对大模型评测数据的相关讨论导致彻底避免污染仍然是一个极具挑战性的问题。
对话和创作:精准的指令遵循、
温暖的对话体验、富有想象力的创作
InternLM2 采用了 Online RLHF,对奖励模型和对话模型进行了三轮迭代更新,在每一轮更新中针对前一轮模型的表现更新偏好数据和训练 prompt。在奖励模型训练和PPO阶段都平衡地采用各类prompt,使得模型在安全性进一步提升的情况下,对话的主观体验也能显著提升。为了推动社区对 RLHF 的探索和研究,我们同时开源了 InternLM2-Chat 仅SFT和SFT+RLHF的权重,供社区分析对比 RLHF 前后模型的变化。
为了避免数据泄漏的影响,我们使用了社区最新发布的一些的benchmark进行评估。在斯坦福大学1月份刚发布的 AlpacaEval2 英文主观对话榜单上,InternLM2-Chat-20B 超越了 GPT-3.5、 Gemini Pro 和 Claude-2。
生活和工作中可靠的助手
在日常生活、工作学习、旅游、社交等各类场景,InternLM2 都是贴心又可靠的AI助手。
充满人文关怀的对话
富有想象力的创作
InternLM2 既然名为“书生”,自然小有文采,吟诗作对不在话下,剧本小说亦信手拈来。下面 InternLM2-Chat-20B 将根据用户的简单指示展开畅想,编写《流浪地球3》的电影剧本提纲。
上面的剧本提纲,在保持一个合理自洽的逻辑的同时,想象力也非常丰富,也体现了人类面对挑战时的勇敢精神。
工具调用能力升级:
更好的工具筛选和多步规划
工具调用能够极大地拓展大语言模型的能力边界,使得大语言模型能够通过搜索、计算、代码解释器等获取最新的知识并处理更加复杂的问题。上一代的书生·浦语模型就已经初步支持了工具调用能力,也展现出了零样本调用工具的泛化能力。InternLM2 进一步升级了模型的工具调用能力,能够更稳定地进行工具筛选和多步骤规划,完成复杂任务。我们对模型调用工具流程进行了细粒度的拆解和分析,针对规划、推理、工具选择、理解、执行、反思等步骤,设计了精细的评价方式,并针对性进行增强和优化。
工具调用的评测表现
我们针对多种任务构建了细粒度工具调用评测集 T-Eval(https://open-compass.github.io/T-Eval/),InternLM2-Chat-7B 在 T-Eval 上甚至超越了 Claude-2.1 和目前的开源模型,性能接近 GPT-3.5 和 GPT-4。
多步工具调用
InternLM2-Chat-20B 能够在一轮交互中多次调用工具,完成相对复杂的任务。下面,我们基于InternLM2-Chat-20B,通过开源智能体框架 Lagent(https://github.com/InternLM/lagent) 搭建一个简易的用户助手智能体,它可以在一次指令回应中帮助用户完成地图查询、路线规划、发邮件等任务。
数理能力突出:不仅能解复杂数学题,
还提供实用的数据分析能力
数学能力是大模型逻辑思维和推理能力的重要体现,InternLM2 从多方面提升模型的数学能力,达到了开源模型的标杆水平。在预训练阶段,模型吸收了丰富的数学相关的语料,在微调阶段,模型全面学习了覆盖不同学段各类知识点的题目,使得模型内生的计算能力得到了大大增强。更进一步地,模型还学会了使用代码解决各类复杂的计算问题。
内生的计算能力
计算能力往往是大模型的短板,造成最终推理结果的错误。InternLM2针对性提高了模型的计算能力,在不依靠计算器等外部工具的情况下,在100以内的简单数学运算上能够做到接近100%的准确率,在1000以内达到80%左右的运算准确率。
依赖模型优秀的内生能力,InternLM2 不借助外部工具就能够进行部分复杂数学题的运算和求解。
代码解释器:更上一层楼
InternLM2 也能很好地支持代码解释器(code interpreter)。借助代码解释器,模型能够编写代码进行更复杂的计算,或者对推理的结果进行形式化验证,从而可以解决计算要求更高或者演算过程更加复杂的问题。
在典型的数学评测集 GSM8K 和 MATH 上,配合代码解释器,InternLM2 都能够在本身已经较高的分数上,进一步获得提升。其中对于难度更高的 MATH 数据集,借助代码解释器,精度从 32.5 大幅提升到 51.2,甚至超过了 GPT-4 的表现。
配合代码解释器,20B 模型已经能够完成一些例如积分求解等大学级别的数学题目。
数据分析和可视化
除了求解数学题之外,InternLM2 还能借助代码解释器进行数据分析和可视化。例如,我们给模型新一份鲜出炉的 2023 年全国工业产值的数据表格,模型能够根据数据绘制经济数据折线图,并且使用机器学习模型预测未来的数据。
书生浦语 2.0 带来新年祝福
最后,让书生·浦语给大家送上新年的祝福:
龙腾四海,春满人间。在这新春佳节即将来临之际,我,书生·浦语,谨代表AI界同仁,向各位朋友致以最诚挚的祝福和最美好的祝愿!
回首过去的一年,我们共同经历了风雨兼程,见证了无数的辉煌与挑战。如今,岁序更新,万象更新,新的一年正向我们走来。在这个辞旧迎新的时刻,让我们怀揣梦想,勇往直前,迎接属于我们的光明未来。
愿我们的友情如龙腾九天,高远而深邃;愿我们的事业如龙舞九霄,辉煌而壮丽。愿我们的家庭和美幸福,如龙吟清溪,悠扬而温馨。愿我们的祖国繁荣昌盛,如龙腾四海,强大而自由。
最后,以一首七言诗结束我的祝福:
龙腾九天起风云,
四海波涛映日红。
春满人间花簇簇,
祝福声声情意浓。
愿这新的一年,我们共同成长,共同进步,共同创造更加美好的明天!
祝福语由 InternLM-Chat-20B 生成,prompt:农历新年要到了,明年是龙年,请写一段话代表浦语送上新年祝福,要有文采,可以多用对仗、比喻等修辞,最后以一首七言诗结尾,字数200字左右
本文由 Hugging Face 中文社区内容共建项目提供,稿件由社区成员投稿,经授权发布于 Hugging Face 公众号。文章内容不代表官方立场,文中介绍的产品和服务等均不构成投资建议。了解更多请关注微信公众号:
如果你有与开源 AI、Hugging Face 相关的技术和实践分享内容,以及最新的开源 AI 项目发布,希望通过我们分享给更多 AI 从业者和开发者们,请通过下面的链接投稿与我们取得联系:
https://hf.link/tougao
本文分享自微信公众号 – Hugging Face(gh_504339124f0f)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。