LLM时代AI加速芯片面临的挑战 算法需求 普遍使用MOE架构降低算力需求 高度定制化的集成度高的大算子 定制化的核心Attention加速算子:FlashAttention KVcache的压缩、加速等: Deepseek的Flash MLA 混合精度及量化 低精度支持及累加精度保证 多卡互联技术,包括快速的分布式all to all的性能,通信异步化,不占用计算核,最大化带宽利用率 更低的latency,更高的throughput 异步通信,动态执行 复杂的存储地址控制,复杂的MMU系统 Atomic的支持,用于复杂算法的reduction运算支持 同步和动态 问题&矛盾 通过传递依赖/同步信息到存储器(memory barrier) 优点:避免调用fence和trigger一个任务的leading和tailing latency 缺点: 为了异步调用和挂起,需要保存抽象的线程信息 占用大量的调度逻辑和流水线存储资源,动态调度的代价 源头统一调度和控制(mailbox 、global sync) 可能方案 通过预调度(prefetch)等预估流水线的latency进行提前trigger,减少latency 专用的异步进行同步的信号,同步信号和存储请求分离,同步信号可以不随流水线传递 把存储相关的程序指令存储到存储器端,控制器直接launch,类似一个可以执行指令的DMA 所有的单元(1D、2D、DMA、NoC)都变成可以执行程序的单元、可同步单元,通过launch和同步来控制 需要解决可执行程序的prefetch/preload需求 可以把整个程序通过计算图来抽象,明确所有launch的时机 通过预编译的“动态计算图”表达所有的launch和join,非常细粒度的调度 专用的“图”执行硬件单元,负责执行图、launch、同步、配置参数计算/生成和传递 标准的launch参数传递和配置方法,负责动态launch参数的配置 标准的标量流水线,通过专用硬件单元(专用指令)进行加速 内存墙 大容量、低延迟(高速)、随机访问 推理阶段,每个对话就必须加载全部的模型参数,只为了计算一个token的输出,算力利用率特别低 为了低延迟,不能使用低速存储替代,容量和速度的需求比例和传统DRAM不一致,可能需要 1T带宽 1T容量 ? KV Cache的机制对存储容量和带宽的需求 跨界点通信开销 未来算法需求 动态全局随机访问的需求 MOE算法需求 稀疏算法 可能的方法 定义复杂指令,单指令支持操作数的Dequent,GEMM计算 设计很大的L1甚至是L0,用于存储Tensor计算的左右值 可能的方向 超大的dot变成多个小dot的并行 固定尺寸的dot,和输入无关的dot 所有模型使用一种固定的层,同一种组件,不要很多种类,很多奇怪的linear