背景

当前负责的业务正在大规模应用大模型,为了方便团队成员快速了解大模型相关的背景知识,我对相关内容进行了整理。

经过自己日常工作中的一些沟通协作,验证了下述知识应该足以满足大部分场景下对于AI知识理解和应用的需求,如果有遗漏也欢迎大家在评论里补充。

本文主要参考了抖音上文哲老师讲的AI科普课程(课程名为「文哲讲AI」,内容深入浅出,非常推荐观看),同时结合了一些科普文章和DeepSeek提供的检索知识,最终通过结构化整理得到。

大模型基础概念

背景知识

以下知识是我们了解大模型所需要的计算机背景信息。
  • 人工智能:Artificial Intelligence,简称AI。

    • 人工通用智能:Artificial General Intelligent,简称AGI。
    • 人工智能生成内容:Artificial Intelligence Generated Content,简称AIGC。
  • 机器学习:是人工智能的一个子集,核心思想是不需要显式编程,让计算机通过算法自行学习和改进,从而识别模式、做出预测和决策。
  • 深度学习:是机器学习的一个子集,核心是使用人工神经网络模仿人脑处理信息的方式,通过层次化的方法提取和表示数据的特征,专注于非结构化数据的处理。

具体层级结构如下图所示:

image.png

概念知识

以下内容是学习大模型需要了解的相关概念。
  • 大模型:深度学习算法 + 海量数据 + 超强算力。大模型主要分为两类:

    • 判别模型:主要是识别不同场景下的差异,做出判断。
    • 生成模型:基于特定的场景学习特征,解决问题。

    以识别「猫」和「狗」为例,判别模型主要学习的是「猫」和「狗」的区别,而生成模型主要学习的是「猫」和「狗」的特征。生成模型可以根据学习的特征生成一只「猫」,而判别模型则不行。

  • 大语言模型:Large Language Model,简称LLM。主要指的是用于自然语言相关任务的深度学习模型。

    • Transformer架构:2017年提出的一种深度学习架构,核心思想是使用自注意力机制(Self-Attention)来捕捉输入序列中的长距离依赖关系,而无需依赖循环神经网络(RNN)或卷积神经网络(CNN)。通俗来说,自注意力机制允许模型在处理序列的每个元素时,同时考虑序列中的所有其他元素(不仅仅是相邻元素),从而更好地理解上下文信息。
    • 文本生成方式:大语言模型通过预测下一个词(词向量)出现的概率来实现文本生成,本质上是基于概率的采样算法。以下是两种常见的采样策略:

      • Top-K:在生成每个词时,模型只从概率最高的前 K 个候选词中进行选择。例如,K=3 时,只选择概率最高的 3 个词进行采样。
      • Top-P:在生成每个词时,模型从累积概率超过阈值 P 的最小词集合中进行选择。例如,P=0.7 时,对概率从大到小的词进行选择,直到累加概率超过 0.7,再从已选择的词中进行采样。

      上述两个策略主要用于控制采样的多样性和质量,其中Top-K适合需要严格控制多样性的任务;Top-P适合需要平衡多样性和质量的任务。

    • 温度:Temperature。温度用于调控采样过程中的概率分布,控制采样的随机性和多样性。

      • 采样的概率分布: \( P(w_i) = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)} \)

      其中T就是温度。当T>1时,会增加低概率词被选中的概率;T<1时,会倾向于选择概率更高的词。

  • 端到端模型:输入后只经过一个模型就能得到最终输出,这种模型称为端到端模型。

    • 优点:延迟低,模型效果好,灵活性。
    • 缺点:训练难度高,解释性差。
  • 大模型压缩:指通过一系列技术手段,减少大型深度学习模型的规模、计算复杂度和存储需求,同时尽量保持其性能。主要方法包括:

    • 量化:调整参数精度,例如将 32 位浮点数转换为 16 位浮点数。
    • 蒸馏:使用一个大模型(教师模型)指导一个小模型(学生模型)学习,从而将大模型的知识转移到小模型中。
    • 剪枝:移除模型中对输出影响较小的权重或神经元。
  • 泛化能力:大模型最重要的能力之一,指的是模型通过训练,能够总结出一些有价值的方法论。

    • 预期:模型能够举一反三,有能力解决之前自己没有遇到过的问题。

训练&优化方法

以下知识是我们了解打磨训练和优化方法的内容。
  • 预训练:通过海量数据训练一个大模型,从而得到一个通用的基础模型。

    • 增量预训练:在已有的大模型基础上,通过特定领域的知识进行再次预训练,增强模型在某些方面的能力。此过程会修改大模型本身的参数。例如,通用模型基于金融领域的知识,训练成一个金融领域的专用大模型。
  • 微调:Fine-tuning,通过特定或私有化数据对模型进行改良。此过程会修改大模型本身的参数。通常的数据格式为 <input, output>。微调有两种方式:

    • 全量微调:在微调过程中理论上会调整所有参数。
    • LoRA微调:通过指定一个参数 Rank,用更少的参数进行调整的一种微调方式。

      • 原理:原有参数为MN的矩阵,调整后的参数为(MK的矩阵)和(KN的矩阵),其中K就是Rank。根据矩阵运算:MN的矩阵=(MK的矩阵)·(KN的矩阵)。
      • 优点:之前需要调整MN个参数,现在只需要调整MK+K*N个参数,一般选取较小的K使得参数修改量大大减少,降低资源需求。例如M=100,N=100,K=3,前者为10000个参数,后者为600个参数。
  • 对齐:Alignment,调整模型的行为,使其输出更符合人类的价值观、偏好或任务需求。该阶段通常在「微调」之后进行。通常的数据格式为<input, accept, reject>

    • 人类反馈强化学习:RLHF,对齐方式的一种,主要通过一个奖励模型来给予被训练模型反馈,从而改进被训练模型。
  • 提示工程:指通过设计和优化输入提示(Prompt),来引导大模型生成符合预期的输出。
  • 上下文学习:In-Context Learning,指模型在不更新参数的情况下,仅通过输入中的少量示例或任务描述,就能快速适应新任务并生成符合预期的输出。这种方式主要解决模型不知道自己知道的问题。

    • Prompt结构:instruction(你要做什么事情)、requirement(你应该怎么做,要求是什么)、example(s)(给的案例)、input(实际问题)。
    • 关注点:不能包含太大的上下文;需要保障案例的多样性;需要保证案例的代表性。
  • 灾难性遗忘:模型在训练的过程中,可能会遗忘掉之前已有的一些能力。这个问题无法避免。
  • 幻觉:指的是大模型的乱说。主要包含:上下文的矛盾、与Prompt要求不一致、与事实矛盾、荒谬的回复。

    • 产生原因:训练的数据质量不高(信息不准确、多样性缺乏),训练过程中存在问题(过拟合),生成过程存在问题,提示不明确有歧义。

应用

以下知识是大模型应用中我们需要了解的内容。
  • RAG:Retrieval-Augmented Generation,结合了数据检索和生成的一个模型架构,核心思想是通过从外部知识库中检索相关信息,并结合生成模型的能力,生成更准确、更可靠的回答。

    • 原理:对已有知识库文档进行分段(chunks)-> 存储到向量数据库中 -> 根据问题检索对应的向量数据库,得到答案(二次排序)-> 将问题和答案构造成 Prompt 给到大模型 -> 大模型处理润色后给到用户回答。

      • 文档分段:根据语义动态切分。
      • 存储数据库:文档向量化。
      • 检索:先对问题进行向量化(问题改写、扩充),然后计算与结果的向量相似度匹配,取 Top-N。

        • 相似度匹配:数学原理是计算余弦相似度,向量间空间夹角小的相似度高。
      • 排序:根据相关性进行二次精排。
      • Prompt构造:如果数据量太大,需要考虑压缩。
    • 【拓展】知识图谱:一种结构化的知识表示形式,用于描述现实世界中的实体(如人、地点、事件等)及其之间的关系。

      • 在大模型中的应用场景:在RAG场景中搭配向量数据库使用可以给模型提供更多信息,减少幻觉问题。
  • MoE:混合专家模型。

    • 构成:由1个路由(Router)+多个专家(Expert)构成,路由负责将问题路由给到对应的专家进行解决,这个过程中需要做到合理均衡的分配。问题分配给对应专家后,让多个专家共同去做决策。
  • Agent:

对比理解

以下知识是通过对比方式,帮助我们加深对上述知识的理解。

微调和RAG的区别,应用场景的选择:

区别&场景微调RAG
是否改动模型
动态变化数据源不推荐推荐
模型定制推荐不推荐
产生幻觉概率
可解释性
成本
延迟
应用到智能设备推荐不推荐

增量预训练、微调、上下文学习的区别:

区别&场景增量预训练微调上下文学习
参数是否更新
训练数据要求大量少量不需要(写到Prompt里)
训练效率非常低-
灵活度非常低
成本非常高
实用性很低非常高

微调、RAG、上下文学习之间的选择:

  • 能力缺乏:

    • 能力相差较多,需要系统性学习,选择微调。
    • 能力相差不多,需要背景知识,选择上下文学习。
  • 能力足够:缺乏参考资料,选择RAG。

hjava
1.9k 声望525 粉丝

字节客服平台电商&生服前端负责人,欢迎投简历来撩:huangjue.hjava@bytedance.com