ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

昇腾适配:东方通内容风控通过华为认证的技术拆解

昇腾适配:东方通内容风控通过华为认证的技术拆解 1. 兼容性认证这件事在信创圈子里到底意味着什么我最早看到“东方通网络内容风控产品通过华为昇腾兼容性认证”这条消息时第一反应不是“又一个厂商拿认证了”而是“这两个名字放在一起水有点深”。先说东方通。很多非中间件领域的人对它的印象可能还停留在“国产中间件厂商”这个标签上但实际上去年完成对神州泰岳的收购之后东方通的产品线已经明显向“数字经济基础设施”这个方向扩展了。TongRDS分布式缓存中间件、数据交换平台、网络内容风控产品这些都是它在信创大背景下逐步铺开的棋子。尤其是网络内容风控这玩意儿不是传统中间件业务它需要的是AI能力、NLP模型、图片音视频识别算法以及一整套可以支撑高并发实时审核的架构。再说华为昇腾。昇腾是华为的AI处理器产品线硬件上有Atlas系列训练卡、推理卡软件上有CANN异构计算架构、MindSpore框架以及昇腾应用使能平台。昇腾生态目前在国内AI算力领域的地位尤其是在信创场景下的地位已经不需要多说了。所以这两个名字放在一起本质上是在传递一个信号东方通的网络内容风控产品不只是做了一个软件层面的功能适配而是从硬件到驱动、从推理引擎到算子层、从模型格式到性能调优整套链路已经能在昇腾平台上跑通并且达到可商用的标准。这里需要给不太了解行业的朋友解释一下“兼容性认证”的含金量。很多人以为兼容性认证就是“软件能不能在某个芯片上运行”但实际上华为昇腾的兼容性认证分成好几个层级基础适配认证只是能启动、能跑通基本流程很多走个过场。性能达标认证要求在特定模型、特定并发、特定延迟指标下性能达到与业界主流水平相当的标准。深度协同认证不仅性能达标还要求在算子融合、内存优化、推理引擎调度层面做了深度定制能充分发挥昇腾芯片的算力。从东方通对外披露的信息来看这次认证显然不是“能跑”这么简单。网络内容风控本身是一个对实时性要求极高的场景模型要在毫秒级内完成对文本、图片、音视频内容的风险识别这意味着产品必须在昇腾平台上完成真正的性能适配而不只是做一个“兼容性声明”。我这个人的习惯是看到一条技术新闻先不看厂商宣传稿而是想一个问题这项适配到底要动哪些层面的东西才能达到“可商用”三个字下面就从技术角度拆开聊。2. 从模型到算子的迁移内容风控适配昇腾最硬核的环节先把网络内容风控的技术栈捋一下。这类产品通常由四个核心模块组成内容采集与预处理、多模态内容理解、风险规则引擎、审核决策与处置。其中“多模态内容理解”是整个产品的大脑负责对文本、图像、音频、视频进行语义理解和风险识别。这个模块的本质是一堆深度神经网络模型在跑推理。模型可能是经典的BERT类文本模型可能是ResNet或EfficientNet类图像模型也可能是YOLO系列目标检测模型还可能是针对音频片段训练的声纹识别或语音内容识别模型。问题来了这些模型在训练阶段通常跑在英伟达GPU上用的是CUDA生态和PyTorch/TensorFlow框架。到了昇腾平台上整个链路都得换。具体来说要适配昇腾至少需要解决以下四个层面的问题2.1 模型格式转换与算子映射这是最基础的一步。模型从PyTorch训练出来之后要么通过ONNX中间格式转换到昇腾的离线模型OM格式要么直接用MindSpore重新跑训练或推理。实际工程中绝大多数AI公司不会用MindSpore重写模型因为成本太高所以主流路线是PyTorch模型导出为ONNX再用ATC工具转换成昇腾OM模型。听起来简单但坑全在算子映射上。PyTorch模型里用到的某个算子在昇腾的CANN算子库中不一定有对应实现或者有实现但支持的数据类型、维度范围不一致。遇到这种情况要么改写模型结构去规避这个算子要么自己基于TBETensor Boost Engine开发自定义算子。举个例子。文本风控模型里常用到Transformer架构其中的Multi-Head Attention计算会涉及大量的矩阵转置和reshape操作这些操作在PyTorch里是隐式的导出ONNX之后可能被拆成多个小算子导致转换后的模型推理效率大打折扣。有经验的工程师会在导出ONNX之前手动做算子融合比如把QKV矩阵乘法和bias加法融合成一个自定义算子这样到昇腾上才能跑出性能。从东方通这次认证的结果倒推他们在这一步上的工程量绝对不小。文本、图片、视频至少三套模型体系每一套都要经历算子对齐、精度调优、性能压测这一整套流程。2.2 精度对齐不能说性能够了但识别准确率掉了模型从PyTorch移植到昇腾后最容易出现的问题就是精度偏差。原因是多方面的昇腾的AI Core是自研架构浮点运算的中间舍入方式与GPU存在差异。CANN对某些算子的实现与CUDA实现顺序不同导致累加误差。混合精度策略FP16/INT8量化在昇腾上的支持粒度不一样。我曾经见过一个案例某个目标检测模型在GPU上mAP能达到85%原封不动搬到昇腾后掉到了79%。不是模型出了问题而是量化策略没有针对昇腾重新调。东方通的网络内容风控产品要过认证必然要把“精度对齐”作为验收指标之一。文本识别场景的误判率、图片分类的准确率、视频抽帧检测的召回率每一项都必须和原GPU平台拉齐否则过不了华为那边的兼容性测试。这里多说一句精度对齐这件事没有捷径只能通过逐算子比对中间输出结果定位到偏差最大的算子集合然后针对性调整量化方案或算子实现。整个团队如果没有做过异构平台迁移的经验光靠跑起来就算成功的思维很容易在这个环节卡上几个月。2.3 推理引擎与调度层重构模型转换完、精度对齐了接下来要面对的是如何把模型高效地跑在昇腾上为上层业务提供推理服务。这里涉及昇腾的推理引擎选择。华为昇腾平台现在支持两种主流推理方式通过MindSpore Serving部署适合本身就是用MindSpore训练或重训的场景。通过昇腾TensorFlow/PyTorch适配层直接跑适合通过ONNX转换过来的存量模型。多路复用Atlas 300I Pro推理卡用AscendCL API自己写推理服务灵活度最高也最贴近业务实际。网络内容风控这种产品用户请求是复杂的一条文本可能几十个字一张图片可能几MB一个视频文件可能几百MB。不同模态的数据在推理调度上有完全不同的策略。文本适合batch推理把多个请求合并成一个batch输入模型提高吞吐率图片适合异步流水线边解码边推理视频则需要先做抽帧再做单帧检测最后做时序聚合判断。东方通作为做中间件起家的厂商在并发调度、内存池管理、分布式缓存这块的积累确实帮了忙。就我的判断他们的网络内容风控在昇腾上的部署架构很可能是这样一条链路业务请求 → TongRDS分布式缓存做请求预处理与削峰 → 多模态内容理解模块昇腾推理集群 → 风险规则引擎CPU侧规则匹配 → 决策输出这里TongRDS的角色值得单独说后面我会展开聊。2.4 性能指标过认证的硬门槛华为昇腾兼容性认证有明确的性能测试要求不是能推理就行。根据华为公开的认证评测标准通常要求关键模型推理的时延和吞吐量与昇腾同类模型库基线对齐达到一定PPS每秒处理请求数和P99时延要求。网络内容风控产品的性能压力主要集中在两个层面单机吞吐一台服务器插4张Atlas 300I Pro推理卡文本审核QPS要达到数千级别图片审核要达到每秒数百张。端到端时延从用户提交内容到返回审核结果P99要控制在几百毫秒内视频流审核场景要求更高需要逐帧处理时不掉帧。这些指标说到底考验的还是前几轮工作做没做扎实。算子融合做得好NLP模型在昇腾上的性能甚至能接近原生GPU做得不好可能连GPU的六成都到不了。东方通这次能拿到认证说明这些指标是实打实过了的。3. 内容风控为什么必须长在国产算力上这一节我想聊一个经常被忽略的战略问题内容风控产品为什么必须跑在国产算力上如果只是做产品功能适配昇腾和GPU都能跑何必费这么大力气去迁移3.1 数据主权与合规的硬约束网络内容风控处理的是什么数据是用户生成内容包括文本、图片、音视频包括用户ID、IP、设备信息甚至包括内容发布的时间戳和行为轨迹。这些数据本身就是高敏数据。在金融、能源、政务、运营商这些行业监管要求核心数据和用户内容数据必须存储和处理在合规的基础设施内。信创替代的推进节奏大家有目共睹未来这些行业的每一层IT架构从芯片、操作系统、数据库到中间件、应用软件都必须实现国产化。内容风控作为内容安全的最后一道闸门如果跑在非国产算力上到了合规审计那一步就是硬伤。3.2 等保与关保场景下的算力闭环等级保护2.0和关键信息基础设施安全保护条例对关键行业的内容安全产品有明确的技术要求。在这些场景里不只是算法要合规算力底座也要合规。一个内容风控系统如果模型和算法是国产的但算力是进口芯片仍然无法满足全链路国产化的审查要求。所以东方通在昇腾平台上过认证本质上是在为金融、政务、运营商这些它在中间件时代就深度服务的行业补上内容风控这条产品线的算力闭环。3.3 节假日与突发流量下的算力弹性还有一个很现实的问题内容风控的算力需求不是平稳的。重大节假日、社会热点事件、电商大促期间用户生成内容会短时间暴涨审核系统的QPS可能是平时的5到10倍。在GPU供货紧张、价格高企的当下单纯靠堆GPU应对峰值流量成本极其高昂。昇腾的推理卡在国产算力里性价比相对明确加上华为系的供货保障能力和生态支持对于内容风控这类离不开实时算力的产品来说反而是更具确定性的选择。4. TongRDS在网络内容风控架构中的实战价值这一节单独聊TongRDS因为我觉得很多人低估了中间件在AI产品里的作用。TongRDS是东方通的分布式缓存中间件对标的是Redis那类缓存系统但在信创场景里有自己的差异化优势支持多种国产CPU架构麒麟、统信等操作系统适配支持国产数据库的兼容更重要的是在高并发读写、持久化、主从复制这些机制上有针对企业级场景的加固。内容风控产品为什么会需要高性能缓存我拆几个场景4.1 风险指纹库与名单缓存内容风控不只是跑模型还有很多规则和名单类数据。比如违规词库数百万级别的敏感词、变体词。URL黑名单已知的赌博、诈骗、色情站点地址。账号画像用户历史违规次数、风险等级标签。图片MD5库已确认违规图片的哈希值集合。这些数据不可能每次审核都去查数据库必须放在缓存层。TongRDS要做的事情就是在毫秒级内完成名单匹配把需要跑模型的流量降到最低。这是典型的规则先行、模型兜底的设计逻辑——大部分明显违规内容其实不需要AI识别命中名单就能拦截。4.2 请求削峰与结果聚合内容审核的请求模式是突发性的。某一条视频突然爆火瞬间涌入大量评论每一条评论都要过审核。如果这些请求直接打到推理服务上推理集群会被冲垮。TongRDS在这里起到缓冲和削峰的作用用户内容先写入缓存队列。审核消费端按推理集群的实际吞吐能力拉取数据。推理结果写回TongRDS由业务侧异步读取。这种模式隔离了流量波动和推理能力之间的耦合让系统在流量高峰时不至于雪崩。4.3 分布式状态的一致性保证网络内容风控通常以集群方式部署可能分布在多个机房的多个节点上。风险名单需要全局一致用户审核状态需要跨节点可见。TongRDS在这个场景里承担的就是分布式状态存储的角色配合它的持久化机制和主从复制机制保证节点宕机后状态可以恢复不丢审核记录。4.4 性能上为什么选TongRDS而不是开源缓存如果团队可以自由选型很多人会直接用开源缓存。但在信创环境里问题往往没那么简单很多国产芯片和操作系统不在开源缓存某些版本的官方支持列表里出问题只能自己扛。开源版本的不开源部分企业版特性在安全和审计场景下不好交代。东方通收购后的TongRDS在原有基础上做了大量企业级增强包括连接管理、慢查询治理、多租户隔离这些都是内容风控产品在大型客户那里交付所需的基础能力自己拿开源产品去攒成本不低。所以东方通把自己的内容风控和TongRDS打包适配到昇腾平台上给客户提供的是一套从缓存到推理算力再到上层应用的全栈信创方案这个思路在B端大客户那里显然更有竞争力。5. 昇腾生态适配的工程化方法论很多团队看到“通过华为昇腾兼容性认证”的新闻觉得这是个市场行为技术含量不高。但我这几年看过不少昇腾适配项目可以负责任地说能在合理时间内通过认证的产品团队背后一定沉淀了一套可复用的工程方法论。以东方通这次适配为参考我把整个方法论拆成五个阶段给正在考虑做昇腾适配的团队一个参考路径5.1 阶段一现状盘点与可行性评估先把所有要部署到昇腾上的模型清单拉出来。对每一个模型记录以下信息项目说明模型框架来源PyTorch / TensorFlow / MindSpore模型结构Transformer / CNN / LSTM / YOLO 等推理时延要求P99为多少毫秒并发规模单机QPS目标已用的算子集合通过Netron可视化ONNX图可以快速得到这个阶段最重要的产出是明确哪些模型适合原样迁移哪些模型需要重构落地。比如某些用了极冷门算子的模型与其费力去适配算子不如改成主流结构。5.2 阶段二模型转换与量化策略选择昇腾上跑模型主要走ATC模型转换工具把ONNX或者TensorFlow的PB文件转成OM格式。这个阶段有几个关键参数值得注意--input_fp16_nodes和--output_fp16_nodes控制哪些算子用FP16计算。--enable_op_ fusion控制算子融合策略。--precision_mode可选allow_fp16_to_fp32、force_fp16等模式直接影响精度。实操中我建议这个顺序先用FP32全精度模式跑通整体流程验证功能和精度再逐层开FP16找到精度拐点最后再考虑混精度和INT8量化。一上来就开INT8精度掉了都不知道是哪一层引入的。5.3 阶段三AscendCL推理服务封装模型转换完之后要写推理服务。昇腾的推理API主要是AscendCL核心流程是初始化昇腾运行时环境。加载OM模型到设备侧。创建输入输出数据集。调用模型执行接口做同步或异步推理。释放资源。这里的工程挑战在于多模型并发调度、异步推理与业务主线程的协同、批处理size动态调整batch size是1、4、8还是16吞吐和时延差异很大、以及如何把推理耗时控制在目标P99以内。5.4 阶段四端到端联调与压测模型在昇腾上单卡性能达标了不代表整个系统能用。端到端压测一定要做而且要从链路入口开始请求到达网关、进入TongRDS缓存队列、调度到推理集群、推理引擎处理、结果写回、业务侧决策逻辑执行全链路打流才能暴露真正的瓶颈。常见瓶颈往往不在AI推理本身而在图片解码模块是CPU密集型的撑不住高并发。缓存层连接池不够推理集群空转等缓存。业务侧同步等待推理结果导致整体时延飙升。5.5 阶段五运维监控与告警昇腾设备有自己的一套监控体系通过npu-smi命令能看到芯片利用率、温度、显存占用。好的做法是把这些指标接入统一的Prometheus Grafana监控平台和业务指标QPS、时延、命中率、误判率放在一起观察。AI推理跑久了最容易出现的问题是显存碎片导致分配失败、芯片温度过高触发降频、以及个别算子因为输入shape异常触发重编译导致时延毛刺。6. 认证过后真正的考验才开始最后聊几句真心话。一个产品通过昇腾兼容性认证意味着它拿到了进入华为生态的“通行证”但认证本身只是起点。后续真正的考验在交付环节客户现场的环境比认证实验室复杂得多昇腾设备型号不同、CANN版本不同、操作系统不同都会带来细微但致命的差异。这个版本过了认证换了客户现场的另一套环境可能又要重新调一遍。给团队的几点实操建议保留标准化的导出脚本和转换脚本每次模型更新后能快速重新产出昇腾适配包。建立昇腾环境的自动化回归测试每次CANN版本升级后跑一遍核心模型的精度和性能基线。把客户现场反馈的问题规范化是精度问题、性能问题还是算子不支持问题分类记录沉淀成内部的知识库。回到东方通这次认证本身行业里其实缺的并不是多一家“认证厂商”而是真正有内容风控能力、有中间件技术积累、并且在昇腾生态里扎下根来的全栈方案。从这个角度看东方通迈出的这一步是有实际分量的。内容风控的国产化替代终究不是简单地换一张芯片就能完成的。它需要底层算力撑得住峰值流量中间缓存扛得住突发请求上层模型识别得准风险内容更需要在合规、性能、成本之间找到平衡。这一整套东西跑通才是这块市场真正成熟的时候。
返回列表