当前位置: 首页 > news >正文

基于国产芯片的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在推荐场景的极致性能。

相关文章:

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

近年来,随着国产AI芯片的日益崛起,基于国产AI芯片的模型适配、性能优化以及应用落地是国产AI应用的一道重要关卡。如何在复杂的京东零售业务场景下更好地使用国产AI芯片,并保障算力安全,是目前亟需解决的问题。对此,京…...

LINUX网络基础 [一] - 初识网络,理解网络协议

目录 前言 一. 计算机网络背景 1.1 发展历程 1.1.1 独立模式 1.1.2 网络互联 1.1.3 局域网LAN 1.1.4 广域网WAN 1.2 总结 二. "协议" 2.1 什么是协议 2.2 网络协议的理解 2.3 网络协议的分层结构 三. OSI七层模型(理论标准) …...

Linux 开发工具

linux中,常见的软件安装方式---下载 yum/apt.rpm安装包安装源码安装 yum 查看软件包 通过yumlist命令可以罗列出当前⼀共有哪些软件包.由于包的数⽬可能⾮常之多,这⾥我们需要使⽤ grep 命令只筛选出我们关注的包.例如: # Centos $ yum list | grep lrzsz lr…...

SpringBoot 全局异常处理

文章目录 异常处理全局异常处理(推荐)局部异常处理高级技巧设置返回状态码处理404异常异常处理 全局异常处理(推荐) 创建一个全局异常处理类,使用 @RestControllerAdvice 注解标记。 在方法上使用 @ExceptionHandler 声明当前方法可处理的异常类型。当系统发生异常时,…...

EA - 开源工程的编译

文章目录 EA - 开源工程的编译概述笔记环境备注x86版本EABase_x86EAAssert_x86EAThread_x86修改 eathread_atomic_standalone_msvc.h原始修改后 EAStdC_x86EASTL_x86EAMain_x86EATest_x86备注备注END EA - 开源工程的编译 概述 EA开源了‘命令与征服’的游戏源码 尝试编译. 首…...

springboot3 WebClient

1 介绍 在 Spring 5 之前,如果我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,不过由于 RestTemplate 是 Spring 3 中引入的同步阻塞式 HTTP 客户端,因此存在一定性能瓶颈。根据 Spring 官…...

【Python项目】基于深度学习的车辆特征分析系统

【Python项目】基于深度学习的车辆特征分析系统 技术简介:采用Python技术、MySQL数据库、卷积神经网络(CNN)等实现。 系统简介:该系统基于深度学习技术,特别是卷积神经网络(CNN),用…...

爬虫不“刑”教程

在大数据时代,信息的获取至关重要,而网络爬虫正是帮助我们从互联网上获取海量数据的重要工具。无论是数据分析、人工智能训练数据,还是商业情报收集,爬虫技术都能发挥重要作用。本篇文章将全面解析 Python 爬虫的各个方面&#xf…...

深入解析 supervision 库:功能、用法与应用案例

1. 引言 在计算机视觉任务中,数据的后处理和可视化是至关重要的环节,尤其是在目标检测、分割、跟踪等任务中。supervision 是一个专门为这些任务提供高效数据处理和可视化支持的 Python 库。本文将深入介绍 supervision 的功能、使用方法,并…...

【橘子golang】从golang来谈闭包

一、简介 闭包(Closure)是一种编程概念,它允许函数捕获并记住其创建时的上下文环境(包括变量)。闭包通常用于函数式编程语言,但在许多现代编程语言中也有支持,包括 Go ,Js等支持函数…...

盛铂科技PDROUxxxx系列锁相介质振荡器(点频源):高精度信号源

——超低相位噪声、宽频覆盖、灵活集成,赋能下一代射频系统 核心价值:以突破性技术解决行业痛点 在雷达、卫星通信、高速数据采集等高端射频系统中,信号源的相位噪声、频率稳定度及集成灵活性直接决定系统性能上限。盛铂科技PDROUxxxx系列锁…...

Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴

注:本文为 “ Vim 中鼠标右键粘贴、跨系统复制粘贴问题解决方案” 相关文章合辑。 未整理去重。 Linux 入门:vim 鼠标不能右键粘贴、跨系统复制粘贴 foryouslgme 发布时间 2016 - 09 - 28 10:24:16 Vim 基础 命令模式(command - mode&…...

仿12306项目(4)

基本预定车票功能的开发 对于乘客购票来说,需要有每一个车次的余票信息,展示给乘客,供乘客选择,因此首个功能是余票的初始化,之后是余票查询,这两个都是控台端。对于会员端的购票,需要有余票查询…...

调研:如何实现智能分析助手(Agent)(AutoCoder、FastGPT、AutoGen、DataCopilot)

文章目录 调研:如何实现智能分析助手(Agent)(AutoCoder、FastGPT、AutoGen、DataCopilot)一、交互流程二、数据流程三、架构分类四、开源产品4.1 AutoCoder(知识库变体)4.2 FastGPT(…...

爬虫逆向:脱壳工具Youpk的使用详解

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. Youpk 简介1.1 Youpk介绍1.2 Youpk支持场景1.3 Youpk基本流程1.4 使用 Youpk 脱壳步骤1.5 常用的脱壳工具对比2. Youpk 的安装与使用2.1 安装 Youpk2.2 使用 Youpk 脱壳3. 脱壳后的 Dex 文件分析3.1 使用 JADX 反编译…...

Java 大视界 -- Java 大数据在智能政务公共服务资源优化配置中的应用(118)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

Java停车平台高并发抢锁技术方案设计 - 慧停宝开源停车管理平台

Java停车平台高并发抢锁技术方案设计 一、业务场景特征 瞬时流量峰值 早晚高峰时段(07:30-09:00, 17:30-19:00)请求量激增10倍热门商圈停车场每秒并发请求可达5000 QPS 资源竞争特性 单个车位被多人同时抢占(超卖风险)用户操作链…...

【论文笔记】Attentive Eraser

标题:Attentive Eraser: Unleashing Diffusion Model’s Object Removal Potential via Self-Attention Redirection Guidance Source:https://arxiv.org/pdf/2412.12974 收录:AAAI 25 作者单位:浙工商,字节&#…...

Android Flow操作符分类

Flow操作符分类...

Cursor + IDEA 双开极速交互

相信很多开发者朋友应该和我一样吧,都是Cursor和IDEA双开的开发模式:在Cursor中快速编写和生成代码,然后在IDEA中进行调试和优化 在这个双开模式的开发过程中,我就遇到一个说大不大说小不小的问题: 得在两个编辑器之间来回切换查…...

图像识别-手写数字识别项目

训练模型: 实现神经网络实例 准备数据 导入torchvision.transforms模块,它提供了许多常用的数据预处理操作,如裁剪、旋转、归一化等。 从torch.utils.data模块导入DataLoader类,用于加载数据集并提供批量处理功能。 导入tensorboa…...

推荐几款优秀的PDF转电子画册的软件

当然可以!以下是几款优秀的PDF转电子画册的软件推荐,内容简洁易懂,这些软件都具有易用性和互动性,适合不同需求的用户使用。​ ❶ FLBOOK|在线创作平台 支持PDF直接导入生成仿真翻页电子书。提供15主题模板与字体库&a…...

bert模型笔记

1.各预训练模型说明 BERT模型在英文数据集上提供了两种大小的模型,Base和Large。Uncased是意味着输入的词都会转变成小写,cased是意味着输入的词会保存其大写(在命名实体识别等项目上需要)。Multilingual是支持多语言的&#xff0…...

利用 ArcGIS Pro 快速统计省域各市道路长度的实操指南

在地理信息分析与处理的工作中,ArcGIS Pro 是一款功能强大的 GIS 软件,它能够帮助我们高效地完成各种复杂的空间数据分析任务。 现在,就让我们一起深入学习如何借助 ArcGIS Pro 来统计省下面各市的道路长度,这一技能在城市规划、…...

数据库系统概论(一)详细介绍数据库与基本概念

数据库系统概论(一)介绍数据库与基本概念 前言一、什么数据库1.数据库的基本概念2.数据库的特点 二、数据库的基本概念1. 数据2. 数据库3.数据库管理系统4.数据库系统 三、数据管理技术的产生和发展四、数据库系统的特点1.数据结构化2.数据共享性3.数据冗…...

数字IC后端实现教程| Clock Gating相关clock tree案例解析

今天小编给大家分享几个跟时钟树综合,clock tree相关的典型问题。 数字IC后端设计实现之分段长clock tree经典案例 Q1:星主好,下面的图是通过duplicate icg来解setup违例的示意图。我没看懂这个 duplicate操作在cts阶段是怎么实现的,用什么…...

build gcc

1,下载源码 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz git clone --mirror https://github…...

软考架构师笔记-计算机网络

1.9 计算机网络 OSI/RM 七层模型 物理层 二进制传输(中继器、集线器) (typedef) 数据链路层 传送以帧为单位的信息(网桥、交换机、网卡) 网络层 分组传输和路由选择(三层交换机、路由器)ARP/RARP/IGMP/ICMP/IP 传输层 端到端的连接(TCP/UDP)在前向纠错系统中,当接…...

ubuntu打包 qt 程序,不用每次都用linuxdeployqt打包

用linuxdeployqt打包太麻烦,每次程序编译都要用linuxdeployqt打包一次,而且每次都要很长时间,通过研究得出一个新的打包方法 1.用用linuxdeployqt得出依赖的库文件(只要没有增加新模块,只要用一次就可以) …...

Spark(6)vm与centos虚拟机

(一)克隆虚拟机 vm软件提供了克隆的功能,它可以允许我们从一台虚拟机上快速克隆出其他的一模一样的主机。 具体的操作步骤如下: 关闭hadoop100这台虚拟机。在它身上右键,并选择管理 → 克隆 命令 在随后的设置中&#…...

人工智能开发面经AI、大数据、算法

以下是一份AI算法开发岗位的面试面经,结合最新行业趋势和经典问题,涵盖技术解析与实战案例,供参考: 一、机器学习基础(占比约30%) 1. 过拟合与欠拟合的解决方案 问题:如何解决模型过拟合&…...

在 macOS 上使用 CLion 进行 Google Test 单元测试

介绍 Google Test(GTest)是 Google 开源的 C 单元测试框架,它提供了简单易用的断言、测试夹具(Fixtures)和测试运行机制,使 C 开发者能够编写高效的单元测试。 本博客将介绍如何在 macOS 上使用 CLion 配…...

NO2.C++语言基础|C++和Java|常量|重载重写重定义|构造函数|强制转换|指针和引用|野指针和悬空指针|const修饰指针|函数指针(C++)

6. C 和 Java 区别(语⾔特性,垃圾回收,应⽤场景等) 指针: Java 语⾔让程序员没法找到指针来直接访问内存,没有指针的概念,并有内存的⾃动管理功能,从⽽有效的防⽌了 C 语⾔中的指针…...

中原银行:从“小机+传统数据库”升级为“OceanBase+通用服务器”,30 +系统成功上线|OceanBase DB大咖说(十五)

OceanBase《DB 大咖说》第 15 期,我们邀请到了中原银行金融科技部数据团队负责人,吕春雷。本文为本期大咖说的精选。 吕春雷是一位资历深厚的数据库专家,从传统制造企业、IT企业、甲骨文公司到中原银行,他在数据库技术与运维管理…...

自注意力机制的演进-从Transformer架构到DeepSeek-R1模型的深度语义理解革新

2025年,我国发布了开创性且高性价比的大语言模型-DeepSeek-R1,推动了AI领域的重大变革。本章节回顾了LLM的发展历程,其起点可追溯至2017年Transformer架构的提出,该架构通过自注意力机制(Self-Attention)彻底革新了自然语言处理技…...

数据结构拓展:详解realloc(C++)

前言 在C中,realloc 是C标准库提供的一个内存管理函数,用于动态调整已分配内存块的大小。尽管C更推荐使用 new/delete 或智能指针,但在某些场景(如与C代码交互或底层内存操作)中仍可能用到 realloc。以下是详细分析&a…...

计算机网络数据传输探秘:包裹如何在数字世界旅行?

计算机网络数据传输探秘:包裹如何在数字世界旅行? 一、从快递网络看数据传输本质 想象你网购了一件商品: 打包:商家用纸箱包装,贴上地址标签(数据封装)运输:包裹经过网点→分拣中心→运输车(网络节点与链路)签收:快递员核对信息后交付(数据校验与接收)数据的网络…...

十二、OSG学习笔记-Control

上一章节: 十一、OSG学习笔记-操作系统接口-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/145891502 本章节代码: OsgStudy/Controls CuiQingCheng/OsgStudy - 码云 - 开源中国https://gitee.com/cuiqingcheng/osg-study/tree/ma…...

DevOps全流程

DevOps全流程 面试速记 DevOps 是一种融合开与运维的软件研发实践方法,规划从需求调研到开发,测试,部署等全流程,通过Jenkins 和Kubernetes 等自动化工具集成部署实现从代码编写到部署的无缝衔接,加速软件交付周期。我…...

ARM Linux LCD上实时预览摄像头画面

文章目录 1、前言2、环境介绍3、步骤4、应用程序编写4.1、lcd初始化4.2、摄像头初始化4.3、jpeg解码4.4、开启摄像头4.5、完整的程序如下 5、测试5.1、编译应用程序5.2、运行应用程序 6、总结 1、前言 本次应用程序主要针对支持MJPEG格式输出的UVC摄像头。 2、环境介绍 rk35…...

NL2SQL-基于Dify+阿里通义千问大模型,实现自然语音自动生产SQL语句

本文基于Dify阿里通义千问大模型,实现自然语音自动生产SQL语句功能,话不多说直接上效果图 我们可以试着问他几个问题 查询每个部门的员工数量SELECT d.dept_name, COUNT(e.emp_no) AS employee_count FROM employees e JOIN dept_emp de ON e.emp_no d…...

centos8更换阿里云yum源

1.centos8更换为阿里云yum源 2.更换阿里云Yum-centos8源 mv /etc/yum.repos.d/CentOS-Stream-BaseOS.repo /etc/yum.repos.d/CentOS-Stream-BaseOS.repo.backupcurl -o /etc/yum.repos.d/CentOS-Stream-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-8.repowget -O /et…...

在命令的轨迹中:创建、删除与查看普通用户,Linux用户管理的风华与深邃

文章目录 引言一、创建普通用户二、测试是否创建成功三、查看普通用户四、更改密码五、赋予普通用户root权限六、删除普通用户小结 引言 在浩瀚如海的Linux系统中,每一位用户都是一颗独立的星辰,散发着属于自己的光芒。在这片数字的星空中,用…...

年后寒假总结及计划安排

年后寒假总结 年后主要学习了微服务,nacos (服务注册中心),feign(远程调用),网关,双token(相较于之前更加规范,更加符合企业级),配置管理 ,mybati…...

IvorySQL v4 逻辑复制槽同步功能解析:高可用场景下的数据连续性保障

功能简介 IvorySQL v4 基于 PostgreSQL 17,引入了逻辑复制槽同步至热备份数据库的功能。这一改进有效解决了旧版本中主数据库与备份数据库切换后逻辑复制中断的问题。对于那些追求数据高可用性和业务连续性的数据库来说,这无疑是一个重大的利好消息。它…...

GitLab常用操作

git init //初始化一个git的本地仓库git rm -r --cached //清除缓存,比如修改了.gitignore文件,可以先清缓存再进行下边的操作git add README.md //增加一个文件 //git add 文件夹/ //增加文件夹内的所有文件 //git add --all //增加当前项目…...

【运维笔记】docker 中 MySQL从5.7版本升级到8.0版本 - 平滑升级

在Docker环境中,将MySQL从5.7版本升级到8.0版本时,数据确实需要迁移。虽然不能直接通过docker-compose命令简单地进行版本升级并保留所有数据,但可以通过一系列步骤来实现平滑升级和数据迁移。以下是详细的迁移步骤: 一、准备阶段…...

NUMA架构介绍

NUMA 架构详解 NUMA(Non-Uniform Memory Access,非统一内存访问) 是一种多处理器系统的内存设计架构,旨在解决多处理器系统中内存访问延迟不一致的问题。与传统的 UMA(Uniform Memory Access,统一内存访问…...

三、0-1搭建springboot+vue3前后端分离-idea新建springboot项目

一、ideal新建项目1 ideal新建项目2 至此父项目就创建好了,下面创建多模块: 填好之后点击create 不删了,直接改包名,看自己喜欢 修改包名和启动类名: 打开ServiceApplication启动类,修改如下: …...

【哇! C++】类和对象(三) - 构造函数和析构函数

目录 一、构造函数 1.1 构造函数的引入 1.2 构造函数的定义和语法 1.2.1 无参构造函数: 1.2.2 带参构造函数 1.3 构造函数的特性 1.4 默认构造函数 二、析构函数 2.1 析构函数的概念 2.2 特性 如果一个类中什么成员都没有,简称为空类。 空类中…...