中科院软件所智能操作系统FactOS及配套工具公开发布
文章来源: | 发布时间:2019-05-07 | 【打印】 【关闭】
近年来我国AI产业增长快速,据统计2019年中国人工智能核心产业规模预计达到960亿元,增长率达到40%。人工智能与多行业也在快速融合,从智能无人驾驶、智能投顾与算法交易、智能医疗,到智能制造、城市大脑等,“AI+”相关产业成为热门赛道。政府层面也对人工智能产业大力扶持,通过印发《新一代人工智能发展规划》等政策鼓励人工智能领域的创新创业。随着5G的来临和普及,通过更加实时的海量数据传输,势必进一步激活人工智能的潜在应用,出现更多的重要应用场景。
然而,当前无论是政府还是产业资本,项目、资金的支持主要集中在芯片(如AI加速芯片)和应用(人脸识别等)。与之形成对比的是,谷歌、微软、Facebook等国外巨头都在积极布局系统软件方向,如TensorFlow、Caffe、PyTorch等编程框架和平台软件,并且已经在人工智能的竞争中取得初步的生态主导优势。
中科院软件所在2018年初成立智能软件研究中心,致力于研发面向人工智能的系统软件。一年多来,围绕操作系统、编程语言、开发环境、漏洞检测工具、AI安全测试工具等方面取得了显著进展。
2019年4月26日下午,武延军研究员在中科院软件所主办的首届智能软件国际论坛上,在华为、腾讯、寒武纪等合作伙伴的见证下,正式公开发布了的智能操作系统FactOS v1.0及配套工具,如下所示。
人工智能应用往往希望通过深度学习框架来屏蔽底层不同的AI加速硬件,同时实现对关键算法的加速。然而深度学习框架本身不能解决底层硬件体系结构的融合驱动。因此,当前操作系统面临的一个挑战是如何实现多种芯片架构(如CPU、GPU、AI芯片等)的融合并适配多个不同的深度学习框架(TensorFlow、Caffe、PyTorch、MXNet等)。此外,操作系统还需要提供开发环境与运行部署环境的一致性,真正实现从开发人员到用户的端到端交付。
为了实现以上目标,中科院软件所研发了与智能芯片和深度学习框架适配、容器化封装的智能操作系统FactOS(OS with Frameworks、Algorithms、Chip drivers and Training data)。智能操作系统的框架示意图如下。
FactOS可广泛应用于深度学习等场景,具备以下特点:
1.框架一键部署:Docker集装箱模式,无需复杂安装,无软件包依赖冲突;
2.模型一键转化:通过中间语言编译器实现模型统一转译,支持pb/ckpt等格式;
3.推理自优化:包括操作图优化、fix8优化,以及SOPA等平台级优化;
4.驱动自适配:华为昇腾、英伟达GPU、寒武纪等多种硬件加速设备的驱动自安装。
FactOS智能操作系统支持多款处理器和加速器、编程框架、数据集,以及神经网络模型,具体而言:
1.在硬件上,目前支持X86、ARM、GPU、RISC-V等4种架构,是国内少有的支持RISC-V的产品。同时支持英伟达GPU、华为昇腾Atlas系列、寒武纪1A/MLU、嘉楠耘智的勘智NPU、英特尔Movidius加速棒。正在适配比特大陆和瑞芯微的最新AI芯片。
2.在编程框架上,支持TensorFlow、MXNet、Caffe 、pyTorch等60多种机器学习框架,通过软硬件的适配、优化和测试,形成了140多个机器学习专属镜像。
3.在数据集上,汇集了100多种常用开源数据集,包括公共政府数据、财经金融数据、图片数据、自然语言数据、交通数据、酒店旅游数据、医疗健康数据、视频/音频数据等。
4.在典型的神经网络上,支持40多个经典神经网络模型,包括AlexNet、GoogleNet、VGGNet、YOLO(V1/V2/V3)、ResNet、Inception、SSD、FastRCNN、RetinaNet、M2Det等。
特别值得一提的是,FactOS与华为昇腾处理器Atlas系列、寒武纪智能芯片进行了深度适配,并采用腾讯优图人脸识别引擎进行了检验,对于业务开发和运行的加速效果非常显著,从而说明FactOS可作为自主无人系统开发、部署和运维的基础,为芯片厂商、应用开发人员和最终用户提供便利。
FactOS部分镜像的使用和下载网址:https://github.com/isrc-cas/Bingo
智能时代应该有新的编程语言,为智能应用提供更高层次的抽象,降低使用智能算法的难度,提升普通开发人员的开发效率。
中科院软件所牵头,联合合作单位,历时一年半,共同研发了智能机器人高级编程语言Tenon。程序员使用Tenon编写机器人程序(如控制机械臂的运动等),可直接调用复杂功能,效率提升数十倍。以Tenon语言为基础,可以开发自主可控的上层IDE和模拟器等组件,为智能机器人编程开发奠定了生态基础。
Tenon支持错误恢复、中断处理、多任务等特性,跨平台、可扩展,是目前国内已知的第一款专门针对智能机器人领域的编程语言,填补了国内在机器人高级编程语言领域的空白,也为后续泛智能的其他领域专用编程语言提供了完整的参考实现。
在大型复杂智能软件的开发实践中,中科院软件所形成了一套完整的持续集成(CI)与持续交付(CD)平台,名为iFactory。平台组成如下图所示。
iFactory大量使用了开源软件,保证开发环境不被特定厂商锁定,能够不断更新维护。iFactory集中了当前敏捷开发、DevOps等先进的软件工程理念,挑选软件开发不同阶段的开源管理工具的优势,将其有机组合在一起,形成了完整的平台。iFactory的使用,将极大缓解项目管理人员对于大型复杂智能软件研发和运维过程的焦虑。
针对操作系统等大型复杂软件的安全,中科院软件所研发了“开源盾”网络空间漏洞知识图谱构建与自主演化系统。示意图如下:
该成果提出并完整实现了面向开源软件的、可持续演化的漏洞知识图谱。具备如下功能:
1.自主识别软件资产:自动识别每台设备中已经安装的软件,为企业提供可视化资产清单
2.自动追踪漏洞情报:与漏洞情报知识库联动,实现7*24*365漏洞情报追踪
3.漏洞实时检测:打通漏洞情报获取到漏洞识别步骤,漏洞情报获取后2小时内即可自动发现高风险设备并提出修复方案
4.威胁动态评估:知识图谱技术从时间、企业软件环境、影响设备数量等多个维度对漏洞威胁程度进行动态评估,帮助安全团队制定修复策略,尽快修复最关键漏洞
5.关注系统与日志系统:CIO/CSO/企业安全团队可对重要漏洞与软件进行关注,便捷查看修复进度。日志系统对每台设备的漏洞检测与修复情况进行记录,随时跟踪设备安全状态与修复进程
目前,“开源盾”以及积累超过143,000多条漏洞条目,完全涵盖国际主流漏洞数据库;支持2,200多个开源组件的安全监控,覆盖超过90%操作系统基础软件;累计2,300,000,000行代码检测,相当于完成了100个Linux内核检测;兼容C、C++、Python、Java等10余种主流编程语言,定义了1,100多条检测用例,仍在持续扩充;存储1,000,000+行开源仓库安全修复代码,提供权威的代码修复方案;近5万个通用库版本,完全覆盖Linux、OpenSSL、OpenStack等主流软件的全部版本。相关工作已通过成果转化推向市场。
访问体验网址:http://www.vulab.com.cn/
为了评测和增强人工智能系统的安全性和鲁棒性,中科院软件所研发了自主智能无人系统仿真、测试与评估工具AISafety,包含无人驾驶仿真、对抗性样本的生产与防御、退化数据集构建与退化能力评估三个部分组成。
(1)无人驾驶仿真系统
基于虚拟仿真的面向无人驾驶的训练、测试与评估平台;
提供可见光、激光雷达、语义、深度信息和GPS等多种模态仿真数据;
覆盖城市、野外等多种天气及光照仿真场景;
覆盖北京自动驾驶测试T1-T3级别牌照测试场景;
覆盖江苏《道路运输车辆主动安全智能防控系统》团体标准测试场景需求;
AISafety的自动驾驶仿真界面示意如下:
(2)对抗性样本的生产与防御
实现面向图像、语音等领域智能算法的对抗性样本生成;
覆盖了投毒攻击、逃避攻击、模仿攻击和逆向攻击等多种安全性测试方式;
实现海量对抗性样本的自动化生成;
支持算法训练阶段和测试阶段的安全加固;
对攻击样本的防御能力达到90%以上。
(3)退化数据集构建与退化能力评估
针对复杂场景下感知能力退化的挑战,开展复杂环境下多模态感知能力测试技术、评估数据集构建等方面研究,并建立复杂环境下感知能力测试基准。数据集包括:
复杂场景下小目标数据集;
复杂场景下遮挡数据集;
复杂场景下中国交通标志数据集; 复杂交通场景下图像、激光雷达、GPS等多模态融合数据集。
构建了复杂场景感知能力验证平台,体验网址:http://www.evaluateai.cn
FactOS及其配套工具为AI应用和底层芯片之间搭起了桥梁,实现了对完整软件栈的容器化封装,也提供了智能软件全生命周期的安全保障。在前期与华为、腾讯和寒武纪等业界头部公司的合作中,已经展现了FactOS对于典型智能芯片和主流人脸识别算法引擎的支持能力。除此之外,FactOS还可以支撑语音识别、文本分类、无人驾驶等诸多应用领域,也希望能够驱动更多的人工智能芯片,构建智能领域的软硬件生态体系。
通过在云平台和边缘计算设备中的部署,智能操作系统FactOS及其配套产品可被广泛应用于智能机器人、智能家居、智慧医疗、智慧交通、智慧安防和现代农业等领域。
未来,中科院软件所团队将联合相关合作单位和用户单位对产品进行更新迭代、版本升级,持续完善功能、提升性能,努力在国家重大需求领域和国民经济主战场领域发挥作用,助力中国智能产业的发展。