AI技术知识100问

怎么理解transformer中的attention?

Transformer中的attention机制是其最核心和创新之处。它通过使用attention来实现序列到序列的建模,取代了RNN和CNN中的循环或卷积操作。

Transformer中的attention通常包含以下几个要点:

  1. 输入序列经过线性变换生成Query,Key和Value。Query通常对应当前输入,Key和Value对应整个输入序列。
  2. 计算Query与Key的点积相似度,通过Softmax归一化得到权重矩阵。这表示Query与Key中的每个位置匹配的程度。
  3. 将权重矩阵与Value矩阵相乘,对Value中的每个位置进行加权求和,就得到了Query对应的注意力表示。
  4. 对输入序列每一个位置分别计算Query,重复上述操作,就能得到整个序列的注意力表示。
  5. 将注意力表示与输入序列拼接后输入到FFN中,然后输出。
  6. Transformer一般会使用Multi-Head Attention,即进行多次注意力计算,得到多个注意力子空间表示,然后拼接在一起输入到FFN中。
  7. Transformer的Encoder通过计算序列内部的注意力;Decoder则同时计算 Encoder-Decoder 注意力和解码序列自身注意力。

总的来说,Transformer使用attention机制建模序列之间的全局依赖关系,取代了RNN和CNN中的局部建模,使其对长程依赖更为敏感,能够有效学习语义信息。这是它相比于传统模型更加强大的原因之一。

LLM中的zero shot, one shot, few shot分别什么含义

LLM(Large Language Model)中的零样本(zero shot)、一样本(one shot)和少样本(few shot)指的是针对下游任务进行微调时使用的训练样本数量不同:

  1. 零样本(Zero-shot):不使用任何针对下游任务的训练样本,完全通过预训练的参数来进行推理,利用预训练的知识迁移来完成新任务
  2. 一样本(One-shot):只使用一个或极少量的样本来微调,比如一个示例,快速让模型适应新任务。
  3. 少样本(Few-shot):使用的针对新任务的训练样本较少,通常在5到100个样本,来快速适应新任务。

与全量数据集 Fine-tuning 不同,零样本、一样本和少样本学习更依赖于预训练模型本身学到的知识,通过很少甚至零样本来触发模型完成新任务。

这些技术使得LLM无需大量标注新样本就可以快速适配到新任务上,减少训练成本和人力标注量,是LLM强大推理和迁移能力的关键。它们在问答、对话、文本生成等任务中应用广泛。

硬件篇

AI时代如何衡量算力?

在AI时代,衡量算力有以下几个重要的指标:

  1. FLOPS
    浮点运算每秒数(FLoating point Operations Per Second),反映处理器的浮点计算速度,是传统衡量算力的指标。但仅关注计算量,不完整。
  2. TOPS
    每秒AI算力(Trillions of Operations Per Second),专门衡量AI算法运算量的指标, focal point是运算量而非速度。
  3. Watt
    算力功耗,反映计算效率。同等算力下,功耗越低越好。
  4. FPS
    每秒处理帧数(Frames Per Second),反映处理连续数据的能力。如处理视频等需要持续高吞吐量的任务。
  5. Latency
    延迟,执行任务从输入到输出的耗时,反应实时响应能力。如自动驾驶需要低延迟。
  6. Throughput
    总体吞吐量,反映系统整体执行复杂任务的能力。吞吐量越高越好。
  7. 成本效率
    算力产出与成本支出的比值,最经济的算力解决方案。
  8. 软硬兼斟
    算力来源方面,要注意软件和硬件的协同,如AI芯片、框架等。

总体而言,要从多角度综合考量,挑选能够最好支撑AI项目需求的算力指标和方案。

MAC和FMAC的数学公式?以及对比?

MAC(Multiply-Accumulate Operation) 和 FMAC(Fused Multiply-Add Operation)的数学公式如下:

MAC:

y += x * w

其中x和w是两个乘数,y是累加器。这个公式表示将x和w的乘积累加到y中。

FMAC:

z = x * y + z

其中x,y,z都是浮点数。这个公式将一个乘法运算和一个加法运算进行了融合。

相比MAC,FMAC的优势在于:

  1. 减少了读取内存的次数。MAC需要读取x,w,y这3个操作数,而FMAC只需要读取x,y,z这3个操作数。

  2. 减少了存储中间结果的需要。MAC计算得到x*w后的结果需要暂存,而FMAC直接利用了这个中间结果。

  3. 减少了对浮点单位的轮换次数。

  4. 可以并行执行乘法和加法,提高指令流水线的效率。

  5. 计算更加精确,避免了暂存中间结果时的数值损失。

  6. 指令数减少,降低了指令缓存的压力。

  7. 寄存器操作次数减少,降低了寄存器堆积的压力。

综上,FMAC通过合并两个基本运算提高了计算效率,是评价GPU算力的重要指标。

FMAC(Fused Multiply-Add)和MAC(Multiply-Accumulate)都是用于评估GPU浮点运算性能的重要指标,其主要区别如下:

  1. 计算操作不同
  • MAC:进行乘法运算和加法运算的分开计算。通常表示为y += x * w。
  • FMAC:将乘法和加法计算融合为一个操作。通常表示为z = x * y + z。
  1. 计算效率不同
  • MAC:分开执行乘法和加法,需要独立调用这两个指令,计算效率较低。
  • FMAC:合并为一个指令,减少指令数,提高计算效率。
  1. 内存访问不同
  • MAC:需要读取3个操作数x、w、y,写入中间结果,内存访问频繁。
  • FMAC:只访问3个操作数x、y、z,内存访问次数减少。
  1. 中间结果不同
  • MAC:需要暂存x*w的中间结果,存在精度损失。

  • FMAC:直接利用中间结果,计算更加精确。

  1. 指令流水线不同
  • MAC:两个指令难以并行,流水线不均衡。
  • FMAC:一个指令,易于流水线并行优化。
  1. 寄存器压力不同
  • MAC:需要额外寄存器存储中间结果,增加寄存器堆积压力。
  • FMAC:合并计算,减少寄存器操作次数。

综上,FMAC在计算性能、效率、准确性和并行性上都优于MAC,是评价GPU算力更合适的指标。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值