基于昇腾 AI 的“金奖”实践,给开发者有何启思?| Q推荐
12 月初,第八届“互联网 +”大学生创新创业大赛(下文称“本届大赛”)圆满落幕,该大赛由教育部主办,旨在全面深化高校创新创业教育改革、提升大学生创新创业能力、加快培养创新创业人才,纵深推进大众创业万众创新。
在本届大赛中,华为五大技术领域共输出 47 道命题,来自 30 个省的 249 所高校 2799 支队伍 11661 人报名华为命题,在 858 家命题企业中排名第一,其中昇腾命题报名团队人数最多。
历经激烈角逐,由北京理工大学韩煜祺博士带领的团队基于昇腾算力及 CANN 开发的创新应用《京工天鹰——昇腾赋能智能实时无人机载安防系统》(下文称“该项目”)在本次比赛中斩获金奖。本届大赛决赛有来自全国的 90 支队伍参与金奖争夺,为何该项目可以夺得金奖?该项目有何特色?带着这些疑问,InfoQ 对该项目的负责人——北京理工大学的韩煜祺博士进行了专访。
韩煜祺来自于北理工毛二可、龙腾院士创新团队,该团队长期深耕于机载实时信息等相关技术的研发工作,韩煜祺本人博士阶段也是从事基于无人机平台的智能化算法研究及开发。在韩煜祺带领下的京工天鹰团队共 15 个人,昇腾 AI 基础软硬件平台能提供高算力,同时具备软硬协同、自主创新等优势,十分切合该团队所有成员的兴趣,且该团队之前已经有过华为其他领域的研发经验,因此选择了昇腾 AI 的命题进行应用探索并参赛。
在决定参赛后,京工天鹰团队在选题方面做了很多考虑。安防行业的社会意义重大,传统人工或视频监测的安防方式存在盲区多、风险高、响应慢等问题,是该团队一直在关注的领域。该团队通过对机载安防市场进行调研和分析,发现该行业的市场规模很大,21 年的行业规模有近万亿元。在多次与昇腾 AI 技术团队沟通后,京工天鹰团队觉得团队自身在机载实时信息处理上有一定技术积累,加上昇腾 AI 的助力,对完成项目落地非常有信心,于是确定了《京工天鹰——昇腾赋能智能实时无人机载安防系统》这个选题。
该项目从命题揭榜到参与总决赛答辩共历时 6 个月,来自信息通信工程、光学工程及工商管理等专业的项目团队成员,在项目推进过程中各自发挥特长,比如光学工程专业的同学主要解决了紧凑型吊舱的结构设计问题;研究信息处理的同学对轻量化的智能算法进行了技术攻关;工商管理专业的同学主要对商业和市场管理方案进行了内容输出。
通过与昇腾 AI 的深入沟通并结合实际研发的任务,京工天鹰团队对昇腾的计算架构进行了深度的二次开发,缓解了算力与功耗的矛盾,基于昇腾异构计算架构 CANN 研究了图像智能处理平台及智能实时无人机载安防系统,拓展了昇腾算力的应用生态。
该项目主要面向完善自主创新 AI 生态的需求,以及公共安全领域创新巡检方案的行业缺口,构建了机载的智能、实时、通用巡检方案,实现了无人机在防疫、边境和火灾等巡检场景对人、车辆等目标的检测、识别与定位等功能。
公共安全应用场景复杂多样且需求不一,人的异常行为定义具有复杂性且存在时效性,所以“对可疑车辆、行人实现自主检测及追踪定位”的功能是项目的关键核心,该功能需要具有强大的抗干扰能力和较强的鲁棒性,并能够实现异常诱因检测,具有实时性的处理算法和高性能的运行平台。
为此,京工天鹰团队提出了一系列解决方案。他们主要采用无人机相机采集航拍图像,然后将图像传输给目标检测模块,通过图像预处理、特征提取、特征匹配等一系列过程实现对物体、车辆目标的捕获;之后,依据帧间目标外观及其运动状态,对多个目标进行编目实现多目标的持续锁定与关联。
从技术创新的角度,由于无人机观测范围广、监视时间长,航拍图像分辨率高、图像容量大,对机上算法的智能化和实时性都提出了较高要求。团队使用多手段联合的神经网络轻量化模型降低对大数据、大模型的依赖,通过内嵌推理机制的智能化学习技术,采用数据 + 知识双重驱动的学习策略,在大幅降低计算复杂度的情况下,同时实现了对 20 个目标的机上实时处理功能。
而且,在系统实际落地过程中,由于其体积功耗等资源约束限制,就要求在有限的资源供给下,对模型进行适当压缩,仍能保证较好的处理精度和较高的运行效率。
结合这些场景的边界约束,从硬件层面,该项目主要采用 Atlas 系列硬件作为核心处理器,利用 CANN 对训练、推理流程进行加速优化,使昇腾 AI 在项目中发挥最大能效。
同时,京工天鹰团队对昇腾平台进行了二次开发,设计了多昇腾 +FPGA 的异构计算架构,通过对任务进行模态拆解并自适应匹配最高效的硬件处理资源,从而提升平台的能效比,有效平衡算法的算力需求与机载平台的功耗约束,并结合能弱化底层硬件差异性的软硬解耦中间件进行开发。软硬解耦中间件将算法任务分配后,借助 CANN 完成并行推理时的资源管理和执行使能,从而解决了算力无法满足应用需求的问题。
为了实现项目功能,从算法层面,京工天鹰团队也自研了目标检测算法、多目标跟踪算法以及模型轻量化算法等 AI 算法:
目标检测算法:在大视场的机载图像中对感兴趣目标进行快速捕获,为后续处理提供目标的初始选点;
多目标跟踪算法:对检测到的目标进行时序上的特征及轨迹关联,对目标赋予稳定的标号;
模型轻量化算法:将上述检测和跟踪模型进行压缩和效率优化,使智能化模型能够在有限资源的无人机平台上部署。
在算法技术攻关的过程中,由于机载航拍图像中目标呈现多尺度、多朝向分布的特点,导致目标捕获过程中存在漏检及虚警等情况。团队通过设计目标多层级特征融合及自适应角度估算等策略,提升对不同分布条件下目标外观表征能力,保证了对重点目标的精准检测与定位。
在整个软件驱动硬件的过程中,京工天鹰团队将 CANN 纳入研发的软硬解耦中间件的框架中,基于 CANN 的异构并行加速能力,对整个算法流程进行了分析和分解,充分考虑硬件特性,将不同任务负载映射到计算资源池中特定的硬件加速模块上,在整体上获得更低的处理时延和更高的能效比。
在该项目的开发过程中,京工天鹰团队大量使用 CANN 提供的精度比较工具、算子自动调优工具以及性能瓶颈分析工具等。这些工具极大提升了开发效率,也让自研算法有了更好的执行效率,从而充分地释放昇腾算力的潜力。值得一提的是,CANN 提供的 TBE 算子开发工具使得该团队能将实验室自研的先进算法移植到昇腾平台上,通过自定义算子的开发,完成了对智能算法端到端基于昇腾算力的加速,满足了智能无人机载安防系统对高精度算法实时处理的需求。
昇腾异构计算架构 CANN ,对上承接多种 AI 框架,对下服务 AI 芯片与编程,是提升昇腾处理器计算效率的关键平台。使用 CANN 进行平台迁移的成本较低,在方案实现时,只需指定 device 为昇腾 AI 处理器,即可用昇腾 AI 处理器完成网络的开发、训练以及调试,无需额外进一步关注昇腾 AI 处理器具体的底层细节。
同时,京工天鹰团队在采用 MindStudio 打通应用流程通路时,对于新增的网络类型或结构,只需关注相关计算类算子的开发和实现。框架类算子,反向图建立和实现机制等结构可保持复用,这使得该团队在利用昇腾体系进行多场景应用开发时,拥有了非常优秀的扩展性。
韩煜祺说,在项目研发过程初期,由于项目团队对 CANN 和 Atlas 系列硬件尚不熟悉,在硬件固件、内核、驱动包等版本选择和匹配上有较大的疑惑,这个过程中,昇腾 AI 技术团队及时提供了支持,昇腾 AI 技术团队对固件、内核、驱动等内容进行了完善,京工天鹰团队从昇腾社区获取稳定的 SDK 包,经过反复沟通和验证,打通了项目的应用流程,解决了类似于推理不稳定、PCIE 偶发性断链等问题。
谈及到项目的未来发展,韩煜祺说道:“从项目揭榜开始,我们就一直和昇腾 AI 保持着密切沟通。无论是参与比赛还是未来一段时间,我们团队的定位始终是携手华为一起拓展昇腾 AI 的应用生态。”
聚焦到项目执行上,在技术层面,京工天鹰团队未来将继续发挥自己的优势,继续在人工智能和公共安全领域不断探索和耕耘,完成更多的功能实现和技术优化。在市场层面,该团队希望可以获得来自学校、技术产业转化中心的更多支持,全面推进项目的商业化。
在对比众多 AI 体系后,京工天鹰团队发现昇腾 AI 具有最完善的生态体系,CANN 的全面性、易用性、灵活性使它成为一个可靠实用的工业级套件,因而该团队既可以在硬件方面设计新架构,又能在软件上创新算法并做硬件级加速,从而充分利用昇腾的强大算力。
京工天鹰团队已经深刻地体验到,CANN 作为硬件使能层,是沟通智能算法和 AI 算力的桥梁。借助张量加速引擎 TBE 的标准算子加速库和自定义算力能力,网络模型能找到优化后、可执行、高效率的算子,并可以在任务调度器、运行管理器以及驱动的助力下,充分发挥硬件的性能。
正如韩煜祺所观察到的,国内人工智能技术的发展在单点上都有非常出色的表现,包括近些年来的顶会论文以及商业技术应用上国内已经可以达到甚至超越国外水平,但目前国内“完整的”人工智能生态建设距离国际水平还有一定差距,这需要更多个“京工天鹰团队”共同努力才能追赶。
随着人工智能产业的快速发展,对高性能、低功耗的算力需求日益增大,算力建设也成为城市发展的智能根基。昇腾 AI 准确地把握了这种趋势,针对端、边、云等不同应用场景深度优化,研发了 Atlas 系列硬件,并在硬件之上成功构建了全栈软件生态,赋能了教育、制造、金融等千行百业,成功推动了千行百业转型升级。
总之,更多“京工天鹰团队”的未来值得我们期待,昇腾 AI 的未来更值得我们期待。
微信扫码关注该文公众号作者