---
title: 批量推理的快与慢：不能一概而论
canonical: "https://xiaofeng.dev/writing/batch-inference-fast-slow/"
pubDate: 2026-07-25
author: 唐小锋 Xiaofeng TANG
description: 最近在做一个用到大模型 API 的项目，需求并不复杂：从网页正文里提取关键词，识别品牌名及其别名，再判定文章对该品牌的情感倾向——正面或负面。这类语义理解与情感分析正是大模型所擅长的，并不需要深度推理。
tags: [Batch Inference, AI]
---

# 批量推理的快与慢：不能一概而论

最近在做一个用到大模型 API 的项目，需求并不复杂：从网页正文里提取关键词，识别品牌名及其别名，再判定文章对该品牌的情感倾向——正面或负面。这类语义理解与情感分析正是大模型所擅长的，并不需要深度推理。

任务简单，但量不小。最朴素的场景，一百来篇文章。逐条调用 API，或常规并发调用，要么触发频率限制，要么整体吞吐太慢。

一番调研后发现，像火山引擎这类平台，除了单条调用的 API，还提供「在线推理」与「批量推理」两种方式。批量推理又分两种模式：批量推理任务，处理静态存储的数据；类在线推理方式的接入点，处理动态数据。我的场景是成批的网页文章，属于前者。此前未曾用过，研究下来发现它恰好适配——提示词几乎不变，变化的只是输入数据。

## 一、为什么快？

批量推理与我原先的设想不同。我曾以为批量只是把请求堆在一起发送，其实不然——它真正的优势在于：当所有请求共享同一套提示词、只有数据内容在变时，服务端的缓存命中率极高。

官方的说法更直接：输入输出单价为在线推理的 50%，命中缓存后输入单价还能再降 60%——缓存红利不只是速度，也是成本。配额上默认 100 亿 token/天，支持工单提额，且得益于灵活的调度策略，高峰期仍能保持可观的处理速率。

我将 300 篇文章一次提交，本已做好等待的准备，结果一两分钟便返回——超出预期。

这个接口在使用时有几个要点：

- **极高的并发**。以异步 IO 方式调用，5 万并发亦可承载。前提是解除本地的并发限制，避免客户端自身成为瓶颈。
- **超长的超时设置**。数千条请求在服务端并行处理需要时间，超时宜设长——24 小时的超时并不罕见，也是批量任务的常态。
- **429 的指数退避重试**。服务端过载会返回 429，不应硬性重试，而以指数退避策略等待其恢复后再发。

值得一提的是改造门槛：Batch Chat 接口的参数与普通 Chat 接口一致，只需关注超时与并发策略即可切换，无需改动业务逻辑——这也是我能快速上手的原因。

返回后一次性取回批量结果。整个过程，几分钟即可完成。

## 二、换个深度推理模型，结果截然不同

就在我以为找到了理想方案时，今天又试了一次——这次换用了深度思考的 doubao-seed-2-1-pro，且正值周日。几乎相同的场景，表现却截然不同。

此前在 doubao-seed-2.0-mini 这类轻量模型下，几分钟即可完成；这次换上深度推理的 doubao-seed-2-1-pro，几乎无法推进。

官方文档中所述的「等待与排队」并非虚言。在不拥挤的模型上，排队几乎不存在；但在较为拥挤的、或思考深度更高的模型上，批量推理的快法便失效——上千条请求进入队列，深度推理本身较慢，越深越慢，堆积只会加剧。

但这一次的慢，究竟该归咎于 doubao-seed-2-1-pro 本身推理更深、更慢，还是周日平台容量紧张、排队加剧，单凭一次对比难以分清。

## 结论：不能一概而论

批量推理的快慢，不能只看接口。doubao-seed-2.0-mini 上又快又稳，doubao-seed-2-1-pro 上几乎跑不动——但这并不意味着「深度推理模型就不该用批量」。深度推理的适用场景与真实效果，需要自己去交叉验证：有时瓶颈在模型自身的推理深度与速度，有时则在平台的并发容量与排队状况，二者交织，不能一概而论。

接口提供了高并发、长超时、指数退避这些手段，平台也给了低单价、高配额与灵活调度，但最终跑得快不快，是模型、平台容量、时段共同决定的——三者的组合，只有实测才说得清。

**参考链接**：火山引擎 · 批量推理

![图片](/writing/wechat-tech-assets/batch-inference-fast-slow/00157ed7a7ef3028.png)
