MATLAB 被禁点燃导火索,国产软件路在何方?

采访嘉宾 | 程先云,七维高科CTO

记者 | 夕颜

出品 | CSDN(ID:CSDNnews)

MATLAB事件

2020 年 6 月 6 日起,哈尔滨工业大学和哈尔滨工程大学因被列入美国商务部实体名单,并被禁用数学基础软件 Matlab。这一消息迅速在网络发酵,引发关于国产软件独立自主重要性的大规模讨论。

哈尔滨工业大学和哈尔滨工程大学表示,其正在和美国 MathWorks 公司进行积极沟通,而 MathWorks 方面则回应称,接到通知,根据美国政府最新的进出口管制名单,无法再为其提供服务。

这个在特殊环境下的非个例事件将会对国内产生深刻的影响是可以预见到的,但以此事为导火索,将具体会对学术科研界产生怎样的影响,对国内自研软件行业带来哪些改变没有人可以说得清楚。针对这些问题,数学科学计算软件 1stOpt 的核心研发人程先云博士从专业角度,带来了他的看法。

无知识积累、团队支持,自研 MATLAB 替代品纯粹是“瞎忽悠”

首先,程先云博士对哈工大等高校被限制使用 Matlab 一事有一个预判,认为此事对学术科研界影响巨大,而按目前的发展趋势,不久的将来或许会有更多的专业/行业软件被禁,涉及的高校及科研单位也会更广,甚至最大的开源社区的 GitHub 对中国封禁也是大概率的事。

他提到,前段时间美国在硬件方面禁中兴和华为,现在又在软件方面发力,虽然很无奈也很遗憾,但有一点却是痛苦的事实,也振醒了我们,那就是美国禁什么,我们才发现我国在这方面确实很弱,差距巨大。硬件方面如此,软件方面更是有过之而无不及,如此精准“打击”,美国似乎比我们自己更了解我们,不得不说这显然是件非常恐怖也很令人难堪的事。

如何破局应对?不少人都在讨论国产替代品的可能性,如 Python、Octave、Julia 等,然而,现实情况却是,语言上找到替代品简单,但 Simulink 仿真却很难找得到替代品。

程先云博士说到,其实从理论上来说,世界上没有任何东西是不可替代的,软件产品也是如此,关键要看替换的代价和成本。打个比喻,如果一个人习惯而且一直喝咖啡,因为喝咖啡,地里种的也是咖啡树,所有设备、器材都是为咖啡而备,此时如果咖啡相关的整体归零,要求全部改为以茶为主,不喝茶就没有水喝,结局会是什么?无法适应而渴死?显然不会,很顺畅地适应而且喝得很舒服?那也绝对是假话,一定会有一段痛苦的调整适应阶段,而且 Simulink 就像咖啡因,茶里也有,但含量远远低于咖啡,要完全适应会是一个长期的过程。

Matlab 禁用事件才几天,据了解就有公司号称一年内就能开发出完全替代 Matlab 的国产同类软件产品,按过往的经验,程先云预计以“逐利”为本的一大波公司也已经“在路上”。程先云博士不客气地指出,说白了,那些既无以往开发科学计算软件的经历及知识积累,也无强大的数学支持团队,承诺可以完成 Matlab 替代品开发的基本可以说是“瞎忽悠”,否则这类产品早就应该出来了,而不会像现在这样以蹭热点式的方式冒出。

“Matlab 并不是像一些人说的仅仅是把已有成熟的算法、数学原理、数学公式及相关工具箱堆砌在一起那样简单,如果是这样,10 年前清华大学搞得那个对标 Mathematica/Matlab的maTHμ也不会消失的无影无踪了,”程先云无奈道。

他指出,开发综合数学类软件,除了需要精通编程及具有深厚完善的数学知识外,算法上还需有自身的特点和先进之处,否则花大精力开发的产品连开源的 Scilab 和 Octave 等都比不过,意义何在?Matlab 不但是数学功能的集大成者,而且具有完全的开发环境和编程功能,早已被视为 Fortran 的替代者,而按国内目前的环境,跟风式的科研风气,不重视基础研究与应用,唯论文论英雄,科学界看似繁荣的表面实则都是建立在他人的基础之上,被人釜底抽薪卡脖子自然是难免之事。

“开发出个数学应用软件不难,但要想在短期内达到或超过 Matlab,可能性微乎其微,”程先云从自己的专业角度做出了这个让人遗憾但客观的预测。

一蹴而就不现实,但从局部破局还是有希望的!

程先云博士认为,Matlab 是大而全的数学类专业软件,无法短期内开发出全面接近或超越 Matlab 的产品,也是客观现实,但先从局部或某个方面先取得突破,再在此基础上完善拓展还是很有希望的。Matlab 也是历经几十年不断迭代累积修正发展而来的,任何希望一蹴而就的想法都是不现实的。

阿基米德说:“给我一个立足点和一根足够长的杠杆,我就可以撬动地球”,但实际上人类目前根本就不存在这样的杠杆,脚踏实地道路才会坚实,一砖一瓦大厦方可竖起。

如果没有创新而只是重复,拥抱开源比独立开发效率更高。

90 年代海外读博期间开发 1stOpt

虽然短期内国内自研 Matlab 的替代品不现实,但是一旦大规模封禁,我们总需要些能够暂时可以顶一阵的产品。我们关心的是,国内有哪些类似的产品可以暂缓燃眉之急呢?

程先云博士所在的七维高科旗下,就有一款主要专注于优化数值计算(非线性拟合,非线性方程组,全局非线性最优化等)的产品 1stOpt。程先云博士称,在优化数值计算方面,1stOpt 可以实现不错的求解效果和易用性。

七维高科科技有限公司是一家专注于数学科学计算软件研发企业,数学优化分析计算软件平台1stOpt 是其旗下独立研发并拥有完全自主知识产权的一套软件产品,软件名“1stOpt”源自英文“First Optimization”,意喻最优化领域做到第一。该产品自上世纪末第一版面世,至今已有 20年的历史。

程先云博士是 1stOpt 的核心研发人员。上世纪 90 年代中期留学国外攻读博士学位期间,因专业问题涉及到模型参数优化求解,程先云开始了解并学习最优化算法、人工神经网络及智能计算方法等,在大量研究的基础上,开发提出了 UGO 通用全局优化算法(Universal Global Optimization),并以此为核心技术推出了 1stOpt 数值计算软件平台的第一个版本。

程先云博士说道,许多数学问题,包括当今火热的人工智能问题都可以最终归结为数学优化问题,而要完美解决这类问题的重要密匙之一就是优化算法,尤其是具有全局寻优能力的全局优化算法更是重中之重,成为当下研究的焦点。从上世纪五、六十年代提出的具有全局寻优能力的模拟退火和遗传算法,到如今数不胜数的各种仿生智能算法,虽然都号称是全局优化算法,但实际表现与期待的理想结果还有相当大的差距,最多只能说是在理论上具有全局优化计算能力,而能在实际应用当中表现名副其实的并不多见。Matlab 官方就在其论坛指出“任何优化问题,当今的基于进化的智能全局优化算法都不值得推荐使用”,这也是为什么包括 Matlab 在内的主流计算软件涉及到优化计算,比如拟合和方程求解,都还是采用经典的局部最优算法,如牛顿算法。

UGO 算法之最大特点是,与经典局部最优算法相比,克服了在优化计算领域中使用迭代法必须给出合适初始值的难题,即用户勿需猜测给出待求参数的初始估值,而由 1stOpt 随机给出,通过 UGO 算法,最终找出最优解;而与遗传算法等具有全局优化能力的算法相比,其稳定的全局优化求解能力有了压倒性的提升。

另外,1stOpt 吸引用户的原因,除了独有的算法及计算效果好之外,使用简单也是最主要原因之一。有一个说法是,过去理工科学生必学的 Fortran,其代码量 10 行,目前理工科学生必学的 Matlab 用一行即可,而如果 Matlab 用 10 行代码,1stOpt 只需一行,入门门栏极低。程先云博士认为,Python 也好,Julia 也罢,都是属于编程语言了,而很大一部分科研人员实际上并不擅长编程,其中不少还有“编程”恐惧症,为了解决自己专业领域的一个数学计算问题就要花费大量额外时间去学习一门语言,实则事半功倍,从这一点看,1stOpt 具有很大优势。

据悉,现在最新版的 Matlab,安装包大小已接近 10G,完全安装完需硬盘空间近 100G 左右,比较臃肿,而很多用户实际只使用到很小一部分功能;而 1stOpt 安装包只有 60M 左右,相比Matlab 要小巧很多,同时对硬盘和内存的要求也很低。

在语言支持方面,1stOpt 除了直接支持 Fortran、Basic、Pascal 等高级语言外,也直接支持Python,Julia 语言的支持也在计划中,这样,无论是简单还是复杂的数值计算问题,1stOpt 都可以轻松应对。

在竞争激烈及国外类似软件几乎垄断的境况下,1stOpt 依靠自己创新的全局最优算法及简单易用的自然语言和用户界面,处于虽然缓慢但始终发展上升的状态,其在非线性回归、曲线拟合、非线性方程组求解、非线性复杂模型参数全局求解、非线性规划等科学计算领域,不仅国内,在世界上也居领先地位。

如今,1stOpt 可应用于几乎所有科研、工程、金融、决策、等领域,据不完全统计,包括国家自然科学基金、国家863计划项目、国家973项目、国家重大科技专项和国家"十一五"、"十二五"科技支撑计划等数千项各类科研基金项目采用了1stOpt软件平台,上百项发明专利及近万篇学术研究论文采用了1stOpt作为分析计算支撑辅助工具,发表刊物包括众多国内外SCI、EI、IEEE及中文核心期刊,包括国内几乎所有“985”和“211”顶尖高校,中国科学院下属数十个研究所,牛津大学、斯坦福大学等国外高校,宝钢集团、大庆石油集团等企业也都在用这款软件。

程先云博士表示,在国内搞这样的基础应用软件,能坚持下来就是最大的胜利,他很欣慰做到了,即使面对 Matlab 这样的“杀手”,自己的产品仍然有很强的竞争力。

他表示,虽然 1stOpt 不可能完全取代大而全的 Matlab,但在局部领域还是可以胜任的,将来若获得政策上的支持,这款产品会在已有的基础上丰富功能并持续发展。

技术不应有国界是伪命题,拿来申辩苍白无力

在笔者看来,科技合作本应是共同体,技术原本也不应有国界,但受美国实体清单的影响,国内学术圈已然受到了波及。但对于“技术无国界”这个说法,程先云博士却有着不同的理解。

他认为,“科学”与“技术”是两个不同概念,简单而言,科学旨在回答“是什么”和“为什么”,而技术则关心“做什么”和“怎么做”。“科学无国界”这句话没任何问题,牛顿、高斯、麦克斯韦尔、爱因斯坦等西方科学家的科学研究成果是现代科技的基石;而“技术无国界”则是一个伪命题,就看如何理解了,技术是在科学的基础上开发的实用方法或产品,是有投入的,不论是国与国之间,还是不同单位甚至不同个体之间,至少在可见的未来,“技术”产品不可能完全都是免费的,否则“专利”和“知识产权”的概念也不会存在了。即使单纯从市场角度看,任何人都不可能去强买强用某款对方不愿意给的技术产品。

因此,Matlab 对国内禁用,程先云博士坦承,实话实说,我们没有太多的抗辩理由,拿“技术无国界”来申辩更显得苍白无力。“弱者无外交”,“历史是由胜利者书写的”,这些定律同样适用于科技界。

关键是形势已经走到这一步,我们应该如何破局?程先云博士认为还需从我们自身去寻找答案,比如为什么 Matlab 被禁我们会感到难受?因为我们已经习惯了使用这款产品,因为没有这款产品我们的科研会受到不小的影响,而令人尴尬的是短期内我们却又无法找到或开发出类似的产品。

了解了现状,也知道了原因,解决之道就一定会有的。

“能站在巨人的肩膀上固然是很好,但因此就觉得比巨人还高那就危险了,做好随时被抖下肩而又不会迷失方向才是最重要的,”相信有很多人和程先云博士一样保持着这份清醒。

国产软件,必须要有造血能力!

因实体清单以及出口管制等原因,去年,在开源层面上,Apache 基金会与 GitHub 也疑似受美国出口法律法规管制,今年,商业软件再受限制,长远来看,我们亟需拿出一些解决方案来摆脱目前的困境,在困境中,业界、学术界、技术人该如何参与进来?

程先云博士的建议从反思国内教育开始。他指出,基础教育的缺失和填鸭式教育导致国内很难出现数学方面有影响的创新方法和理论,如人工神经网络、支持向量机、随机森林法、深度神经网络等等,国内大都是跟踪模仿,这种“锦上添花”式的模式想出原创性成果几无可能。

开发科学计算软件,国内实际上并不缺乏人才,如在科技绘图分析软件领域居前列的美国软件Origin Pro,据称实际上既是最先由留美大陆学生开发并逐渐壮大成科技绘图分析软件第一霸主的,其目前的开发及服务支持团队很大一部分就在中国大陆;另外一款在数学线性规划领域执牛耳的美国软件 Gurobi,该软件的三位创始人之一姓顾(Gurobi 中的 Gu 的来源),也是一位华人;更不用说在微软、谷歌和苹果公司,都有大量华人在其中做贡献。这些充分说明,在开发高端软件上中国并不缺乏人才,而是环境,南橘北枳就是最好的比喻描述。

在程先云博士看来,国产软件主要面临如下问题:

  1. 科研与实际脱节严重,不少涉及到应用软件开发的项目闭门造车者多,完全脱离市场需求,也无法通过市场验证从而得到市场认可和用户的接受;虽然国内科研论文发表数、专利申请获得数及软件著作权登记数屡创新高,位居世界前一、二名,但实际有用并可转化成生产力的比例极小,大部分都是为了职称评定或完成科研定量指标任务而凑数;
  2. 国内科研和软件开发急功近利者多,耐得住寂寞能沉下心长时间专注一项产品的少之又少,导致此现象原因众多,但生存环境不允许应该是重要原因之一;
  3. 软件开发得不到重视,具体表现在认为编程序不算科研,编程就是机械性写代码,没有技术含量,很难发表高水平论文,因此,最好的人才不太愿意搞应用软件开发;
  4. 国家层面对软件支持的盲目性投入导致的后果往往是事倍功半,有不少以国产自主名义骗取国家投入(如红芯浏览器、木兰编程语言等)。根据国际上的成功经验,很多后来成功的知名软件如Matlab和Mathematical,创业起始都是由几个人组成的小规模团队研发成功再逐渐壮大的,即使目前大名鼎鼎的Android系统,最初也是由“安卓之父” 安迪·鲁宾个人开发,再后来由谷歌公司收购,继而成为移动端霸主的。“大兵团”作战方式并不适合科学计算类数学软件的开发,尤其对于初创公司来说,更需要的是创新思想和有能力把这些思想转换成实际产品的人才。国家要做的是创造公平公开的环境,让处于不同位置、不同阶段的主体获得公平竞争的机会。软件从来不是扶持出来的,而是市场竞争出来的。中国不缺有竞争力的人,而是缺好的竞争环境。诺贝尔奖获得者不可能由特定模式及特定人员按规划专门培养而成,自由生长的环境才能保证百花齐放,才可能获得硕果。
  5. 市场已经有口碑和性能都很好的软件,新入市的软件不论是时间还是机会空间都很小,除非有自己的特色,在性能上明显胜于已有软件产品几个档次,才有可能吸引用户转投新的产品;
  6. 国内盗版现象虽然比以前有所好转,但还是相当严重。不同于国外科学计算软件大鳄,他们可放任国内盗版的使用,不论是“先培养用户习惯,将来再收割”的阴谋论也好,还是无暇顾及版权维护也罢,他们依靠国外的正版收入即可足以维持自身的发展壮大;与之对比,即使有创意且性能在某些领域领先的国产数学软件,其国内主市场以盗版为主,那么就算产品再优秀,也是很难维持并走向成功的;

虽然一款软件产品的成功与否最终取决于市场,但在目前国内,仅靠市场而没有国家的扶持,想最终战胜国外同类成熟产品,无异于比登天还难。

科学计算软件的发展,需要长期的人才和技术积累,需要拥有自己的核心求解技术,不可能一蹴而就,核心技术也是不可能通过引进获取的,急功近利式的方式是无法产生伟大产品的。

程先云博士表示,虽然在大而全方面不可能一蹴而就弄出个中国版的 Matlab 或 Mathematical,但先专注于某一方向,精雕细琢,取得局部领域的突破,再考虑全面地集成发展,虽然任重道远,但毕竟是可行的发展方向。通过这次软件禁用一事,相信国家会采取相应的应对措施,不论是政策层面还是资金扶持资助方面,基础应用软件会迎来发展的春天。但在这个过程中,要避免“头痛医头脚痛医脚”式的发展模式,更要杜绝骗取经费的闹剧,要有长远的规划。

“软件产品的成功与否最终要靠市场说话,中国是开放的国家,我们不能仅仅满足于国内市场的一亩三分地,能走向国际市场,能得到世界范围的认可,才可以说是一款成功的产品。温室里的鲜花是永远经不起大风大浪的,一时帮扶可以,但如果自身始终无自我造血机能,只能属于被淘汰的产品,”程先云博士如是说。