【大模型】书生·浦语大模型实战营 第一节

本文详细介绍了书生·浦语大模型的全链路开源体系,涵盖了模型从数据预训练、微调到应用的全过程,以及InternStudio的云原生开发平台、微调工具Xtuner和模型部署框架LMDeploy。此外,OpenCompass评测体系被提出,强调了大模型的全面评测和智能体构建的重要性。
摘要由CSDN通过智能技术生成

书生·浦语大模型全链路开源体系

请添加图片描述
请添加图片描述
标题和摘要中包含Language Model和Large Language Model关键词的论文,有一个指数级的增长。尤其是在ChatGPT发布以后,迅速成为了最热门的研究方向。
OpenAI从2018年的GPT1到2020年的GPT3把这条技术路线坚持了下来。ChatGPT发布以后,两个月月活破亿,成为了当时最快破亿的应用,打破了TikTok的记录。原因之一是大模型成为发展通用人工智能的一个重要途径。

请添加图片描述

2006 深度学习理论突破 —>2011 大规模语音识别 —>2012 ImageNet竞赛 —>2014 人脸识别超过人类 —>2016 AlphaGo围棋比赛击败人类 —>2019 德州扑克 —>2021 AlphaFold 蛋白质结构预测准确率新高
人工智能的发展路径是从专用模型到通用模型这样的一个过程。针对特定任务,一个模型解决一个问题到一个模型应对多种任务、多种模态。(所以通用模型也是要针对每个局部模型的功能进行定向开发的,相当于只用一个模型框架,但是每个具体的任务也要具体的、对应的去构建。)
ChatGPT:只要是以文本作为输入和输出,能够完成如情绪识别、命名实体识别、QA等任务都可以解决。
GPT4:将模态从单纯的语言模态拓展到了视觉模态,模型的通用性也大大提升。

【书生·浦语】大模型介绍

请添加图片描述
在这里插入图片描述
在这里插入图片描述
能力类型与测试集:

  1. 综合考试:MMLU、C-Eval(val)、AGI-Eval;
  2. 知识问答:BoolQ、TriviaQA、NaturalQuestions;
  3. 阅读理解:CMRC、CSL、RACE(middle)、RACE(high)、XSum;
  4. 推理:WinoGrande、BBH、GSM8K、PIQA;
  5. 编程:HumanEval、MBPP。

以不到三分之一的参数量,达到了Llama2-70B的水平。

从模型到应用

请添加图片描述

请添加图片描述

  1. 模型选型(评测):针对应用场景筛选在所需维度上能力较强的模型,本质是模型评测;
  2. 业务场景是否足够复杂:
    1. 简单:直接使用模型,使用Prompt Engineering接入场景;
    2. 复杂:对模型进行微调。
  3. 算力充沛与否:
    1. 足够:模型的续训、全参数微调;
    2. 受限:部分参数微调(如LoRA等)将大部分参数固定住,只调一小部分参数。
  4. 是否需要和环境交互:
    1. 需要:如调用外部API、和已有的数据库进行交互等,构建智能体;
    2. 不需要:直接在业务场景中进行试用。
  5. 模型上线前的评测:
    1. 不通过:重新微调或者在研发环境中进行迭代;
    2. 通过:模型部署。
  6. 模型部署:如何用较少的资源部署模型、如何提升整个应用的吞吐量。

【书生·浦语】全链条开源开放体系

请添加图片描述

数据

书生·万卷
2TB开源数据,涵盖多种模态与任务

请添加图片描述

  1. 多模态融合:包含多模态数据

    1. 文本数据:50亿个文档,数据量超1TB;
    2. 图像-文本数据:超2200万个文件,数据量超140GB;
    3. 视频数据:超1000个文件,数据量超900GB。

    包含多模态数据,涵盖科技、文学、媒体、教育和法律等多个领域。
    该数据集对模型的知识内容、逻辑推理和泛化能力的提升有显著效果。

  2. 精细化处理:
    运用在大模型研发过程中积累下来的数据预处理(数据清洗)技术对数据集进行了精细化处理,处理后的数据开源了出来。
    精细数据处理:语言筛选、文本提取、格式标准化、数据过滤和清洗(基于规则和模型)、多尺度去重、数据质量评估等。

  3. 价值观对齐:
    将数据内容与主流中国价值观进行对齐,并通过算法和人工评估的结合提高语料库的纯净度。

请添加图片描述
开放数据平台 OpenDataLab
并提供了智能标注的一些工具

预训练

InternLM-Train
并行训练,极致优化
速度达到3600 tokens/sec/gpu

请添加图片描述
一个比较全面的预训练算法框架,拥有如下特点:

  1. 高可扩展:支持八卡到千卡训练,千卡加速效率达92%;
  2. 极致性能优化:Hybrid Zero技术 + 极致优化 —> 能够对整体的模型训练加速50%;
  3. 兼容主流:能够无缝接入HuggingFace等技术生态,支持各类轻量化技术;
  4. 开箱即用:支持多种规格的语言模型,只要修改配置即可进行训练。

微调

XTuner
支持全参数微调,支持LoRA等低成本微调

请添加图片描述
在大语言模型的下游应用中,增量续训和有监督微调是经常会用到的两种方式。
增量续训(训练的形式和格式基本上和预训练是一致的)
使用场景:让基座模型学习到一些新知识,如某个垂类领域知识。
训练数据:文章、书籍、代码等。
有监督微调
使用场景:让模型学会理解和遵循各种指令,或者注入少量领域知识。
训练数据:高质量的对话、问答数据。(数据量会小一些)
右下角图例为部分参数微调LoRA的示意图。把预训练权重固定住,引入一些新的比较小的可训练参数,来进行部分参数微调,这样可以大大节省整个训练的代价。

请添加图片描述
高效微调框架XTuner

  1. 适配多种生态:
    1. 多种微调算法:兼容多种微调策略与算法(如LoRA、QLoRA等),覆盖各类SFT场景;
    2. 适配多种开源生态:支持直接加载HuggingFace、ModelScope模型或数据集;
    3. 自动优化加速:开发者无需关注复杂的显存优化与计算加速等细节,XTuner可以自己管理和实现。
  2. 适配多种硬件:
    1. 训练方案覆盖NVIDIA 20系以上所有显卡:
      1. 消费级显卡:2080、2080ti;30603090ti;40604090;
      2. 数据中心:Tesla T4、V100、A10、A100、H100。
    2. 最低只需8GB显存即可微调7B模型。
  3. 具体细节:
    1. 可微调的任务类型: 增量预训练、指令微调、工具类指令微调;
    2. 兼容常用数据集的数据格式: Alpaca、MOSS、OpenAI、Guanacao…
    3. 兼容的训练引擎:HuggingFace、MMEngine;
    4. 优化加速:Flash Attention、DeepSpeed ZeRO、Pytorch FSDP;
    5. 支持算法:QLoRA微调、LoRA微调、全量参数微调。
  4. 可支持的模型:InternLM、Llama、QWen、BaiChuan、ChatGLM、Mixtral MoE等。

请添加图片描述
XTuner是第一个能够在8GB显存上对7B模型进行微调的框架。不同的微调算法(优化算法)有不同的显存消耗。再加上一些其他的优化,可以做到在2080/4060这样的显卡上调试7B的模型。

评测

OpenCompass
全方位评测,性能可复现
80套测评集,40万道题目
还提供了一些公开的Leaderboard
请添加图片描述
目前的评测体系,主要是针对客观评测,有一些包含了客观主观,从整体评测的全面性来讲的话,不太能够满足现在大模型的一些发展,因此提出了OpenCompass大模型开源评测体系。

请添加图片描述
大模型能力的六大维度:

  1. 学科:初中考试、中国高考、大学考试、语言能力考试、职业资格考试;
  2. 语言:字词释义、成语习语、语义相似、指代消解、翻译;
  3. 知识:知识问答、多语种知识问答;
  4. 理解:阅读理解、内容分析、内容总结;
  5. 推理:因果推理、常识推理、代码推理、数学推理;
  6. 安全:偏见、有害性、公平性、隐私性、真实性、合法性。

所有的评测集依照着这六大维度进行分类和构建,以此来形成比较全面的评测体系,避免只关注大模型的某个方面,或者只关注某个能力维度。

请添加图片描述
平台架构:

  • 工具层(可供大家使用的一些评测的核心工具):分布式评测、提示词工程、评测数据库上报、评测榜单发布、评测报告生成;
  • 方法层(评测方法):自动化客观评测、基于模型辅助的主观评测、给予人类反馈的主观评测;
  • 能力层:
    • 通用能力:学科、语言、知识、理解、推理、安全;
    • 特色能力:长文本、代码、工具、知识增强(比较专门的一些能力维度,会随着大模型领域的发展不断更新);
  • 模型层(整个Leaderboard上包括了超过100个模型):
    • 通用能力:基座模型;
    • 特色能力:对话模型。

请添加图片描述
OpenCompass的亮点:

  1. 丰富的模型支持:对开源模型、商用API等,模型可以一站式评测;
  2. 分布式高效评测:支持千亿参数模型在海量数据集上分布式评测;
  3. 便捷的数据集接口:支持社区用户根据自身需求快速添加自定义数据集;
  4. 敏捷的能力迭代:每周更新大模型能力榜单,每月提升评测工具能力。

Meta也将OpenCompass作为官方推荐的评测工具之一,是目前唯一一个由由国内开发者主要开发的评测工具。

请添加图片描述
OpenCompass支持的模型:主流的、常见的模型基本上都已经覆盖到了。

部署

LMDeploy
全链路部署,性能领先
每秒生成 2000+ tokens

请添加图片描述
大语言模型的特点

  1. 内存开销巨大:
    1. 庞大的参数量;
    2. 采用自回归生成token,需要缓存k/v;
  2. 动态Shape:
    1. 请求数不固定;
    2. token逐个生成,且数量不稳定;
  3. 模型结构相对简单:
    1. transformer结构,大部分是decoder-only。

技术挑战

  1. 设备:
    1. 低存储设备(消费级显卡、移动端等)如何部署?
  2. 推理:
    1. 如何加速token的生成速度;
    2. 如何解决动态shape,让推理可以不间断;
    3. 如何有效管理和利用内存;
  3. 服务:
    1. 提升系统整体吞吐量;
    2. 降低请求的平均响应时间。

部署方案
技术点:

  1. 模型并行;
  2. 低比特量化;
  3. Attention优化;
  4. 计算和访存优化;
  5. Continuous Batching。

请添加图片描述
LMDeploy提供大模型在GPU上部署的全流程解决方案,包括模型轻量化、推理和服务。
接口:Python、gRPC、RESTful

核心功能模块
轻量化:4bit权重量化、8bit k/v量化
推理引擎:turbomind(基于fast transformer魔改的推理引擎)、pytorch
服务模块:openai-server、gradio、triton inference server

高效推理引擎

  1. 持续批处理技巧;
  2. 深度优化的低比特计算kernel;
  3. 支持模型并行;
  4. 高效的k/v缓存管理机制。

完备易用的工具链

  1. 量化、推理、服务全流程;
  2. 无缝对接OpenCompass评测推理精度;
  3. 和OpenAI接口高度兼容的API server(可以把已有的代码和工具更容易的实现迁移)。

请添加图片描述

智能体

Lagent(轻量级的智能体搭建框架)
AgentLego(提供了供大模型调用的丰富工具箱和标准化的工具接口)
支持多种智能体,支持代码解释器等多种工具

请添加图片描述
大语言模型的局限性

  1. 最新信息和知识的获取;
  2. 回复的可靠性;
  3. 数学计算;
  4. 外部工具的使用和交互。
    基于这样的需求,我们需要让大语言模型能够驱动智能体或者一些更复杂的外部应用。
    搭建一个包括不同模块的智能体框架。智能体通常是以大语言模型为核心,来进行规划、推理和执行。

请添加图片描述

轻量级智能体框架 Lagent

  1. 支持多种类型的智能体能力:
    1. ReAct:输入—>选择工具—>执行工具—>结束条件—>结束;
    2. ReWoo:输入—>计划拆分—>DAG—>计划执行—>结束;
    3. AutoGPT:输入—>选择工具—>人工干预—>执行工具—>结束条件—>结束;
  2. 灵活支持多种大语言模型:GPT-3.5/4、InternLM、HuggingFace Transformers、Llama;
  3. 简单易扩展,支持丰富的工具:
    1. AI工具:文生图、文生语音、图片描述;
    2. 能力拓展:搜索、计算器、代码解释器;
    3. Rapid API(API集合的一个网站,提供了上万种API):出行API、财经API、体育资讯API。

请添加图片描述

左图,调用Python代码解释器去求解一个数学题。
右图,零样本泛化,使用多模态的AI工具完成指令。

请添加图片描述
多模态智能体工具箱 AgentLego
(定位不同于Lagent,聚焦在大模型可调用的工具集合)

  1. 丰富的工具集合,尤其是提供了大量视觉、多模态相关领域的前沿算法功能;
  2. 支持多个主流智能体系统,如LangChain,Transformers Agent,Lagent等;
  3. 灵活的多模态工具调用接口,可以轻松支持各类输入输出格式的工具函数;
  4. 一键式远程工具部署,轻松使用和调试大模型智能体。

请添加图片描述
(二维码是开源工具InternLM地址:https://github.com/InternLM/InternLM

InternStudio

🧙 大模型时代最高效的大型炼丹炉

🎯 愿景

为大型模型开发者提供强大的 GPU 算力资源和高效的开发工具,最大程度的简化他们的工作流程。

⛳️ 产品简介

InternStudio 是大模型时代下的云端算力平台。基于 InternLM 组织下的诸多算法库支持,为开发者提供开箱即用的大语言模型微调环境、工具、数据集,并完美兼容 🤗 HugginFace 开源生态。

📢 产品介绍

1. 概述

InternStudio 旨在为开发者提供一个先进、高效、易于使用的云端机器学习平台。基于强大的 InternLM 算法库,InternStudio 不仅与 🤗 HuggingFace 开源生态完美兼容,还提供了多种便捷工具和资源,以助力开发者在大语言模型领域的探索和创新。

2. 主要功能

  • 云端开发机:InternStudio 提供了容器化的开发环境,支持多种深度学习 Docker 镜像。开发者可以轻松进行大语言模型的微调、增量训练和部署。平台还支持单机单卡、多卡多种规格的云端开发机,以适应不同的开发需求。
  • 在线 IDE:平台支持在浏览器内直接使用云端开发机。开发者可以选择使用 vscode 网页版或 JupyterLab 这两种 WebIDE,同时,Tensorboard 日志可视化工具也为用户提供了极大的便利。
  • 在线云盘:InternStudio 的在线云盘功能支持文件的批量上传和下载,提供了可视化界面,大大简化了文件管理的过程。
  • 丰富的数据集资源:平台收集了大量常用的大语言模型微调数据集,并采用 Huggingface model repo 格式存储,支持诸如 transformers、xtuner 等流行算法库的快速读取。
  • 个人中心:平台为用户提供了包含用户名、头像、邮箱、手机号等基本信息的个人中心,方便用户管理其在平台上的个人资料。
  • 算力点系统:InternStudio 创新地引入了算力点系统,通过算力点来控制用户开发机的运行时长。这一系统尤其适用于面向活动运营,如课程、比赛等,可为用户定向赠送算力点,以便完成课程作业或参与比赛。
  • SSH 连接:平台还支持用户通过 VSCode、PyCharm 等 IDE 本地连接开发机,进一步提高了开发效率和便利性。

3. 产品策略

目前,InternStudio 采用邀请制,将 GPU 资源免费对特邀 InternLM 社区开发者开放。这一策略不仅能保证资源的高效利用,也能构建一个积极、专业的开发者社区。

JumpStart

1. 专业名词解释

云原生名词:

云原生 (Clould - Native)
云原生应用程序通常借助容器、微服务架构、自动化、持续集成/持续交付(CI/CD)等现代技术和实践来提供更高的敏捷性、可靠性和可扩展性。

(Docker) 容器
在 InternStudio 中您使用的开发机就是一个 Docker 容器。容器中通常包含运行一个应用程序的依赖,并且实现了计算资源的隔离。

(Docker) 镜像
Docker 镜像是容器的构建模块,可以理解为容器的运行环境。它是一个轻量级的、可执行的软件包,包括了软件所需的依赖项和配置文件。因此,docker 镜像非常适合应用为模型训练的开发环境,帮助用户进行敏捷的环境切换。

微调名词:

SFT (Supervised-Finetuning)
SFT 是有监督微调的缩写,通常用于针对特定任务或应用程序微调预训练(基座)的深度学习模型,如 BERT、GPT、或其他自然语言处理(NLP)或计算机视觉模型,从而通过更少量的数据,训练更少的参数以达到快速适配下游任务的效果。

PEFT (Parameter-Efficient Finetuning)
是伴随大模型兴起的一种参数友好型微调方法。与传统的全量微调模型参数、微调模型部分参数不同,PEFT 类型的微调方法具有参与训练参数数量少、对硬件资源依赖小且效果与传统微调方法相当的特点。Xtuner 库支持了目前使用的最主流 PEFT 方法:LORA、QLORA

LORA (Low Rank Adaption of LLM)
目前最主流的大模型微调方法之一,特点是将模型中的权重矩阵低秩分解,分解成2个参数量极小的矩阵来加入微调任务,而不微调模型本身。优势是:1. 训练所需显存极小 2. 部署灵活。

Adapter
伴随 PEFT 方法出现的名词。通常情况下,使用 PEFT 方法如 LORA,会训练出一个模型 Adapter,它区分于预训练模型本身,在部署时会作为模型的适配器共同部署,从而改变模型的推理结果。换句话说,PEFT 方法不会训练预训练模型本身,而是训练出一个 Adapter,从而使大模型的部署更加灵活。

2. SSH 连接开发机

3. 使用 Xtuner 跑起第一个微调实验

4. 在开发机内部署服务 (Gradio etc.)

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值