假设你要同时开两家餐厅,招牌菜都是同一道——大语言模型。第一家叫 GPU:它请来一万名厨师站在开放式厨房里,菜单(线程)一到,谁空谁接,忙起来门口排长队,闲下来厨师面面相觑。优点是能一次性办一千人的宴席(高吞吐),缺点是单独一个客人那盘菜什么时候上,全看运气(延迟波动)。第二家叫 LPU:它把后厨改成一条寿司传送带,五个站点各干一件事,开业前就把时刻表排死(静态编译),每个盘子以固定速度前进,单点一份寿司 30 秒必到,误差不超过一秒。缺点是传送带只认寿司,想临时炒个菜?没辙。 这两家餐厅,就是今天的主角:GPU 与 LPU。GPU 靠大规模线程并行加动态调度赢得高吞吐,LPU 靠确定性数据流加静态编译赢得低延迟。本文用“厨房”这个比喻贯穿始终,从架构、调度、延迟、编程、能效、场景、生态七个维度全面对比,帮你搞清楚:什么任务该去哪家餐厅吃饭。

岗位关联

掌握 GPU 与 LPU 的取舍逻辑,才能为推理服务选对引擎、控住延迟预算与成本——这是大模型落地时代越来越稀缺的硬技能。

目录
  1. 可视化演示
  2. 架构设计哲学
  3. 调度执行机制
  4. 延迟吞吐对比
  5. 编程开发体验
  6. 能效资源利用
  7. 应用场景选择
  8. 生态演进趋势
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

双模式对比LPU与GPU:架构对比(LPU确定性数据流vs GPU多SM并行调度)和性能对比(延迟/吞吐/batch/编程/能效五维度评分)。

本节配有交互动效(进入视口后自动加载,约 3KB)。

架构对比 LPU:确定性数据流+静态编译+SRAM近存计算 GPU:SIMT多线程+动态调度+HBM高带宽 LPU: low_latency | GPU: high_throughput LPU追求极低延迟,GPU追求高吞吐量。

架构设计哲学

老板要开一家能天天量产同款 AI 大菜的中央厨房,两位设计师各交一份图纸。A 图纸是开放式大排档:一百名厨师每人一小灶,谁拿到单谁煮,追求“同一时间出锅的菜最多”。B 图纸是寿司传送带:只有五六个站点,每个站点只做切鱼、捏米、摆盘中的一个动作,追求“每道菜的节奏完全可控”。前者是 GPU,后者是 LPU。

GPU 的架构哲学从显卡时代就定型了:用海量简单小核心(上千个 CUDA core)堆出高吞吐,靠运行时调度器把任务塞给空闲核心。LPU 则信奉另一套信条——算数很便宜,搬数据才是瓶颈,于是把芯片设计成一条数据流流水线,并采用哈佛架构(指令存储与数据存储分开)避免取指令和数据搬运抢同一条路,让每个时钟周期都有确定的数据到达乘加单元。

两者都受“内存墙”约束:芯片算得再快,喂不饱数据就是空转。GPU 的策略是堆并行度——同时运行上千个线程,让总线始终有人排队取数,从而逼近峰值带宽;LPU 的策略是堆确定性——用大容量片上 SRAM 与静态流编排,让每个周期该搬哪个数据都是编译期定好的,小并行度也能吃饱带宽。于是带宽利用率 η 成了度量“喂食效率”的标尺。

大排档要热闹,靠人海把档口占满;传送带要稳,靠每个站点精确的喂料时刻表。同样是“喂饱做菜单元”这件事,两种思路从这里开始分道扬镳。

η=B有效B峰值\displaystyle \eta = \frac{B_{有效}}{B_{峰值}}
η 是带宽利用率:实际搬进运算单元的数据除以硬件理论最高搬运能力,越接近 1 说明喂食效率越高。
  1. B_有效 是什么实际搬运进运算单元的有效数据量,单位是 GB/s。
    B有效=有效数据字节数耗时\displaystyle B_{有效} = \frac{有效数据字节数}{耗时}
  2. B_峰值 是什么硬件理论极限带宽,由内存位宽与工作频率共同决定。
    B峰值=位宽×频率\displaystyle B_{峰值} = 位宽 \times 频率
  3. η 的含义GPU 需要高线程并行才能逼近 1,LPU 靠确定性数据供给在小并行下也能接近 1。
    η=B有效B峰值≤1\displaystyle \eta = \frac{B_{有效}}{B_{峰值}} \le 1

调度执行机制

后厨最乱的时刻是高峰期。大排档没有固定流程:菜一进后门,谁空谁接,厨师还会临时换锅(上下文切换),订单一多,门前排起长队。寿司传送带恰好相反:开店前师傅就把皮带速度和站点顺序排成时刻表,运行时没有任何人需要“现场决定”下一步——一切都在编译期(开店前)定完了。

GPU 的调度是动态的:warp scheduler(线程束调度器)在每个周期挑选就绪的线程束上执行单元,并且靠线程超量分配——创建比物理核心多几倍的线程——让一组线程等数据时立刻切换另一组上来,把“等待访存”变成“切换线程”,从而榨干吞吐。代价是:单个请求的命运取决于当时负载,延迟天然有方差。

LPU 的调度是静态的:编译器把计算图翻译成逐周期的硬件动作,数据在流水线站点之间按固定节拍前进,运行时不设仲裁器、不排队。利特尔定律告诉我们,系统里滞留的请求越少,单个请求等待越短——LPU 牺牲灵活性,换来的正是“滞留请求趋近于零”的确定性。

大排档的队伍长短全看运气,传送带的队伍永远不会超过站点总数。动态调度换来的是“什么都能炒”的自由,静态编译换来的是“每秒都一样稳”的承诺——看你愿意为哪一种买单。

L=λ×W\displaystyle L = \lambda \times W
利特尔定律:系统内滞留的请求数 L 等于请求到达速率 λ 乘以平均响应时间 W。想降延迟,要么降到达率,要么让每个请求在系统里待的时间变短。
  1. λ 平均到达速率新请求进入厨房的节奏,单位是“个/秒”,高峰时 λ 暴涨。
    λ=到达请求数时间\displaystyle \lambda = \frac{到达请求数}{时间}
  2. W 平均响应时间每个请求从进队到出锅的耗时,包含排队与服务两段。
    W=W排队+W服务\displaystyle W = W_{排队} + W_{服务}
  3. L 在途请求数系统内同时滞留的请求总量,三者同涨同跌,是“队伍长度”。
    L=λ×W\displaystyle L = \lambda \times W

延迟吞吐对比

客人真正在意的是“我点的这盘菜多久上”,也就是单请求延迟。大排档高峰期一小时能出 1000 盘(吞吐高),但单盘可能要等 15 分钟,而且忽快忽慢;传送带一小时只有 400 盘(吞吐低),但第一盘 30 秒必到,误差不超过一秒。

衡量大模型服务体验的第一个指标是首 token 延迟(TTFT,Time To First Token):用户发出问题到看见第一个字的间隔。它由三段组成:排队时间、调度开销、计算时间。GPU 在高并发下把资源优先喂给大批次请求,单个请求排在后面,T_排队 迅速膨胀;LPU 的静态流水线让每个请求以固定节拍穿过五个站点,三段时间都近乎常数。

于是出现有趣的倒挂:论聚合吞吐(tokens/秒),GPU 在大 batch 下遥遥领先;论单请求延迟(毫秒/请求),LPU 在实时交互下完胜。批次越大 GPU 越划算,但交互场景凑不起大 batch——用户等不了别人一起生成,这正是 LPU 的用武之地。

宴会拼产出,堂食拼稳定。点单模式决定该选哪家厨房,而不是单纯看谁“快”——吞吐与延迟,从来是两个维度的指标。

T首token=T排队+T调度+T计算\displaystyle T_{首token} = T_{排队} + T_{调度} + T_{计算}
首 token 延迟由排队、调度、计算三段相加。GPU 的波动主要来自前两段,LPU 把三段全部压成常数。
  1. T_排队请求在队列里等待空闲资源的时间,是 GPU 延迟波动的主要来源。
    T排队=队列长度平均服务速率\displaystyle T_{排队} = \frac{队列长度}{平均服务速率}
  2. T_调度运行时分配执行单元与切换上下文的开销,大排档厨师“换锅”的时间。
    T调度=T仲裁+T切换\displaystyle T_{调度} = T_{仲裁} + T_{切换}
  3. T_计算数据真正流经算数与访存单元的时间,LPU 靠编译期编排让它近似常数。
    T计算=T访存+T运算\displaystyle T_{计算} = T_{访存} + T_{运算}

编程开发体验

想在大排档掌勺,厨师得学几百道菜并懂得协作:什么时候抢单、什么时候让锅、怎么拼桌(共享显存),这是 CUDA 的心智模型。想给传送带排行程,你只需要画一张“有哪些站、按什么顺序、盘子怎么走”的路线图,细节时刻表交给师傅(编译器)去排。

GPU 编程用 CUDA/C++,开发者要管理 grid-block-thread 三级层次、同步与共享内存,还要主动做线程超量分配来隐藏访存延迟。这套模型对“并发控制”的要求极高,新手写出的 kernel 常常利用率惨淡——线程多了打架、少了饿肚子。LPU 编程更接近数据流:把模型画成算子图,由静态编译器映射到流水线站点并排出逐周期计划。开发者不用管线程、锁和调度,心智负担从“并发”转移到“数据流拓扑”。

代价是:任何结构改动都要重新编译,不可能像 GPU 那样在运行时灵动应变。超量比 R 这个指标能形象说明差异:GPU 鼓励你写 4 到 32 倍于核心数的线程来藏延迟,而在 LPU 的编程模型里,这个概念根本不存在。

大排档培养的是全能应变厨师,传送带要的是会画路线图的规划师。两套开发体验没有绝对好坏,只看你的团队更擅长“管理并发”还是“设计拓扑”。

R=N线程N核心\displaystyle R = \frac{N_{线程}}{N_{核心}}
超量比:你写的线程总数是物理核心数的多少倍。GPU 靠这个倍数隐藏访存延迟,LPU 没有这个概念,因为数据何时到达由编译期决定。
  1. N_线程开发者创建的线程总数,CUDA 程序中常远超物理核心。
    N线程=grid 线程数×block 线程数\displaystyle N_{线程} = \text{grid 线程数} \times \text{block 线程数}
  2. N_核心物理执行单元数量,一块 GPU 上可达数千个。
    N核心=SM 数量×每 SM 核心数\displaystyle N_{核心} = \text{SM 数量} \times \text{每 SM 核心数}
  3. R 超量比GPU 靠超量线程切换隐藏访存延迟,LPU 不需要,因为流水线已静态排满。
    R=N线程N核心\displaystyle R = \frac{N_{线程}}{N_{核心}}

能效资源利用

深夜没有客人时,大排档的厨师仍开着灯候场,调度器和一堆线程上下文也在偷偷耗电;传送带则只有盘子经过的站点在动作,没菜时皮带停转,能源一分不多花。这个画面,就是两者能效差异的缩影。

GPU 的功耗大头有四块:海量线程上下文、动态调度器、高带宽 HBM 显存的持续供电、以及负载不足时的执行单元空转。服务类负载往往长期处于中低利用率,此时大量核心闲着吃电,有效能效骤降。LPU 以 SRAM 为主要数据介质,数据供给路径短且确定,没有“为了隐藏延迟而空转”的浪费,单位功耗产出的 token 数在低并发场景显著占优。

数据中心账本上,能效 E 直接决定单 token 成本。GPU 在满载大 batch 时能效并不差,但真实推理服务的负载曲线像潮汐,波谷期的空转才是成本黑洞——这正是 LPU 撕开的口子。

煤气费账单很诚实:大排档高峰时摊薄成本划算,深夜只剩几个客人简直是烧钱;传送带无论流量宽窄,都能保持低成本运转。能效这笔账,要按负载曲线来算,而不是按峰值功率算。

E=吞吐量功耗\displaystyle E = \frac{吞吐量}{功耗}
能效比:每瓦每秒产出的 token 数。吞吐量除以功耗,数值越高,单位算力成本越低。
  1. 吞吐量每秒产出的 token 数,推理服务最关心的聚合指标。
    吞吐量=Token数秒\displaystyle 吞吐量 = \frac{Token 数}{秒}
  2. 功耗平均功率,包含计算单元与数据搬运的全部能耗。
    功耗=总能耗秒\displaystyle 功耗 = \frac{总能耗}{秒}
  3. E 能效比每瓦每秒的 token 产出,LPU 在低并发场景优势明显,GPU 在满载时迎头赶上。
    E=吞吐量功耗\displaystyle E = \frac{吞吐量}{功耗}

应用场景选择

聪明的老板不会只开一种厨房:外卖平台高峰(高并发批量订单)交给大排档,高端堂食(实时交互)交给传送带,两种都做最赚钱。硬件选型也是同样的道理。

模型训练必须喂海量数据、做海量矩阵运算,而且不在乎单个 step 的延迟——这是 GPU 的天然主场;离线批量推理(摘要、分类、向量化)同样吞吐优先,GPU 性价比最高。反过来,实时对话、Agent 多轮工具调用、流式输出对首 token 延迟和稳定性极其敏感,用户等不了“凑一个大 batch 再一起算”,LPU 的确定性流水线正好命中这个需求。

现实中更常见的是混合部署:路由网关按延迟预算把交互流量导给 LPU 实例,把后台批量任务导给 GPU 实例。做决策时别只看采购价,要算总成本——延迟损失系数 β 越大(比如金融交易助手、医生问诊系统),越值得为低延迟硬件付费。

选厨房看客源结构,不看哪家厨师名气大。没有万能硬件,只有匹配场景的部署组合——训练、离线、实时,各回各家。

C总=C硬件+C能耗+β×L平均\displaystyle C_{总} = C_{硬件} + C_{能耗} + \beta \times L_{平均}
总成本 = 硬件摊销 + 能源开销 + 延迟折算的业务损失。β 是每毫秒平均延迟对应的业务代价,β 越大越该选 LPU。
  1. C_硬件采购成本按服役期摊销,GPU 单价高但通用性强。
    C硬件=采购价服役月数\displaystyle C_{硬件} = \frac{采购价}{服役月数}
  2. C_能耗电费与散热投入,长期运行的隐形大头。
    C能耗=功耗×电价×时长\displaystyle C_{能耗} = 功耗 \times 电价 \times 时长
  3. β × L_平均 时延损失平均延迟乘以每毫秒业务损失系数,实时场景 β 远大于离线场景。
    C时延=β×L平均\displaystyle C_{时延} = \beta \times L_{平均}

生态演进趋势

大排档的菜谱满街都是,任何厨师跟着学都能上手(CUDA 十几年沉淀的库、框架、教材);传送带是祖传秘方,部件专用,学的人少但目标精准。技术生态的扩散就像一条 S 曲线:先慢热,再爆发,后饱和。

GPU 的护城河不只是硬件,更是 CUDA 生态——PyTorch、TensorFlow、vLLM、Triton 全部优先拥抱它,换硬件的迁移成本极高。LPU 的软件栈年轻但目标明确:专攻 LLM 推理的计算图编译与运行时,不做通用计算。更广的视野里,TPU、NPU 和各种专用加速器都在蚕食通用 GPU 的领地,AI 芯片进入“专用化浪潮”。

但竞争之外,融合已经开始:GPU 厂商不断优化推理侧的确定性调度与批处理策略,LPU 类芯片则逐步开放更多算子与可编程性。未来的 AI 芯片格局大概率不是“谁取代谁”,而是分工细化后的生态共存——就像餐厅最终都会同时拥有大排档和传送带。

新菜谱的流行也逃不过 S 曲线:第一家店门口排队(起步慢),被美食博主一推(爆发),最后满大街都是(饱和)。硬件胜负有时不在芯片本身,而在生态扩散的那条曲线走得有多陡。

N(t)=K1+e−r(t−t0)\displaystyle N(t) = \frac{K}{1 + e^{-r(t - t_0)}}
S 曲线:生态规模随时间按“慢—快—慢”的节奏增长。K 是饱和上限,r 是扩散速率,t_0 是增速最快的拐点时刻。
  1. K 饱和规模生态成熟时开发者数量与库体量的上限。
    K=lim⁡t→∞N(t)\displaystyle K = \lim_{t \to \infty} N(t)
  2. r 扩散速率网络效应越强增长越快,CUDA 生态的 r 远大于新生框架。
    r=1K⋅dNdt\displaystyle r = \frac{1}{K} \cdot \frac{dN}{dt}
  3. t_0 拐点时刻增速最快的时刻,之后进入饱和期,再投入边际收益递减。
    t0=ln⁡(K/N0)r\displaystyle t_0 = \frac{\ln(K / N_0)}{r}

AI 应用场景

实时 AI 助手与 Agent 推理服务

阶段:模型推理与在线部署

解决的问题:传统 GPU 推理服务在高并发时首 token 延迟波动大(排队加调度抖动),用户感知为“转圈圈”;Agent 多轮工具调用会累积延迟,每轮慢 200ms,五轮对话就慢一秒。LPU 的确定性流水线让每个请求的延迟接近常量,体验稳定可控。传送带接堂食,每桌客人都知道菜 30 秒必到。

具体案例:某智能客服平台把对话模型从 GPU 推理服务切到 LPU 后,首 token 延迟从 600ms±300ms 降到 200ms±10ms,用户重复提问率下降约 18%。

大模型训练与离线批量推理

阶段:模型训练与批处理

解决的问题:训练需要海量矩阵运算和灵活的动态图迭代,GPU 的大规模并行与成熟生态无可替代;离线批任务(摘要、分类、向量化)吞吐优先、延迟无所谓,LPU 的确定性优势在这里派不上用场。办千人宴会,大排档的人海战术最划算。

具体案例:某内容平台每天用 GPU 集群处理 5000 万条评论的情感摘要,按大 batch 填满显存,单条延迟完全不在优化目标内。

混合推理网关的流量路由

阶段:推理服务架构设计

解决的问题:单一硬件无法同时满足实时交互与批量吞吐。网关按延迟预算路由:把实时对话、Agent 调用导给 LPU 低延迟实例,把后台批量任务导给 GPU 高吞吐实例,摊薄整体 TCO。餐厅领位员把堂食客人带到传送带座位,把外卖大单交给大排档后厨。

具体案例:某大模型 SaaS 平台在统一网关配置了两条路由策略:用户聊天和工具调用走 LPU 实例,夜间日志分析和批量向量化走 GPU 实例,整体推理成本降低约 30%。

Python 演示

python62 行
import randomimport statistics def simulate_gpu(jobs, workers, arrival_interval):    """GPU 风格: 动态调度, 服务时间随机波动, 有空闲 worker 才派单"""    random.seed(42)    queue = []    busy_until = [0] * workers    origin = []    finish_time = []    t = 0    next_arrival = 0    done = 0    while done < jobs:        if next_arrival == t:            queue.append(t)            next_arrival += arrival_interval        for w in range(workers):            if busy_until[w] <= t and queue:                arrive = queue.pop(0)                service = random.randint(2, 8)                busy_until[w] = t + service                origin.append(arrive)                finish_time.append(t + service)                done += 1        t += 1    return [f - a for a, f in zip(origin, finish_time)] def simulate_lpu(jobs, stages, arrival_interval):    """LPU 风格: 静态流水线, 每周期整体前移一步, 无排队无抖动"""    pipeline = [None] * stages    origin = []    finish_time = []    t = 0    next_arrival = 0    done = 0    while done < jobs:        if next_arrival == t:            pipeline[0] = t            next_arrival += arrival_interval        if pipeline[-1] is not None:            origin.append(pipeline[-1])            finish_time.append(t)            pipeline[-1] = None            done += 1        for s in range(stages - 1, 0, -1):            pipeline[s] = pipeline[s - 1]        pipeline[0] = None        t += 1    return [f - a for a, f in zip(origin, finish_time)] def report(name, delays):    avg = statistics.mean(delays)    p99 = sorted(delays)[int(len(delays) * 0.99) - 1]    jitter = statistics.pstdev(delays)    print(f"{name}: 平均={avg:.1f}周期 p99={p99:.1f}周期 抖动={jitter:.1f}") if __name__ == "__main__":    gpu_delays = simulate_gpu(jobs=100, workers=4, arrival_interval=3)    lpu_delays = simulate_lpu(jobs=100, stages=5, arrival_interval=3)    report("GPU 动态调度", gpu_delays)    report("LPU 静态流水线", lpu_delays)
目的:用两个模拟器重现“GPU 动态调度”与“LPU 静态流水线”的延迟分布差异,输出平均延迟、p99 延迟和抖动(标准差)。
  1. random.seed(42)固定随机种子,让对比实验可复现。
  2. queue.append(t)请求先进入等待队列,模拟 GPU 的排队效应。
  3. if busy_until[w] <= t and queue:有空闲 worker 才派单,对应动态调度。
  4. service = random.randint(2, 8)服务时间随机波动,是 GPU 延迟抖动的根源。
  5. pipeline = [None] * stages流水线固定 5 个站点,像传送带的五个工位。
  6. if pipeline[-1] is not None:最末端有 token 就出货,每周期最多出一件。
  7. pipeline[s] = pipeline[s - 1]所有站点整体前移一步,静态编排的铁律。
  8. statistics.pstdev(delays)延迟标准差,运行后会发现 LPU 恒为 0 而 GPU 明显非零。

常见误区

误区看到 LPU 延迟低、能效高的宣传数字,觉得 AI 基础设施应该全部换成 LPU,GPU 可以淘汰了。

正解延迟低不等于吞吐高。GPU 在模型训练和大批量推理的 token 吞吐上仍然领先,而且 CUDA 生态成熟、迁移成本低。比喻:传送带出餐稳定,但办千人宴会还得靠大排档的百人并行。两者是“场景分工”,不是“代际替换”。

为何常见:媒体常拿“快 10 倍”这类标题吸引眼球,忽略了前提是“低延迟推理场景”,读者容易把局部优势误解为全面优势。

误区用 CPU 的直觉套 GPU,以为 GPU 核心少、主频低,所以单请求慢,提升延迟得加核提频。

正解GPU 核心数量非常大(一块卡数千个 CUDA core),延迟高主要来自动态调度、排队等待,以及“必须凑够并行度才能吃饱带宽”的特性。比喻:大排档厨师很多,但单点一道菜要等有空位的厨师、等配菜齐了才能下锅,流程的不确定性造成延迟。

为何常见:人们习惯用单核 CPU 的“频率决定快慢”来理解所有芯片,忽略了 GPU 吞吐优先的设计逻辑。

误区认为每秒能处理 1000 个请求的硬件,单个请求一定也很快。

正解吞吐是聚合视角,延迟是单个请求视角,两者可以严重背离。GPU 一次处理大批请求总吞吐高,但某个请求可能排队很久;LPU 牺牲峰值吞吐换取每个请求稳定。比喻:大排档一小时出 1000 盘,但最后一盘可能等 15 分钟。

为何常见:日常语言里“快慢”太笼统,人们很少区分“系统整体多快”和“我这一个请求多快”两个视角。

误区LPU 把调度全部放在编译期,那换个新模型是不是要重新流片?听起来毫无灵活性。

正解静态编译只是把调度决策从运行时提前到编译期,模型结构变化时重新编译计算图即可,芯片本身支持该算子集就能复用。灵活性确实不如 GPU 万能,但远不是“硬件固化”。比喻:传送带轨道固定,但盘子的摆放顺序可以重新编排——只要还是寿司,轨道不用重铺。

为何常见:把“编译期静态”误解为“硬件不可变”,混淆了资源规划(软件)与硬件能力(硅片)两个层次。

面试题

Q1. LPU 的设计初衷主要是优化哪一类指标?

单选题 · easy

  • A.训练吞吐量
  • B.单请求延迟← 正确答案
  • C.显存容量
  • D.网络带宽

答案:B。LPU 从诞生起就瞄准“低延迟推理”,用静态编译的流水线把首 token 延迟压到毫秒级。A 训练吞吐是 GPU 的强项;C、D 都不是 LPU 的设计重点。好比传送带的目标是“单盘快而稳”,而不是“一次出千盘”。

Q2. GPU 应对 AI 工作负载的核心策略是什么?

单选题 · easy

  • A.大规模线程并行← 正确答案
  • B.静态编译流水线
  • C.专用扩展指令集
  • D.量子比特叠加计算

答案:A。GPU 把任务拆给上千个小核心,靠大规模线程并行和动态调度让总线持续繁忙,以吞吐量取胜。B 静态编译流水线是 LPU 的思路;C 是指令集扩展路线;D 与经典芯片无关。大排档靠人海战术,传送带靠固定节奏。

Q3. 系统内平均请求数、到达率与平均响应时间的关系由哪个定律描述?

单选题 · mid

  • A.香农信道公式
  • B.利特尔排队定律← 正确答案
  • C.摩尔集成定律
  • D.阿姆达尔定律

答案:B。利特尔定律 L = λW,系统里滞留的请求数等于到达率乘以响应时间。GPU 高峰时 λ 大、W 大,L 膨胀,延迟恶化;LPU 用确定性流水把 W 压低。香农公式管信道容量,摩尔定律管晶体管密度,阿姆达尔定律管并行加速上限,都与排队延迟无关。

Q4. 首 token 延迟的正确组成是?

单选题 · mid

  • A.排队加调度加计算← 正确答案
  • B.显存加缓存加带宽
  • C.并行加流水加预测
  • D.编译加链接加运行

答案:A。T_首token = T_排队 + T_调度 + T_计算。GPU 高并发下排队与调度抖动是大头;LPU 通过静态编排把后两项压成常数。B 讲的是存储层次,C 是通用优化手段,D 是编译过程,都不是请求从发出到首字返回的延迟构成。

Q5. GPU 为什么需要超量分配线程?

单选题 · mid

  • A.用切换隐藏访存延迟← 正确答案
  • B.用并行摊薄访存开销
  • C.用流水提高主频速度
  • D.用缓存扩大存储容量

答案:A。访存延迟长达几百周期,若线程数与核心数相等,访存时核心只能干等。超量分配 R=N线程/N核心 让一组线程等数据时立刻换另一组上,把“等待”变成“切换”。就像大排档一个灶眼配多个备菜厨师:主厨颠勺时备菜已切好下一道。LPU 不需要,因为数据何时到达由编译期定好。

Q6. LPU 获得确定性延迟的关键机制是什么?

单选题 · hard

  • A.运行时动态抢占调度
  • B.编译期静态编排资源← 正确答案
  • C.虚拟机热迁移方案
  • D.网络拥塞控制协议

答案:B。LPU 把计算图画成数据流,编译器在编译期排好每个周期、每个站点的动作,运行时没有仲裁和排队,所以延迟恒定。A 动态抢占恰恰是 GPU 的做法;C、D 都不在芯片架构层。好比传送带的时刻表在开业前定死,而不是营业时现商量。

Q7. 混合推理集群中,路由网关通常把实时对话流量送给哪类实例?

单选题 · hard

  • A.LPU 低延迟实例← 正确答案
  • B.GPU 高吞吐实例
  • C.CPU 兼容性实例
  • D.FPGA 可重构实例

答案:A。实时对话对首 token 延迟和稳定性敏感,应路由到 LPU 低延迟实例;后台批量任务(日志分析、离线向量化)留给 GPU 高吞吐实例。CPU 用于兼容性兜底,FPGA 用于自定义算子加速,都不是实时大模型推理的主力。传送带接堂食,大排档接宴会,网关就是店里的领位员。

Q8. 下列哪些是 LPU 相对 GPU 的优势?

多选题 · mid

  • A.延迟波动更小← 正确答案
  • B.软件生态更全
  • C.能效比更高← 正确答案
  • D.训练速度更快

答案:AC。延迟波动更小(确定性流水)和能效比更高(低并发无空转)都是 LPU 的特点。B 软件生态更全是 GPU 的优势(CUDA 积累深厚);D 训练速度更快同样属于 GPU。选 A、C。

Q9. 下列哪些说法正确描述了 GPU 与 LPU 的架构差异?

多选题 · hard

  • A.动态调度对静态编译← 正确答案
  • B.通用核心对专用流水← 正确答案
  • C.线程模型对数据流图← 正确答案
  • D.串行执行对并行执行

答案:ABC。GPU 用动态调度、通用小核心、线程模型;LPU 用静态编译、专用流水线、数据流模型,A/B/C 都正确。D 说 LPU 是串行执行完全错误——LPU 也是并行的,只是并行方式从“人海抢单”变成“流水线各站同时干活”。

Q10. 关于技术生态的 S 曲线,下列哪些说法正确?

多选题 · extreme

  • A.起步期增长率最低← 正确答案
  • B.拐点处增长最快← 正确答案
  • C.成熟期规模饱和← 正确答案
  • D.生态增长永无止境

答案:ABC。S 曲线三阶段:起步慢(增长率低)、拐点爆发(增长率最大)、成熟饱和(接近上限 K),A/B/C 正确。D 违背了生态规模存在物理与市场上限的基本事实,饱和后增长趋零。CUDA 生态已走完中段,LPU 生态还在爬坡期。