【LLM】大模型基础--大规模预训练语言模型的开源教程笔记

1.引言

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

什么是语言模型

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

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

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

语言模型的发展历史

  1. 1948,香农的信息理论

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

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

你可能感兴趣的:(笔记,人工智能,langchain,llama,大模型,产品经理,大模型基础)