基于国产芯片的AI引擎技术,打造更安全的算力生态 | 京东零售技术实践

近年来,随着国产AI芯片的日益崛起,基于国产AI芯片的模型适配、性能优化以及应用落地是国产AI应用的一道重要关卡。如何在复杂的京东零售业务场景下更好地使用国产AI芯片,并保障算力安全,是目前亟需解决的问题。对此,京东零售九数算法中台打造了一套兼容GPU与国产NPU的端到端AI引擎技术,建立起从底层硬件集群、算法引擎、到多场景应用的生态架构。

九数算法中台基于高性能计算网络搭建千卡规模集群,支持国产NPU与GPU相同的调度能力,内部研发能无感知地灵活调度国产NPU与GPU。九数高性能训练+推理引擎采用统一的API接口,涵盖业界主流通用模型,支持内部研发0成本快速进行模型训练与部署。同时,九数算法中台通过MFU优化、模型量化、编译优化等方式,显著提升引擎性能。

目前,京东零售基于国产芯片的AI引擎技术已在多个业务场景落地,满足高速增长的数智化业务需求。

本篇为2024年度总结系列文章,将重点介绍京东零售基于国产芯片的AI引擎技术。在文末可查阅更多此系列下的实践经验,欢迎一起交流学习。

一、前言

如何在京东业务场景让国产芯片可用、好用,是一个亟需解决的问题。然而,我们发现这并非易事,存在着以下挑战:

1. 硬件架构差异显著

在过去,京东底层算力集群主要围绕GPU进行建设,而国产NPU与GPU硬件架构差异大,且京东零售业务场景诉求多样、数据与模型体量庞大,需提升集群对多种异构芯片的兼容性及统一灵活调度能力,充分挖掘国产芯片算力,从而保障集群中不同类型的国产芯片被最大化利用的同时,能够有序、高效地为业务提供算力支持。

2. 软件生态尚未成熟

当前各开源模型或训练推理框架并不直接提供针对国产NPU的解决方案,而国产NPU软件生态尚不成熟。这意味着开发人员从 GPU 迁移至国产NPU包含精度校验、性能调优等复杂的适配工作,面临着巨大的迁移成本,严重影响算法开发与业务迭代效率。

我们看到,GPU芯片能成为大多数人第一选择的原因,核心并不在于其产品硬件性能更强,而是因为他们构建了十分完善的CUDA生态。开发人员基于GPU的开发工作无需感知底层硬件的架构,能够更加关注模型开发与业务逻辑。

3. 业务场景需求多样且复杂

京东零售业务场景丰富复杂,各场景在模型选型、性能要求等方面差异巨大,解决方案不仅需要高效、统一,还必须能够灵活适配各业务场景,实现“1套方案、N种应用”。







以PyTorch为例,通用模型从GPU迁移至华为昇腾NPU流程示例,图像来自昇腾官网模型开发文档



以上痛点的核心在于,缺乏一套基于国产NPU的端到端训练推理解决方案,支持算法人员无感知地从GPU迁移至国产NPU。在此背景下,九数算法中台从集群网络到训练推理引擎建设,推出了高效、统一、灵活的基于国产芯片的AI引擎技术。在接下来的章节,将为您详细介绍九数算法中台如何搭建起这样的生态系统,使得国产芯片在京东零售“落地有声”。



二、基于国产芯片的AI引擎技术

2.1 整体技术架构





项目架构图



2.2 GPU与NPU异构混合调度系统

为了保障京东零售业务场景多样复杂的芯片使用诉求,九数算法中台基于高性能计算网络搭建千卡规模集群,支持国产NPU与GPU相同的调度能力,通过统一的配额分配、调拨体系支持开发人员无感知灵活调度国产NPU与GPU。由于算力资源长期处于满负荷运行状态,九数算法中台采取了多种措施来最大程度助力算法同学极致利用算力资源、更高效地完成算法工作,在保证业务稳定、易用基础上提升资源利用率,节约集团IT资源成本,充分挖掘NPU硬件能力,实现国产NPU芯片到从“单片可用”跨越至“集群好用”:

千卡集群:为保障千卡规模以及RDMA互联网络模式下的集群稳定性,九数算法中台支持了全面的可视化监控系统,涵盖了NPU卡、网卡、光模块等关键组件,还支持了NPU卡健康检查、故障自动隔离,故障上报业务容器与自动告警能力,以便业务可以及时干预和解决问题。另外持续跟进新版本HDK,不断提升集群的稳定性。

调度优化 :调度算法在NPU服务器独特的卡互联拓扑结构上兼容了原有GPU上的优化,兼顾算法任务性能、集群利用率与业务公平。关键特性如:

◦NUMA感知和网络拓扑感知调度:识别CPU NUMA和网络拓扑,确保任务被分配到最优的计算和网络资源上,从而最大化任务的执行效率。

◦资源碎片最小化:采用了多种调度策略,如Gang、BinPack和节点资源预留,来减少资源的碎片化,提高集群的整体占用率。

◦可配置的优先级驱逐机制:该机制为用户提供了配额保障和抢占能力,确保重要任务能够及时执行。同时,它也支持根据任务的优先级队列来维护业务之间的公平性,提供更好的用户体验。

高效使用:为了给用户提供更灵活的计算资源以及更好的利用集群资源,国产NPU与GPU共同遵循资源队列机制。资源队列是为了关联某一资源队列的用户提供保障资源量(MIN)和共享资源量(MAX),多个资源组通过关联资源队列的方式,既可有一定资源的保障量,同时可共享集群空闲资源,从而提高集群资源整体的使用率,进而达到国产NPU的最大化利用。



2.3 高性能训练引擎

九数高性能训练引擎,经过深度优化和架构升级,完成对超过40种涵盖LLM、多模态等主流底座模型的全面适配和优化,包括但不限于LLM、多模态系列和文生图、文生视频系列,实现了对NPU算力的全面兼容。该引擎采用高度抽象的API接口,实现了一套API下NPU和GPU用户无感、0成本无缝切换训练,为京东零售算力提供了坚实的安全保障;同时通过集成模型并行、序列并行,低精度通信,通信计算融合等技术,大幅提升了模型训练的吞吐量,为京东零售的智能计算提供了强有力的支撑。其主要特性如下:

覆盖主流LLM、多模态底座:30+ LLM、10+ 多模态主流底座模型覆盖,一套API下NPU和GPU用户无感、0成本无缝切换训练。

覆盖LLM训练全流程:涵盖从数据、训练模式,打标/评测离线全链路能力,支持3类数据生成方式、11类指令/对齐微调能力、20类通用/垂类评测。

软硬协同深度优化:通过Triton编译和CANN融合技术对热点算子(如flash attention、rotary_embedding、npu_matmul_add_fp32等)进行精细调优,实施锯齿Attention、动态输入拼接、全子图下发以及重计算流水线的独立调度和自适应重计算等深度优化措施,实现了百卡 MFU达60%。同时,通过权重更新通信隐藏、CoC计算通信并行、启发式自动并行策略搜索、BF16低精度通信和多机间RDMA通信等技术,达到了百卡扩展系数0.93,从而实现了千亿至万亿参数模型训练的近线性横向扩展。

高可用性训练能力:采用Token预缓存技术和分钟级的异步Checkpoint保存机制,结合按需快照即时下发,将启动时间从小时级别降至分钟级别,同时将模型存时间减少了超过90%,整体训练效率提高了15%,确保在发生故障时能够迅速恢复训练任务。

九数训练引擎LLM模型支持概况



在使用NPU进行模型训练时,开发人员无需进行精度对齐、框架适配等工作,仅需基于实际业务诉求,关注数据准备、参数配置、验证评估等训练流程,选择NPU对应型号,即可快速提交训练任务,实现基于NPU业务的高效迭代优化。



2.4 高性能推理引擎

与训练引擎类似,九数算法中台针对国产NPU建设高性能推理引擎,支持MaaS开箱即用部署(服务化部署托管),实现基于国产NPU的一键部署,内置20+业界通用LLM大模型。通过模型量化、编译优化等手段进行推理加速,满足业务在大模型场景下对于高效问答的诉求,性能相比业界开源框架提升20%。

MaaS开箱即用:基于九数EA部署,实现昇腾NPU的一键部署,API兼容OpenAI和Triton协议,支持流式推理,与GPU方案保持一致。

主流SOTA模型支持:支持Baichuan、ChatGLM、Qwen、Llama等20+主流模型的端到端推理;

性能优化:

◦模型优化:计算方面通过GE图编译优化和ATB高性能算子技术对Paged Attention、Flash Attention、Sub_Mul_Concat等操作进行深度优化,实现整图下发能力,通过算子setup(workspace、tiling)、下发、计算实现流水线并行,有效隐藏了算子调度开销。同时支持W8A8 SmoothQuant量化、W4A16 AWQ量化技术,显著较少了计算量与访存密度。

◦框架优化:调度方面实现了Prefill/Decode分离技术,在部分场景下有效提高推理速度,通过KV cache、Prefix cache等缓存技术减少重复计算。

监控告警体系:支持可视化监控系统,包括服务吞吐、失败率、整体延时等服务化监控指标。同时,用户也可根据实际需求配置对应指标的告警系统。

九数推理引擎NPU支持模型概况



同时,在大规模搜推广场景,本项目也支持基于NPU的搜推广模型推理,通过开发融合Pass及融合kernel,满足搜索推荐广告系统对于在线推理服务高吞吐、低延迟的诉求。



三、落地场景

案例一:视频内容Tag云标签生成场景

多模态大模型在京东零售业务场景存在广泛的应用,而算力是影响图像、视频计算任务的关键卡点。其中,数字内容相关业务期望基于NPU,利用Qwen2 VL模型对视频的多模态信息进行分析,抽取能够表征视频的一系列关键词。但当前Qwen2 VL开源代码仅支持GPU推理,暂未提供NPU解决方案,Qwen2 VL运行在国产NPU上存在算子优化、推理加速等适配工作。

通过使用九数算法中台的NPU高性能推理框架,业务可将模型快速部署至线上场景。业务仅需选择模型与NPU资源量,即可完成模型的在线部署,无需关心Qwen2 VL从GPU迁移至NPU的繁琐流程。

目前,该案例共部署数十卡国产NPU,用于内容Tag云标签生成工作,与GPU比对效果无明显差异。在输出Token数量一致的前提下,二者平均响应时长基本保持一致。







案例二、物流大模型场景

如何将国产芯片和物流场景有机结合,是电商领域亟需解决的问题。

在京东物流大模型场景中,业务方期望基于910B将Qwen2-7B在地址解析、地址编码、地址分类等任务进行上训练。由于Qwen2-7B开源项目未提供NPU训练方案,该业务利用九数算法中台提供的统一训练框架,基于框架底座开源模型进行了Pretrain、SFT、RL适配。

基于NPU微调的模型与基于GPU微调的模型在地址解析等任务的训练结果分别达到了91.03%与91.08%,二者表现基本一致。目前,基于NPU的训练产物已应用在多个业务场景中。在预分拣分单场景已上线多个省份,在地址分类任务上已经刷新4600万条母库POI数据的多级分类标签,在人工预分拣地址异常识别中每天识别3万条以上地址。

#Input_1
青海省西宁市城北区三其村。 可以发圆通吗 谢谢。

#Output-NPU(国产NPU)
青海省_1,西宁市_3A,城北区_3A,三其村_4B, _5A-1,可以发圆通吗 谢谢_UNK,

#Output-GPU(GPU)
青海省_1,西宁市_3A,城北区_3A,三其村_4B, _5A-1,可以发圆通吗 谢谢 _UNK



案例三、商家侧智能助手

基于大模型的客服Agent已成为电商领域的新趋势。其中,在商家侧智能助手的案例中,业务侧期望使用过往沉淀QA数据,基于Qwen1.5 7B进行微调,实现模型针对商家问题进行分析,并将任务分配给下游工具处理。

由于Qwen1.5系列开源模型暂未提供针对NPU的微调方案,该案例利用九数算法中台提供统一训练框架,基于框架底座开源模型进行微调。

通过测试对比,国产NPU微调的模型与基于GPU微调的模型分析结果相似,且96%问题分配下游工具相同。对比模型分配的工具(pred_tool)和人工标注的工具(tool_gt)并综合打分,二者得分相近。

#Input_1
上架宝贝数怎么看?
#Output-国产NPU
{...'tool_name':' business_expert, 'query':'如何查看已上架的商品数量?'...}
#Output-GPU
{...'tool_name':' business_expert, 'query':'如何查看已上架的商品数量?'...}

#Input_2
为啥我不能提报活动了?
#Output-国产NPU
{...'tool_name':' business_expert, 'query':'为什么商家不能提报活动,以及如何解决提报问题?'...}
#Output-GPU
{...'tool_name':' business_expert, 'query':'商家无法提报活动的可能原因及解决方案是什么?'...}

四、应用价值

目前,京东零售基于国产芯片的AI引擎技术已在十余个业务场景落地,为加速国产芯片破局、打造开放生态探寻新思路。

核心技术自主且可控:通过使用国产算力芯片,有效降低了对海外芯片的依赖,确保了算法与算力方面的安全性。这一自主可控的技术体系涵盖底层硬件至上层应用,使京东零售在快速变化的国际环境中保持稳健和高效的运转。

国产芯片应用性提升:国内电商领域业务的复杂性和多样性为国产算力的应用提供了广泛的实践机遇。当前的引擎能力已应用于搜索推荐、广告创意生成、智能客服和数据自动分析等多个场景。通过这些实践,不仅显著提升实际业务效能,也为国产算力在真实商业环境中的应用提供了宝贵的经验反馈,从而反哺国产算力技术生态发展、成熟、普惠。



五、行业影响力

在实现了基于国产算力的一系列技术突破后,我们将沉淀的技术经验进一步转化为在集团内外的影响力,彰显京东零售的技术领先性和行业责任感:

•2024年,京东零售开始作为理事单位,与华为昇腾共建Openmind开源社区;

•7月,在上海举办的昇腾人工智能产业高峰论坛上,京东作为华为昇腾邀请11家生态伙伴及客户中的一员,联合华为发布了基于昇腾大模型推理解决方案的五大场景优秀实践。

•7月,基于国产芯片的AI引擎技术项目荣获京东零售平台产品与研发中心618大促技术敢打奖。

•9月,在第九届华为全联接大会(HUAWEI CONNECT 2024)上,项目主力成员获得优秀昇腾原生开发者的奖项。





24年7月,昇腾大模型推理解决方案正式发布暨五大场景优秀实践,图源昇腾官网新闻资讯:昇腾大模型推理解决方案正式发布暨五大场景优秀实践,加速人工智能走深向实-昇腾社区





六、未来规划

万卡集群建设

随着业界主流模型体量不断扩大,百B甚至千B级模型的训推诉求愈发迫切。为了满足京东零售在大规模计算场景的诉求,集群将在25年实现万卡级别高性能网络及调度能力,助力大体量模型业务发展。同时,九数算法中台将持续扩充集群支持的芯片类型,允许GPU、国产NPU在集群内被混合调度。通过这样的集群生态建设,一方面能够让京东算法业务不依赖于单家厂商,保障了集团的算力安全和可持续发展;另一方面,也让算法业务在算力调度上有更加多元的选择。

除了进行集群的升级,九数算法中台还将进一步优化国产芯片的调度策略,通过应急资源池、资源智能预测、动态扩缩容等手段保障各业务都能够合理、高效地用上国产芯片,全面挖掘国产芯片算力性能。

国产算力生态建设

京东零售将在2025年持续深入与国产头部芯片厂商的合作,共同助力京东零售AI数智化,作为华为昇腾AI解决方案竞争力和软件生态核心贡献者。

针对自研训练引擎在LLM场景的支持,九数算法中台将深入HCCL底层通信优化,建立融合算子库全面优化性能,达到百卡/千卡MFU可至60%。针对CTR训练场景,九数算法中台将建设业界首个同时支撑昇腾 NPU和GPU的性能领先的CTR大规模训练框架,并考虑建立开源生态,支持业务无感迁移,落地在主站推荐精排、主站搜索精排场景。

针对自研推理引擎在LLM场景的支持,九数算法中台将通过共建昇腾加速ATB算子库,扩展LLM前后处理能力及LVM等模型,性能能够达到业界SOTA;针对CTR推理场景,建设9N-Predictor NPU推理引擎,支持GPU/NPU异构推理,并通过共建GE自动融合优化引擎编译能力,最大程度发挥NPU在推荐场景的极致性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/982313.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

osg官方例子

osg3.6.5官方例子 osganimate osganimationeasemotion osganimationmakepath osganimationmorph

分享react后台管理系统常见的组件/知识点

前言 虽然各个前端框架的常用组件库已经非常完善,但做具体业务时,一般情况下,我们无法直接套用组件,需要自己进行撰写对应业务逻辑。 这篇文章总结做react表单列表常见的组件/知识点。 注意:本篇仅提供相关功能的核心…

自动驾驶---不依赖地图的大模型轨迹预测

1 前言 早期传统自动驾驶方案通常依赖高精地图(HD Map)提供道路结构、车道线、交通规则等信息,可参考博客《自动驾驶---方案从有图迈进无图》,本质上还是存在问题: 数据依赖性高:地图构建成本昂贵&#xf…

如何在您的 QQ机器人 中集成 码本 AI 模型!

如何在您的QQ机器人中集成 码本 AI 模型! 开源技术栏 通过使用此工具,您可以轻松地将 码本 API 服务 集成到您的 QQ 机器人 中,实现快速部署和运行。 这个工具专为简化复杂流程设计,即便是初学者也能轻松上手,让您的…

Java与数据库

目录 一.本文焦点: 二.数据库常用数据类型 三.对数据库操作 四.对数据库中的表操作 五.条件表达 六. 表查询操作进阶 1.多表连接查询 1)交叉连接查询 2)内连接(取两表交集) 3)外连接 4&#xff09…

基于ANTLR4的大数据SQL编辑器解析引擎实践|得物技术

一、背景 随着得物离线业务的快速增长,为了脱离全托管服务的一些限制和享受技术发展带来的成本优化,公司提出了大数据Galaxy开源演进项目,将离线业务从全托管且封闭的环境迁移到一个开源且自主可控的生态系统中,而离线开发治理套…

HTML第四节

一.复合选择器 1.后代选择器 注:1.后代选择器会选中后代所有的要选择的标签 2.儿子选择器 3.并集选择器 注:1.注意换行,同时选中多种标签 4.交集选择器 注:1.标签选择器放在最前面,例如放在类选择器的前面 2.两个选择…

数字后端培训实战项目六大典型后端实现案例

Q1:请教一个问题,cts.sdc和func.sdc在innovus用如何切换?在flow哪一步切换输入cts.sdc?哪一步切换到func.sdc,具体如何操作? 这个学员其实就是在问使用分段长clock tree时具体的flow流程是怎么样的?针对时…

linux 使用阿里云盘 阿里网盘

可参考&#xff1a;https://blog.csdn.net/qq_41174671/article/details/127310715 一、对文件<100M的可以使用如下方法&#xff1a; 1.临时使用阿里网盘 wget https://github.com/tickstep/aliyunpan/releases/download/v0.2.7/aliyunpan-v0.2.7-linux-amd64.zip unzip …

性能测试--大厂面试问题解析

性能测试作为软件开发中的关键环节&#xff0c;确保系统在高负载下仍能高效运行。面试中&#xff0c;相关问题常被问及&#xff0c;包括定义、类型、工具选择、规划与执行方法、常见瓶颈、敏捷环境下的处理、监控作用、虚拟用户数量确定、功能测试的区别、JMeter工作原理、HTTP…

hom_mat2d_to_affine_par 的c#实现

hom_mat2d_to_affine_par 的c#实现 背景&#xff1a;为课室贡献一个通用函数&#xff0c;实现halcon算子的同等效果&#xff0c;查询csdn未果&#xff0c;deepseek二哥与chtgpt大哥给不了最终程序&#xff0c;在大哥与二哥帮助下&#xff0c;最终实现同等效果。 踩坑&#xf…

前端跨域设置 withCredentials: true

在做登录认证的时候&#xff0c;会出现请求未登录的情况&#xff0c;查看请求头的时候发现并没有把登录时的cookie设置到第二次的请求头里面。查看资料才知道跨域请求要想带上cookie&#xff0c;必须要在ajax请求里加上 withCredentials: true 再次访问发现请求头可以携带cook…

【漫话机器学习系列】122.相关系数(Correlation Coefficient)

深入理解相关系数&#xff08;Correlation Coefficient&#xff09; 1. 引言 在数据分析、统计学和机器学习领域&#xff0c;研究变量之间的关系是至关重要的任务。我们常常想知道&#xff1a;当一个变量变化时&#xff0c;另一个变量是否也会随之变化&#xff1f;如果会&…

uniapp+微信小程序+地图+传入多个标记点显示+点击打开内置地图导航+完整代码

一、效果展示 二、完整代码 <template><view class"container"><map class"map-container" :latitude"latitude" :longitude"longitude" :markers"markers" :controls"controls" show-location m…

高效数据管理:WPF中实现带全选功能的DataGrid复选框列

目录 引言项目结构与准备工作XAML布局设计后台代码实现视图模型设计总结引言 在许多应用场景中,我们需要在表格中选择多行数据进行批量操作,如删除、导出等。为了提高用户体验,通常会在表格的第一列添加一个复选框,允许用户逐个或批量选择数据项。本文将详细介绍如何在 WP…

一周学会Flask3 Python Web开发-SQLAlchemy简介及安装

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射&#xff08;ORM&#xff09;工具&#xff0c;…

《Linux C 智能 IO 矩阵:输入输出的自适应数据流转》

1. 标准库IO简介 标准库IO特点&#xff1a;通过操作系统提供的接口&#xff08;API&#xff09;和操作系统进行交互。&#xff08;接近100个函数&#xff09; 1.1. IO的过程 操作系统&#xff1a;向上为用户提供操作接口&#xff0c;向下为统筹控制硬件。 操作系统的组成&#…

【大模型理论篇】--Mixture of Experts架构

Mixture of Experts&#xff08;MoE&#xff0c;专家混合&#xff09;【1】架构是一种神经网络架构&#xff0c;旨在通过有效分配计算负载来扩展模型规模。MoE架构通过在推理和训练过程中仅使用部分“专家”&#xff08;子模型&#xff09;&#xff0c;优化了资源利用率&#x…

智能云呼叫中心如何升级企业服务?带来新商机

当某国际零售品牌通过部署云呼叫中心将客服响应效率提升73%时&#xff0c;这场由云计算掀起的客户服务革命已悄然渗透到企业运营的毛细血管。在数字化转型的深水区&#xff0c;云呼叫中心正从"成本中心"蜕变为"价值引擎"&#xff0c;推动企业构建差异化的服…

java+jvm笔记

JUC synchornized原理&#xff08;java锁机制&#xff09;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 升级顺序&#xff1a; 无锁偏向锁&#xff0c;只有一个线程来访问轻量级锁&#xff0c;有两个线程交替访问重锁&#xff0c;两个及以上线…