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

news2025/4/25 13:09:43

近年来,随着国产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在推荐场景的极致性能。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML label 标签使用

点击 <label> 标签通常会使与之关联的表单控件获得焦点或被激活。 通过正确使用 <label> 标签&#xff0c;可以使表单更加友好和易于使用&#xff0c;同时提高整体的可访问性。 基本用法 <label> 标签通过 for 属性与 id 为 username 的 <input> 元素…

Linux和gcc/g++常用命令总结

目录 Linux命令总结 文件操作相关命令 ls cd pwd cp mv rm cat mkdir rmdir touch 文本处理操作命令 grep awk sed 进程管理操作相关命令 ps top htop kill pkill killall chmod chown 网络操作相关命令 ping ifconfig netstat ss lsof curl …

Sqoop从入门到使用

安装和配置 修改文件配置&#xff1a;修改文件名将&#xff08;sqoop-env-template.sh改为sqoop-env.sh&#xff09; 编辑sqoop-env.sh内部文本&#xff0c;修改调用文件位置 将sqoop-env.sh&#xff0c;配置到全局变量中&#xff0c;方便调用。 查看正常运用 第一类&#xff1…

【数据结构】堆(挑战从零基础到进阶)

我们从概念开始一步步来学习堆&#xff0c;下面我们来从零基础来解剖该种数据结构。先提前透明&#xff1a;实现堆其实就是基于数组来实现一个完全二叉树而已 &#xff01; 目录 堆的概念 堆的性质 堆的物理逻辑&思维逻辑 堆的节点对应关系 堆的核心操作 &#xff08…

阿里 DataWorks:数据治理、安全中心、数据质量核心功能梳理

文章目录 阿里 DataWorks&#xff1a;云原生数据治理与安全一体化实践指南一、数据治理中心1.1 数据治理体系1.2 产品架构全图1.3 概要使用路径1.4 治理现状评估数据治理健康分评估模型 1.5 检查项 & 治理项(1) 检查项(2) 治理项 1.6 治理工具箱1.7 治理结果查看 二、安全中…

DeepSeek精品课分享 清北

AI淘金潮上热搜&#xff01;有人已经靠DeepSeek日入过万了&#xff01; 北大清华等高校也相继出品DeepSeek高质量精品课程&#xff0c;在网上传疯。帮助学者高效学习AI从入门到精通&#xff01; 完整版资料已经帮大家整理好了&#xff0c;免费领&#xff01; 资料链接: htt…

解锁健康密码,开启养生之旅

在这个生活节奏飞快、压力如影随形的时代&#xff0c;健康养生不再是一句空泛的口号&#xff0c;而是我们对高品质生活的热切追求。它就像一把神奇的钥匙&#xff0c;能够打开通往活力与幸福的大门。 日常习惯与养生息息相关。晨起后&#xff0c;空腹喝一杯温水&#xff0c;如…

Mybatis集合嵌套查询,三级嵌套

三个表&#xff1a;房间 玩家 玩家信息 知识点&#xff1a;Mybatis中级联有关联&#xff08;association&#xff09;、集合&#xff08;collection&#xff09;、鉴别器&#xff08;discriminator&#xff09;三种。其中&#xff0c;association对应一对一关系、collectio…

Python的Pandas和matplotlib库:让数据可视化贼简单

在数据爆炸的时代&#xff0c;数据可视化已成为数据分析的关键环节。Python 作为强大的编程语言&#xff0c;拥有众多用于数据可视化的库&#xff0c;而 pandas 库在其中扮演着重要角色。它不仅能高效处理和分析数据&#xff0c;还具备强大的数据可视化功能&#xff0c;让我们轻…

数据结构基础之《(19)—矩阵处理》

一、zigzag打印矩阵 Z字形打印矩阵 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 打印顺序&#xff1a;1,2,7,13,8,3,4,9,14... 核心技巧&#xff1a;找到coding上的宏观调度 左上角有A、B两个点&#xff0c;A往右一步一步走&#xff0c;B往下一步一步走 写一个…

IDEA与Maven使用-学习记录(持续补充...)

1. 下载与安装 以ideaIU-2021.3.1为例&#xff0c;安装步骤&#xff1a; 以管理员身份启动ideaIU-2021.3.1修改安装路径为&#xff1a;D:\Program Files\JetBrains\IntelliJ IDEA 2021.3.1勾选【创建桌面快捷方式】&#xff08;可选&#xff09;、【打开文件夹作为项目】&…

nuxt2 打包优化使用“compression-webpack-plugin”插件

在使用 Nuxt.js 构建项目时&#xff0c;为了提高性能&#xff0c;通常会考虑对静态资源进行压缩。compression-webpack-plugin 是一个常用的 Webpack 插件&#xff0c;用于在生产环境中对文件进行 Gzip 压缩。这对于减少网络传输时间和提高页面加载速度非常有帮助。下面是如何在…

ArcGIS Pro:轻松制作地震动画,洞察灾害动态

在当今的信息展示领域&#xff0c;动画因其直观、生动的特点&#xff0c;逐渐成为各类汇报、研究展示中的重要元素。 尤其是在地理信息领域&#xff0c;通过动画来展示动态的地理现象&#xff0c;能够让观众更清晰地理解数据背后所蕴含的信息。 地震作为一种突发性的自然灾害…

MAVEN手动配置(阿里云)全教程

介于网上各种各样的MAVEN配置过程中方法大致相同却细节参差不齐&#xff0c;我总结了我遇见的一些问题&#xff0c;来完全的解决MAVEN手动配置的全过程&#xff0c;以及分享解决小毛病的经验。 所需材料&#xff1a; MAVEN3.9.9&#xff08;下载适合自己的版本即可&#xff09…

贪心算法一

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么是贪心算法&#xff0c;并且掌握贪心算法。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! >…

计算机毕业设计Python+DeepSeek-R1大模型微博的话题博文及用户画像分析系统 微博舆情可视化(源码+ 文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

Secret Cow Code S

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝 既然选择了远方,当不负青春,砥砺前行! 题目描述 奶牛们正在实验秘密代码,并设计了一种方法用于生成无限长度的字符…

MyBatis - XML CRUD 其他查询

1. XML 配置文件 使用 MyBatis 操作数据库的方式有两种: 注解 (在注解中定义 SQL 语句)XML 配置文件 (在 XML 文件中定义 SQL 语句) 在上一篇博客中, 已经讲解了如何使用注解操作数据库, 本篇文章来讲解如何使用 XML 进行 MyBatis 开发. 使用 XML 的步骤, 和使用注解的步骤…

牛客python蓝桥杯11-32(自用)

11 import os import sysdef huiwen(str):length len(str)# if length 0:# return -1result []for i in range(length-1): # 0 - length-2for j in range(i2,length1):# 取出从索引 i 到 j-1 的子串s str[i:j]# 正序倒序if s s[::-1]:result.append(len(s))if result…

rabbitmq版本升级并部署高可用

RabbitMQ版本升级 先检查是否已经安装rabbitmq rpm -qa|grep rabbitmq|wc -l //如果结果是0&#xff0c;表示没有安装 rpm -e --nodeps $(rpm -qa|grep rabbitmq) //如安装了&#xff0c;则进行卸载 先检查是否已经安装erlang rpm -qa|grep erlang|wc -l //如果结果…