大模型技术细节(参数量&时间复杂度)

目录

性能衡量指标

1. 吞吐:

2. FLOPS

3.QPS:

高效训练框架:

1.DDP(Distributed Data Parallel):

模型相关细节

1. 各模型参数量:

2. 时间复杂度

3. 为什么attention计算要除以根号d

推理相关:

1. KV cache:


持续更新

性能衡量指标

1. 吞吐:

        大模型吞吐量的计算需要综合考虑模型的计算需求、硬件性能、系统架构以及软件优化等多个方面(计算量、硬件性能、并行策略、内存限制、通信开销、模型结构、软件优化、数据加载等)可能没有一个简单的公式,而是需要具体问题具体分析,结合实测和理论估算。

2. FLOPS

  • FLOPs(浮点运算次数)Floating Point Operations :完成一次计算任务所需的浮点运算(加法乘法等)的总次数
  • FLOPS(每秒浮点运算次数)Floating Point Operations Per Second:硬件每秒能执行的浮点运算次数,是衡量计算设备性能的指标;
  • FLOPs是计算量,FLOPS是算力;

3.QPS:

                QPS = 每秒成功处理的请求数
                例如:一个 API 接口在 1 秒内处理了 500 次用户请求,则其 QPS 为 500。

高效训练框架:

1.DDP(Distributed Data Parallel):


        是 PyTorch 中用于多 GPU 训练的核心并行技术,旨在通过高效的数据并行策略加速模型训练,尤其适合大规模深度学习任务。通过多进程和 Ring-AllReduce 通信实现了高扩展性和低通信开销。其核心优势包括:

  • 模型复制:每个gpu有一个完整的模型;支持单机多卡,多机多卡。
  • 数据分片:数据均匀分配到GPU,每个GPU处理不同的数据子集;多进程(每个gpu一个进程)。
  • 梯度同步:通过高效的通信协议Ring-AllReduce同步梯度,确保所有模型副本的参数一致。

实现:

1. 初始化进程组
设置分布式训练环境,指定通信后端(如 NCCL)和进程间通信方式

封装模型

数据加载器DistributedSampler确保gpu加载不同的数据分片

启动多进程:torch.multiprocessing.spawn

模型相关细节

1. 各模型参数量:

各模块参数量:

2. 时间复杂度

MHA 和 FFN是计算复杂度的主要贡献者。

3. 为什么attention计算要除以根号d

$d_k$增大时,$q.k^T$方差会变大, 方差变大会导致向量之间的差值变大。导致softmax退化为argmax,最大值softmax之后为1,其他值为0.这样的话反向传播梯度会变为0,也就是梯度消失。

推理相关:

1. KV cache:

推理时每一步不需要重新计算K,V,将新的输入token与之前序列返回的K,V进行拼接后得到新的K,V(空间换时间);

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值