科学匠人丨爱上科学研究的“不确定性”
(本文阅读时间:11分钟)
编者按:从进入高校开始,人生就迎来一个接一个的多项选择,无论是研究方向,还是职业发展,每一步的前进都蕴藏着无限考量。许多人向往稳定的工作生活,而微软亚洲研究院系统与网络组研究员陈琪最渴望的,却是未来的“不确定性”。在本期的“科学匠人”中,陈琪将以一位充满活力的女性科学研究者的视角,分享自己在系统研究与职业生涯中的加速秘籍。
那是2015年的初夏,毕业季的离愁还没有到来,数以百万计的高校毕业生怀揣简历投身熙熙攘攘的校招人潮。当时临近博士毕业的陈琪没有想到,微软亚洲研究院首席研究员张霖涛在中国计算机系统学术会议ChinaSys的一席系统经验分享,永远地改变了她的人生方向。
“你要想明白,未来10年、20年,你想做什么,想要改变什么?”
这一“灵魂拷问”闪电般戳中了她安静的外表下潜藏的不安分因子。陈琪的内心有着对“不确定性”的强烈渴求,而这正是研究工作的精髓所在。于是在完成博士学业后,陈琪选择进入微软亚洲研究院,成为了系统与网络组的一名研究员。
微软亚洲研究院系统与网络组研究员陈琪
从高校进入微软亚洲研究院,陈琪感到一切都很熟悉,而企业研究院在数据、应用和资源上的优势,为开展系统研究带来了许多帮助。“研究院生活和高校实验室非常相似,可以自由寻找自己感兴趣的课题进行研究,而最大的不同是,在学校做分布式计算时特别愁没有真实数据、应用和大规模的机器,研究院不仅有丰富的计算资源,和产品部门的联系也非常紧密,许多研究问题都来自于真实应用中的痛点,也让我们的研究有机会进入产品,产生实际的应用价值。”
从进入研究院开始,陈琪就参与到与微软必应(Bing)团队的合作项目中。目前的大多数搜索引擎采用的是基于关键词匹配的倒排索引,而当查询词含义模糊或具有多重含义时,基于关键词匹配的搜索很难理解用户想表达的真实意图。必应团队开始尝试将最新的AI技术应用到搜索中,通过将海量的网页内容以及用户的搜索内容,比如关键词、图片,甚至是完整的问题,利用深度学习模型转换为向量,然后利用向量最近邻搜索来寻找最相关的内容。
在10亿级条目的大规模搜索引擎中应用和优化向量搜索并不是一件易事。由于要从数十亿个条目中快速、准确地找到与用户的查询最为相关的结果,搜索引擎对相关性、延迟、资源占用都有极高的要求。为了让搜索更加智能和高效,陈琪与微软亚洲研究院资深研究员王井东一起与必应团队合作提出了SPTAG(Space Partition Tree And Graph)向量搜索算法,采用平衡K-Means树和近邻图生成近似最近邻(Approximate Nearest Neighbor)向量索引,能够在几毫秒内从数十亿个向量中返回最相关的结果。
研究团队发现基于近邻图的搜索算法(详细信息可查阅文末论文)在实际的应用场景中可以有更多可以提升的空间,并通过改进算法来寻求解决。对于图结构的连通性不佳对搜索结果的影响,用相对近邻图(Relative Neighborhood Graph)替换最近近邻图(Nearest Neighborhood Graph)能够更好地表达图的连通性和最近邻关系;对于距离下界的估计(Distance Bound)问题,用计算真实的数据点和查询点之间的距离替代原来按维度估计的方法,成为了项目成功的一大关键。经过三年的不断改进,SPTAG算法目前为必应搜索带来了最大化的性能和召回率(recall)提升,节省了大量的计算资源。
“在实际应用中,仅仅几秒钟的等待都会让搜索引擎变得‘不好用’,”微软必应与AI团队项目经理Rangan Majumder指出,“人工智能正在让我们的产品使用体验更加流畅、自然。”
除了覆盖跨文本、多媒体、图像、推荐系统等多种类型的搜索,SPTAG算法还能够在半监督学习中发挥用武之地,比如给图像自动加标签。SPTAG算法目前已在GitHub开源,微软人工智能开放项目平台AI Lab也上线了“向量搜索”项目,用户可以观看介绍视频,尝试Demo演示,并将SPTAG算法融入自己的产品与项目中,让繁重的图像或声音搜索任务变得更精准和高效。
SPTAG GitHub主页
十年燕园,多重历练
陈琪与系统研究结缘很早。在本科期间,陈琪就遇到了自己喜爱的研究方向。
由于大二的一次偶然机会,陈琪开始跟随导师参与系统方向的研究,一年多的助研经历让她发现了自己对系统研究的强烈兴趣。“当时还没想过读博,大三在导师的悉心指导下有了一些科研经历以后,觉得读博好像也没有想象中那么困难。”因此,怀着一份跃跃欲试的心情,在结束本科的学习后,陈琪继续在北京大学攻读博士学位。
即使是从大三就开始做科研、写论文,但在博士开局的前两年,陈琪的研究生涯并不顺利,在博二结束时仍未发表一篇论文。由于对系统性能和可扩展性相关的工作比较感兴趣,陈琪将研究方向从云计算转到了并行计算。“当时论文蹉跎了很久都还没发表,加上转变研究方向,那段时间几乎是忐忑和迷惘的状态,也对自己产生过究竟是不是适合做科研的质疑。”
尽管面临着在读博士的共同焦虑,陈琪也从未放弃努力,三年扎实的科研积累让她在第三年结束后迎来了曙光,在顶级期刊上一连发表了几篇论文,也在那一年获得了支持女性在计算机与科技领域发展的安妮塔伯格奖学金(Google Anita Borg Scholarship)。越来越丰富的研究经历也让陈琪愈加深入地了解自己,随后在纽约大学的一年访学时光,让她再度确认自己在系统性能调优、算法改进方面的研究兴趣,她开始涉足分布式计算,并尝试搭建分布式计算的框架。
“对我来说,读博是一段必不可少的人生经历。”十年燕园生涯带给陈琪的不仅是学业上的突飞猛进,让她从一个初涉学术的学生蜕变为一位能独当一面的系统科学研究者,也在挫折与机遇的反复交叠中,让她完成了最重要的性格成长与心智成熟,找到了属于自己的人生航线。
回顾自己的经历,陈琪还能清晰地回忆起自己在博士低年级时,因为研究遇到瓶颈而“非常郁闷”的感觉。“我性格比较要强,不太愿意把负面情绪表露在外,偶尔脆弱的时候也要自己抗过去。无论学业、工作还是生活,每个人都会经历这样的时刻,但困难并没有想象中那么不可逾越,保持开放的心态,多与他人交流,这些都会有助于你找到解决方法。”
在进入微软亚洲研究院后,陈琪接触到了更多来自不同领域的研究员和产品团队,也敏锐地注意到不同背景的合作者总能在思维的碰撞中发挥特有的优势。在SPTAG项目中,系统研究出身的她习惯到底层中寻找和分析问题的原因,并在实践层面追求更高的精细度,拥有图像搜索和最近邻搜索背景的王井东会在算法层面给出许多建议,而与必应团队的合作,不仅为他们提供了许多基于真实数据的研究问题,也使他们能获得来自实际应用的即时反馈和验证,从而有效地推动研究的进程。
微软亚洲研究院系统与网络组部分成员合影
CS领域的女生,请释放潜能!
从计算机科学领域一路走来,陈琪发现身边的女性身影越来越少。
在女生占比五分之一的本科同学里,最后只有少数几位女生决定攻读博士,选择系统研究的女性更是屈指可数,系统领域会议的男性参会者比例高达80-90%。但陈琪认为,女性在计算机科学研究领域其实拥有许多独特的优势:“女生比较细致、耐心,擅长多线程作业,常常能在合作中提供细致入微的观察和不同的思维视角,研究能力也能够非常出色。有时候,我们只是需要直面困难的勇气,并磨练出更强大的抗挫折能力。”
这也成为了陈琪希望推动科技领域人才的多元化,并鼓励更多对科技感兴趣的女性以及少数群体加入到计算机科学领域中来的初衷。
2017年,当计算机系统顶级会议SOSP(操作系统原理大会)首次在亚洲举行,陈琪成为了多元化论坛Ada Workshop的5位组织者之一,也在职业发展环节中分享了自己在职业选择上的心得体会,针对年轻学生面临的共同困惑分享了自己的经验和思考。陈琪希望这一活动能通过对学习、科研、工作、生活等与研究者息息相关的话题的分享和探讨,让更多女性及其他少数群体获得灵感与激励,看到自己在计算机领域的未来可能,推动研究社区的交流与多元发展。
SOSP 2017多元化论坛“Ada Workshop”现场
“我希望大家多给自己一些挑战自我的勇气,尤其是女生。有些困难虽然看起来像个庞然大物,过程也很艰辛,但只要从一开始就持续努力,在渡过这一段时期后,眼前展开的将是一片迥然不同的风光。不但眼界能够得到拓展,未来的机遇也将更加丰富。”在陈琪看来,重要的是不把自己禁锢到闭锁的心态之中,认为“我只能做这些”、“这样就够了”,而要通过不断的尝试,去发现自己的兴趣和不同,去探索和突破想象中的“不可能”。
陈琪也希望鼓励更多的人加入到系统研究中来,“许多人都说系统很抽象,但当你对系统有了比较全面的了解,你会发现系统研究并没有想象中那么艰涩难懂,一切都有规律可循。”
比起人工智能里一些格外热门的领域,陈琪认为从事系统研究像是一种沉淀,需要经历长时间的打磨、测试和求证,也因此对耐心和抗挫折能力有很高的要求。“系统研究是一门科学,更是对研究者心智的磨炼,它赋予我的不仅仅是‘不确定性’带来的源动力,还有更全面深刻的思考,更平稳笃定的心绪。”
相关论文和二维码链接:
Query-Driven Iterated Neighborhood Graph Search for Large Scale Indexing (ACM MM 2012)
Scalable k-NN graph construction for visual descriptors (CVPR 2012)
微软AI Lab项目主页