diff --git a/README.md b/README.md index 75b3f09d2b82f441724ba8c7e4fd67089c2078cf..3b053d55bc6edf95221d5dff85c5a85c63383eef 100644 --- a/README.md +++ b/README.md @@ -1,101 +1,166 @@ -# llm_solution +# openEuler开源全栈AI推理解决方案(Intelligence BooM) + +**我们的愿景:**基于 openEuler 构建开源的 AI 基础软件事实标准,推动企业智能应用生态的繁荣。 + +**当大模型遇见产业落地,我们为何需要全栈方案?** + +DeepSeek创新降低大模型落地门槛,AI进入“杰文斯悖论”时刻,需求大幅增加、多模态交互突破硬件限制、低算力需求重构部署逻辑,标志着AI从“技术验证期”迈入“规模落地期”。然而,产业实践中最核心的矛盾逐渐显现: + +**产业痛点​** + +**适配难​:**不同行业(如金融、制造、医疗)的业务场景对推理延迟、算力成本、多模态支持的要求差异极大,单一模型或工具链难以覆盖多样化需求; +​**成本高​:**从模型训练到部署,需跨框架(PyTorch/TensorFlow/MindSpore)、跨硬件(CPU/GPU/NPU)、跨存储(关系型数据库/向量数据库)协同,硬件资源利用率低,运维复杂度指数级上升; +**​生态割裂​:**硬件厂商(如昇腾、英伟达)、框架厂商(如华为、Meta、Google)、云厂商(如K8s/RAY)的工具链互不兼容,“拼凑式”部署导致开发周期长、迭代效率低。 +​技术挑战 +​**推理效率瓶颈​:**大模型参数规模突破万亿级,传统推理引擎对动态计算图、稀疏激活、混合精度支持不足,算力浪费严重; +​**资源协同低效​:**CPU/GPU/NPU异构算力调度依赖人工经验,内存/显存碎片化导致资源闲置; + + +为了解决以上问题,我们通过开源社区协同,加速开源推理方案Intelligence BooM成熟。 + +## 技术架构 + +![](doc/deepseek/asserts/IntelligenceBoom.png) + + + +#### **智能应用平台:让您的业务快速“接轨”AI​** + +**组件构成 :**openHermes(智能体引擎,利用平台公共能力,Agent应用货架化,提供行业典型应用案例、多模态交互中间件,轻量框架,业务流编排、提示词工程等能力)、deeplnsight(业务洞察平台,提供多模态识别、Deep Research能力) + +【deepInsight开源地址】https://gitee.com/openeuler/deepInsight + +**核心价值** + +**低代码开发:**openHermes提供自然语言驱动的任务编排能力,业务人员可通过对话式交互生成AI应用原型; + +**效果追踪​:**deeplnsight实时监控模型推理效果(如准确率、延迟、成本),结合业务指标(如转化率、故障率)给出优化建议,实现“数据-模型-业务”闭环。 + + -2025年,以DeepSeek-R1为代表的AI大模型正以惊人的速度重塑产业格局。短短7天用户破亿、多模态交互与低算力需求突破硬件限制,这些成就印证了AI技术走向规模落地的临界点已至。然而,将AI融入到具体产业,还面临着一些问题: +#### **推理服务:让模型“高效跑起来”** -**从产业上看:** +**组件构成​:**vLLM(高性能大模型推理框架)、SGLang(多模态推理加速库) -1、**算力与模型的割裂**:厂商需为不同硬件重复适配模型,开发成本陡增; +【vLLM开源地址】https://vllm.hyper.ai/docs -2、**生态孤岛化**:各厂商自建技术栈,导致跨平台协作效率低下; +**核心价值​** -3、**长尾需求难满足**:中小开发者受限于算力与框架兼容性,难以复用头部模型能力。 +**动态扩缩容:**vLLM支持模型按需加载,结合K8s自动扩缩容策略,降低70%以上空闲算力成本; -**从技术上看:** +**大模型优化​:**vLLM通过PagedAttention、连续批处理等技术,将万亿参数模型的推理延迟降低50%,吞吐量提升3倍; -1、**混合专家(MoE)架构的适配性挑战**:专家模型与硬件内存存在匹配困境,同时专家负载不均与通信开销过高; -2、**多模型协同与训推一体的系统挑战**:多模型动态交互、训推状态切换、资源动态分配引发协同困难,训推一体化软件栈的易用性不足; -3、**长序列推理与稀疏计算的性能挑战**:长序列KVCache存在容量瓶颈;稀疏计算引发的向量化效率下降。 +#### **加速层:让推理“快人一步”​​** -DeepSeek引发的挑战本质上是AI规模化落地的必经之痛。解决这些难题需硬件厂商、框架开发者与行业用户深度协同,通过**全栈开放生态共建**与**分层协同性能提升**,实现从单点突破到系统级效能跃迁。 +**组件构成​:**sysHAX、expert-kit、ktransformers -为了解决以上问题,**openEuler开源社区与MindSpore社区**,推出面向大模型的全栈开源方案,以**操作系统+AI框架+模型生态**的三层开放架构,替换**操作系统**和**DL框架**,秉承**代码开源+标准开放+生态共建**的理念,打造智能时代的全国产化的数字基座。 +【sysHAX开源地址】https://gitee.com/openeuler/sysHAX -## 软件架构 -### 全栈开放生态共建 +【expert-kit开源地址】https://gitee.com/openeuler/expert-kit -![](/doc/deepseek/asserts/software_stack.png) +**核心价值​** +**异构算力协同分布式推理加速引擎:**整合CPU、NPU、GPU等不同架构硬件的计算特性,通过动态任务分配实现"专用硬件处理专用任务"的优化,将分散的异构算力虚拟为统一资源池,实现细粒度分配与弹性伸缩; -openEuler+MindSpore社区协同提出开源推理方案,以全栈开放架构直击痛点: -**1. 对上:兼容多元大模型生态,普惠AI** -a、支持DeepSeek、LLaMA系列等主流模型接入,通过归一化的开源推理软件栈,保证不同模型对资源的动态调配,在生态上做到统一演进,且开箱即优,避免"重复造轮子"; +#### **框架层:让模型“兼容并蓄”** -b、集成模型微调与蒸馏能力,优化增强RAG流程搭建,结合DeepSeek群体策略优化经验,降低长尾场景定制门槛。 +**组件构成​:**MindSpore(全场景框架)、PyTorch(Meta通用框架)、TensorFlow(Google工业框架) -**2. 对下:异构算力无缝接入,AI基座** +【MindSpore开源地址】https://gitee.com/mindspore -a、通过硬件抽象层兼容GPU、NPU及国产芯片,释放DeepSeek低能耗技术红利; +**核心价值​** -b、在极致资源约束下,资源动态调度诉求强烈,通过全栈协同优化降低模型资源消耗获得竞争优势。 +**多框架兼容:**通过统一API接口,支持用户直接调用任意框架训练的模型,无需重写代码; +**动态图优化​:**针对大模型的动态控制流(如条件判断、循环),提供图优化能力,推理稳定性提升30%; +​**社区生态复用​:**完整继承PyTorch/TensorFlow的生态工具(如Hugging Face模型库),降低模型迁移成本。 -### 分层协同性能提升 -通过openEuler、MindSpore与vLLM/RAY间的分层协同,为DeepSeek-R1大模型带来了吞吐性能与易用性的显著提升。核心技术点如下: +#### **数据工程、向量检索、数据融合分析:从原始数据到推理燃料的转化​** -#### openEuler: +**组件构成​:**DataJuicer、Oasis、九天计算引擎、PG Vector、Milvus、GuassVector、Lotus、融合分析引擎 -##### 异构融合调度:负载感知MoE冷热专家,任务细粒度调度提升推理性能 +**核心价值​** -1. 负载感知的冷热MoE专家动态识别和并行调度,稀疏MoE计算分层细粒度拆分到不同进程部署在多样算力; +**多模态数据高效处理与管理:**多模态数据的统一接入、清洗、存储与索引,解决推理场景中数据类型复杂、规模庞大的管理难题,为上层智能应用提供标准化数据底座。 -2. 共享资源细粒度按需控制,支持MoE专家均衡调度,计算/通信细粒度并发; +**高效检索与实时响应支撑:**实现海量高维数据的快速匹配与实时查询,满足推理场景中对数据时效性和准确性的严苛要求,缩短数据到推理结果的链路延迟,为智能问答、智能运维等实时性应用提供底层性能保障。 -3. 针对高并发场景下推理服务、分布式计算组件Host侧资源争用的痛点,利用NUMA感知的细粒度算力与内存资源隔离,提升推理整体性能。 -##### 异构融合内存:高效管理异构内存,减小系统内存碎片,提升系统推理性能 -1. 针对推理服务高并发场景,通过线程特性感知的细粒度内存分配、高性能代码段大页机制,在控制内存开销的同时,提升Host侧性能与整体推理吞吐; +#### **任务管理平台:让资源“聪明调度”​​** -2. 针对MoE架构的稀疏访存特征,通过Host/Device协同内存管理实现多粒度动态混合页与按需内存分配,减少页表访存开销同时提升显存利用效率; +**组件构成​:**openFuyao(任务编排引擎)、K8S(容器编排)、RAY(分布式计算)、oeDeploy(一键部署工具) -3. 针对大模型推理服务面临的显存容量挑战,基于MoE架构的稀疏计算特征,利用运行时-OS协同设计实现高效专家超分部署,提升显存利用率与整体推理吞吐。 +【openFuyao开源地址】https://gitcode.com/openFuyao -##### 异构融合编译:毕昇编译优化,减少算子下发耗时,提升算子性能 +【RAY开源地址】https://gitee.com/src-openeuler/ray -1. **架构亲和编译优化**:通过架构亲和的原子指令优化和Malloc、Memcpy高性能库优化,降低各类锁的代价,提高内存利用效率,降低访存开销,进而降低时延,提高吞吐率;算子编译阶段使能智能感知流水优化,基于数据依赖关系深度分析和自适应同步决策机制,自动插入最优同步指令实现高效的多级流水并行;通过昇腾算子抽象层与芯片ISA的智能映射,实现指令级并行优化,极大发挥芯片理论算力; +【oeDeploy开源地址】https://gitee.com/openeuler/oeDeploy -2. **多维融合编译优化**:针对算子下发阶段前端性能瓶颈较高的特点,通过CFGO优化技术,借助运行时信息,编译器进行精准的代码布局优化,有效提高程序IPC,降低算子下发时延;多维融合加速能够自动实现向量类算子融合、矩阵-向量类算子融合,减少数据搬运开销,并通过细粒度并行进一步提升算子性能,快速满足用户验证模型算法和提升模型开箱性能。 +**核心价值​** -#### MindSpore: +**端边云协同:**根据任务类型(如实时推理/离线批处理)和硬件能力(如边缘侧NPU/云端GPU),自动分配执行节点; -##### 图编译:将模型编译为计算图,通过模式匹配自动将小算子融为大算子 +**全生命周期管理​:**从模型上传、版本迭代、依赖安装到服务启停,提供“一站式”运维界面; +​**故障自愈​:**实时监控任务状态,自动重启异常进程、切换备用节点,保障服务高可用性。 -1\.**图生成**:MindSpore通过JIT编译自动将模型的python类或者函数编译成一张完整的计算图,JIT编译提供了多种方式(ast/bytecode/trace)以满足不同场景的用途,覆盖了绝大部分Python语法。 -2\.**自动融合**:基于计算图通过自动模式匹配实现算子融合,将小算子融合成大颗粒的算子。大算子既减少Host下发的开销,同时也大大缩短了Device的计算时延。在DeepSeek V3/R1模型中实现了QKV/FFN+Split融合、Transpose+BatchMatMul+Transpose融合、Swiglu融合以及Norm类融合,大幅度减少了算子数量。 -3\.**动态shape支持**:计算图的执行需要支持动态shape以满足推理场景输入输出序列长度以及batch -size的动态变化,相比于静态shape的整图下沉,动态shape的计算图执行需要每个iteration在Host侧重新执执行shape推导以及申请显存等操作,为了避免Host成为瓶颈,MindSpore通过Shape推导和显存申请、算子Tiling数据计算以及算子下发三级流水优化,实现Host计算和Device计算的掩盖。 +#### **编译器:让代码“更懂硬件”​​** -##### 模型压缩:金箍棒工具,快速实现模型量化算法及量化推理全流程 +**组件构成​:**异构融合编译器(Bisheng) -金箍棒是华为昇思 MindSpore团队与华为诺亚方舟实验室联合研发的模型压缩工具,依靠 MindSpore Rewrite -模块,为算法开发者屏蔽网络差异和硬件细节,提升算法接入与调优效率,同时提供了可视化、量化损失分析以及Summary等工具。 +【Bisheng开源地址】https://github.com/dataelement/bisheng -我们使用金箍棒通过不同量化方式,来尝试平衡DeepSeek-R1的精度和性能: +**核心价值** -**8bit权重量化**:对 DeepSeek-R1 进行8bit权重量化,使权重显存占用降为1/2,小batch_size场景推理性能提升明显,但大batch_size场景推理性能变差,分析发现是权重量化矩阵乘算子随着batch_size增大性能会下降。 +**跨硬件优化:**针对CPU(x86/ARM)、GPU(CUDA)、NPU(昇腾/CANN)的指令集差异,自动转换计算逻辑,算力利用率大幅提升%; -**SmoothQuant 8bit量化**:为提升大batch_size场景的性能,用SmoothQuant 8bit -全量化,测试发现随batch_size增加,吞吐量线性度良好,但网络量化精度损失仍较大。 +**混合精度支持​:**动态调整FP32/FP16/INT8精度,在精度损失可控的前提下,推理速度大幅提升; +​**内存优化​:**通过算子融合、内存复用等技术,减少30%显存/内存占用,降低硬件成本。 -**混合量化**:为降量化精度损失,对精度较敏感的FeedForward层用激活动态量化,损失部分性能提升来提升量化精度,MLA层用Outlier-Suppression+异常值抑制算法替代SmoothQuant进一步提升精度。 + + +#### **操作系统:让全栈“稳如磐石”** + +**组件构成​:**openEuler(欧拉操作系统) + +【openEuler开源地址】https://gitee.com/openeuler + +**核心价值** + +**异构资源管理:**原生支持CPU/GPU/NPU的统一调度,提供硬件状态监控、故障隔离等能力; + +**安全增强​:**集成国密算法、权限隔离、漏洞扫描模块,满足金融、政务等行业的合规要求。 + + + +#### **硬件使能与硬件层:让算力“物尽其用”** + +**组件构成​:**CANN(昇腾AI使能套件)、CUDA(英伟达计算平台)、CPU(x86/ARM)、NPU(昇腾)、GPU(英伟达/国产GPU) + +**核心价值** + +**硬件潜能释放:**CANN针对昇腾NPU的达芬奇架构优化矩阵运算、向量计算,算力利用率大幅提升;CUDA提供成熟的GPU并行计算框架,支撑通用AI任务; + +**异构算力融合​:**通过统一编程接口(如OpenCL),实现CPU/NPU/GPU的协同计算,避免单一硬件性能瓶颈; +​ + +#### **互联技术:让硬件“高速对话”​​** + +**组件构成​:**UB(通用总线)、CXL(计算与内存扩展)、NvLink(英伟达高速互联)、SUE + +**核心价值** + +**低延迟通信:**CXL/NvLink提供内存级互联带宽(>1TB/s),减少跨设备数据拷贝开销 + +**灵活扩展:**支持从单机(多GPU)到集群(跨服务器)的无缝扩展,适配不同规模企业的部署需求。 @@ -111,7 +176,6 @@ size的动态变化,相比于静态shape的整图下沉,动态shape的计算 参考[EulerCopilot用户指南](https://gitee.com/openeuler/euler-copilot-framework/blob/master/docs/user-guide/README.md),搭建本地知识库并协同DeepSeek大模型完成智能调优、智能运维等应用; - ## 性能 ### 精度 @@ -144,7 +208,7 @@ size的动态变化,相比于静态shape的整图下沉,动态shape的计算 | 并发数 | 吞吐(Token/s) | | ------ | ------------- | | 1 | 22.4 | -| 192 | 1600 | +| 192 | 2600 | diff --git a/doc/deepseek/asserts/IntelligenceBoom.png b/doc/deepseek/asserts/IntelligenceBoom.png new file mode 100644 index 0000000000000000000000000000000000000000..0edc8ade40c42da28a8532d7a8432c39d1aff178 Binary files /dev/null and b/doc/deepseek/asserts/IntelligenceBoom.png differ