赞
踩
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
2023是大模型爆发年!在ChatGPT引爆市场之后,不管是商用闭源的大模型,还是开源的大模型,数量均是爆炸性增长!
商用闭源大模型通常是由大型企业开发,通常会在模型能力、性能和稳定性等方面进行优化,主要用于其自身的业务和产品,但“不友好的地方”在于这些模型是不进行公开分享的。商用闭源大模型最具代表性的就是GPT4及其产品ChatGPT。
开源大模型则是公开可用的,任何人都可以在遵循许可证的前提下使用、修改和分享这些模型,甚至可以二创商用。开源大模型的开发者通常是一些大型企业、研究机构、开源社区甚至个人,核心期望是通过开源分享和交流来促进技术的发展和应用。
本文的重点就是面向开发者更加友好的开源大模型!开源大模型是人工智能领域中的重要资源,为推动各个下游领域的发展提供了强有力的支持,比如自动驾驶、机器人、医疗等等。
目前国内外最具代表性开源大模型有:Llama2、Claude、InternLM(书生·浦语)、ChatGLM、MOSS、通义千问、baichuan等等。开源大模型有许多优点,但也有一些挑战和限制。例如,训练和使用大模型需要大量的计算资源和基础设施,这些资源往往限制了中小型企业的发展,而且对于小的科研机构、高校实验室来说,上手门槛还是非常高的。
在此,Amusi 特别推荐一个开发门槛低、性能强劲的国产大模型:InternLM-20B。该20B量级模型训练和推理成本低,经过低比特量化后,可以运行在单块消费级GPU上!这个在实际应用中太方便了!
那么InternLM-20B大模型究竟有多强,性价比有多高,用起来有多香,我们一起往下看看!
InternLM-20B 大模型介绍
2023年6月7日,上海人工智能实验室与商汤科技联合香港中文大学和复旦大学共同推出InternLM千亿参数语言大模型,之后不断迭代优化,并在前不久9月20日正式发布并开源了增强版InternLM-20B大模型,主打的就是:低成本,高性能,免费可商用,而且开源工具链全线升级。
https://github.com/InternLM/InternLM
InternLM-20B大模型模型亮点
综合性能全面领先
支持16K语境长度
工具扩展功能丰富
综合性能全面领先:InternLM-20B是基于2.3T token预训练语料从头训练的中量级语言大模型,综合性能上全面领先相近量级开源模型(比如:Llama-33B、Llama2-13B以及国内主流的7B、13B开源模型)。值得注意的是:其综合评测成绩接近于Llama2-70B水平,而参数量还不到70B的三分之一。
支持16K语境长度:通过多阶段训练拓展,InternLM-20B最大支持16K语境长度,可以更有效地助力长文理解、长文生成和超长对话等应用。
工具扩展功能丰富:InternLM-20B支持数十类插件、上万个API功能,并在ToolBench大模型工具调用评测集上获得最佳结果,甚至超过了ChatGPT。
这里重点总结了InternLM-20B背后的部分技术,方便各位开发者学习!
1. 相较于InternLM-7B,InternLM-20B的训练语料经过了更高水平的多层次清洗,补充了高知识密度和用于强化理解及推理能力的训练数据。所以在理解能力、推理能力和编程能力等方面评测上,InternLM-20B都有显著性能提升。
2. 书生·浦语团队研究发现:更深的模型层数更有利于复杂推理能力的提升。因此研究人员把模型层数设定为60层(主流的7B与13B模型通常采用32层或者40层设计);同时内部维度保持在5120。通过架构设计上的新权衡,InternLM-20B在较高计算效率的条件下实现了复杂推理能力的显著提升。
3. InternLM-20B在训练过程中,模型的语境长度分阶段从2K拓展到8K。在推理侧,基于Dynamic NTK技术,可以把模型推理可支持的语境长度进一步扩展到16K。
4. InternLM-20B在价值对齐上更加安全可靠。在研发训练的过程中,研究团队通过基于SFT(监督微调)和RLHF(基于人类反馈的强化学习)两阶段价值对齐,以及专家红队的对抗训练,大幅提高其安全性。
在此温馨提示:
InternLM-20B已在阿里云魔搭社区(ModelScope)开源首发、免费商用,并专门开设了书生·浦语“模型品牌馆”专页,集成了书生系列所有模型及体验接口,面向开发者的友好度极高,旨在共同推动中国大模型生态建设!值得点赞和支持!
https://modelscope.cn/organization/Shanghai_AI_Laboratory
那InternLM-20B 性能究竟有多强呢?下面用客观数据说话。
InternLM-20B 大模型性能盘点
现在的大模型很多,而相关的大模型评测基准也相当多。Amusi在这里重点介绍几个代表性的评测基准,一起来看看InternLM-20B的性能表现如何。
OpenCompass 基准测评
OpenCompass 是一个开源、高效、全面的评测大模型体系及开放平台,支持大语言模型、多模态模型各类模型的一站式评测,通过零样本评测、小样本评测和思维链评测,全方位量化模型各个维度能力。
OpenCompass评测数据结果如下图所示:
OpenCompass评测结果显示:InternLM-20B在五大维度(语言、知识、理解、推理和学科)上全面领先于开源13B量级模型(Llama2-13B和Baichuan2-13B)。而且其平均成绩超越了参数量更大的Llama-33B、Llama-65B,甚至还优于参数量大了三倍的当前开源模型的标杆Llama2-70B。
OpenCompass上的InternLM-20B及相近量级开源模型测评结果
学科基准测评(MMLU、C-Eval和AGIEval)
MMLU:一个大规模多任务语言理解基准,旨在通过仅在零样本和少样本设置下评估模型来衡量预训练期间获得的知识,涵盖了57个科目,包括STEM(科学、技术、工程、数学)、人文科学、社会科学等领域。它的难度从初级水平到高级专业水平不等,测试的内容既涵盖世界知识,又涉及问题解决能力。
C-Eval:一个适用于大语言模型的多层次多学科中文评估套件,它包含了13948个多项选择题,涵盖了52个不同的学科和四个难度级别。
AGIEval:一个专门评估基础模型在「以人为本」(human-centric)的标准化考试中的基准,包括20种面向普通人类考生的官方、公开、高标准的资格考试,包括普通大学入学考试(如中国的高考和美国的SAT考试)、司法考试、数学竞赛等。
MMLU、C-Eval和AGIEval评测数据结果如下图所示:
MMLU评测结果显示:InternLM-20B拿到62.05分的好成绩,超越Llama-33B,而且很接近参数量大了三倍的Llama-65B的水平。
C-Eval评测结果显示:InternLM-20B拿到58.8分的好成绩,在中文多学科上性能超过了Llama2-70B。
AGIEval评测结果显示:InternLM-20B 拿到最高分44.58,一举全面超越了参数量更大的Llama2-70B等模型。
由上可知,InternLM-20B在【学科】(中文学科和英文学科)这一维度上的性能表现都极其出色!
理解基准测评(CMRC、CSL、RACE和XSum)
CMRC:一个用于中文机器阅读理解的数据集,这个数据集由数万个真实的问题组成,部分问题由人类专家在维基百科的段落中注释。
CSL:首个大规模中文科学文献数据集,包含约40万篇论文的标题、摘要、关键词和学术领域,具有广泛的领域分类和细粒度学科标签,可以评估模型在科学领域任务中的表现,即总结、关键词生成和文本分类。
RACE:一个机器阅读理解数据集,由来自中学和高中英语考试的27,933篇文章和97,867个问题组成,对象为12-18岁的中国学生。
XSum:一个大型英文生成式摘要数据集,涵盖了BBC近10年来多个领域的20多万篇文章。该任务的难点在于XSum训练集中给定文章的长度相对其他数据集较短,且对应的摘要都是专业的编辑所撰写。
CMRC、CSL、RACE和XSum评测数据结果如下图所示:
CMRC评测结果显示:InternLM-20B 拿到最高分68.78,大幅超越其他模型的评测结果,可见InternLM-20B在中文阅读理解任务上的优越性。
CSL评测结果显示:InternLM-20B 拿到最高分65.62,全面超越其他模型的评测结果,可见InternLM-20B在中文科学文献理解任务上的优越性。
RACE评测结果显示:InternLM-20B 在中学和高中的英语考试中都拿到最高分,分别是86.35和83.28,同样是全面超越其他模型的评测结果。
XSum评测结果显示:InternLM-20B 拿到最高分35.54,大幅超越其他模型的评测结果。要知道这个基准的评价指标涵盖极为全面,对AI全面的理解生成能力有更高的标准和要求。可见InternLM-20B大幅领先其他模型的含金量是相当高的。
由上可知,InternLM-20B在【理解】这一维度上表现极其突出,特别是中文理解,全面超越包括Llama2-70B在内的各个量级的开源模型。PS:Amusi直呼“遥遥领先”。
推理评测基准(WinoGrande、BBH、GSM-8K和PIQA)
WinoGrande:一个常识推理的评估基准,包含受 WSC 原始设计启发而产生的 44k 问题,已经过修改以提高问题规模和难度。
BBH(BigBench-Hard):一个综合推理的评估基准,包含23种较难的推理任务,比如日期理解、逻辑归纳、目标计数等。
GSM-8K:一个高质量的小学水平数学问题数据集,由 8.5K 高质量的小学数学问题组成,包含基本算术运算(加、减、乘、除),一般需要 2 到 8 步来解决。
PIQA:一个关于物理常识推理任务和相应的基准数据集。这个任务比较新颖,因为物理常识更注重于物体的物理属性,且PIQA 数据集偏向于非典型性物理常识,不能直接从已有的文本库中得到答案。
WinoGrande、BBH、GSM-8K和PIQA评测数据结果如下图所示:
WinoGrande评测结果显示:InternLM-20B 拿到69.38分的好成绩,在常识推理上优于开源13B量级模型的评测结果,达到Llama-65B相同水平。
BBH评测结果显示:InternLM-20B 拿到52.51分的好成绩,在综合推理上优于开源13B量级模型的评测结果。
GSM-8K评测结果显示:InternLM-20B 拿到52.62分的好成绩,在小学数学问题推理上优于开源13B量级模型的评测结果,而且较大幅超越Llama-33B。
PIQA评测结果显示:InternLM-20B 拿到80.25分的好成绩,在物理常识推理上优于开源13B量级模型的评测结果。
由上可知,InternLM-20B在【推理】这一维度上表现优秀,全面优于开源13B量级模型的评测结果,而且综合表现是优于Llama-33B,而接近Llama-65B更大模型的推理水平。
编程评测基准(HumanEval和MBPP)
HumanEval:一个有OpenAI创建的编程评测数据集,包含164个编程问题(Python语言),带有函数签名、英文注释、具体实现和多个单元测试。这些问题是手工编写的,以确保不包含在代码生成模型的训练集中。
MBPP:一个由约1,000个众包 Python 编程问题组成的编程评测数据集,旨在面向入门级程序员,涵盖编程基础知识、标准库功能等。每个问题都包含任务描述、代码解决方案和 3 个自动化测试用例。
HumanEval和MBPP评测数据结果如下图所示:
HumanEval评测结果显示:InternLM-20B 拿到25.61分的好成绩,非常接近参数量大了三倍以上的Llama2-70B的性能表现。
MBPP评测结果显示:InternLM-20B 拿到35.6分的好成绩,同样是非常接近Llama2-70的表现。
由上可知,InternLM-20B在【编程】这一维度上表现优秀,全面超越13B开源模型、Llama-33B和Llama-65B,而且很接近参数更大的Llama2-70B。
另外值得注意的是:InternLM-20B也已经上线了Hugging Face平台,而且在 Hugging Face 最新公布的 Open LLM Leaderboard 开放大语言模型排行榜上,InternLM-20B 拿到64.27平均分,领先于参数量 60B 以下的大模型,而且也超过了Llama-65B。
https://huggingface.co/internlm/internlm-20b
Open LLM Leaderboard评测数据结果如下图所示:
因为篇幅有限,上述结果分析只是展示了InternLM-20B评测中的一部分。下面我正式实测InternLM-20B,来看看实际上手表现如何。
InternLM-20B 大模型实测
我是在RTX 4090(24GB)上实测InternLM-20B,推理响应速度真的超快!
A. 编程实测
问题:用Python写OpenCV读取和显示图像代码
这段示例代码对编程小白极其友好,不仅有代码的中文注释,还对重点参数进行详细介绍。
问题:用Python写冒泡排序算法
这段冒泡排序的示例代码写法很经典,而且也有丰富的中文注释。
问题:PyTorch模型保存函数是哪个?
这段示例代码就更贴心了,不仅回答了torch.save()函数,而且提供了一个完整的流程(模型结构定义、模型训练和保存等),同样有详细的中文注释,简直是手把手教学。
具体代码如下:
- import torch
- import torch.nn as nn
-
-
- # 定义一个简单的神经网络模型
- class MyModel(nn.Module):
- def __init__(self):
- super(MyModel, self).__init__()
- self.fc1 = nn.Linear(10, 5)
- self.fc2 = nn.Linear(5, 1)
-
-
- def forward(self, x):
- x = self.fc1(x)
- x = torch.relu(x)
- x = self.fc2(x)
- return x
-
-
- # 实例化模型
- model = MyModel()
-
-
- # 定义一些训练数据
- x_train = torch.randn(100, 10)
- y_train = torch.randn(100, 1)
-
-
- # 定义损失函数和优化器
- criterion = nn.MSELoss()
- optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
-
-
- # 训练模型
- for epoch in range(10):
- # 前向传播
- y_pred = model(x_train)
- # 计算损失
- loss = criterion(y_pred, y_train)
- # 反向传播
- optimizer.zero_grad()
- loss.backward()
- optimizer.step()
-
-
- # 保存模型
- torch.save(model.state_dict(), 'my_model.pth')
B. 逻辑推理实测
问题:小红有8颗葡萄,小绿吃了小红的一颗葡萄,请问小红还有几颗葡萄?
下面让InternLM-20B给我出一道小学生逻辑推理题,顺便简单测试一下它的连续对话能力。
C. 知识问答实测
问题:为什么太阳总是从东边升起?
问题:ResNet为什么有效?
上面的常识题,InternLM-20B回答的很轻松。这里难度升级,问一个深度学习经典模型的问题。下图可知,同样回答的也很准确,而且反复强调了ResNet模型的核心概念:残差连接。
D. 翻译实测
问题:帮我翻译《Planning-oriented Autonomous Driving》英文论文摘要。
PS:这篇论文是由上海人工智能实验室、武汉大学、商汤科技团队联合发表,荣获CVPR 2023最佳论文奖(Best Paper Award)!这是CVPR历史上第一篇以自动驾驶为主题的最佳论文!这也是近十年来计算机视觉三大顶级会议中(CVPR、ICCV、ECCV)第一篇以中国学术机构作为第一单位的最佳论文!可谓意义非凡!
E. 语言能力实测
问题:我身体不舒服,需要向领导请明天的病假,帮我写一封请假邮件
总结
当前InternLM-20B具有相当优秀的性能!开源、训练&部署低成本、免费可商用,不仅利好各种中小公司、机构和实验室,更是利好独立开发者。在此再次点赞InternLM-20B的开源和技术贡献,也欢迎大家使用和二创扩展。
https://github.com/InternLM/InternLM
One more thing!这次除了InternLM-20B之外,书生·浦语面向大模型研发与应用的全链条工具链也全线升级,覆盖预训练语料、预训练框架、微调、推理和评测平台等,并向全社会提供免费商用!大家赶紧用起来!
最后希望国产大模型发展越来越好!互相成就,一起进步!给每个人带来便利!
整理不易,请点赞和在看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。