第85节:研究院“and”的故事(1)

作者:陈刚

创新工程组(Innovation Engineering Group,简称IEG)是研究院中一个非常特殊的非研究性质的组,它负责很多研究组的研究原型和技术转移工作。许多研究院技术背后都有这个组的贡献。由于IEG支持的研究组很多,开玩笑说,就 “研究方向”的数量而言,她可以稳坐研究院第一。

出乎一般人意料的是,这个主要由软件开发工程师而非研究员组成的开发组竟然是研究院成立的第一个组,现在也是10岁了。令人骄傲的是,2003年,从它分化出一支并壮大成立了微软亚洲工程院(ATC)。2005年,搜索技术中心(STC) 的成立也是从这个组开始的。再后来,开发组合并用户体验 (User Experience) 后形成了现在的创新工程组(IEG)。我们组现有二十多人,有老有少,有中国人也有外国人,而且终于有了女性开发工程师,作为一个微软内部的软件开发团队,这确实比较少见。和初创时期纯粹年轻男生的组织构成相比,现在更“平衡”了。

自从2000年进入微软亚洲研究院做开发,不经意间我已在这个组工作了8年,猛然发现自己竟成了组龄最长的组员。作为一个仍很年轻的“老人”,我很乐意把一些经历在研究院10年之际与大家分享。

进入微软研究院

至今我还记得进入微软时两次决定的面试片段。1999年末我面临毕业求职,一日接到微软中国研究院到知春路希格玛的面试通知。西装穿戴整齐到了希格玛五层,我就径直被带到一个屋子里面被很多人围着问话,而这些人没有一个穿西装的,倒是有穿拖鞋的。问问题的人单刀直入、毫不含糊,印象中只记得往来之间人影恍惚、镜光耀眼(研究员们的戴眼镜的比例可不是一般的高)。我战战兢地演示着程序,一边祈祷千万别出岔子。刚刚提心吊胆介绍完,我听见背后“咚”的一声,转头看到一人倚墙坐倒,我心里一惊,那个人却开始打起了很响的呼噜。其余人等毫不惊讶,继续和我聊。通过面试后,我作为实习生帮视觉计算组(VC, Visual Computing)的论文做演示程序,加入了他们的第一场SIGGRAPH战斗。而那位坐倒睡过去的研究员就是徐迎庆博士,他的项目正是我进入微软的第一个任务。

SIGGRAPH 战斗告一段落后,到了2000年初我必须决定工作去向。正好研究院在大批招人,再次经过开发组5轮面试官轮番轰炸,没有遇到传说中方井盖圆井盖的问题就到了关底。Harry (沈向洋,当时他是视觉计算组负责人)面试了我。记得有两段话对我的未来影响巨大。Harry说:“想想在什么地方你做一件事可以影响全世界,让全世界的人都用你做的东西?在微软你可以有这样的影响力”。这个诱惑至今对我有吸引力。Harry接着问“你可以选择,做研究还是做开发”。得知做开发可以选择不同的项目和研究组的时候,我更愿意在多个项目间穿梭,更喜欢面对代码而不是论文。于是成为了当时微软中国研究院的开发组的一员,我的职位名称是RSDE(Research Software Development Engineer),当时组里有不到10个人。

第86节:研究院“and”的故事(2)

我们是RSDE, RandD中的

外企风格之一就是众多用让人听起来摸不着头脑的缩写,请让我来解释一下我们的职衔。微软程序员的职衔是SDE,即软件开发工程师 (Software Design Engineer或者Software Development Engineer) 。创新工程组的大多数组员的职衔是RSDE (Research Software Development Engineer) 即隶属研究部门的软件开发工程师 。这个多出来“R”意味着我们的任务一部分需要做SDE的事情,写代码编程序,另一部分是和研究员们并肩工作,把概念和想法实现为原型系统和算法,并进一步帮助把研究成果转化为高质量的微软产品代码,这就是所谓的技术转移(Tech Transfer)。技术转移是我们组的主要任务之一,所以 TTG (Tech Transfer Group) 即“技术转化组”是我们使用时间最长的组名之一,即使目前仍然是是创新工程组的主要部分。

还有一个有趣的说法描述我们的工作:研发工作一般叫做RandD,“研”指的是研究部门(R, Research),“发”指的是产品开发部门(D, Development),而RSDE的位置就恰恰在那个“and”中,是连接研究和开发的纽带。

技术转移

每年都有不少研究技术从亚洲研究院的实验室进入到微软产品中,变成产品的某个功能(feature)。作为研究院的一员,我很骄傲的是,Windows XP、 Vista、 Office、Tablet PC (平板电脑)、Xbox、Windows Live、游戏、硬件等等微软产品中都有来自于北京海淀区知春路城铁边上的这个实验室的技术。其中研究员们的智慧是关键,其中创新工程组的RSDE们也是这些技术产品化的幕后英雄。很多年以前,人们把中关村叫成硅谷的时候,我眼中只是好多买电脑零配件的摊位,而现在的中关村才真正地有了一个IT技术的聚集地的模样。

技术转移是一个需要时间的过程,不是像同城速递那么快捷一个下午就到达目的地。很多大学的孵化中心就是一种类型的技术转移过程。这里说说微软研究院中一个典型的软件技术转移的过程:

1. 研究组选研究题目。这个题目可能是领域内长久的研究方向,希望可以得到某些突破,或者是来自与已有产品的问题。

2. 研究员深入分析问题,设计算法,构造原型系统,收集数据,选择算法,评估结果,不断迭代尝试。

3. 当原型系统显示有能力解决问题的时候,我们开始与相关产品部门接洽技术转移。研究部门有专人负责与产品组的信息沟通。同时我们也可以得到产品组对我们结果的反馈意见。

4. 当原型算法的质量到达相当不错的阶段,产品组看过后便有了更有明确的需求。RSDE开始和研究员成立一个临时的虚拟小组(virtual team,有别于平时的管理组)一起工作,进一步提升原型系统的设计和质量以达到产品组的要求,研究员、产品组的项目经理、开发工程师、测试工程师一起工作,最终把算法代码实现写入到产品组的代码中去。

5. 最终产品发布。到了这个时候,参与项目的人会得到一个石头或金属嵌玻璃的奖牌(Ship-it Award),上面写着“感谢xxx对xxxx产品做出的贡献——比尔·盖茨”。

这是一个相当明确的流程,而现实常常出乎意料,任何一步都不是那么简单,而是变数丛生、繁复无比。产品部门的要求来自与市场,通常期望值很高,可这时往往暴露了研究阶段成果的一个问题,那就是——研究成果和产品要求的差距。

不是所有的研究项目都会成功产品化,为了提高研究的效率,通常当一个算法解决了问题的主要方面就可以开始向产品部门推销了。当“买方”对算法结果基本认可并有意向集成之前,会提一系列的具体要求,希望算法可以达到产品标准。很典型的要求比如是否能够能否达到99%以上的正确率,融入产品已有架构的容易程度,算法复杂度、实现的速度、数据适应性、资源内存消耗、安全性、可靠性、等等。我们在这些方面有过不少坎坷。

第87节:研究院“and”的故事(3)

例如我们做人脸卡通,第一步在是用户输入正面肖像照输入后自动的配准面部五官,然后再继续后续步骤。最初的的算法在亚洲人的照片上可以工作得很好,可是产品组要求算法必须在世界其他国家市场上要正常工作。这就带来了新的要求,必须考虑世界上其他人种的肤色、发色、眼睛鼻子大小。新的要求导致了数据和算法上的很大改动。

当一项技术是“基本可用的”,假设它已经达到80%的产品要求,而产品的真正要求是“非常好用”,可能意味着90-99%,产品组的众多要求累积在一起,这之间将近20%的距离往往就是发生量变到质变的那一段。这常常意味着算法要做相当的调整和适应,甚至结构需要大修改。RSDE的典型技术转移工作就在这20%的一段。这个象“and”一样拧吧的阶段,我们要和研究员开会,学习他们的东西,出差去总部和产品组面谈,或者每天大早起床赶时间与总部开跨16个小时时区的电话会议,与产品的开发测试工程师一起工作,共同努力让一项研究技术完美地实现用户需求。

研究是高风险的事情,能够变成真正产品的研究只是成功的极少数。很多项目就在这个阶段前不幸夭折了。长江后浪推前浪,死在沙滩上的前浪研究项目的数量相当可观。这个艰苦的过程,难的不光是技术,还有在长长的辛苦、烧掉无数脑细胞之后却要接受项目无果而终的现实。

所以每当有一个技术转移项目顺利完成时我们都很兴奋。当我们收到一份产品组高级经理的感谢信,还有看到好久不见的同事从总部出差回来挺着腰围暴涨了一圈的肚子时,就会上前恭喜他,然后和他一起抱怨总部的中餐馆的菜真油,公司楼下的食堂Pizza吃得太多了,Ship-it Award奖牌的玻璃太难看了……

我们说研究院是帮助公司赚后天,甚至5年以后、10年以后的钱。从我们的经验看来,做技术转移,过程有长有短,3个月不算短,5年也不算长。这从另一方面验证了关于这个时间的说法所言非虚。如同任何一件事情的成功,必须努力也要有运气,是天时地利人和的结果。

技术转移过程也是一个人与人、机构与机构之间互动、互相支持和取得信任的过程。研究院成立之初做研究项目推广的时候,研究院对产品组的周期、市场定位、核心问题和希望、工作优先级还不太适应。相当多产品技术研究项目消耗了人力、时间却无法找到合适的敲门砖。随着每年逐步取得的成果转化成绩,一方面亚洲研究院渐渐得到了产品组的信任。同时研究院也逐步建立与产品部门保持同步的机制。从RSDE的角度来看,随着研究院能力和规模的扩展,产品组的“胃口”也渐渐提高了:问题的规模不断增长,难度加大,质量需求也越来越明确。产品组更容易采纳准备充分的研究成果:合理的功能设计,相当扎实的算法结果,同时核心算法还需要通过完备的测试。这新一阶段的期望对研究员们和RSDE们提出了更高的要求。迎难而上,我们没有其他选择,研究院里有一大拨视困难为乐趣的人。

说到这些人,有一个故事很有意思。研究员们和微软产品组的同事们是很不同的两类人。在一次研究院和产品组的同事都参加的微软内部培训中,大家做了一次性格分析。结果显示研究员中相当大比例喜欢思考、冒险、质疑权威、幻想、外向有创造力;而更倾向于喜欢动手,脚踏实地,有纪律,讲程序、保守、精确的人群中工程师们占据多数。这固然有着职责选择了人的原因,而后天的职业要求也进一步加强了双方的特点。其实两类人还有很多共同的东西:不满足于现状,追求卓越。

微软对联

为了让研究更上一层楼,从2007年起,创新工程组的项目中增加了一个新的重点,我们把这叫做“部署驱动的研究”(Deployment-driven Research),讲起来有些拗口,简言之就是帮助研究员们把研究项目直接做到Web上去。在搜索、Web 2.0应用越来越兴旺的时代,研究也要和最终用户直接接轨,可以接触到第一手的信息。

第88节:研究院“and”的故事(4)

经过自然语言组和创新工程组的共同努力,微软对联2.0赶在2008春节前给大家带来了新春的祝福。在短短几天内,微软对联的访问量超出大家预料,国内海外的中国人都试用了这个极具中国特色的对联工具。而用户的热情参与,为我们后续的中文的自然语言研究提供了很有帮助的数据。

这里和大家分享有一些在对联发布之后有趣的发现:

1. 三天之内,天下皆知,通过社区的信息传播速度令人惊讶。本来对联是很低调的,我们本希望该系统慢慢被人所知,但是访问量的猛增和各大BBS上的热帖让它在三天之内成为了一个热点。

2. 海外华人高度热情。我们的记录显示来自海外的访问量不可小视。由于对联应用的特殊性,不大可能是大量的外国人使用。我们未曾预料能够为如此之多的海外中国人服务,这很让我们高兴。

3. 年节前后,流量升降。在春节和元宵节前,有更多人使用它。而进入长假后,流量陡降,大家都在走亲访友吧。

4. 有非常多的对联相当的有趣,而且很多和时事贴近。大众的创造力真是无穷啊。

对联项目大大鼓舞了我们继续这个方向的信心。可以乐观地预计,在未来研究院会有更多更好的研究项目为大家设计和使用。

回首八年,我深深庆幸在这个热火朝天的地方开始了我的职业生涯,能够与那么多聪慧、真诚、热情、执着的同事们共同奋斗。作为一个开发工程师,让我很兴奋的是我们一直在做真正“前沿”的东西。在研究院成立十年之际,我深刻感受到研究院仍然在最初的梦想道路上奔跑,而我会继续和研究院一起成为这梦想的一部分。

作者介绍:

陈刚,1993年进入北京科技大学计算机系,2000毕业获硕士学位,同年加入微软亚洲研究院从事研究技术到产品的转化开发工作。现任微软亚洲研究院创新工程中心开发经理,他的工作着重于研究成果到商业产品的转化,其中包括Internet应用、图形图像应用,研发基础系统,以及研究院软件工程优化。在业余时间,他非常喜欢爬山和摄影,而摄影这个爱好对他参与的研究项目也很有帮助。