AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
  • 人工智能

    • 人工智能 - 概念
  • 神经网络

    • 神经网络 - 基础
    • 神经网络 - 激活函数
    • 神经网络 - 前馈神经网络
    • 神经网络 - 卷积神经网络
    • 神经网络 - 循环神经网络
    • 神经网络 - 机器学习
    • 神经网络 - 线性模型
  • 机器学习

    • 机器学习 - 概念
  • 深度学习

    • 深度学习 - 概念
  • 强化学习

    • 强化学习 - 概念
  • 自然语言处理

    • 自然语言处理 - 概念
  • 计算机视觉

    • 计算机视觉 - 概念

人工智能 - 术语

  • RNN
  • 示例
    • GRPO 的核心概念
    • GRPO 的优势
    • 应用场景
    • 与其他方法的对比
  • 大模型推理的整体审视
  • 分布式推理并行方案(TP/PP/DP/EP)
    • MoE的基本概念
    • MoE的工作原理

神经网络

  • FNN(Feedforward Neural Network,前馈神经网络)
  • RNN(Recurrent Neural Networks,循环神经网络)
  • CNN(Convolutional Neural Networks,卷积神经网络)

RNN

RNN(Recurrent Neural Network,循环神经网络)是一种特殊的深度学习模型,它主要用于处理序列数据,如时间序列数据、文本数据等。在自然语言处理(NLP)和其他相关领域中,RNN因其能够捕捉到序列内部的时间依赖性而特别有用。

在传统的前馈神经网络(Feedforward Neural Networks)中,信息只能从输入层通过隐藏层到达输出层,每个节点只与下一层的节点相连,不考虑时间上的前后关联。而在循环神经网络中,引入了循环结构或记忆单元,使得当前时刻的状态不仅取决于当前时刻的输入,还依赖于前一时刻的状态信息。这种“记忆”机制使得RNN能处理任意长度的序列,并保留历史信息。

Transformer

Transformer是2017年由Google的研究团队在论文《Attention is All You Need》中提出的深度学习模型结构,彻底革新了自然语言处理(NLP)领域的序列建模方法。Transformer的核心机制是自注意力机制(Self-Attention),该机制使得模型能够并行地对输入序列的每个位置进行加权求和,从而捕获长距离依赖关系,并且没有循环神经网络(RNN)或卷积神经网络(CNN)在计算上的顺序限制。

BERT

BERT(Bidirectional Encoder Representations from Transformers,来自 Transformer 的双向编码器表示)是谷歌在2018年提出的预训练语言模型,由Jacob Devlin等人发表在论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》中。BERT革命性地改变了自然语言处理(NLP)领域对语言表示的理解和处理方式。

BERT的核心特点:

  • 双向Transformer
  • 预训练与微调(Pre-Training & Fine-Tuning)
  • 多层Transformer结构

HumanEval

HumanEval通常指的是一项用于评估代码生成模型性能的任务集,其中包含一系列需要人工编写解决方案的编程问题。这个任务集用来测试模型能否像人类程序员一样理解并解决实际编程问题的能力。

HuggingFace

数据集

数据集在机器学习和人工智能领域中是一个至关重要的组成部分,它是由一系列标注或未标注的数据组成的集合,用以训练模型、验证模型性能或评估新方法的有效性。以下是一般意义上对数据集的说明:

  • 训练集(Training Set):用于训练模型的数据集合,模型通过学习这些数据中的模式来构建其内部参数。

  • 验证集(Validation Set):在训练过程中使用,用于调整模型参数、选择最佳模型以及防止过拟合。验证集帮助开发者优化模型的泛化能力。

  • 测试集(Test Set):模型训练完成后,在不接触过的独立数据集上进行评估,反映模型在未见过数据上的表现,以此判断模型的泛化能力和实际应用价值。

  • 标签(Labels):对于监督学习任务,数据集中通常包含每个样本对应的正确结果或类别信息。

  • 未标注数据(Unlabeled Data):对于无监督学习或半监督学习任务,数据集中可能没有明确的标签,而是要求模型从数据内在结构和关联中发现模式。

  • 多模态数据集(Multimodal Datasets):包含多种类型数据(如文本、图像、音频等)的数据集,适用于跨模态研究与训练。

  • 特定领域数据集:针对某一特定领域的数据集,比如自然语言处理领域的SQuAD(阅读理解)、GLUE(多任务基准)、ImageNet(计算机视觉)、COCO(物体检测与分割)等。

大规模预训练所需数据集:像GPT-3使用的Common Crawl等大规模互联网文本数据集,用于训练超大规模的语言模型。数据集的质量、大小和多样性对模型性能有直接影响,因此,创建高质量、代表性强且规模适当的数据集是推动AI技术发展的重要基础工作。

Token

在计算机科学和人工智能领域,特别是在自然语言处理(NLP)中,“Token”是一个非常基础且重要的概念。它通常指文本中的最小有意义的单元。以下是几个不同语境下“Token”的含义:

词法分析:在词法分析阶段,将一段连续的文本分割成一系列离散的符号或词汇单位的过程称为分词(Tokenization)。每个被分割出来的部分就是一个Token,它可以是单个单词、数字、标点符号,甚至空格。

机器学习与深度学习:在训练机器学习模型尤其是神经网络模型时,文本数据需要被转化为数值向量。这个过程中,原始文本首先会被转换为Tokens序列,然后每个Token通过词嵌入(Word Embedding)技术映射到一个高维空间中的向量。

自然语言理解:在NLU任务中,Token也是最基本的数据单元,许多算法如命名实体识别(NER)、依存句法分析等都是基于Token来执行的。

编程上下文:在编程和软件开发中,Token也可能指的是源代码中的元素,比如关键字、标识符、操作符、字符串字面值等。编译器和解释器会把源代码解析成一系列的Tokens,以便进行后续的语法分析和代码生成。

区块链技术:在加密货币和区块链领域,Token特指一种数字资产,它可以在特定区块链上创建和交易,并可以代表各种价值,如功能型代币(Utility Token)、权益证明(Security Token)或非同质化代币(NFTs)等。

模型参数量

大模型的参数量通常用“B”来表示“十亿”(billion),例如,一个12B参数的大模型意味着它具有120亿个可训练参数。这些参数构成了模型内部复杂的权重矩阵和向量,它们在神经网络中起着至关重要的作用。

Fine-tuning

shot

"shot" 在机器学习和自然语言处理(NLP)领域中通常指的是在训练或评估模型时使用的示例数量,特别是在少样本学习(Few-shot Learning)场景下。根据可用的示例数量不同,可以进一步细分为几种类型:

  1. 零样本学习(Zero-shot Learning)

    • 定义:模型从未见过的类别上进行预测,无需任何特定类别的训练样本。
    • 应用场景:
      • 当没有足够的标注数据用于某些新类别时,例如在图像识别任务中,模型可以根据已知类别及其特征来推断新类别的标签。
    • 挑战:需要模型具备强大的泛化能力和对语义信息的理解能力。
  2. 一shot学习(One-shot Learning)

    • 定义:模型仅用一个示例就能学习新类别的特征,并能基于这个单一示例对新实例进行分类。
    • 应用场景:
      • 人脸识别系统中,使用一张照片来识别一个人的身份。
    • 挑战:需要模型能够从非常有限的数据中提取出关键特征,并准确地进行分类。
  3. 少样本学习(Few-shot Learning)

    • 定义:模型仅使用极少量的训练样本来学习新的概念或任务,通常是指每个类别仅有一到几个示例的情况。
    • 应用场景:
      • 在医疗影像分析中,可能只有少数标记的医学图像可用于训练模型以识别某种疾病。
    • 方法:
      • 元学习(Meta-learning):通过训练模型在多个小样本任务上快速适应新任务的能力。
      • 数据增强:通过生成更多合成样本来扩展训练集。
      • 迁移学习(Transfer Learning):利用预训练模型的知识来加速少样本任务的学习过程。

示例

假设你正在开发一个图像分类系统,但只有一些特定种类的动物图片作为训练数据(如老虎、狮子等)。如果现在需要识别一种从未见过的动物(如长颈鹿),你可以使用以下方法:

  • 零样本学习:利用现有类别之间的语义关系(如“哺乳动物”、“有蹄类”等),即使没有长颈鹿的图片,也能尝试识别它。
  • 一 shot学习:如果你有一张长颈鹿的照片,模型可以通过这张照片学习长颈鹿的特征,并尝试在其他图片中识别长颈鹿。
  • 少样本学习:如果有几张不同角度的长颈鹿照片,模型可以通过这几张照片学习并提高识别准确性。

通过理解这些不同的学习方式,研究人员和工程师可以在数据有限的情况下设计出更高效和灵活的模型。这不仅提高了模型的实用性,也降低了数据收集和标注的成本。

交叉熵、损失函数、softmax、梯度下降

  1. 交叉熵(Cross-Entropy): 交叉熵是一种用于衡量两个概率分布之间差异的损失函数,通常用在分类问题中。它的目标是衡量模型预测的概率分布与实际标签分布之间的差异。具体来说,交叉熵越小,表示模型的预测越接近真实标签。

  2. 损失函数(Loss Function): 损失函数是衡量模型预测结果与真实标签之间差距的标准。目标是最小化损失函数值,通常损失函数越小,表示模型预测越准确。常见的损失函数有:

    • 均方误差(MSE):用于回归问题。
    • 交叉熵(Cross-Entropy):用于分类问题。
    • 绝对误差(MAE):用于回归问题。

    损失函数的选择通常取决于任务类型以及模型的输出。

  3. Softmax: Softmax 是一种激活函数,通常用于多分类问题的神经网络输出层。它将模型的输出转化为概率分布,使得所有输出的概率值之和为 1。

    Softmax 使得每个输出值表示该类别的预测概率,并且所有类别的预测概率之和为 1。

  4. 梯度下降(Gradient Descent): 梯度下降是一种用于优化机器学习模型的算法,它通过不断调整模型参数,使得损失函数的值最小化。梯度下降通过计算损失函数相对于模型参数的梯度(即导数),然后沿着梯度的反方向调整参数。基本步骤如下:

    1. 随机初始化模型参数。
    2. 计算损失函数和梯度。
    3. 更新参数,减去梯度乘以学习率(一个超参数)。
    4. 重复步骤 2 和 3,直到收敛(即损失函数不再显著变化)。

    梯度下降有几种变体:

    • 批量梯度下降(Batch Gradient Descent):每次计算整个数据集的梯度,适用于数据量较小的情况。
    • 随机梯度下降(SGD):每次随机选择一个样本计算梯度,适用于大规模数据集。
    • 小批量梯度下降(Mini-batch Gradient Descent):每次计算一小部分数据集的梯度,折中选择,广泛应用于深度学习。

这四个概念密切相关:在多分类问题中,通常使用softmax函数将网络输出转换为概率,然后通过交叉熵损失函数来衡量模型预测与真实标签之间的差距。梯度下降算法用于优化损失函数,更新模型参数,以便在训练过程中减少损失。

PyTorch

LLama 或 LLaMA

SFT和RLHF

SFT(Supervised Fine-Tuning)和RLHF(Reinforcement Learning with Human Feedback)是两种应用于大型语言模型(如GPT-3、ChatGPT等)的不同训练和优化方法。

vLLM

vLLM 是一种针对大型语言模型(Large Language Model)设计的开源推理加速框架。它旨在解决大型预训练模型在实际部署和推理过程中面临的内存消耗高、计算成本大等问题,尤其是当模型在处理实时或批量推理请求时所需的高性能要求。

全量精调和Lora精调的区别

模型的泛化能力:本质上就是举一反三,让模型通过训练掌握方法论规律用于未知问题并获得好的结果。

优秀的训练集:https://huggingface.co/spaces/HuggingFaceFW/blogpost-fineweb-v1

tokenzation: 从文字转到0(1)再到byte

I have a good day.
       ↓
0110 1111 1000 1111
       ↓
  111       143

这个过程是序列化

论文阅读

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning DeepSeekMath Pushing the Limits of Mathematical Reasoning in Open Language Models_2402.03300v3

  • DeepSeek Infra/V1/MoE/V2/V3/R1 & 开源关键技术
  • DeepSeek究竟创新了什么?
  • DeepSeek是否有国运级创新?2万字解读与硬核分析V3/R1的架构

GRPO

Group Relative Policy Optimization (GRPO) 是一种用于多智能体强化学习(Multi-Agent Reinforcement Learning, MARL)的算法,旨在通过优化策略来提升多个智能体在协作或竞争环境中的整体表现。GRPO 的核心思想是通过相对策略优化(Relative Policy Optimization, RPO)来协调智能体之间的策略更新,从而避免传统方法中可能出现的策略不一致或收敛困难的问题。

GRPO 的核心概念

  1. 相对策略优化(RPO):

    • RPO 是一种策略优化方法,通过比较智能体的策略表现来调整其策略,而不是直接优化全局目标。
    • 在 GRPO 中,每个智能体的策略更新基于其相对于其他智能体的表现。
  2. 组内协作:

    • GRPO 将智能体分为不同的组(group),组内智能体共享策略更新的信息。
    • 通过组内协作,智能体可以更好地协调策略,避免冲突或重复行为。
  3. 分布式优化:

    • GRPO 采用分布式优化方法,每个智能体或组独立更新策略,同时通过通信机制共享信息。

GRPO 的优势

  • 避免策略不一致:通过相对策略优化,GRPO 可以减少智能体之间的策略冲突。
  • 提升协作效率:组内协作机制使智能体能够更快地适应环境变化。
  • 适用于复杂环境:GRPO 在多智能体竞争或协作的复杂环境中表现良好。

应用场景

  • 多机器人协作:如仓库机器人协同搬运货物。
  • 游戏 AI:如多玩家游戏中的团队协作或对抗。
  • 自动驾驶:多车辆协同驾驶或交通管理。

与其他方法的对比

  • 传统 MARL 方法:如独立 Q 学习(Independent Q-Learning)或联合策略优化,容易导致策略不一致或收敛困难。
  • GRPO:通过相对策略优化和组内协作,GRPO 能够更好地协调智能体的策略,提升整体性能。

如果你对 GRPO 的具体实现或相关研究感兴趣,可以进一步查阅多智能体强化学习领域的论文或开源项目。

ppo

Proximal Policy Optimization

log 用于更新梯度

SFT,RFT,DPO,PPO,GRPO 朝向统一的范式

蒸馏技术 teacher 和 student

LangChain 是一个用于开发由大型语言模型 (LLM) 提供支持的应用程序的框架。

模型压缩和加速四个技术是设计高效小型网络、剪枝、量化和蒸馏

大模型推理的整体审视

LLM应用程序通过推理产生结果,一般包括以下阶段:

(1)用户提供一个查询(query、prompt、Input,或叫Request); (2)查询进入队列,等待其被处理的轮次,即排队阶段(注:排队包括app应用层的队列排队,以及推理引擎的队列排队等,而且推理引擎执行推理时可能以一定的批量大小batch_size来批处理); (3)该应用程序的底层推理框架(引擎)处理用户query,生成第一个应答Token,即所谓的预填充阶段(Prefill); (4)LLM模型逐个输出后续响应,即生成阶段(generation),也叫解码阶段(Decode)。

Token 是LLMs特有的一个概念,是LLM推理性能的核心指标。它是LLM用来分解和处理自然语言的单位。所有 token(含组合) 的集合称为词汇表。每个LLM都有自己的分词器,该分词器是从数据中学习得到的,以便有效地表示输入文本。作为一个近似值,对于许多流行的LLMs,每个 token 相当于 0.75 个英语单词。 输入序列长度(ISL)是LLM获取的标记数量。它包括用户查询、任何系统提示词、之前的聊天历史、思维链推理以及从检索增强生成(RAG)管道中的文档。输出序列长度(OSL)是LLM生成的 token数量。上下文长度是LLM在每一步生成中使用的 token数量,包括迄今为止生成的输入和输出 token。每个LLM都有一个最大上下文长度,可以分配给输入和输出Token。 流式传输是一种选项,允许将部分输出立即返回给用户,以模型迄今为止增量生成的 token 块的形式。这对于聊天机器人应用很重要,其中快速收到初始响应是所希望的。当用户消化部分内容时,下一块结果在后台到达。相比之下,在非流式模式下,完整答案一次性整体返回。 大模型推理的关键度量指标有:Time to First Token (TTFT) 首token时延、Time per Output Token (TPOT) token间时延、End-to-End Request Latency (e2e_latency) 端到端请求时延、Tokens Per Second (TPS) 吞吐量每秒token数、Requests(Query) Per Second (RPS或QPS) 每秒请求数。如果我们知晓了大模型推理的基本原理,以我们的经验理解这些度量指标根本不是难事,还会自然地雕花出各种维度的度量组合和图表呈现来。

总结:

大模型干的事情就是根据输入query预测出一个token(词汇表中概率最大的那个)(就是上文中所谓的prefill阶段),然后第二轮,会把第一轮的输出附加作为输入(kv-cache启用的话最初用户输入会用cache代表,只把上次一次的输出token作为本次query),然后再预测出一个token,循环往复这样处理(后面的都称作是decode阶段)。 故推理过程中的数据都是大模型每一轮处理所产生的,后续轮次的处理会把前次的输出添加到上次的query的尾部作为新的输入,具体处理都是经过大模型的所有层:嵌入层---》中间隐藏层(很多层,注意力层+前馈网络层(也是多层)---》输出层(token的概率,维度是词汇表大小))。

分布式推理并行方案(TP/PP/DP/EP)

还有一个迟早都会碰到的问题:分布式推理并行方案,简单说就是如何做多机和多卡的推理? 常见的概念有:TP(Tensor Parallelism,张量并行)、PP(Pipeline Parallelism,流水线并行)、DP(Data Parallelism,数据并行)、SP(Sequence Parallelism,序列并行)、EP(Expert Parallelism,专家并行)等。TP和PP是早期用于大模型扩展训练规模的通用方法,由于TP具备良好的加速特性,PP的按层划分能解决模型参数过大单卡无法容纳的问题,这两项技术也被广泛应用于大模型推理。

Scaling Law

Scaling Law(缩放定律)在深度学习和人工智能领域中,具体指的是模型性能与计算资源、模型参数数量以及训练数据量之间的定量关系。这些定律通常表明,当增加模型的大小(即参数数量)、训练数据量或计算资源时,模型的性能会按照某种幂律形式提升。

神经网络理论

神经网络理论后来发展为深度学习理论,关键贡献者除了被誉为“深度学习之父”的杰弗里・辛顿,还有法国人杨·勒昆(Yann LeCun,中文名杨立昆)、德国人尤尔根・施密德胡伯(jürgen schmidhuber)。他们分别提出或完善了三种模型架构方法:深度信念网络(DBN,2006)、卷积神经网络(CNN,1998)、循环神经网络(RNN,1997),让基于多层神经网络的机器深度学习得以实现。

神经网络发展已经20多年了

2014年,开发AlphaGo的谷歌DeepMind团队首次提出“注意力机制”

2017年,谷歌提出完全基于注意力机制的Transformer架构,开启大模型时代。

混合专家模型(Mixture of Experts,MOE,又译稀疏模型),并不是和Transformer并列的另一种模型架构方法,而是一种用来优化Transformer架构的方法。

当然,大模型并非通往AGI的唯一路径。正如上世纪90年代后“深度学习-大模型”路线颠覆了人工智能头几十年的“规则系统-专家系统”路线,“深度学习-大模型”路线也有可能被颠覆,只是我们现在还看不到谁会是颠覆者。

混合专家模型

混合专家模型(Mixture of Experts,简称MoE)是一种特殊的神经网络架构,旨在通过组合多个较小的“专家”子网络来提高模型性能和计算效率。每个专家负责处理输入数据的不同部分或不同类型的输入。这种方法不仅提高了模型的表现能力,还可以有效地减少计算成本,特别是在大规模深度学习模型中。

MoE的基本概念

  1. 专家网络(Experts):多个独立的子模型(如神经网络),每个专家学习不同的特征或模式。例如,在自然语言处理中,不同专家可能分别擅长处理语法、语义或特定领域的知识。

  2. 门控网络(Gating Network):根据输入数据动态分配权重,决定哪些专家被激活以及它们的输出如何组合。常用Softmax或Top-K选择机制。

MoE的工作原理

  • 输入分配:当输入到达模型时,首先通过门控网络来评估哪个或哪些专家最适合处理该输入。
  • 专家计算:门控网络基于输入特征生成一组系数(即权重),这些系数决定了每个专家在网络输出中的参与度。只有那些被门控网络选中的专家才会被激活并处理输入,其余专家保持未激活状态,这样可以节省计算资源。
  • 加权融合:所有被激活的专家的输出按其相应的权重进行加权求和,得到模型的最终输出。

https://learn.deeplearning.ai/courses/how-transformer-llms-work

最近更新: 2026/1/25 10:52
Contributors: klc407073648