1. 金融场景下技术中台要解决的真问题
聊技术中台之前,得先把一个误区掰开:很多人以为中台就是"把公共代码抽出来做成服务"。这个理解放在互联网公司也许勉强成立,但放到银行体系里,几乎等于没说到点子上。银行做人工智能技术中台,真正要解决的是三个层面的矛盾——算力与数据的孤岛化、模型交付的作坊化、以及合规与效率的天然对立。
先说孤岛化。一家中等规模的银行,往往同时存在十几个甚至几十个业务系统,每个系统背后可能都有一套独立的AI能力:信贷审批有评分卡模型,客服有意图识别模型,风控有反欺诈模型,影像处理有OCR模型。这些模型分散在不同团队手里,用的框架不一样,部署方式不一样,连数据格式都各玩各的。结果就是同一个"客户画像"能力,三个部门各做一遍,浪费人力不说,口径还对不上。技术中台的第一使命,就是把这些重复建设的能力收敛成统一供给。
再说作坊化。传统模式下,一个AI项目从立项到上线,数据科学家在本地笔记本上跑通模型,然后交给工程团队"翻译"成生产代码,中间要经历漫长的对接、扯皮、返工。这个过程的本质问题是:模型的开发环境和运行环境是割裂的。技术中台要做的,是让模型从训练到部署走一条标准化的流水线,把"手工作坊"变成"流水线工厂"。
最后是合规与效率的对立。金融行业受监管约束极强,任何模型上线都要过模型验证、可解释性审查、数据安全评估。如果每个项目都从头走一遍流程,效率低到无法忍受。中台的价值在于把合规要求内嵌到流程里,做成标准动作,而不是每次临时补材料。
理解了这三个真问题,才能理解为什么银行的技术中台不能照搬互联网那一套。互联网中台追求的是极致复用和快速迭代,银行中台必须在复用、效率和安全之间找平衡点。这个平衡点,才是整个建设思路的核心。
2. 分层架构的取舍:为什么这样切分而不是那样切分
2.1 四层架构的划分逻辑
一套能落地的AI技术中台,通常会被切成四层:基础设施层、平台服务层、能力层、应用层。这个切法不是拍脑袋定的,每一层的边界都对应着一类明确的责任。
基础设施层管的是算力资源——GPU集群、CPU集群、存储、网络。这一层的核心诉求是资源池化和弹性调度。为什么要把算力池化?因为AI任务的资源需求波动极大:训练任务可能要吃满几十张卡跑好几天,而推理任务可能只需要零点几张卡。如果每个团队各自申请固定资源,整体利用率会低得可怕。池化之后统一调度,实测能把GPU利用率从百分之二三十拉到百分之六十以上。
平台服务层是整座中台最核心的部分,它包含数据管理、模型开发、模型训练、模型部署、模型监控这几大模块。这一层解决的是"AI生产流水线"的问题。数据管理负责样本的采集、清洗、标注、版本管理;模型开发提供统一的Notebook环境和算法框架;模型训练负责任务编排和分布式调度;模型部署负责把模型变成可调用的服务;模型监控负责上线后的效果追踪和漂移告警。
能力层是面向业务的可复用AI能力集合,比如OCR识别、人脸核身、语音转写、文本分类、知识图谱查询等。这一层的特点是开箱即用,业务方不需要懂算法,直接调API就行。
应用层则是各个业务系统,信贷、风控、营销、客服等等,它们消费能力层提供的服务。
2.2 为什么能力层和平台服务层要分开
这是很多团队容易搞混的地方。有人会问:既然平台服务层已经能训模型、部署模型了,为什么还要单独搞一个能力层?
原因在于使用者的差异。平台服务层的用户是算法工程师和数据科学家,他们需要的是灵活性和控制力,要能改网络结构、调超参、换损失函数。能力层的用户是业务开发人员,他们要的是稳定和简单,最好一行代码就能调通。
如果把这两类需求混在一层,结果就是:要么平台做得太死板,算法工程师用不了;要么平台做得太灵活,业务方根本不会用。分开之后,平台服务层专注"造模型",能力层专注"用模型",各司其职。
2.3 一个容易被忽略的横切层:治理与安全
除了上面四层,还有一层是横切的,贯穿所有层级——治理与安全。它包括权限管理、数据脱敏、模型审计、访问控制、密钥管理等等。
为什么这一层要横切而不是单独放一层?因为它不是一个独立的处理环节,而是渗透在每个环节里的约束。数据管理要脱敏,模型训练要权限校验,模型部署要审计留痕,能力调用要限流鉴权。把它做成横切层,意味着每个模块在设计时都要考虑安全,而不是事后打补丁。
提示:横切层的设计最容易在项目初期被忽视,等到监管检查时才临时补,代价极大。建议在架构评审阶段就把治理需求列成清单,逐条对应到各层的设计里。
3. 模型从训练到上线的流水线怎么搭
3.1 数据准备阶段的标准化
模型效果好不好,七分看数据。技术中台在数据准备阶段要解决的核心问题是样本的可复现性。
什么叫可复现?就是给定一个模型版本,能准确知道它用的是哪一批数据、经过了哪些清洗步骤、标注规则是什么版本。这听起来简单,做起来极难。很多团队的现状是:数据科学家在本地存了一份CSV,改了几版之后自己都记不清哪版是哪版。
标准做法是引入数据版本管理。每次样本集变更都生成一个新版本号,记录变更内容、操作人、时间戳。同时把清洗和标注的规则也纳入版本管理,规则变了要能追溯到影响范围。
具体操作上,可以这样落地:
- 建立统一的样本存储目录,按"业务域/场景/日期/版本"组织路径
- 每次生成样本集时自动打标签,记录数据来源、过滤条件、采样比例
- 标注环节引入双人复核机制,标注结果和复核记录一并入库
- 样本集对外只暴露版本号,业务方引用时锁定版本,避免"数据漂移"
3.2 模型训练的资源调度策略
训练环节最头疼的是资源争抢。几十个团队同时提交训练任务,GPU就那么多,怎么分?
常见的调度策略有三种:队列调度、优先级调度、抢占式调度。队列调度最简单,先来先服务,但会导致紧急任务排不上队。优先级调度给任务打优先级标签,高优先级先跑,但可能出现低优先级任务饿死。抢占式调度允许高优先级任务打断低优先级任务,灵活但实现复杂。
实际落地时,往往是组合使用。比如把任务分成三档:紧急任务走专用队列,保证资源;常规任务走共享队列,按优先级排序;探索性任务走低优先级队列,资源空闲时才跑。
这里有个经验:不要追求百分之百的资源利用率。留出百分之十到二十的缓冲资源,用于应对突发任务和故障转移,比把资源榨干更稳妥。我见过太多团队为了追求利用率指标,把集群排得满满当当,结果一个节点故障就引发连锁反应。
3.3 模型部署的三种模式与选型
模型训练完,怎么变成线上服务?主流有三种模式:
| 部署模式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 在线服务 | 实时推理,如风控评分 | 延迟低,响应快 | 资源常驻,成本高 |
| 批量推理 | 离线跑批,如日终报表 | 资源利用率高 | 时效性差 |
| 边缘部署 | 终端设备推理 | 无需网络,隐私好 | 模型规模受限 |
选型的核心依据是业务对延迟的要求。信贷审批这种场景,用户点了提交要等结果,必须走在线服务。而像客户流失预警这种,每天跑一次就够了,走批量推理更划算。
在线服务还有一个细节要注意:模型加载方式。是启动时一次性加载到内存,还是按需加载?前者响应快但占内存,后者省内存但首次调用慢。对于大模型,通常采用常驻加预热的方式,服务启动后先跑几次空推理把模型"焐热"。
3.4 上线后的监控与回滚机制
模型上线不是终点,而是起点。线上环境和训练环境永远有差异,模型效果衰减是必然的。
监控要盯三个指标:调用量、响应延迟、预测分布。调用量突然下跌可能是上游系统故障,响应延迟飙升可能是资源不足,预测分布偏移可能是数据漂移。前两个是工程指标,第三个是算法指标,缺一不可。
回滚机制必须提前设计好。模型出问题时,要能在分钟级切回上一个稳定版本。实现方式通常是保留最近N个版本的模型文件,配合配置中心的开关,一键切换。这里的关键是版本要可追溯,每个线上请求都能查到用的是哪个模型版本,否则出了问题连原因都定位不了。
4. 能力复用这件事,难点到底在哪
4.1 能力抽象的粒度问题
能力复用听起来美好,做起来最难的是粒度把握。
粒度太粗,比如把"信贷审批"整个做成一个能力,那别的场景根本用不上,因为信贷审批的逻辑和营销审批完全不同。粒度太细,比如把"字符串匹配"做成一个能力,那业务方还不如自己写两行代码。
合适的粒度是什么?我的经验是按原子能力切分,按场景组合。比如OCR识别是原子能力,身份证识别、银行卡识别、发票识别都是基于OCR的组合。原子能力保持稳定,组合方式灵活变化。
判断一个能力是否适合沉淀,可以问三个问题:这个能力在三个以上场景用到过吗?它的输入输出能标准化吗?它的维护成本低于重复开发成本吗?三个都是"是",才值得沉淀。
4.2 能力注册与发现的机制
能力沉淀下来之后,怎么让业务方知道有这个能力、怎么调用?
这就需要能力注册中心。每个能力上线时,要在注册中心登记:能力名称、功能描述、输入输出格式、调用方式、负责人、SLA承诺。业务方通过注册中心检索,找到需要的能力,按文档调用。
注册中心的设计要点是检索要方便。光有名称检索不够,还要支持按业务域、按输入类型、按输出类型多维度筛选。比如业务方想找"输入是图片、输出是文本"的能力,一筛就能筛出来。
还有一个容易被忽视的点:能力的废弃管理。有些能力上线后没人用,或者被新能力替代了,要能标记为废弃并通知调用方迁移。否则注册中心会越来越臃肿,检索体验越来越差。
4.3 能力调用的计费与配额
银行内部虽然不像公有云那样真金白银计费,但资源配额是必须的。否则一个业务方疯狂调用,把资源占满,其他方就遭殃了。
配额管理通常按"调用方+能力"维度设置,比如某业务系统每天最多调用OCR能力十万次。超出配额要么拒绝,要么降级,要么走审批临时提额。
这里有个实操技巧:配额要留缓冲。设置配额时不要卡着业务峰值设,留出百分之二三十的余量。因为业务量波动是常态,卡太死会导致正常业务被误伤。
5. 踩过的坑与绕过的弯
5.1 平台建好了没人用
这是技术中台最常见的死法。平台功能齐全,文档也写了,但业务方就是不买账,继续自己搭轮子。
根因通常有三个:迁移成本高、平台不好用、没有强制力。
迁移成本高是指业务方把现有系统迁到中台上要改很多代码。解决办法是提供兼容层,让业务方可以渐进式迁移,而不是推倒重来。
平台不好用是指API设计反人类、文档看不懂、出问题找不到人。解决办法是让平台团队自己先当一段时间"业务方",用自己的平台做一个真实项目,把痛点都体验一遍。
没有强制力是指业务方用不用都行。这个需要从管理机制上解决,比如规定新建AI项目必须走中台,存量项目逐步迁移。但强制的前提是平台确实好用,否则就是逼着大家应付差事。
5.2 模型版本管理混乱
早期我们没重视模型版本管理,结果出了几次事故:线上模型效果突然变差,排查半天发现是有人更新了模型文件但没通知;想回滚到上一个版本,发现旧版本已经被覆盖了。
后来我们定了规矩:模型文件只增不改,版本号全局唯一,上线必须走发布流程。模型文件按"模型名/版本号/文件"的路径存储,版本号用时间戳加序号,比如20240115_001。发布时记录发布人、发布时间、变更内容、回滚方案。这套规矩执行下来,再没出过版本混乱的问题。
5.3 数据脱敏做过头
数据安全很重要,但脱敏做过头会严重影响模型效果。我们早期有个项目,把用户ID、手机号、地址全哈希了,结果模型学不到任何有用信息,效果惨不忍睹。
后来我们调整了策略:按用途分级脱敏。训练阶段,敏感字段做格式保留的脱敏,比如手机号保留前三位和后四位,中间用固定字符替换,这样既保护隐私又保留了一定的分布特征。推理阶段,如果业务确实需要原始数据,走审批流程申请解密权限。
这个度怎么把握?原则是最小必要。只脱敏真正敏感的字段,只对真正需要保护的环节脱敏,不要一刀切。
5.4 监控告警泛滥
监控做起来之后,告警邮件每天几百封,大家很快就麻木了,真正重要的告警反而被淹没。
解决办法是分级告警加聚合。把告警分成P0、P1、P2三级,P0电话通知,P1邮件加即时消息,P2只记录不通知。同时做告警聚合,同一个根因引发的多个告警合并成一条。
还有一个技巧:告警要有处置建议。光说"模型延迟升高"没用,要告诉值班人员先查什么、怎么处理。我们把常见故障的处置手册直接附在告警里,值班人员照着做就行。
6. 一些实操层面的经验
6.1 小步快跑比大而全更靠谱
技术中台建设最容易犯的错是追求大而全,想一次性把所有能力都建好。结果周期拉得太长,业务方等不及,项目还没上线就黄了。
更靠谱的做法是先建最小可用版本,跑通一个场景,再逐步扩展。比如先选一个业务痛点最明显的场景,把数据、训练、部署、监控这条链路跑通,让业务方看到效果,然后再把这条链路上的组件抽象成通用能力。
这样做的另一个好处是:需求是真实的,不是想象的。闭门造车设计出来的功能,往往和实际需求有偏差。跑通一个真实场景,能暴露很多设计时没想到的问题。
6.2 文档和示例代码比功能更重要
平台功能再强,业务方不会用也是白搭。我们后来把大量精力花在文档和示例代码上,每个能力都配一个可运行的Demo,业务方复制粘贴就能跑通。
文档的写法也有讲究:先给结论,再给细节。开头直接说这个能力能干什么、怎么调、参数是什么,后面再展开原理和注意事项。不要一上来就讲架构,业务方不关心。
6.3 和业务方一起办公
这个听起来不像技术手段,但效果出奇地好。我们派平台团队的工程师到业务团队驻场一段时间,一起开会、一起写代码、一起处理线上问题。驻场回来之后,平台的功能设计明显更接地气了。
原因很简单:坐在办公室里想象业务需求,和真正泡在业务里感受需求,完全是两回事。驻场能发现很多业务方自己都说不清楚的隐性需求。
6.4 定期做能力盘点
能力沉淀多了之后,会出现冗余和过时。我们每季度做一次能力盘点,看哪些能力调用量高、哪些低、哪些可以合并、哪些可以下线。
盘点的依据是数据:调用量、调用方数量、故障率、维护成本。调用量低且维护成本高的能力,考虑下线;功能重叠的能力,考虑合并。盘点结果同步给所有业务方,让大家心里有数。
7. 关于未来演进的一点个人看法
技术中台不是建完就一劳永逸的,它需要持续演进。从我的观察来看,有几个方向值得关注。
一是大模型带来的冲击。传统中台沉淀的是小模型能力,每个能力解决一个具体问题。大模型出现后,一个模型能解决很多问题,中台的架构和运营模式都要跟着变。怎么把大模型能力接入现有中台,怎么管理大模型的版本和成本,是接下来要面对的课题。
二是自动化的深化。现在很多环节还需要人工介入,比如特征工程、超参调优、模型选择。AutoML技术成熟后,这些环节可以进一步自动化,让算法工程师专注在更有创造性的工作上。
三是联邦学习的落地。银行数据敏感,很多场景下数据不能出域。联邦学习能在不共享原始数据的前提下联合建模,这个方向在风控、营销场景有实际价值。但工程实现的复杂度不低,需要中台提供相应的支撑能力。
这些方向我都在关注,有些已经在小范围试点。等跑出一些实际经验,再找机会详细聊。技术中台这件事,说到底是个持续迭代的活儿,没有终点,只有不断逼近更优解的过程。