跳到主要内容

生产环境中的扩散模型:演示之后无人讨论的工程栈

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的图像生成功能刚刚走红。每天有 100,000 个请求涌入。API 提供商的速率限制在技术上可以应对。但 p95 延迟爬升到了 12 秒。你的 NSFW 分类器正在误报合法的医学插图。合规性审计显示,加州的《人工智能透明度法案》(AI Transparency Act)要求自 2024 年 9 月起添加水印。支持团队收到了 50 个来自内容被静默拦截的用户的待处理工单。当你意识到需要一套真正的生产级技术栈时,你已经在危机模式中虚耗了两周。

这就是“直接调用 API”失效的时刻——不是因为 API 本身不好,而是因为演示的成功暴露了你对推理延迟、内容策略、审核公平性和监管合规性所做出的每一项假设。教程中从未展示过的工程工作就在这里。

硬件现实:VRAM 并非细节

GPU 显存需求是生产部署中首先浮现、而在演示中被隐藏的问题。这些数字至关重要,因为它们决定了你的整个推理架构。

Stable Diffusion 1.5 和 2.1 在 512×512 分辨率下需要 4–6 GB 的 VRAM——可以在单个消费级 GPU 上轻松运行。SDXL 在 1024×1024 下飙升至 10–12 GB,占满了一张中端显卡。Flux(目前开源权重中的质量领军者)起步就是 24 GB,且没有商量余地。通过 FP8 量化,你可以在几乎无损质量的情况下将其压缩到 12–16 GB,但这种优化需要刻意的工程设计,而非简单的开关切换。

模型的选择迫使你进行硬件级别的选择:SDXL 使用一个 GPU 档位,Flux 使用另一个。云实例落入不同的价格区间。竞价实例(Spot instance)的可用性因档位而异。硬件选择会传导到每一个下游决策,包括批处理大小(batch sizes)、自动扩容余量和容灾架构。

图像生成的批处理(Batching)具有一个文本推理所不具备的尴尬属性:增加一倍的批处理大小大致会增加一倍的延迟,而吞吐量的提升微乎其微,因为单张图像已经使 GPU 计算饱和。标准的动态批处理方法——将请求累积成批后再统一触发——会为每个请求增加 10–20ms 的队列延迟,且收益有限。StreamDiffusion 通过将顺序去噪流水线重构为批处理流水线阶段来解决这个问题,在低步数生成上实现了 13–59 倍的加速。对于 SLO 要求低于 500ms 的交互式场景,流水线级别的重构是实现该 SLO 的唯一途径。

LoRA 热插拔是推理复杂度的集中地。 拥有用户上传风格适配器或微调权重的平台面临着在一个共享基座模型上服务数百个不同 LoRA 权重的问题。天真的方法——为每个 LoRA 启动单独的模型实例——会按比例消耗 GPU 容量,并导致每次请求都发生冷启动。

Hugging Face 的生产部署通过共享基座模型并动态服务增量权重,在不到 5 个 A10G GPU 上实现了 100+ 个不同的 LoRA 模型。预热时间从 25 秒降至 3 秒;响应时间从 35 秒降至 13 秒。一个容易被忽视的约束是:最大 LoRA 秩(rank)必须在初始化时声明,而不是根据每个请求动态决定。你无法动态路由那些使用不同秩和层目标训练的任意用户上传 LoRA。推理架构要求对哪些层可热插拔以及秩的上限保持严谨——否则你只能重新加载整个模型。

合规税:审核是一个工程问题

生产环境中的图像生成带有三个合规性问题:过滤你不应产出的输出、证明你产出的输出溯源,以及抵御将你的流水线武器化的输入。

NSFW 分类尚未解决

显而易见的方法——在生成的图像上运行分类器并抑制被标记的输出——是标准做法,但并不精确。对已部署的 NSFW 分类器的研究显示,非问题内容存在约 85% 的误报率。更关键的是,这些分类器表现出人口统计学偏见:女性在进行相同活动时被误判为 NSFW 的比例是男性的 2–3 倍。部署一个现成的分类器并称之为“审核”,在降低法律风险的同时,也会同样快地产生新的法律风险。

生产环境的方法是多阶段的:在推理前分析提示词(在不消耗 GPU 周期的情况下拦截明显的违规案例),然后在生成后对图像进行分类。这两个阶段可以使用针对不同精确率/召回率权衡而调整的不同模型。生成前提示词分析成本较低但拦截较少。生成后图像分类拦截较多,但会给每次成功的生成增加 200–500ms 的延迟。

更深层次的问题是策略差异。主要的 API 提供商实施的是针对最广泛用户群体的保守全局内容策略。如果你的产品合法地需要加入成人内容、医学插图或属于其压制类别的教育解剖图,你无法在运行时协商内容策略例外。你必须要么构建一套符合自身用例纬度的审核栈,要么通过切换供应商来绕过限制——而这本身就是合规和供应商锁定的风险。

水印已成为监管基础设施

2024 年 9 月生效的《加州 AI 透明度法案》(SB 942) 要求在 AI 生成内容的合同中加入水印条款。欧盟《AI 法案》规定,合成内容必须具有可见的人类可识别标记以及机器可读的元数据。C2PA(内容溯源和真实性联盟)于 2025 年被批准为 ISO/IEC 22144 标准,目前已被包括 BBC、美联社 (AP)、路透社和《纽约时报》在内的主要新闻机构采用。

生产环境的水印技术栈有两个独立的层。主动清单 (C2PA Content Credentials) 在每张图像上附加一个经过签名的 JSON-LD 数据包,记录生成模型、编辑历史和加密的托管链。这些信息随文件移动,并可在编辑和分发工作流中互操作。被动水印(Google SynthID,于 2024 年开源)嵌入了肉眼不可见的像素级更改,这些更改在经过 JPEG 压缩、裁剪和标准图像滤镜处理后依然存在。这两层是互补的:元数据丢失不会消除水印,而水印被剥离也不会抹除溯源记录。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates