专刊序言
2023-01-04张玉志
张玉志
南开大学软件学院,天津 300350
业界众所周知,新一代人工智能技术以深度学习为代表,而深度学习的开发离不开深度学习框架的支持。目前的深度学习开源框架百花齐放,有数十种之多,从早期的caffe、theano 到主流的TensorFlow、PyTorch、MXNet 等,越来越多的科技巨头公司加入到机器学习框架的研发中,国内也有百度的PaddlePaddle、华为的MindSpore 等。但得益于良好的开发生态和早期的布局,目前在产业界和学术界占据主导地位的仍是谷歌的TensorFlow 与Facebook 的PyTorch 这两大开源框架。
当前主流的深度学习框架均官方支持英伟达等国外厂商的私有编程模型,却难以在国产加速硬件系统上运行,很大程度上限制了国产加速器在深度学习领域的应用,尤其在技术封锁和芯片禁运等形势下,主流的深度学习框架无法支持国产加速设备成为事实上的一个卡脖子问题。
南开大学研制的智能计算平台,实现了主流深度学习框架对统一异构编程标准OpenCL 的支持,使得包括国产加速部件在内的跨厂商加速部件能够运转主流框架。主流深度学习框架的规模巨大、层级复杂,TensorFlow 等大框架的源码有数百万行,而且很多加速库私有闭源,框架OpenCL 版本的实现工作难度高、挑战性强。经过几年的努力,南开大学软件学院的团队终于解决了这一问题,对打破国外技术壁垒,实现自主可控的智能计算平台和其开发生态意义重大。
本专刊将以智能计算平台实现中具有创新性和突破性的研究成果为主题,对相关关键技术进行总结、交流和探讨。专刊分两期发出,侧重于计算平台中对统一异构编程标准的支持,以及基于计算平台的多领域应用技术的探讨,期待能够以此为契机与读者一道探寻智能计算领域的前沿技术进展,推动智能计算技术的进步。
郭强和孙羽菲博士等撰写的“TensorFlow 框架中OpenCL 算子的实现及集成”一文中,探索了TensorFlow 的底层实现,在对代码结构深入分析的基础上实现了OpenCL 算子的研发、优化和集成。OpenCL 算子是实现TensorFlow 的OpenCL版本的基础和关键,极大地扩展了主流框架对包括国产加速设备在内的跨厂商加速设备的支持,从而进一步发挥国产加速设备在深度学习等领域的巨大潜力。[1]
在“TensorFlow 框架中OpenCL 核函数的测试验证方案设计与实现”一文中,作者陈禹乔和孙羽菲等提出了一套完整有效的OpenCL 核函数测试方案,包括自定义算子的源码设计规范、测试代码规范、代码审核方法和测试流程。该方案基于TensorFlow动态链接库自定义算子和raw_ops 测试接口,完成了上百个OpenCL 核函数代码的审核与测试,为TensorFlow 中OpenCL 核函数的测试提供了可靠而有效的解决途径。[2]
由甘润东和沈舒尹等人撰写的“MXNet 框架中基于OpenCL 核函数的多维线性数据处理”一文通过比较CUDA 和OpenCL 计算模型的运行机制,将MXNet 深度学习框架中对多维线性数据处理的逻辑基于OpenCL 计算模型进行适配性重构,较好地解决了MXNet 深度学习框架的多维线性数据处理相关操作的迁移问题。[3]
兰格等人在“基于知识图谱的图匹配文本分类”一文中受到知识图谱在文本推理领域应用的启发,探索了将知识图谱应用于文本分类任务的方法,基于知识图谱的图匹配文本分类算法具有对标注训练数据依赖性低的优势,同时利用知识图谱的推理能力可以有效提升文本分类的效果。[4]
在“基于ElasticSearch 和语义相似度匹配的教学资源搜索策略”一文中,陶磊等人利用知识图谱技术整合复杂的教学资源,并在此基础上实现了一种基于ElasticSearch 和语义相似度匹配的教学资源搜索策略,解决了仅基于ElasticSearch 进行搜索的效果不尽人意的问题,在保证检索速度的同时改善了用户的搜索体验。[5]
由陈雨等撰写的“基于深度学习和指代消解的中文人名识别”一文通过对实体识别中人名语料的残缺及人称指代不明等难点问题的观察分析,提出一种融合指代消解的序列标注方法来改进人名识别。利用数据增强、BERT 和双向长短时记忆网络等技术的结合,有效缓解了人名识别中语料不完善、人称代词指代不明等问题,提高了人名识别的准确率。[6]
本期上述系列文章各自从不同的角度阐释了智能计算技术在基础框架和上层应用两个层面上的技术研究工作,希望以此共同推进智能计算技术的知识传播和学术交流,进一步推动我国自主可控的智能计算生态的发展与创新。