InternLM春节训练营笔记- L1书生·浦语大模型全链路开源体系
L1书生·浦语大模型全链路开源体系
目录
- 为什么要研究大模型
- 书生浦语大模型的开源历程
- 书生浦语大模型系列的量级区别
- 书生浦语大模型的开源性能
- 从模型到应用的落地路径
- 书生浦语全链条6大工具简介
- 为什么要研究大模型
大模型已经成为通用人工智能的重要途径。现在的趋势是需要用一个通用的大模型来应对多种任务,多种模态。例如:GPT4 已经从语言的模态拓展到了视觉的模态,模型的通用性得到了很大的提升, 更为智能。这也是大模型为什么得到大家关注的原因。
2. 书生浦语大模型的开源历程
-2023年6月7日 InternLM 千亿参数语言大模型发布
-2023年7月6日 InternLM 千亿参数大模型全面升级
(支持8K的语境,26种语言,全面开源,免费商用)
InternLM-7B 模型、全链条开源工具体系
-2023年8月14日 书生万卷1.0 多模态预训练语料库开源发布
-2023年8月21日 升级版对话, 模型InternLM-Chat-7B v1.1 发布
开源智能体框架Lagent
支持从语言模型到智能体升级转换
-2023年9月20日 增强版InternLM-20B开源
开源工具链全线升级
3. 书生浦语大模型系列的量级区别
分为:轻量级的InternLM-7B, 中量级的InternLM-20B以及重量级的InternLM-123B
分别具有的特点和适应的场景也不一样,如果对于刚入门的同学自己学习适用的,建议用InternLM-7B入手
4. 书生浦语大模型的开源性能
- 以InternLM-20B为例和目前主流大模型在不同测试集的表现的对比
- 总体来说,InternLM-20B的表现处于上游梯队
5. 从模型到应用
模型需要落地到一些现实应用,例如:智能客服,个人助手,行业应用,是需要借助一些框架来完成的
从模型到应用的步骤:
步骤1: 需不需要微调模型
如果我们的业务场景是非常的简单, 那我们就直接拿模型来用就行了
如果业务场景复杂(模型除现有能力外,是否需要有其他能力),就需要对模型进行微调,让微调后的模型有我们需要的能力
步骤2: 如果需要微调,就要有算力
模型的续训或者全参数的微调都是需要一定的算力资源(通常是高级计算资源,GPU)
当然也有一些训练方法,比如LoRA, 他会固定一些参数,它可能只对模型的部分参数进行调整,因此整个的训练所产生的计算量并没有那么大,所以对于算力资源的要求也会相对降低
步骤3:判断是不是要和环境交互
这个可以简单理解为:你现在有一个有你想要的能力的模型了,但是是否还需要有一些基于业务的其他要求(是不是还需要一些外在的东西,介入最终模型返回给你的结果)
举例: 是不是需要接数据库,是不是需要调用API服务
结论:如果需要和环境交互,那么此时就需要智能体
步骤4:模型评测
主要是上线前看看,这个模型是不是达到了自己的预期,或者能力是不是足够
一般会用测试数据集来跑结果(简单理解为:让模型批量回答问题,这些问题和我们已经知道的正确答案,是否匹配,通过准确率看这个模型是不是符合我们的预期)
步骤5:模型部署
主要会关注两个问题:1. 怎么用最少的资源让它跑起来 2. 怎么去尽量扩大他的吞吐量
Tips: 每一步可能都需要专业知识,专业工具的辅助,提高最后的应用的效果
针对上述的步骤,书生浦语全链条的开源体系针对上面这些步骤,给到了一些加速这些步骤完成/验证的工具
6. 书生浦语全链条6大工具简介
(1) 数据集- 万卷1.0
模型的性能很大程度依赖数据集的质量
万卷数据集主要特点是:
数量大
数据的形式丰富(文字/图片/视频)
数据集质量高(都有经过处理,可以适应训练要求)
价值观对齐
背景知识:价值观对齐:(简单可以理解为)确保人工智能追求与人类价值观相匹配的目标,确保AI以对人类和社会有益的方式行事,不对人类的价值和权利造成干扰和伤害。
OpemdataLab数据开放平台
有5400个数据集,并且提供了智能标注工具
(2) 预训练工具
- InternLM-Train
主要特点: 高可扩展,极致性能优化,兼容主流 以及开箱即用
(3)微调
- 微调的主要方法:包括增量续训 和 有监督微调
增量续训:让基座模型学习到一些新知识,数据格式基本和预训练是一致的
有监督微调: 学会理解和遵循各种指令
(数据量相比增量续训或者预训练的模型的数据量都会少很多)
(4)国内外评测体系的整体态势
(5)部署
主要从大模型语言特点和技术挑战出发,分析出目前的部署方案上需要攻克的难点
针对这些难点,书生浦语系列也提供了LMDeploy, 开源部署工具
(6)智能体
a. 智能体简介
大语言模型存在一定的局限性,具体有包括:最新信息和知识的获取,回复的可靠性,数学计算以及工具会有一定的局限,智能体的主要结构为以下,除了LLM部分,还会有Action Executor 以及 Planing&Action
b. 轻量级智能体框架-Lagent
书生浦语系列开源了Lagent -轻量级的智能体框架,支持多种类型的智能体能力
同时页灵活支持多种大语言模型以及支持丰富的工具
C. 多模态智能体工具箱-AgentLego
和框架不同,主要是给大模型提供的工具集合,是一个collection的概念。 工具箱有依托于之前OpenMMLab的一些工作的积累,提供了很多视觉工具