深夜十一点,一家社区咖啡馆突然涌进三十个刚看完演出的顾客。店长只有两位咖啡师、一台咖啡机、八个座位。如果按晚间高峰配置人手和设备,白天空闲时就得付冤枉钱;如果只按平时低峰配置,高峰期顾客会等得摔门而去。真正的解法是——这家咖啡馆根本不必自己养这么多人。它接入了一个“共享中央厨房”:客流暴增时,厨房自动多派两名咖啡师过来支援;客流退去,支援的人手自动撤走。咖啡馆按实际送出的咖啡杯数付费,不用为闲置的厨具和围裙买单。这就是“无服务器推理”的方式——Fireworks AI把大模型部署变成了这间共享中央厨房,而你的应用就是那间随时可能被客流冲垮的咖啡馆。开发者不需要购买、预热、维护任何GPU服务器,只需要点单——发送一个API请求——厨房就会在数秒内为你端出一杯热气腾腾的模型回答。本篇文章会用这间“共享厨房”的故事,带你走遍Fireworks AI无服务器推理的每个角落:自动扩缩容、LoRA动态加载、量化与连续批处理、JSON模式输出、冷启动、成本计算,以及它在端侧部署与资源受限场景中的工程价值。

岗位关联

掌握无服务器推理,你就能以“按杯付费”的灵活成本应对任何流量波动,把精力从机房运维转移到模型效果与产品迭代上——这是现代AI工程团队最核心的成本杠杆之一。

目录
  1. 可视化演示
  2. 自动扩缩容:深夜咖啡馆的客流魔法
  3. 平台能力:共享中央厨房的设备间
  4. 推理优化:咖啡师的省力妙招
  5. LoRA与JSON模式:定制菜单与标准订单
  6. 延迟与冷启动:烤箱预热的艺术
  7. 成本分析:包厨房还是按杯付?
  8. 端侧部署策略:本地小店先挡一波
  9. 架构选型决策:店长的经营智慧
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示Fireworks AI无服务器推理管道、自动扩缩容机制与推测解码优化,支持模式切换查看不同优化策略。

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

推理管道 5阶段无服务器管道 Token流经各阶段 T=sum(t_i) 请求自动路由到GPU实例

自动扩缩容:深夜咖啡馆的客流魔法

把时光拨回那间社区咖啡馆。如果它自己养一支“终极团队”——十位咖啡师、五台商用咖啡机——白天工作日可能只有三位客人,其余七位咖啡师在擦杯子、发呆、刷手机。你养的是“峰值容量”,但付钱的却是365天。Fireworks AI无服务器推理的解法,是把咖啡馆和共享中央厨房连接起来:客流曲线飙升时,中央厨房自动派出更多咖啡师和咖啡机;客流退潮,支援力量自动解散。你只为实际端出去的杯子付费,不为空闲的围裙买单。

技术视角下,这套魔法名叫“自动扩缩容”,英文叫autoscaling。平台持续监控你的端点负载,比如并发请求数和平均推理时长,当队列开始积压,平台在数秒内拉出新的GPU实例加入服务;当压力消退,多余实例被回收。从你的代码视角看,这一切完全透明——你仍然只向同一个URL发请求,URL背后是1台还是100台GPU,由平台判断。

那么,一个关键问题来了:给一个端点分配多少实例才够?这是容量规划的核心。假设单台推理实例每秒最多处理$\mu$个请求,当前平均每秒到达的请求数为$\lambda$,那么所需的实例数可以由排队论给出:

回到咖啡馆:自动扩缩容是为“客流波动”设计的,而按请求计费则是它的孪生兄弟。你不需要预购“咖啡师月卡”,每次请求按token消耗支付。对流量曲线忽高忽低的初创团队来说,这是把固定成本变成了变动成本——而变动成本,意味着你有更多预算花在模型效果上,而不是花在维护一台24小时空转的GPU上。

n=⌈λμ⌉\displaystyle n = \left\lceil \frac{\lambda}{\mu} \right\rceil
这就是“最少需要多少个咖啡师才能让队伍不无限增长”的数学表达:每秒到的客人除以每位咖啡师每秒能做的咖啡数,向上取整。
  1. 理解到达率与服务率$\lambda$是平均每秒到达推理端的请求数,相当于开门瞬间涌进来的顾客数;$\mu$是单个实例每秒最多处理的请求数,相当于一位咖啡师一分钟出杯的上限。
    λ,μ\lambda, \mu
  2. 计算实例需求$\dfrac{\lambda}{\mu}$算出“理论最少实例数”;如果每秒来5个请求、单实例每秒处理2个,就需要2.5台,取整得到3台。
    λμ\dfrac{\lambda}{\mu}
  3. 向上取整$\lceil \cdot \rceil$符号表示向上取整,因为实例不能按0.5台出现,配置不足会引发无限排队。
    ⌈λμ⌉\left\lceil \frac{\lambda}{\mu} \right\rceil

平台能力:共享中央厨房的设备间

这间“共享中央厨房”不是杂牌军。Fireworks AI把它打造成了专业级别的设备间:底层是高性能NVIDIA GPU集群,上层是API优先的调用接口。开发者不用关心GPU型号、CUDA版本、显存分配、容器编排——这些全被“厨房管理方”包走,开发者的全部工作变成:上传一个模型,获得一个HTTPS端点,然后像调用普通Web API一样调用它。

“数秒内部署自定义模型”是这里最惊艳的招牌。你不需要等待GPU集群调度、不需要手动配置推理优化参数、不需要写任何部署脚本。你上传权重或指定一个开源模型ID,平台完成容器化、量化、路由注册,几秒后返回一个可调用的端点URL。这种“点单即上桌”的体验,让模型迭代周期从“周”缩短到“分钟”。

厨房的底层还藏着多租户调度的智慧。平台在集群上稀疏调度不同用户的请求,把GPU算力像切蛋糕一样动态分配。对于用户来说,端点始终存在,但支撑它的物理资源是可以流动的。这带来一个工程红利:你可以创建多个模型端点,用不同的LoRA适配器为不同业务服务,系统把这些请求融合进同一批次的GPU计算中——就像不同桌的顾客点的都是拿铁时,咖啡师可以一次打三杯奶泡。

推理优化:咖啡师的省力妙招

共享厨房的咖啡师凭什么能在不增加人手的情况下多出30%的咖啡?靠的不是魔法,而是三把效率工具。第一把叫“量化压缩”,相当于把大块的浓缩咖啡冰块换成浓缩液——模型权重从16位浮点数压缩到8位甚至4位整数,内存占用大幅下降,单卡能同时承载的模型变多,速度因此提升,代价是极微小的精度损失:

第二把工具叫“连续批处理”。传统餐包模式是“凑满一桌才开一次火”,若有人点单慢,整桌人干等;连续批处理让咖啡师变成流水线作业——每个token生成完就立即让出计算资源给下一条请求,GPU永远不闲着。第三把工具叫“推测解码”:让一个小模型先草拟一串候选token,再由大模型一次性校验,正确就整段通过。这好比咖啡师凭经验先打三杯,再让店长快速试味,批量确认——吞吐量大幅提升,而输出结果不变。

压缩率=Q16\displaystyle \text{压缩率} = \frac{Q}{16}
如果把一个16bit的FP16权重换成4bit的整型,压缩率就是4/16=1/4,模型大小缩到原来的四分之一,显存压力骤减,推理延迟也随之下降。
  1. 识别原始精度模型权重默认常用16位浮点数表示,每一位bit携带的数值精度影响最终输出,但也占用显存。
    16 bit\text{16 bit}
  2. 量化位数$Q$表示量化后的位宽,常见有8、4;位宽越小,压缩越狠但精度损失越大。
    Q=8 或 4Q = 8 \text{ 或 } 4
  3. 计算压缩率量化后的位宽与原始位宽之比,就是占用的内存比例。4bit对16bit的实际效果是省下75%内存。
    Q16\frac{Q}{16}

LoRA与JSON模式:定制菜单与标准订单

共享厨房能服务五花八门的咖啡馆,靠的是“特色菜单插片”——这就是LoRA。LoRA(低秩适配)是一种轻量微调技术:基础大模型权重冻结不动,只训练一小批额外参数作为“插片”。Fireworks支持动态加载LoRA适配器:同一个基础模型,可以根据请求头里带的“菜单编号”,实时切换不同的LoRA权重,实现“一个炉灶同时烹制川菜和粤菜”,却不需要为每道菜建一个新厨房。这意味着你能在同一个端点上服务多个垂直业务模型,成本几乎不增加。

与LoRA搭档的是“JSON模式输出”。大模型默认是自由文本生产者,像一位灵感充沛但字迹潦草的厨师;JSON模式则要求它必须按结构化格式交卷——确定好字段名、嵌套结构和类型,比如{"event": "order", "items": ["latte"], "total": 32}。工程师拿到这样的输出,可以直接用json.loads()解析,无需依赖正则表达式去猜字段位置。

两者结合后,业务流的工程化程度大大提升:LoRA把模型变成了“可插拔的专家”,JSON模式把输出变成了“机器可读的API”。在端侧部署的语境里,这意味着设备端只需要发送结构化请求,云端返回结构化结果,两端之间不需要脆弱的自然语言解析层。

延迟与冷启动:烤箱预热的艺术

共享厨房有一个隐患:深夜突然接到大订单,烤箱从冷启动到可用的时间可能超过顾客容忍范围。无服务器推理同样存在“冷启动”——长时间没有请求后,实例被回收,下一个请求到来时,平台必须重新加载模型、填充GPU显存、编译内核,这段时间内首Token延迟偏高。这是无服务器架构先天需要面对的问题。

但Fireworks采用了几道缓冲技巧。第一道是“预热池”:平台保留少量温实例,像咖啡师备好的打奶器,随时可以接单。第二道是“软扩容预测”:根据请求量增长趋势,提前把新实例加载进等待队列。第三道是“持续小流量保活”:如果你可以接受少量战术性请求,可以设计一个定时ping机制,让实例始终处于温暖状态。

把延迟拆开看,一次推理的总时延由两部分构成:

对端侧场景,冷启动的控制尤其重要:手机端的小模型负责“秒回”高频简单请求,只有复杂的推理才交给无服务器端点。

Ttotal=Tprefill+Tdecode\displaystyle T_{\text{total}} = T_{\text{prefill}} + T_{\text{decode}}
第一个部分是“读完整道题”的时间——模型预填充,即处理你的输入上下文并计算第一个输出token;第二个部分是“一个字一个字往外蹦”的时间——解码阶段,即逐个生成后续token。
  1. 预填充阶段$T_{\text{prefill}}$是模型并行处理全部输入token的时间,实际就是“读题”耗时,长输入会显著拉长这一阶段。
    TprefillT_{\text{prefill}}
  2. 解码阶段$T_{\text{decode}}$是逐个token自回归生成的时间,每生成一个新token都要做一次完整的模型前向计算,是延迟的主要来源。
    TdecodeT_{\text{decode}}
  3. 合并总时延两者相加就是端到端响应时间。冷启动主要影响$T_{\text{prefill}}$之前的等待;推测解码主要压缩$T_{\text{decode}}$。
    Ttotal=Tprefill+TdecodeT_{\text{total}} = T_{\text{prefill}} + T_{\text{decode}}

成本分析:包厨房还是按杯付?

现在到了店长最关心的账本问题。方案A是“包厨房”:租一台专用GPU,按时长付费;方案B是“共享厨房”:Fireworks无服务器,按请求和token数付费。两者都不是绝对更优,关键看你的流量形状。

如果你的流量像心电图——大部分时间平稳,偶尔剧烈波动——按请求计费完胜。因为专用GPU在低峰期空转的成本由你全额承担,而无服务器只需要为实际推理付费。但如果你的流量是一条接近水平的高位直线,比如一个稳定服务数万日活用户的To B应用,专用GPU的规模效应会拉低单位成本。

成本预估的核心公式也非常直白。给定平均请求率$\lambda$、平均每次请求的token数$b$、单token单价$p$,每分钟的推理成本为:

Cost=λ×b×p\displaystyle \text{Cost} = \lambda \times b \times p
如果是无服务器方案:每秒请求数 × 每次请求token数 × 每token单价,三者相乘即成本。这个式子可以帮你快速判断“按量付费”和“包GPU”哪个更适合你的项目。
  1. 请求率$\lambda$是每秒请求数,代表单位时间点单量,流量越大成本越高。
    λ\lambda
  2. 单请求token数$b$是平均每次请求消耗的token数——输入和输出token之和,对应咖啡杯的容量大小。
    bb
  3. 单token定价$p$是平台对每个token的定价,是成本计算的单位价格。
    pp
  4. 三者连乘$\lambda \times b \times p$得到单位时间成本。无服务器计费的本质就是“把每次推理的资源用量乘以单价”。
    Cost=λ×b×p\text{Cost} = \lambda \times b \times p

端侧部署策略:本地小店先挡一波

无服务器推理解决的是“云端的弹性”,但真正极致的端侧部署,要求手机、平板、IoT设备上先跑一个“本地小模型”。这就是端云协同的部署策略:本地模型处理隐私敏感的低时延请求,无服务器云端处理复杂高难请求。

端侧部署有三大优化手段。第一是模型量化,把模型从16bit压到4bit,让手机内存装得下——这正是前面讲过的压缩率公式的直接应用。第二是知识蒸馏:用一个强大的大模型当老师,教一个小模型学会它的“判断习惯”,相当于让总厨把配方简化成新手可执行的“精简菜谱”。第三是任务裁剪:端侧模型不必全能,只需要擅长“意图识别”或“关键词提取”这类窄任务,剩余交给云端。

在这个架构里,Fireworks无服务器推理的价值不是替代端侧,而是补齐端侧的空缺——本地模型判断不了的高难样本,转发给云端端点;流量突发时,云端自动扩容吸收冲击,本地端侧不会被打垮。这也回应了本文开头的厨房比喻:你的咖啡馆永远保留两位核心咖啡师(端侧小模型),但高峰期的能力由共享厨房动态补足。

架构选型决策:店长的经营智慧

最后一节,是时候把决策权交还给开发者本人了。什么时候选用Fireworks无服务器推理?三个判据:第一,流量波动明显;第二,需要快速验证多个模型或LoRA变体;第三,团队规模小,没有专职的推理运维工程师。如果以上三条中了两条,共享厨房就是理性的选择。反过来,如果流量稳定且量大、对延迟要求极端苛刻、并且你有成熟的GPU运维团队,专属GPU集群或自建推理服务更划算。

混合部署通常是常态。一个典型的AI产品架构可以是这样的:手机端量化小模型处理关键词提取和意图分类;边缘网关用中等模型做实体抽取;云端无服务器端点承载全文摘要、对话生成、结构化信息抽取等重计算任务。各层之间用JSON模式互相通信,延迟、成本与隐私在每一层分别得到优化。

最终,无服务器推理不是银弹,它是在“成本弹性”与“运维复杂度”之间做最优解的一种工程选择。理解它的运作机制、成本模型与优化技术,你就能像那位聪明的店长一样,在深夜客流涌来的时候,从容地拨通共享厨房的电话。

AI 应用场景

移动端个人助手:端云协同的守护者

阶段:端侧部署与优化、在线推理

解决的问题:手机端模型能力有限,全部上云又造成隐私泄露和网络依赖。传统方案要么纯端侧导致能力不足,要么纯云端导致每次请求都要上传隐私数据。

具体案例:一款记账App内置端侧量化小模型,先在本地识别用户的语音输入并抽取日期、金额、类别等实体;只有遇到复杂句式或长文本时,才将内容匿名化后通过Fireworks无服务器端点调用大模型,并配合JSON模式输出结构化账单。流量高峰如月末记账潮时,无服务器端点自动扩容,用户无感知。冷启动问题通过端侧预热与低频保活请求缓解。

电商大促客服机器人:扛住百倍流量

阶段:在线推理与服务、自动扩缩容

解决的问题:大促期间客服查询量瞬间暴涨,固定GPU集群一台都不能少,但日常流量又太低,资源浪费严重。传统自建推理服务需要提前数天扩容,无法应对突发。

具体案例:电商平台在大促前通过LoRA为客服模型加载“大促专用话术”适配器,不用重新部署整个模型。大促当天流量曲线陡增,Fireworks无服务器端点自动拉起上百个实例,按请求计费,活动结束后实例自动回收。团队节省的GPU预购成本转投到模型效果优化上。

边缘网关的内容审核管道

阶段:离线批量处理与实时过滤

解决的问题:IoT设备产生大量图片文本,若全部发送云端审核,带宽和成本都不可接受。传统方案全靠设置网关阈值,规则僵硬、误判率高。

具体案例:工业摄像头网关部署一个蒸馏后的小模型,先在本地用宽松阈值过滤明显正常的样本;对模糊或可疑的少数样本,批量打包上传到Fireworks无服务器端点,用JSON模式输出结构化审核结果。无服务器的自动扩缩容让审核管道的吞吐量随上报量波动,成本与使用量严格挂钩。

Python 演示

python64 行
import asyncioimport jsonimport time # 模拟调用无服务器推理端点:批量推理 + JSON模式 + 成本估算# 实际使用:pip install fireworks-ai,然后 from fireworks.client import AsyncFireworks API_KEY = "YOUR_FIREWORKS_API_KEY"MODEL = "accounts/fireworks/models/llama-v3p1-8b-instruct"COST_PER_1K_OUTPUT_TOKENS = 0.2  # 示例单价,代表单位为 美元/千输出token async def call_llm(session, prompt, temperature=0.3):    """发送一次无服务器推理请求,带JSON模式"""    payload = {        "model": MODEL,        "messages": [{"role": "user", "content": prompt}],        "temperature": temperature,        "response_format": {"type": "json_object"},    }    # 实际环境:response = await session.chat.completions.create(**payload)    await asyncio.sleep(0.3)  # 模拟网络延期    return {        "text": json.dumps({"answer": "42", "confidence": 0.95}),        "usage": {"completion_tokens": 18},    } async def run_batch(prompts, concurrency=5):    """控制并发,模拟流量波动下的批量请求"""    sem = asyncio.Semaphore(concurrency)    total_cost = 0.0     async def worker(prompt):        nonlocal total_cost        async with sem:            result = await call_llm(None, prompt)            output_text = json.loads(result["text"])            tokens = result["usage"]["completion_tokens"]            cost = tokens / 1000 * COST_PER_1K_OUTPUT_TOKENS            total_cost += cost            return prompt[:12], output_text["answer"], cost     results = await asyncio.gather(*(worker(p) for p in prompts))    return results, total_cost def main():    prompts = [        "把这句话转成JSON:明天下午三点开会",        "把这句话转成JSON:买两杯拿铁,一共36元",        "把这句话转成JSON:周一早上九点见牙医",    ] * 4  # 共12条请求,模拟流量小高峰     results, total_cost = asyncio.run(run_batch(prompts, concurrency=5))     print("=== 无服务器推理批量结果 ===")    for snippet, answer, cost in results:        print(f"{snippet:<12} -> {answer:<6} 成本 ${cost:.4f}")    print(f"\n总请求数: {len(results)}")    print(f"总成本: ${total_cost:.4f}")    print("流量高峰由平台自动扩容,按请求计费,无需预购GPU。") if __name__ == "__main__":    start = time.time()    main()    print(f"耗时: {time.time() - start:.2f}s")
目的:演示以异步批处理方式调用无服务器大模型端点,开启JSON模式输出结构化结果,并实时估算按token计费的推理成本——这就是“共享厨房按杯收费”的代码化表达。
  1. async def call_llm(session, prompt, temperature=0.3):定义一次无服务器调用;实际项目中session是Fireworks异步客户端。
  2. "response_format": {"type": "json_object"}开启JSON模式,强制模型返回可解析的JSON,对应厨房里的“标准订单”。
  3. await asyncio.sleep(0.3)模拟网络延迟;真正代码中这是await session.chat.completions.create(...)所在位置。
  4. sem = asyncio.Semaphore(concurrency)控制并发度,模拟客户端侧的限流策略,防止短时请求洪峰击穿应用。
  5. cost = tokens / 1000 * COST_PER_1K_OUTPUT_TOKENS根据输出token数估算单次请求成本,对应无服务器按token计费的计费模型。
  6. asyncio.gather(*(worker(p) for p in prompts))并发发送所有请求,模拟流量波峰时端点的并发压力。

常见误区

误区以为无服务器会自动无限扩容,发送多少请求都能立刻处理,永远不排队、不报错。

正解自动扩缩容有上限。共享厨房虽然可以临时加派咖啡师,但灶台数量、燃气管道流量、送餐通道都有物理极限。平台会在账号级别和端点级别设置并发配额,超过配额时请求会被限流或排队。你仍然需要做容量预估,只是从“预估并预购”变成了“预估并设置上限”。

为何常见:平台宣传强调“自动扩缩容”,让初学者误以为资源是无穷的,忽略了配额上限和物理约束。

误区既然按请求付费不用为闲置付费,那不管什么场景,无服务器推理都是成本最优解。

正解按请求计费赢在“波动”和“低总量”。如果一条推理管道24小时满负荷运行,比如每周7×24小时稳定处理每秒50个请求,专用GPU的单位token成本往往显著更低。无服务器的单价中包含了弹性调度和多租户分摊的管理成本,对高稳定流量反而是溢价。

为何常见:人们倾向于比较“峰值成本”而非“均值成本”,忽略了无服务器单价中隐含的弹性溢价。

误区以为开了JSON模式,模型输出的JSON就完全符合你自定义schema,甚至可以保证具体字段值合法。

正解JSON模式保证输出是语法合法的JSON,通常也能遵循字段结构和类型,但它不保证字段值满足业务规则。比如你要求"age"字段是整数,模型可能输出{"age": "unknown"}。生产环境依然需要一遍轻量校验层,必要时用函数调用辅助兜底。

为何常见:把“语法约束”误当成“语义约束”,忽略了语言模型本身是概率生成器而非声明式程序。

误区认为选择了端侧小模型,就不需要用云端推理;或者反过来,用了无服务器推理,就不做端侧优化。

正解生产环境通常是“端云协同”:端侧量化小模型处理简单高频请求,无服务器端点兜底复杂请求和流量波峰。它们解决的是不同层级的问题——端侧解决延迟、隐私、离线可用,无服务器解决弹性、容量、大模型能力。互斥思维会让方案走向极端。

为何常见:教材通常单独讲端侧推理或云端推理,忽略了真实的混合部署才是常态。

误区认为无服务器推理的冷启动延迟完全不可控,后端无法做任何事,只能被动接受。

正解可以通过多种策略显著缓解:保留“极低频保活请求”维持暖实例、为关键端点开启预热配置、把首Token不敏感的流量(如批量离线分析)调度到可能冷启动的实例上。正确做法是把冷启动纳入架构设计,而不是把它当黑盒风险。

为何常见:教程只讲无服务器的机制,却不提客户端和服务端的工程配合手段,让人误以为冷启动是完全不可干预的。

面试题

Q1. Fireworks无服务器推理最核心的计费方式是?

单选题 · easy

  • A.按GPU小时计费
  • B.按请求和token数计费← 正确答案
  • C.按月固定套餐计费
  • D.按模型大小计费

答案:B。无服务器推理按实际推理用量(请求数与token数)付费,对应“按杯付费”的共享厨房,GPU空转不花钱。答案A是专用GPU的计费方式;C、D不存在于主流无服务器模型推理中。

Q2. 自动扩缩容的主要触发依据是?

单选题 · easy

  • A.用户手动调整实例数
  • B.部署时间的长短
  • C.端点负载指标← 正确答案
  • D.模型参数量大小

答案:C。平台根据请求速率、排队长度、GPU利用率等负载指标自动扩容或缩容,类似厨房根据排队人数增减人手。A是人工扩缩容;B、D与流量波动无关。

Q3. LoRA适配器在无服务器推理中的核心价值是?

单选题 · mid

  • A.提升基础模型的参数量
  • B.让一个基础模型支持多个垂直任务← 正确答案
  • C.减少输出token的数量
  • D.保证JSON输出格式正确

答案:B。LoRA在冻结基础模型权重的基础上加载轻量适配器,使同一端点动态切换不同业务能力,像共享厨房更换菜单插片。A错误,LoRA不改变基础模型大小;C、D都不是LoRA的功能。

Q4. JSON模式输出主要解决什么问题?

单选题 · mid

  • A.降低推理延迟
  • B.减少模型参数
  • C.使输出变为合法结构化数据← 正确答案
  • D.提高模型准确率

答案:C。JSON模式约束模型输出为符合JSON语法的结构化内容,下游可直接json.loads(),省去正则解析。A、B、D都不是JSON模式提供的特性。

Q5. 请求到达率λ=12/s,单实例服务率μ=4/s,最少需要多少个实例?

单选题 · hard

  • A.3← 正确答案
  • B.2
  • C.4
  • D.8

答案:A。n=⌈λ/μ⌉=⌈12/4⌉=3。若只配置2个实例,队列将无限膨胀,像只有两名咖啡师面对十二人的订单队伍。

Q6. 推理优化中“连续批处理”与“推测解码”的共同点是?

多选题 · mid

  • A.都降低延迟← 正确答案
  • B.都提升吞吐量← 正确答案
  • C.都减少模型权重
  • D.都不改变模型权重← 正确答案

答案:ABD。连续批处理通过细粒度调度提升GPU利用率,推测解码用小模型草稿加速验证,两者都能降低延迟、提升吞吐,且都不修改模型权重,所以A、B、D正确。C错误,两者都不会减少权重。

Q7. 冷启动延迟产生的主要原因是?

单选题 · mid

  • A.网络带宽不足
  • B.实例需重新加载模型← 正确答案
  • C.用户请求量过大
  • D.JSON模式校验失败

答案:B。无服务器在空闲后回收实例,新请求要重新加载权重、填充显存和编译内核,这段冷启动时间拉高首Token延迟。A、C不是冷启动根因;D与冷启动无关。

Q8. 关于无服务器推理的成本,哪两个判断正确?

多选题 · hard

  • A.低流量波动场景按请求计费更省← 正确答案
  • B.稳定高饱和流量适合专用GPU← 正确答案
  • C.无服务器单价通常低于专用GPU
  • D.按请求计费不依赖token用量

答案:AB。流量低且波动大时按请求计费避免闲置成本,A正确;稳定高吞吐下专用GPU单位成本更低,B正确。C错误,无服务器单价含弹性溢价,通常不低于自建;D错误,无服务器成本与token数成正比。

Q9. 端侧部署中“知识蒸馏”指的是?

单选题 · easy

  • A.大模型压缩成小模型← 正确答案
  • B.把小模型扩展为大模型
  • C.用CPU替代GPU
  • D.把模型量化成4bit

答案:A。蒸馏是让大模型当老师,训练小模型模仿其输出分布,压缩模型规模。B方向反了;C是硬件替换;D是量化,与蒸馏是不同手段。

Q10. 以下哪些策略可以有效控制冷启动?

多选题 · extreme

  • A.低频保活请求维持暖实例← 正确答案
  • B.为端点开启预热配置← 正确答案
  • C.冷敏感流量调度到暖实例← 正确答案
  • D.关闭自动缩容

答案:ABC。保活请求、预热配置、路由调度到暖实例都是实践的冷启动缓解手段,A、B、C均正确。D关闭自动缩容违背无服务器初衷,且不能消除冷启动。