过去几年,AI产业的叙事重心始终围绕两个关键词打转——算力和模型,前者决定了规模上限,后者决定了智能上限。
但在实际的工程落地中,影响模型“能否跑得动、跑得稳、跑得久”的因素,不只有算力性能和模型参数。位于底层硬件和模型框架之间的计算架构,扮演了不可或缺的角色。
在英伟达的体系里,主要由CUDA担纲,把GPU的复杂性封装成了一套可调用、可复用、可规模化的计算体系,几乎成了事实上的并行计算产业标准,形成了一个封闭、单一厂商主导的技术生态。
在华为昇腾的体系里,对标CUDA的是CANN,同样是一个承上启下的计算架构:向上对接昇思MindSpore、PyTorch、TensorFlow等主流AI框架,对下使能NPU为核心的昇腾系列硬件产品。
有别于CUDA的封闭,CANN的主张是开源开放。特别是在8月份宣布全面开源开放后,每个月都有新的组件开源。
9月30日,算子库、CATLASS算子模板库等项目全面开源;
10月30日,领域加速库、单边通信库等项目开源;
11月30日,Ascend C编程语言全面开源;
12月30日,运行时、图引擎、集合通信库等项目开源,按计划实现CANN 匹配A2/A3版本的全面开源开放。
由此产生的一个问题是:走封闭路线的CUDA,被视为英伟达最强大的“护城河”,CANN为何做出了反向战略选择?
01 从“能用”到“敢用”,破解产业落地的信任天花板
答案藏在产业一线的“焦虑”中。
在和CTO、开发者的交流中,每次谈到AI在产业中落地的话题时,普遍会涉及两个问题:
一是对“黑盒”的恐惧。
传统的AI开发过程中,硬件底层对于上层应用往往是一个“黑盒”,只能通过有限的接口进行交互,就像一辆无法打开引擎盖的汽车,可以踩油门、打方向盘,但对引擎的内部结构一无所知。
切换到大模型训练的语境下,当训练速度不理想,或者出现精度溢出等问题时,开发者无法判断问题究竟出在算法层面,还是底层算子的调度上,只能被动求助硬件厂商,失去了主动权和效率。
二是对“捆绑”的抗拒。
一旦选择某个计算平台,常常意味着和平台的深度绑定,模型、算子、工具链、工程经验等,都会被固化在计算生态中。
某种程度上也是英伟达“绝不会将CUDA开源”的底气:开发者想要在GPU上实现高效的并行计算,必须要适应CUDA生态,想要转向其他计算平台,代价则是昂贵的迁移成本,不可避免地需要重写代码、重学新工具,直接劝退了很多萌生“脱离”想法的开发者。
挑战封闭的最佳方案,正是开源开放。封闭生态近乎无解的两个“焦虑”,CANN却拿出了合理的方案。
针对“黑盒”,CANN的开源开放不是简单的“秀代码”,而是将算子库、通信库、编程语言、运行时等全量开源。
开发者以前只能开的跑车,现在有了全套的“发动机图纸”,可以深入到图优化、算子融合、内存调度等底层机制进行二次创新,模型移植、调试、性能分析的全过程“白盒化”。甚至不用局限于现成的工具和框架,可以根据自身需求进行深度定制和优化,实现更高的性能和效率。
针对“捆绑”,CANN的回答是架构解耦、分层开源开放,所有组件支持独立演进,实现分包独立升级。
从底层的硬件驱动、运行时到中间的编译器、编程语言,再到上层的各类计算、通信加速库,CANN的每一层都实现了物理上的松耦合。开发者无须像过去那样“牵一发而动全身”,可以根据业务需求,按需引入或升级特定的组件功能,大幅降低系统集成和定制开发的门槛,避免“被锁死”的风险。
如果说以前的CANN解决了“能用”的问题,让模型在自主算力上跑了起来。现在要解决的是“敢用”的问题:通过全面开源开放,实现了从“黑盒”到“白盒”再到全过程“透明”,可解释、可维护、可长期演进,以最大的诚意破解产业落地的信任天花板。
02 从“敢用”到“好用”,和千行万业开发者共建生态
产业落地远不是计算平台的终点。
一个繁荣的生态,不仅仅要满足“能用”“敢用”,还有另一个必须要回答的问题——是不是“好用”。
不少开发者对CUDA依赖甚至“上瘾”,并非是因为不可替代,而是CUDA体系的文档完善、示例丰富和庞大的开发者社区,在使用过程中遇到了问题,大概率能搜到答案。
CANN对“好用”有着更深的理解,试图走出一条新路。
路径一:提升开发易用性,以社区为阵地,构建全链路知识体系。
为了降低学习门槛,CANN投入了巨大资源打造开源社区,汇聚了开源、学习、活动等资源,给开发者提供了一站式直达体验。
在学习资源上,目前已线63门在线课程、22门微认证,涵盖从Ascend C算子开发入门到进阶的全流程。
在实战演练上,通过CANN训练营、昇腾AI算子挑战赛等活动以赛代练,比如CANN训练营已经开展了12季。
在文档支持上,开源社区提供了从单任务到场景化的知识体系,包括100+专题课程和10+场景化文档……
路径二:“放权”给开发者,人人都能参与,每个人都可以是贡献者。
打一个比方:CANN构建了一套颗粒度极细的“全栈积木系统”,让开发者不再是被动的“使用者”,而是拥有不同构建权限的“架构师”。
模型开发者可以直接调用封装好的算子库和通信库,省去打磨细节的时间,专注于上层建筑的宏伟设计。
算子开发者可以根据特殊需求,自行设计并制造出形状各异的高性能“异形砖”,解决通用件无法解决的难题。
深度发烧友可以对Runtime等底层资源管理能力进行极致调优,夯实最底层的“地基”,彻底释放硬件性能。
结果有何不同?
我们找到了两个有代表性的开发者故事。
第一个是哈尔滨工业大学的苏统华教授,他的团队基于CANN的Ascend C打造了昇腾NPU原生Numpy——AsNumpy,在Python层完全兼容Numpy API,用户无需额外学习成本,即可在昇腾NPU上实现高效的科学计算。
第二个是杭州天宽科技有限公司,依托CANN开发的“智能巡检场景算子库”,让巡检效率提升了3倍、停电事故率下降了30%、应急响应与维修效率提升了20%,打破了传统巡检模式安全、效率与成本的“不可能三角”。
倘若是封闭的体系,开发者大概率只能做调用接口的应用创新,无法对算子进行自定义扩展。
但在CANN的生态里,创新不再完全依赖平台,开发者能更充分地释放硬件潜能,千行万业的开发者都能成为生态的贡献者。即使是人数不多的高校科研团队、初创公司,也能参与到底层的创新和优化。
03 当“透明”成为前提,计算产业的运行规则正在改变
权力的重构往往伴随着规则的重塑。
CANN的全面开源开放,不只是“另一种实现路径”,也在悄然改变计算产业默认的运行规则。
在新一轮的AI浪潮中,竞争的焦点早已不是单纯的算力或算法,而是围绕软件、开发者与生态的博弈。CANN的全面开源,掀起了一场透明度革命,将对技术、生态、产业方向等产生深远影响。
在技术层面,从“黑盒”到“白盒”,将彻底改变AI开发模式。
站在开发者的立场上,底层机制不透明,只能依赖官方文档了解,在很大程度上被束缚了拳脚。
CANN的全面开源开放,让编译器、算子库、运行时等核心组件完全可见,开发者可以直接洞察硬件的运行逻辑,进行更深层次、更精准的性能优化,等于将创新的主动权交还到了每一位开发者手中。
相对应的就是开发门槛的降低。
以算子开发为例,过去的门槛高到不敢用,CANN开源了CATLASS算子模板库后,只需简单的参数配置,即可快速生成适配不同形状和精度的矩阵乘算子,大大提升了开发效率和灵活性。
在生态层面,从“封闭独奏”到“开放共治”,构建最大公约数。
一个计算生态的长期生命力,源于开放、透明和集体智慧。CANN的全面开源开放,正是遵循了这一逻辑。
譬如前面提到的天宽科技,除了AI智能巡检方案,还开源了具身智能巡检行业标准算子库,完成了从“使用者”到“贡献者”的转变。对于电力、工业等有具身智能巡检需求的开发者来说,有了开源的行业算子库,将进一步降低了软硬件适配的成本和难度。
当越来越多企业把自身的工程实践转化为可被复用的公共能力,计算生态的演进就不再依赖单点突破,而是通过不断扩大的最大公约数,推动整个产业走向成熟与繁荣。
在产业层面,从“平台主导”到“多元协作”,释放行业生产力。
创新的节奏不再被单个平台主导,产业分工或将从“上下游依附关系”,自发形成一个“能力协作网络”。
比如在能源、制造、交通等领域,瓶颈往往不在模型本身,而是算子效率、数据流转、实时调度等工程细节。CANN的全面开源开放,让行业可以围绕自身场景,对关键路径进行定制优化,不必等待平台版本演进,让算力更高效地转化为生产力。
开源开放的终极目的,无外乎为产业提供探索和创新空间。就这一点而言,CANN正在和千行万业双向奔赴。
毕竟一个计算生态的核心价值,不是限制开发者,而是赋能开发者,放大创新的杠杆效应;一个健康的计算生态,取决于能否降低创新的边际成本,能否让创新转化为产业生产力。
04 写在最后
一个计算体系被用于长期、关键、不可中断的生产场景时,不透明本身,就是最大的风险。
CANN的全面开源开放,本质上在做一件事,即消除“黑盒”,让底层机制可审视、可验证、可优化,把原本隐性的、不确定的风险,转化为工程上可定位、可控制、可协同解决的问题。
也让我们有理由相信,封闭终将让渡于开放,只有打破封闭的藩篱,形成创新合力,才能构建起坚固的数智化根基。