云计算和边缘计算是“下一个常态”的关键
以看到,由于物理世界数字化,产生的信息量和数据达到了天文级,比如无人车,每个人每天可以产生10个T的数据。另外一个特点就是,现在数据大部分不是给人看,而是让机器做决策,比如无人驾驶。 不像第一代和第二代,我们的生物世界也在进行数字化,大脑、身体,每个器官,甚至包括DNA还有蛋白质,通过脑和世界的接口,这个数据量更大,比我们物理世界更大。这个容量级很难用正常的方式去处理计算。 现在这个世界是信息物理和生物世界的融合,先是数字化,然后连到一起,最后才是智能化。 AI变革带来产业新机遇 5G出现之后,的确带来很多新的可能。5G是第一次把三网真正在应用层统一了,这是一件大事,5G让传输的速度更快、延迟更低。 任何新的技术需要时间,大家要有一些耐心,5G刚刚发展速度就已经很快了,张教授表示相信在未来三到五年5G能够带来巨大的变革,不仅是对用户,更多的是对于工业和产业。
张教授还用两张图举了两个例子,一是百度昆仑芯片路线图,第一代昆仑AI芯片已经达到14nm工艺、2.5D封装、512G的带宽。明年会出来第二代,7nm,耗能减少很多,性能将提高3倍左右。 数字化2.0在90年代中期开始,由于内容数字化,产生了消费者互联网,掀起了好几轮浪潮。同时企业也在数字化,包括ERP、CRM、工作流以及商业智能,到了后面有各种数字仓库、云,各种各样。但在软件领域,消费软件产品市场在中国一直没有真正到一个主流。
现在进入全新的数字化3.0,包括互联网物理化。首先是物理世界数字化,我们的车、船,飞行器件数字化,路、交通等,城市在数字化,家庭在数字化,工业、车间、电网、机器,乃至货币都在数字化,可以看到物理世界和数字世界形成一对一的影射。过去我们讲数字高速公路,现在真的高速公路也变成数字。 文档 - 使用注释、计算笔记本和README文件来解释程序的运作方式,并将预期的参数和所需的计算环境也定义好。 记录 - 记录关键参数,例如随机数生成器的种子。这类记录可以用来重现代码,发现漏洞并追踪意料之外的结果。 测试 - 写一套测试函数。使用正向和负向的控制组数据集来确保你能获得预期的结果,并在开发过程中不断运行这些测试以便在编程出错时立刻发现。 指南 - 写一个主脚本(例如run.sh文件)来下载所需要的数据集和变量,执行计算流程并为你的代码提供一个显而易见的入口。 存档 - GitHub是一个流行但是非永久性的在线代码库。使用Zenodo、Figshare和Software Heritage这样的存档服务来保证长期的稳定性。 追踪 - 使用Git一类的版本控制工具记录项目历史。记录产生各种结果的分别是哪个版本。 打包 - 使用容器化的工具(例如Docker和Singularity)、网上服务(Code Ocean、Gigantum、Binder)或是虚拟环境管理器(Conda)设置可以即时使用的计算环境。 自动化 - 使用持续集成服务(例如Travis CI)来自动、定期、在各种计算环境下测试代码。 简化 - 避免罕见或难以安装的第三方代码库,以简化重用代码的难度。 验证 - 在不同的计算环境下运行你的代码,以确认其可移植性。 一个不怎么符合直觉的事实是,很多挑战者都发现使用更老的语言写成的代码反而更易于复用。新语言的应用程序接口会频繁更新,而它们所依赖的第三方库则导致代码更易损坏。从这个意义上讲,今年初Python 2.7的退役为科学家提供了一个机会,Rougier和Hinsen说。Python 2.7“让我们有了一个保证不会再变化的高级编程语言。”Rougier写道[1]。
无论研究者使用什么样的编程语言和可复现策略,实际验证一遍都是明智之举,谢菲尔德大学的研究软件工程师Anna Krystalli说。Krystalli负责举办一个叫ReproHacks的研讨会,让研究者提交已经发表的论文、代码和数据,然后要求其他参与者重现其结果。她说,大多数情况下是重现不出来的:作者没能提供一些他们看起来显而易见而其他人却不知道的关键细节。“无论我们在做什么,如果不实际用一用,摆弄摆弄的话就不可能知道是否真的可以重现。”Krystalli说,“实际上,这比人们所想象的要难得多。” (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |