作者 | 陈彩娴
采访整理 | 刘冰一
2020年被称为深度学习框架开源的元年。
那一年,继百度飞桨之后,旷视开源天元(MegEngine),华为推出MindSpore,清华大学计算机系的图形学实验室也发布了自主研发的深度学习框架——计图(Jittor)。
与其他深度学习框架相比,清华的计图基于统一计算图,无需手动切换就能将计算图动态地拆分成可以优化的子静态图,在保持动态图灵活性的同时,发挥出静态图的运算性能。出色的特性使得计图在Github上一发布,就受到了广大深度学习开发者的好评。
然而,在目前国内的开源工作中,计图所代表的高校开源是一个少数。与企业相比,国内高校老师与学生对开源的认知仍比较薄弱,参与度也较低。
但事实上,作为教书育人的摇篮,高校能够在开源中扮演关键角色,宣传积极的开源精神(如灵活性、创新性、合作性、低成本等),培养优秀的开源人才。
相较而言,国外高校参与开源文化建设的历史更早。其中,最具代表性的便是Google在2005年发起的全球性编程实习生项目——“谷歌编程之夏”(Google Summer of Code),自设立以来,吸引了超过16,000名学生与13,000名导师参与开源,为715个开源组织生成了超过3800万行代码。
除了校企合作,国外高校内部对开源政策制定与平台建设的重视也更早。比如,2013年,德克萨斯大学为开源制定了正式的政策:
2019年,为了“吸引对技术自由与开源感到振奋的大学生”,美国的密歇根理工学院便推出了虚拟的一站式开源平台shangopensource.mtu.edu,为学生提供免费的数据、开源课程、软件与硬件,以及交流合作的开源俱乐部:
随着开源对技术发展的重要性越发突显,国内一些高校也开始重视对学生开源能力的影响。
比如,中国科学院软件所与openEuler Community共同举办面向高校学生的暑期开源项目开发活动——开源之夏;北京大学软件与微电子学院开设面向研究生的选修课《开源软件开发基础及实践课程讨论》,推动高校教材、教学与实验器材等方面的开源。
举办比赛与教师教学是一种“自上而下”的推广形式。当开源逐渐成为国内技术发展的主流方向之一,南方科技大学还希望采取“自下而上”的发展方式,通过“伙伴对伙伴”(P2P)的形式吸引对开源感兴趣的学生。
于是,4月9日,南方科技大学在深圳“开源科技节”中宣布正式成立中国首个高等院校开源俱乐部——南方科技大学开源俱乐部(OSS CLUB)。
图注:南方科技大学开源俱乐部启动仪式
OSS CLUB由南方科技大学学工部就业指导中心、电子与电气工程系统指导,LinuxFoundation、腾讯、华为、开源科技OSTech等企业和开源组织联合支持发起。
根据OSS CLUB创始人王云天(南科大电子工程系大三学生)的介绍,成立开源俱乐部的想法来源于一次课堂作业:“我们平时有些课程需要用到开源的代码,比如输电实验与模电实验,我们小组做了一个手控的无人机,其中用到的一些芯片就是开源的。我就觉得开源非常重要。”
这一想法获得了南方科技大学讲席教授、电子与电气工程系副系主任沈平的支持。沈平教授此前于2002年至2019年在新加坡南洋理工大学任教,是OSA Fellow, SPIE Fellow, IEEE 光电子学会全球副主席,曾培养出多位优秀学子。
图注:南方科技大学沈平教授
在沈教授看来,高校参与开源有四大优势,分别体现在丰富的人力、前沿的知识、抗风险能力与先进的设备。此外,大学生参与开源俱乐部,能够培养学生在开源中的合作精神,让学生在进入企业后参与开源项目时,不至于一无所知。
以下是AI 科技评论对沈平教授的采访整理:
一、OSS成立背景
1、AI科技评论:南方科技大学为什么要成立这个开源俱乐部?
沈平:过去20年,我在新加坡南洋理工大学任教。在南洋理工大学有一个开源社团,叫做Open Source Society,社团成立刚满10年,成员以学生为主,也有部分高校导师、业界导师。这个社团办得非常好。
来到南方科技大学后,刚好我的一位学生叫王云天,他想成立一个开源社团,我觉得这个想法非常好,我很支持。
我们成立这个俱乐部的目的就是为了吸引更多对编程、开源或对计算机科学感兴趣的学生加入。
2、AI科技评论:南科大的这个开源俱乐部包括哪些方向的开源?是集中在人工智能的开源,还是也有涵盖其他方向?
沈平:开源是比较宽泛的,人工智能是里面的一个部分。人工智能现在是一个比较火的领域,所以肯定是在我们俱乐部的研究范围内的。我们今天讲的人工智能基本上都是深度学习。除了人工智能,我们也希望把区块链纳入研究。
我们今天有很多软件,包括工业的软件,都离不开开源。就好像安卓的底层就是从Linux开源做起来的,鸿蒙也是。
开源有点像一颗种子,大家要一起浇水才可以种出一棵大树。有一句话也可以拿来形容开源项目:“If you do it alone, you can do it fast. If you do it together, you can go far.” 就是说,你要是自己做,可以做的很快;但是你要是跟人家一起做,虽然你可能没有那么快,但是你可能走得很远。
把一件事做起来要考虑很多因素。参与的人多了可能会很乱,需要有人去统筹或是总结,把每个人的贡献放进来。这部分工作(“合心聚力”)其实包含蛮多技术含量的,我觉得南科大特别适合担任这个推动者的角色,让同学们在上学期间就有机会参与开源项目。
我们做不到大公司,像华为、腾讯那样,有这么多人力,还有业界的专家来推动开源,但是我们大学能进行基础培养,这样在学生们将来出社会工作时,他们在短时间内就可以上手做开源贡献,也更懂得怎么样去跟人合作,而不是进入企业后才开始学习事情该怎么做,在许多开源环境都犯一遍错,或者察觉不到开源过程中的问题。
另外,年轻人也需要锻炼一种团队精神,学会跟大家合作,而不是每件事情都以自我为中心。因为在实际工作中会发现自己单打独斗是不够的,还要和其他人编写的模块放在一起才能推动项目进展。一个人其实是很局限的。一个人可以做的很快,一起做可能没有那么快,但可以走得更远。我觉得这是在高校推动开源能够对学生起到的培养作用。
3、AI科技评论:我看到南科大官网上有一些学生参与开源的竞赛,也取得一定成绩。现在俱乐部刚成立,同学的反响如何呢?
沈平:我们现在有一个群,已经有一些学生表示对开源俱乐部感兴趣了。
图注:南科大学生参加技术类比赛项目
我们以往参与比赛,基本上是老师带领团队的形式,老师做的某个领域可能就培养几个学生。我们现在有这样的想法:除了老师主竞赛,我们希望学生之间也能形成团队,就是学生和学生之间互相支持、帮助,有自己的研究方向和参赛目标。所以我们希望陆续会有一些学生导师出现。
这是我在新加坡看到的一个非常好的现象:学生社团中有学生导师。如果俱乐部里有厉害的学生,比如写APP厉害的、熟悉网络安全的,这些某方面很厉害的学生可以开课教学弟学妹们,就是P2P(Partner-to-Partner,“伙伴对伙伴”)的模式,学生之间互相支持和教育。
二、OSS的角色:培养开源人才
4、AI科技评论:新加坡那边的的高校参与开源的情况是怎样的?
沈平:其实再怎么成熟也很难跟企业比。大学阶段,我们培养的是一种开源文化和学习能力。比如让学生知道怎样去做编程,熟悉上传资料至某共享平台的方式。如果等到他们毕业、去了企业才开始了解的话,就有些太晚了,我们希望早一点培养他们的学习意识和能力。
5、AI科技评论:南方科技大学开源俱乐部有和企业建立合作的实践项目吗?
沈平:有的,我们后续会邀请更多的业界导师加入我们俱乐部。我们也会陆续地跟他们举办一些竞赛类活动。我们所谓竞赛类活动是包括训练的,我们会和企业一起做一个训练课程,把这些学生教会了再进行组队参赛。参赛训练其实是目标为本的,大家朝着一个目标,在规定期限里看谁能做的最好,最能发挥创新能力,或者最能把问题解决到极致。
另外,我们也希望学生能自发地举办一些活动,这样不仅可以锻炼到学生的组织能力、领导才能,还可以让学生在这个过程中学到很多东西。我们更想给对开源感兴趣的学生一个活动的场所,至少有一个地方把整个学校对开源感兴趣的学生聚拢起来。就像我很喜欢踢毽球,如果学校有一个毽球协会,我不会踢、但是我很感兴趣就可以加入,慢慢地,我可以发掘自己的潜力,而那些会踢的可以巩固自己的天赋。
我之前在英国、新加坡、香港的不同大学都待过。其实大学里面有很多人才,比如说校园黑客,可能他技术能力很强,但没有一个让给他施展自己能力的舞台,他就自己在上网去学,或者去一些小众圈子交流。如果有一个俱乐部,那么我们可以提供一个平台给他去结交更多朋友,让他分享知识,也可以就一些专业领域给其他小伙伴作指导。
之前在新加坡有个电子系的学生,他在大二时参加新加坡全国网络安全竞赛拿到全国总冠军,大三他又参加了,又拿了冠军。他跟来自全国的职业选手比赛,居然拿了两次总冠军,所以大学里边还是卧虎藏龙的。
开源俱乐部就是聚合这批有天赋、有兴趣的人的一个舞台。其实还有很多俱乐部可以成立,但这个是我们目前觉得很多人会感兴趣的,所以我们今天就公布给大家,我们要成立开源俱乐部。
6、AI科技评论:您有没有了解清华大学他们也有一个高校主导的开源框架(Jittor)?南科大有没有什么类似的计划和项目?
沈平:暂时还没有。大学更多的责任是培养未来社会所需的人才,所以我们进行的更多工作也是在培养人才。
大学生永远都那么年轻,只有我们在变老。跟企业不一样,企业做一个研究要持续七八年或者更长时间,但是大学4年就一个周期,四年后又是一批不同的年轻人。由一两个老师主导,不断地教新人,其实大部分时间都是在进行培养工作。
当然,我们也可以给企业一些支持,我们可以解决或者关注企业开源技术上的问题,我们可以以顾问的身份给出一些建议,而不是给企业推荐一个具体的系统、计划。给出具体系统可能比较难,但也不是完全没有可能,这需要有人主导。比如我们的毕业生做了一个很好的毕业设计或者完成了不错的博士课题,他毕业后创业了,把创意再推向市场,这个是有可能的。以前在硅谷就有很多这种案例。
学生参与开源,最大的贡献是注入一些活力,提供一些新鲜的想法。好像我在企业几十年了,思想模式好像已经定型了,但是来个年轻人的话,他会问为什么不能这样做呢?可能他就颠覆了我的想法,或者整个开源项目的发展方向。一个已经用了很多年鸿蒙系统的人,其实是很难改变的,因为迎接新事物、学习新事物的时间太长了。但学生不一样,他们是一张白纸,你给他学啥,他就直接去学,可能在很短时间里做到极致,或者发现里面所存在的问题。
我之前找过那位拿了两年新加坡国家竞赛奖的学生,我问他:“要不你看一看我们学校的教育系统安不安全?”我们有一个学生交作业的系统叫blackboard。挺神奇的,我们惯常使用的东西,学生就是有办法看出问题,他知道在哪可以攻击系统,在哪里可以进入。他一下就找到了六个攻击点,把他的报告送去学校图书馆,给管理员吓一大跳,原来这系统这么脆弱啊。
7、AI科技评论:据您了解,现在国内参与开源的高校多吗?
沈平:我感觉已经能看到未来的上升趋势。可能现阶段开源的发展还是平稳的曲线,但未来上升趋势是指数式。已经处于拐点阶段了,往后就可能是火箭升空的轨迹。
8、AI科技评论:大学生参与开源,对他们个人的成长、学习生活、职业有什么样的意义呢?
沈平:拿我自己来说吧。我中学时参与了很多活动,多到你都难以相信。
我是全国第一届电脑协会的主席,这个协会就是我创办的。后来老师叫我做舞蹈协会的主席,我是不会跳舞的,但是我勇敢地答应了。我是主席,但不会跳舞,那岂不是很丢人?于是我就晚上报夜校,在夜校学多少,第二天就回协会教多少。其实做的也很成功,我还带学生去表演戏剧。
我当时还在学校里边组织很多学生活动。我们学校大概分为四类社团,我代表其中的一个社团,在里边是学术顾问的角色。除此之外,我还是一名“童军”指挥员,平时要带他们拉练的。虽然当时忙得不行,但是后来我发觉那个时候的活动经历让我成长很多。
后来我在大学带学生,他不需要告诉我具体什么事情,我基本上都知道。在待人处事和了解学生的方面,参加活动对我非常有帮助。我大约知道TA要干嘛,大约知道TA有什么问题,是什么心态。都不用说得很明白,我都大概知道怎么帮助TA。这种感觉不是每个人都有的,我挺庆幸我在中学就锻炼了这种能力。所以我就觉得大学生还是有必要参与社团活动的,比如参与开源社团,不但能够学习到开源或者编程能力,还可以学到待人处事,学习怎么样跟人一起合作。开源是必须要学会跟人合作的。
三、高校与企业合作开源
9、AI科技评论:相比企业,您认为高校做开源有优势吗?如果有,体现在哪些方面?
沈平:我们高校最大的优势就是人力资源、知识、承担风险的能力和设备。
大学的人力资源不仅包括专业老师,还有博士后、博士等科研人才。不管是区块链、光学电子或者人工智能领域的问题,只要企业找到高校,找到领域里相关的一个或几个老师,都能给他一个解决方案。
但是企业拿回去之后要分析一下可行性,因为我们永远都会有方案。但这个方案是不是性价比最高的呢?这就需要评估。企业要回去考量成本,看能不能落地。
在学校里,我们每个领域都有非常专业的老师,他们在各自领域精耕很多年,拥有大量储备知识。
图注:南方科技大学教资实力
还有就是我们能承担风险的能力。雷锋网
假设去开公司,开公司要投资科研,科研是个无底洞,可能做了三五年都没做完。在这个过程中,创业者不知道有没有人要,卖不卖得出去,可能最后发觉根本没有市场。但是我们大学就可以承担这种风险。我们可以做一个东西也许未来50年都不会有产品。就像世界第一个激光是1953年做出来的。激光刚做出来的时候也是没有人要的,因为它刚做出来的时候有三张沙发那么大,并不是现在我们手里拿的轻便小巧的一块。谁会拿一个这么巨大的东西去上课呢?并且它可能是一个百万级、千万级的项目,要耗费巨额投资。但这也需要有机构去做。如果没有人坚持做这项研究,今天激光不可能从三张沙发变成一支激光笔。
大学为什么能承担这种风险呢?一方面,大学的重点在于教育,我们的目的本来也不是做成一样产品。学生从事学术研究、发表成果,然后毕业,这个过程中涉及一些研究课题,一代代学生共同完了成果转化,造就了今天的激光笔,也将激光加工技术推进工业领域。企业跟大学合作,可以把一部分前期风险转嫁给大学。假设一些企业想研究下一代半导体技术、区块链技术,但不知道走哪条路才能赚钱,可能走了数百条路,只有一两条路有可能走得通。雷锋网
如果跟大学合作,大学提供智力支持,老师和学生组建的智囊团队针对企业需求找出几个可行的路径,在这个过程中可以发专利,还可以产出中国制造的工艺品。如果成果符合相关规范的话,还有可能成为全球标准、行业标杆,这就是一个很大突破。这时候,公司就可以把它拿来产业化了。要是智囊团队发现企业的想法在实际操作中实现不了,或者发现成果做出来没什么用,又或者最终成果太容易被攻破,那么就可以及时止损。这样其实是在帮助企业规避风险,避免后续量产时产生更大的悲剧。
最后一样是设备。大学有很多过百万、过千万的设备。一般来说,开个公司,初期谁会去买一个千万的冷冻电镜呢?如果跟我们合作,通过高校的设备试验这种设备对企业有没有用,已经证明是有用了,企业可以再结合其他情况决定要不要采购。雷锋网
10、AI科技评论:小公司设备成本预算不高,但像华为、腾讯这种大公司,给到的设备支持力度应该还可以?
沈平:其实大企业也差不多的。大企业的科研部也很大规模,人多,想做的东西也多。所以他们要衡量预算,评估部分科研实力、风险情况再决定设备投入。要是风险很高,但只有1%的成功率,那么大企业也不一定愿意给钱。这个时候,部门可以寻求和高校群体合作,先用我们的设备做一个测试,结果效果不错,再回公司说已经经过大学认证了,这样就好申请一些。所以我觉得高校还是靠谱的。
11、AI科技评论:南方科技大学在开源这一块有四大优势。那么,你们有什么需要改善的地方吗?
沈平:南科大的优点和缺点都是年纪轻。深圳的平均年龄是33岁,这个是很大的优势。我们都遇到过顽固的人,一般来说,顽固的人可能年纪大的偏多。我个人对顽固的定义是停止学习,或者不愿意学习。有些人是拒绝改变的。大家都觉得这个事他应该去学,或者应该往前走,但是他就很抗拒,顽固就形成了。
但是,有一个成语叫“三人成虎”。如果身边的亲戚朋友都跟他说要尝试某件新事物,他可能就愿意接受。他会想:既然大家都这样说了,那我就试一试?那好,我试试装个某宝,看是不是打折。
年轻的大学有什么好处呢?就是什么都是新的,大家会愿意尝试新的做法,有待改善的东西会不断地出现,尽了力就是完美的。比如说,要求画一条直线,用直尺可以画得很规范,但要求徒手画,在没有辅助的情况下,尽了力去画就是完美的。
我觉得学生也是各有优点,要是能发挥TA在编程上面的优点,TA就是个人才,但要是把TA放在不熟悉的其他领域,让喜欢编程的去搞硬件,这样就完全发挥不到个人优点。我们希望能尽量找到学生的兴趣,让每一位学生都能发挥特长。我们并不需要一个人什么都懂,他要是能成为某个领域的专家就已经很成功了。我们希望未来能多培养一些专家,我觉得未来国内最缺乏的可能就是专门领域的人才。
现在年轻人生活压力也大,可能为了生活在不断地换工作,这可能完全改变他的方向。比如一些人原本做编程,转行做光电,后来又去做石墨烯材料。到他三四十岁的时候,可能一看,履历很精彩,但就是找不出一个专注点,要是他有一个专注点能咬紧牙关做下去,他可能已经是一个行业的CTO。