欢迎光临
我们一直在努力

DataWhale大模型开源教程深度解析:从入门到精通,掌握NLP核心技术

1.引言

本文以[DataWhale大模型开源教程]为学习路线,进行一整个大模型的入门操作

什么是语言模型

语言模型是一种对词元序列(token)的概率分布,可以用于评估文本序列的合理性并生成新的文本。

从生成文本的方式来看,LM(language modle)可以简单的分为:

自回归模型非自回归模型
特点 逐字生成文本,每个词的生成都依赖于上文,关联性好 一次性生成整个文本序列,不捕捉上文信息
优点 内容质量高 生成速度快
缺点 生成速度慢 质量不稳定
常见模型 RNN (LSTM, GRU)、Transformer (GPT seriels) Transformer with parallel decoding、Autoregressive-to-Non-autoregressive Translation (ANT)
应用场景 文本生成、对话系统(求质) 机器翻译、文本摘要(求速)

语言模型的发展历史

  • 1948,[香农的信息理论]

    • 引入了熵(entropy)的概念,𝐻(𝑝)=Σ𝑥𝑝(𝑥)log⁡(1𝑝(𝑥))
    • 衡量我们平均需要多少信息(用比特数来表示)来描述这个事件
    • 事件越确定(e.g.抛硬币),熵越小;越不确定(e.g.鉴赏美),熵越大
    • 在语言模型中,熵也可以用来衡量一个模型对语言的掌握程度
    • 熵越低:对语言的理解越深刻
    • 熵越高: 模型对语言的理解越模糊,生成的文本可能出现语法错误或语义不通
  • N-gram模型

    • N 代表一个数字,基于马尔可夫假设(即一个词的出现只与前面的N-1个词有关),gram 指的是一组连续的单词
    • N-gram 就是由N个单词(N-1+1)组成的连续片段
    • 如果n太小,那么模型将无法捕获长距离的依赖关系。如果n太大,统计上将无法得到概率的好估计(即使在“大”语料库中,几乎所有合理的长序列都出现0次)
  • 神经语言模型(RNN–包括LSTMs、Transformers)

    • 将单词映射到连续的向量空间中,然后通过神经网络来学习这些向量之间的关系
    • 神经网络模型是一个黑盒,很难解释模型的决策过程
  • N-gram模型神经语言模型
    学习方式 背诵课文,只能记住有限的几个词的组合 理解语言,能够根据上下文理解整个句子的含义
    复杂度 基于统计的简单模型 基于神经网络的复杂模型
    优点 直观易实现 能更好地捕捉长期依赖关系,上下文长度不受n的限制,泛化能力强(举一反三)
    缺点 上下文信息长度有限 训练复杂,可解释性差
    联系 基础 改进

    2.LLM的能力

    以下探讨均以GPT3为对象

    GPT3作为一个极具代表性的大型语言模型,在NLP领域(语言建模、问答、翻译、算术、新闻文章生成等)表现出了超越了现有技术的最高水平,而在其他未特殊训练领域,只展示出了平均水平。

    2.1 Adaptation:语言模型到任务模型的转化

    在这里,语言模型是对词元序列的概率分布,能评估序列,在一定提示下还能生成序列;而任务被定义为从输入映射到输出(如问答任务)。

    主要有两种方式来进行这种Adaptation:

    训练(有监督学习)提示(上下文学习)
    具体方式 训练一个新模型 对任务的描述建一个或一组提示(上下文信息)直接输入模型
    分类 探针/finetune微调/轻量级微调 zero零/one单/few shot少样本学习
    学习思路 题海战术,学习输入与输出之间的映射关系 侧重文本理解,弄懂上下文信息以推理
    数据需求 大量标注数据 相对较少
    可解释性 较强,简单模型可直接规则提取 较弱,但利用注意力机制、添加扰动和可视化工具,可将“黑盒”进行一定程度的解释

    增加模型大小和训练样本的数量可以提升 GPT-3 的性能,同时也不能忽视提示学习的重要性

    3.模型架构

    语言模型可以看作一个黑箱(black box)

    从形象化的概念理解上来说当前大语言模型(大:模型规模/参数量级大),可以根据输入需求的语言描述(prompt)生成符合需求的结果(completion)

    分词和模型架构是构建大语言模型的两个重要方面

    • 分词为模型提供了高质量的输入
    • 模型架构则决定了模型的学习能力和表达能力

    在构建大语言模型时,需要综合考虑分词方式和模型架构,以达到最佳的性能

    3.1 token分词

    词元(token)一般在NLP中,是指一个文本序列中的最小单元

    分词是指将字符串文本转换为词元序列,常见的分词方法有三:

    • 基于空格的分词

      • 适用于英文,但对于单词之间没有空格的中文,或者存在很长复合词的德语,仅通过空格来判断单词会带来许多问题
    • Byte Pair Encoding (BPE) 分词

      • 字节对编码算法
      • 通过学习训练数据中的频率特征来生成词元序列的方法
      • 步骤包括
        • 初始化词汇表
        • 查找共同出现次数最多的元素对
        • 替换所有出现并添加新符号到词汇表中
    • Unigram 模型

      • 基于目标函数的分词模型
      • 其目标函数旨在捕捉好的分词的特征,并通过迭代优化和剪枝,优化词汇表,剔除对似然值贡献较小的词汇,以减少数据的稀疏性
      • 最终得到一个较为准确和合理的词汇表

    3.2 模型架构

    上下文向量表征 (Contextual Embedding):

    • 作为模型处理的先决条件,其关键是将词元序列表示为响应的上下文(周围的单词)的向量表征

    三种语言模型类型(详细介绍见#6):

    • 解码端(Decoder-Only)

      • GPT系列,常见的自回归语言模型
      • 生成上下文向量表征,但不能直接用于生成文本
      • 缺点在于只能单调的依赖左侧上下文
    • 编码端(Encoder-Only)

      • BERT、RoBERTa
      • 通常用于分类任务(也被称为自然语言理解任务)
      • 给定提示,生成上下文向量表征,并对下一个词元生成一个概率分布
    • 编码-解码端(Encoder-Decoder)

      • Transformer模型,以及BART、T5等模型
      • 结合二者优点:可以使用双向上下文向量表征来处理输入,并生成输出
      • 缺点就说需要更多的特定训练目标

    3.3 Transformer架构机器延伸

    深度学习的美妙之处在于能够创建构建模块,就像我们用函数构建整个程序一样

    Transformer 作为深度学习的一种创新模式,是真正推动大型语言模型发展的序列模型。其关键是在传统的序列模型(如RNN)的基础上引入了自注意力机制(Self-Attention),这种机制将查询与序列中的每个元素进行匹配,并形成一个关于词元位置的概率分布,使得模型能够更好地捕捉序列数据中的长距离依赖关系

    Transformer架构关键概念包括:

    • 注意力机制

      • 使得所有的词元都可以“相互通信”
    • 残差连接(ResNet)

      • 残差(跳跃)连接
      • x1:L+f(x1:L)
      • 如果f的梯度消失,梯度仍然可以通过x1:L进行计算
    • 归一化

      • 接收一个向量并确保其元素不会太大
      • ResNet和归一化的应用有效解决梯度消失的问题,提高模型的训练稳定性
    • 位置嵌入

      • 根据定义,词元的嵌入不依赖于其在序列中的位置,否则句子位置的角度忽略了上下文的信息,产生不合理的信息
      • 因此,将位置信息添加到嵌入中

    4.新的模型架构

    上一小节中,提到神经语言模型的核心接口是一个将token序列映射到上下文嵌入的编码器,这种稠密的Transformer模型架构是目前开发大语言模型的主要范式。

    但是,随着数据的扩张,扩展这种模型并非易事,需要数据、模型和流水并行,需要重新思考如何构建大语言模型。

    现在提出了扩展大语言模型的两种新型模型架构:

    • 混合专家模型(Mixture of Experts, MoE)

      • 通过创建一组专家,每个输入仅激活一小部分专家,从而提高了模型的规模上限
      • 类似一个由专家组成的咨询委员会,每个人都有不同的背景。每个专家都是一个线性分类器,引入平衡机制来确保所有专家都能得到充分利用
      • 混合专家非常有利于并行。每个专家都可以放置在不同的机器上,降低训练和部署的成本

      20240822155246

      • 将该思想应用于语言模型:因前馈层对于每个token是独立的,将每个前馈网络转变为混合专家(MoE)前馈网络

    • 基于检索的模型

      • 将外部知识库与语言模型结合起来,在生成文本时,模型可以从知识库中检索相关信息,从而提高生成文本的质量和相关性,克服稠密Transformer的缩放限制
      • 如果有人问你一个问题,你会进行网络搜索,并阅读搜索得到的文档以得出答案
    混合专家模型基于检索的模型
    核心思想 将模型拆分成多个专家模型 将模型与外部知识库结合
    优势 参数效率高,性能提升,可扩展性强 知识增强,适应性强
    挑战 路由机制设计,训练稳定性 检索效率,知识整合
    应用场景 自然语言处理,计算机视觉 问答系统,文本摘要

    5.模型背后的数据

    任何机器学习方法的起点都是训练数据,接下来讨论这些模型是如何构建的

    网络是寻找这种文本的自然场所,但不是唯一场所。这将是我们主要关注的焦点,例如Common Crawl,由于其便利性,它已经成为许多模型如T5、GPT-3和Gopher的标准数据源

    但网络数据存在无意义文本和模板文本、数据代表性不足、偏见和数据污染等问题,因此需要对数据进行筛选和策划。

  • WebText、OpenWebText数据集

    WebText数据集被用于训练GPT-2模型

    WebText数据集没有公开发布,OpenWebText数据集在理念上复制了WebText的构建方法,尽可能地复现WebText的数据特性和结构。

  • Colossal Clean Crawled Corpus(C4)

    C4语料库被用来训练T5模型。

  • Benchmark的数据污染问题

    Benchmark(基准测试)是用来评估模型性能的标准数据集

    数据污染指的是Benchmark数据集中存在与训练数据重叠、泄露或存在其他形式的偏差,导致模型在污染的Benchmark上表现良好,但在实际应用中表现不佳的情况。

  • GPT-3的数据集

    在处理数据时,GPT-3采用了模糊去重的方法(检测13-gram重叠,如果在少于10个训练文档中出现,则移除窗口或文档),并从基准数据集中移除了数据。

  • The Pile数据集

    网络爬虫之外的较小的高质量数据源(如学术和专业资源),包含了大量GPT-3数据集未能很好覆盖的信息。

  • 5.2 数据集文档

    数据集文档可以帮助数据集创建者反思潜在危害,并帮助使用者了解数据集的适用范围。

    实例:

    字段描述
    数据集名称 中文情感分析数据集
    数据来源 爬取自各大社交媒体平台
    数据规模 100万条评论,包含文本和情感标签

    5.3 数据生态

    数据生态,简单来说就是围绕数据的产生、采集、存储、处理、分析、应用等一系列活动所形成的复杂系统。就像自然生态系统一样,数据生态系统中的各个组成部分相互依存、相互影响,共同推动数据的流动和价值创造。

    数据治理提供了一套规则和机制,来管理数据生态中的各个环节,确保数据的质量、安全、合规性。

    数据尊严强调对个人数据隐私的尊重,以及对数据使用的伦理约束。只有在尊重数据尊严的前提下,数据生态才能健康发展,避免引发社会伦理问题。

    6.模型训练

    6.1目标函数

    • 解码端(Decoder-Only)

      • 计算单向上下文嵌入
      • 最大似然函数(Maximum Likelihood Estimation,MLE)
      • 通过寻找一组参数,使得模型产生观测数据的概率最大。它帮助模型学习到最优的参数,即生成序列的最大概率,从而生成最可能的输出序列
    • 编码端(Encoder-Only)

      • 计算双向上下文嵌入
      • 掩码语言模型
        • 基本思想是通过"加噪"(随机遮蔽),让模型去预测被遮盖的部分
        • 因为模型无法简单地通过记忆训练数据中的单词顺序来预测下一个单词,而是必须根据上下文信息来推断,进而学习到词语之间的语义关系、语法结构等深层信息
      • 下一句预测
        • 目标是预测第二句是否跟随第一句
        • 将两个句子输入到模型中,模型会输出一个概率值,表示这两个句子是否为连续的
        • 使用交叉熵损失函数来训练模型,目标是最大化正确预测的概率
    • 编码-解码端(Encoder-Decoder)

      • 双向编码输入,自回归解码输出
      • 将输入进行编码,然后进行自回归解码

    6.2优化算法

    • 随机梯度下降(SGD)

      • 用于最小化一个函数,通常是模型的损失函数
      • 与传统的梯度下降相比,SGD每次迭代只随机抽取一个训练样本,计算其梯度,并更新模型参数
    • Adam(adaptive moment estimation)

      • 引入动量(继续朝同一方向移动)
      • 参数 θ0 的每个维度都有一个自适应(不同)的步长(受二阶方法启发)
    • AdaFactor

      • 不存储 O(m×n) 矩阵,而是存储行和列的和 O(m+n) 并重构矩阵
      • 去除动量
      • 它被用来训练T5
    • 混合精度训练

      • 另一种减少存储的方法
    • 学习率

      • 通常情况下,学习率会随着时间的推移而衰减
      • 对于Transformer模型,我们实际上需要通过预热(warmup)提高学习率
    • 初始化

    7.Adaptation

    大型语言模型(LLM)通常在广泛的领域内进行训练,这使得它们在处理与训练数据差异很大的下游任务时可能表现不佳。这些差异可以从格式、主题和时间三个方面来探讨,因此需要适配语言模型以满足各种下游任务的需求。

    • 探针(Probing)
      • 通过在冻结的语言模型之上训练一个特定任务的预测头来实现适配,即不会对庞大的预训练模型进行任何调整,而是直接将预训练模型的输出作为输入
      • 只对一小部分参数进行训练
      • 其使用线性的或浅前馈网络来学习预训练模型的输出,并获得分析和理解模型内容表示的能力
    • 微调(Fine-tuning)
      • 在预训练语言模型的基础上,针对特定任务,对模型的部分或全部参数进行进一步训练的过程。
      • 将大型语言模型参数视为下游任务的进一步训练的初始化来实现适配,但其成本高昂,因为需要为每个下游任务保存整个模型
    • 轻量级微调(Lightweight fine-tuning)
      • 平衡了微调和探测方法的优缺点的适配方法,通过只优化少量参数(模型的<1%)来实现高效的适配,同时保留了模型的表达能力
      • 包含提示调整、前缀调整和适配器调整等多种技术,这些技术通过在模型的输入或内部结构上添加可学习的参数来实现对特定任务的适配
      • 轻量级微调有许多变体,其中一些主要的方法包括
        • 提示调整(Prompt Tuning)
        • 前缀调整(Prefix Tuning)
        • 适配器调整(Adapter Tuning)

    8.分布式训练

    随着深度学习模型规模的不断扩大,单机训练已经无法满足需求,分布式训练成为必然趋势

    常见的并行策略:

    • 数据并行
      • 将数据进行切分,每个设备上都拥有完整的模型
    • 模型并行
      • 将模型进行切分,每个设备上都拥有完整的数据
    • 流水并行
      • 将神经网络切分为多个阶段,并分发到不同的计算设备上
    • 混合并行
      • 将多种并行策略混用

    9.LM的危害

    • 性能差异
      • 性能差异意味着模型在某些群体中表现更好,在其他群体中表现更差。
      • 例如,自动语音识别(ASR)系统在黑人说话者的识别性能要差于白人说话者
    • 社会偏见和刻板印象
      • 刻板印象是一种特定且普遍存在的社会偏见形式,其中的关联是被广泛持有、过度简化并且一般固定的。对于人类来说,这些关联来自于获得快速的认知启发。它们对于语言技术尤为重要,因为刻板印象是通过语言构建、获取和传播的
      • 社会偏见可能导致性能差异,如果大型语言模型无法理解表明反刻板印象关联的数据,则它们在这些数据上的表现可能会较差
    • 有害信息
      • 有毒性定义为“粗鲁、不尊重或不合理的行为,可能使某人想要离开一场对话”
    • 虚假信息
      • 误导性信息(Misinformation)指的是不论意图如何,被误导性地呈现为真实的错误信息
      • 虚假信息(Disinformation)则是有意为之地呈现错误或误导性信息以欺骗某一特定受众,其中存在对抗性质

    10.LM法律

    • 版权问题:
      • 大模型训练数据来源广泛,其中可能包含大量受版权保护的作品。如何界定模型的原创性与侵权行为之间的界限?
      • 模型生成的文本是否享有版权?如果享有,版权归属如何确定?
    • 责任问题:
      • 大模型生成的内容可能包含虚假信息、歧视性言论等,如何界定模型提供者的责任?
      • 如果大模型造成实际损害,谁应承担赔偿责任?
    • 隐私问题:
      • 大模型训练过程中可能涉及大量个人隐私数据,如何保护这些数据?
      • 大模型生成的文本中是否可能泄露个人隐私信息?
    • 安全问题:
      • 大模型可能被用于生成虚假信息、进行网络攻击等非法活动,如何保障网络安全?
    • 伦理问题:
      • 大模型的发展可能带来一系列伦理问题,如就业歧视、社会不平等等。

    11.环境影响

    • 大多数关于人工智能和机器学习对环境影响的工作都集中在温室气体排放上
    • 数据中心使用水进行冷却,发电是第二大用水需求,处理水和废水需要电力
    • 释放到环境中(空气、水、土壤)的化学物质,可致癌

    12.Agent–基于大模型的智能体

    一般而言,基于LLM的智能体框架包括以下核心组件:

    • 用户请求 – 用户的问题或请求
    • 智能体/大脑 – 充当协调者的智能体核心
    • 规划 – 协助智能体规划未来的行动
      • 无反馈规划
        • 思维链&思维树:分步骤细分复杂问题为一系列更小、更简单的任务
      • 有反馈规划
        • 模型能够根据过去的行动和观察反复思考和细化执行计划
    • 记忆 – 管理智能体的过往行为
      • 短期记忆 – 关注于当前情境的上下文信息,是短暂且有限的,通常通过上下文窗口限制的学习实现。
      • 长期记忆 – 储存智能体的历史行为和思考,通过外部向量存储实现,以便快速检索重要信息。
      • 混合记忆 -通过整合短期和长期记忆

    最后

    对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大?

    答案只有一个:人工智能(尤其是大模型方向)

    当下,人工智能行业正处于爆发式增长期,其中大模型相关岗位更是供不应求,薪资待遇直接拉满——字节跳动作为AI领域的头部玩家,给硕士毕业的优质AI人才(含大模型相关方向)开出的月基础工资高达5万—6万元;即便是非“人才计划”的普通应聘者,月基础工资也能稳定在4万元左右。

    再看阿里、腾讯两大互联网大厂,非“人才计划”的AI相关岗位应聘者,月基础工资也约有3万元,远超其他行业同资历岗位的薪资水平,对于程序员、小白来说,无疑是绝佳的转型和提升赛道。

    如果你还不知道从何开始,我自己整理一套全网最全最细的大模型零基础教程,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!

    下面是我整理的大模型学习资源,希望能帮到你。

    👇👇扫码免费领取全部内容👇👇

    在这里插入图片描述

    最后

    1、大模型学习路线

    2、从0到进阶大模型学习视频教程

    从入门到进阶这里都有,跟着老师学习事半功倍。

    3、 入门必看大模型学习书籍&文档.pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)

    4、 AI大模型最新行业报告

    2026最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

    5、面试试题/经验

    【大厂 AI 岗位面经分享(107 道)】

    【AI 大模型面试真题(102 道)】

    【LLMs 面试真题(97 道)】

    6、大模型项目实战&配套源码

    适用人群

    四阶段学习规划(共90天,可落地执行)
    第一阶段(10天):初阶应用

    该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

    • 大模型 AI 能干什么?
    • 大模型是怎样获得「智能」的?
    • 用好 AI 的核心心法
    • 大模型应用业务架构
    • 大模型应用技术架构
    • 代码示例:向 GPT-3.5 灌入新知识
    • 提示工程的意义和核心思想
    • Prompt 典型构成
    • 指令调优方法论
    • 思维链和思维树
    • Prompt 攻击和防范
    第二阶段(30天):高阶应用

    该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

    • 为什么要做 RAG
    • 搭建一个简单的 ChatPDF
    • 检索的基础概念
    • 什么是向量表示(Embeddings)
    • 向量数据库与向量检索
    • 基于向量检索的 RAG
    • 搭建 RAG 系统的扩展知识
    • 混合检索与 RAG-Fusion 简介
    • 向量模型本地部署
    第三阶段(30天):模型训练

    恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

    到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

    • 为什么要做 RAG
    • 什么是模型
    • 什么是模型训练
    • 求解器 & 损失函数简介
    • 小实验2:手写一个简单的神经网络并训练它
    • 什么是训练/预训练/微调/轻量化微调
    • Transformer结构简介
    • 轻量化微调
    • 实验数据集的构建
    第四阶段(20天):商业闭环

    对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

    • 硬件选型

    • 带你了解全球大模型

    • 使用国产大模型服务

    • 搭建 OpenAI 代理

    • 热身:基于阿里云 PAI 部署 Stable Diffusion

    • 在本地计算机运行大模型

    • 大模型的私有化部署

    • 基于 vLLM 部署大模型

    • 案例:如何优雅地在阿里云私有部署开源大模型

    • 部署一套开源 LLM 项目

    • 内容安全

    • 互联网信息服务算法备案

    • 👇👇扫码免费领取全部内容👇👇

      在这里插入图片描述

    3、这些资料真的有用吗?

    这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

    资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

    这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

    在这里插入图片描述

    赞(0)
    未经允许不得转载:171主机测评 » DataWhale大模型开源教程深度解析:从入门到精通,掌握NLP核心技术
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址