混合AI架构, 大模型部署, RAG, 成本优化, 系统架构
今年接了个制造业老客户的活儿,要把他们的质检流程智能化。方案评审时,客户上来就问能不能全用公有云API,省事。我们团队对视一眼,心里都清楚,这事儿没那么简单。产线数据别说传出去了,连出车间都得审批。最后我们落地的是混合AI架构——核心敏感推理走本地,泛化能力要求高的走公有云API。这篇文章就聊聊我们趟过的坑,这套架构到底适合谁,以及它带来的运维复杂度,绝不止多部署一套服务那么简单。
先交代背景。客户是做精密零部件加工的,产线上有几十个高清摄像头,每天产生大概几个TB的图片数据。他们想用AI做表面缺陷检测,还要做设备预测性维护。前者涉及产品图纸和工艺参数,属于核心商业机密;后者数据敏感性稍低,但对时效性要求极高。我们评估过纯公有云方案,成本确实诱人,按量付费,初期几乎零门槛。但客户法务一听数据要出园区,直接摇头。纯本地部署呢?买卡、建集群、养算法工程师,预算直接翻倍,而且他们IT团队就三个人,根本玩不转大模型运维。
这就引出了混合架构的核心设计思路:按数据敏感度和任务特性做流量拆分。我们的做法是,在客户机房部署了一台搭载两张消费级显卡(RTX 4090)的推理服务器,跑经过量化蒸馏的7B参数模型,专门处理涉及图纸的缺陷分类任务。同时,在公有云上开通了通用大模型API,处理设备日志的语义理解和生成维修报告草稿这类非敏感任务。中间用一套网关做路由,规则很简单:凡是请求头带“internal”标记的,一律走本地;其余走云端。
原理上,这套设计其实是在“数据主权”和“模型能力”之间找平衡点。本地小模型虽然聪明程度比不上云端千亿参数的大模型,但经过针对性的微调和RAG(检索增强生成)加持,在特定垂直任务上的准确率能做到90%以上,完全够用。而云端API的优势在于常识理解和开放域对话,这是本地小模型的短板。我们团队之前写过一篇文章,讲用通用模型+RAG平替行业大模型,省了60%预算,思路跟这个同源——别迷信大而全,要匹配场景。
实操层面,代码结构比想象中简单。核心就是一个路由分发器,用Python写也就百来行。关键逻辑是判断请求类型和敏感级别,然后分发到不同的推理后端。给大家看个简化版的伪代码:
# 混合路由核心逻辑defroute_request(task_type:str,payload:dict):# 1. 判断数据敏感度ifpayload.get('data_level')=='confidential':# 2. 敏感数据,走本地模型# 本地模型处理结构化缺陷数据result=local_llm.infer(task_type,payload['image'])returnresultelse:# 3. 非敏感数据,走云端API# 云端处理非结构化文本,如维修日志摘要cloud_prompt=build_prompt(task_type,payload)result=call_cloud_api(cloud_prompt)returnresult但这里有个大坑,差点让我们项目延期。本地那台机器,刚开始推理速度慢成狗,一张图要分析4秒,产线节拍根本跟不上。后来我们试了各种土方子,最后是三重优化把延迟降到了1.2秒以内。第一,模型量化,从FP16降到INT8,显存占用直接砍半。第二,开启KV缓存复用,因为质检场景里,同一个产品型号的提示词前缀基本一样,缓存命中率极高。第三,换推理框架,从原始的Transformers库换成了vLLM,吞吐量翻了一倍不止。这些细节,不实际跑一遍生产环境,光看文档是体会不到的。
踩坑远不止性能。运维复杂度才是混合架构真正的隐形杀手。以前纯用云端API,我们只需要盯着调用量和延迟。现在呢?本地那台服务器成了新的单点。显卡驱动更新导致CUDA版本不匹配,模型服务崩溃;机房夏天温度过高,显卡降频,推理延迟飙升;还有一次,客户自己的IT小哥误操作改了IP配置,整个内网路由全乱了。我们团队为此专门写了个运维脚本,每天凌晨自动检查模型服务健康状态,异常就重启并推送告警到钉钉群。说白了,这套架构省了云端的算力钱,但多出来的运维人力成本,也得算进总账里。
那到底什么场景适合混合架构?我个人的判断是,满足以下两条就得认真考虑:一是数据有硬性的合规或保密要求,出不去;二是业务对响应延迟有要求,但又不至于苛刻到必须用GPU集群。像我们做的这个质检项目,数据敏感度极高,但并发量不大,本地两张卡完全扛得住。反过来,如果业务是面向海量用户的AIGC工具,数据又都是公开的,那纯云端API无疑是最经济的选择,没必要自己折腾硬件。
最后说点实在的。混合AI架构不是什么银弹,它更像是一种工程妥协的艺术。它确实帮我们客户省下了购买行业大模型授权的高昂费用——那玩意儿报价动辄几十万,我们用通用模型加微调加RAG,效果差不多,成本省了大概60%。但代价是,你得有一个能同时搞定模型调优、推理加速和基础运维的团队,哪怕就一两个人。如果你们团队连Docker都没玩熟,我建议还是先老老实实用公有云API,把业务逻辑跑通再说。架构选型这事儿,永远是权衡,不是炫技。你们在实际项目里遇到过类似的两难选择吗?欢迎在评论区聊聊你们的解法。