实习派 | CodeXGLUE:跨国、跨部门、跨团队,合作创新中迅速成长
2021-06-03 | 作者:微软亚洲研究院
在庞大数据中构建基础体系如同沙里淘金,在这项重要工作的完成中,自然语言计算组的实习生卢帅、郭达雅、任烁和黄俊杰是四位重要的淘金者。对于他们个人而言,参与这场跨国、跨部门、跨团队的科研项目合作,也为他们带来了属于自己科研之路上的重大突破。让我们一起来看看,他们是如何在这场“淘金之旅”中锤炼自身并迅速成长的吧~

卢帅、郭达雅、任烁和黄俊杰
在不久前举办的 Family Fest 上合影
CodeXGLUE 正是填补了此方面的空白,它的出现将帮助代码智能领域的研究者从不同角度衡量模型的优劣,从而推动该领域的发展。该领域一旦有突破,将大幅度推动 AI 在软件开发场景的落地。
“目前有些数据集并不符合真实场景的需求,所以我们也做了一些改善,使其不仅能够促进该领域的研究,也能在真实的生产场景中得到应用。”来自中山大学的实习生郭达雅这样介绍项目的价值,“我们任务是在代码智能领域建立一个类似 ImageNet、GLUE 的基准数据集,尽可能地提高代码智能的效率。”
CodeXGLUE 覆盖了 code-code、code-text、text- v code、text-text 四个类别,包含 10 个任务及 14 个数据集。郭达雅负责其中与理解相关的任务,包括代码克隆检测、代码缺陷检测、代码注释生成与代码检索。
“收集并改善适用于真实场景的数据集,是一个痛苦和反复的过程。”郭达雅说,这场在数据中构建基础体系的过程像是沙里淘金,也像是孕育珍珠。
除了 CodeXGLUE 项目将对代码智能领域发展产生的影响力,参与这样一个覆盖了多项领域内核心任务的工作,也帮助郭达雅厘清了自己在博士学习阶段科研的主线。“在此之前,我做的项目都是很零散的,但是做完这个项目之后,我的东西都很连贯了。”

郭达雅
对实习生而言,这段独特的合作体验让他们收获颇丰。“他们(微软在美国的产品部门)对于代码质量和代码管理很重视。”北京大学的实习生卢帅说。在实验室或研究型机构,论文产出常常是受到更多重视的,对于代码管理的重视则相对较少。通过本次合作,卢帅意识到代码规范对于要发布的开源数据库极其重要,也感受到它为团队合作带来的巨大增益。
微软全球产品部门的代码管理基于可复用和易协作的理念,“他们对于整个代码块的管理非常严格,每一个函数、每一个类具体实现了什么功能,都要写很长的文档,一是为了这次合作中,我这边写完他那边能看懂,二是为了这次合作结束之后,接下来要用这份代码的人能够很快上手。”卢帅介绍,“同时,处理一份数据的代码也不是一次性的,之后还可以把中间的部分抽离出来,下一次单独用于处理别的数据。”
“参与这次‘声势浩大’的跨国、跨部门、跨团队的合作,也让我更好地明晰了自己在团队工作中的作用,找到了发挥自身优势的工作方法。” 这是卢帅的另一大收获。
在本项目中,卢帅主要负责代码补全与代码生成两项任务。与其他实习生不同,卢帅坦言自己“并不是做纯 NLP 出身”,之前做的工作更多与软件工程相关。但这也恰好是团队所急需的重要角色,“自然语言处理和软件工程用的技术和模型是可以通用的,但涉及到分析每个语言里的特殊结构时,会需要用到特定领域的知识。”卢帅说。“软件工程我不懂的会问卢帅,卢帅在 NLP 这边遇到技术问题,就会和我们沟通,我们两个优势互补、配合默契。”郭达雅补充。

卢帅
CodeXGlue 项目中最年轻的实习生、来自北京航空航天大学的黄俊杰也在其中充分施展能力。他主要负责代码检索中的部分工作,成果还受到了微软(亚洲)互联网工程院的关注,“工程院那边可能也会把这部分代码应用到微软的 Bing 搜索中,” 黄俊杰介绍。同时,他还负责基准数据集网站的整体搭建。在网站发布时间特别紧的情况下,他仍高效、优质地完成了工作,让大家都非常惊喜。“前端的一些东西是非常细致琐碎的,在这个过程中也非常磨我的性子,练我的耐心。”黄俊杰说。

黄俊杰
在任烁眼中,mentor 不仅是自己学术上的偶像,也是生活中的榜样。“我的 mentor 曾经是微软的联培博士,对我们联培生的培养过程、心路历程都非常了解。”任烁说,“他会针对各个科研阶段的需求为我们制定计划。通过他的指导,我了解到打好数学底子是非常重要的,除了科研,我的工程能力也在不断提升。此外,他对于整个领域深厚的了解和为人处世的礼节,都在潜移默化地影响着我。”
“做一个 benchmark 的项目是非常困难的,从整合数据集到挑选任务、选取 baseline,我们需要一个非常厉害的团队大脑。”卢帅认为,在这次开创性的项目中,mentor 起到了重要的引领作用。“我们当然会有一些自己的见解,但多数还都不太成熟,我们需要 mentor 进行最终的判断。他也能够发现我们每个人的优势,让我们去做自己最擅长的任务。”
“我的 mentor 有一套自己的方法,他能够更多地引导学生去思考问题并解决问题,在最关键的时候给予一些帮助,他特别强调作为博士生学习阶段科研项目连续性。”郭达雅说。
“我也始终记得一开始在用 sequence-sequence 框架时,我们每个人都有一套代码,为了后续的统一,大家就对比看哪个框架更好,达雅的框架就非常优秀,体量小又简洁,一点都不拖泥带水,让我对他的敬佩之情油然而生。” 任烁也毫不吝啬对小伙伴的夸奖。
虽然实习时长不一,四位同学都在 MSRA 完成了一段“很多希望被超额满足”的实习经历。卢帅说,“我计划在这里做一个喜欢的项目并做出成果,CodeXGlue 就实现了我的这个愿望。而 MSRA 在自然语言处理领域的深厚积淀和优越的资源支撑,也让我在学校里很多想要尝试却受软硬件设施限制的想法得到了实现。我不仅能够实现自己的想法,还发现原来自己能够不断尝试找到解决问题的方法,这都让我感受了极大的成就感。”
任烁作为联合培养的学生在 MSRA 度过多年时光,在与优秀人才并肩科研的过程中,他常常感受到“天外有天”,“有时候你的一个想法,苦于无人沟通的时候,这里的大牛伙伴会乐意和你一起互相讨论,帮你把想法更好地实施出来。“ 丹棱街 5 号有一种魔法,让每个在这里的年轻人被身边的人所激励,也不断激励身边的人。如果把微软亚洲研究院想象成一个容器,里面的每一个人都是一个独特的分子,在不断的碰撞与交流中创造出新的想法。任烁说。

任烁