写点什么

从行业视角看 2020 年技术发生了哪些变化?

2021 年 1 月 07 日

从行业视角看2020年技术发生了哪些变化?

一篇文章很难回顾所有技术的发展变化,但我还是试图从个人视角出发进行一个总结。一直以来,我都认为行业发展是技术的第一驱动力,以行业为视角可以穿透技术发展的表象,触及到本质。


过去一年,在疫情、国际冲突、数字时代发展的共同推动下,技术发生了巨大的变化。本文,我会以行业视角来分析这些变化对我们的影响,以及如何应对这些变化。


疫情之下

封城之殇


封国、封城是自从黑死病和瘟疫大流行开始,人类用血肉换取的宝贵抗疫经验。随着社会科技发展,这些抗疫手段在原则不变的情况下,融入了更多技术去应对其副作用。


数字抗疫



COVID-19 健康凭证、支付宝健康码、公共交通管控、城市大脑和人员行动轨迹管控……共同构成了传播源管控系统。始于中国推广全球的移动 APP 管控经验,良好的完成了其使命。但是,社会公权力的担忧和隐私侵犯现象层出不穷,也构成普罗大众对利维坦的恐惧。在疫情面前没有赢家,欧洲选择自由而牺牲生命,集权国家选择生命而部分出让自由,只是选择不同而已,都要付出相应的代价:no free lunch!对于技术人员,手持技术道德的达摩克里斯之剑时,需要更多的担当和自省。


远程办公



为了最大程度减小疫情对经济的影响,远程办公 Thinclient 神隐多年后,Zoom 代表的新一代远程办公系统崛起。疫情只是一个催化剂,带宽发展、网络压缩传输技术成熟、机器学习的超分辨率技术加持的大规模并行计算能力……等,共同缔造了远程办公的可能性。但是,同时也要看到远程办公并不是员工和雇主的博弈,而是工作模式、生产关系的升级。围绕着博弈诞生的 3D 虚拟形象自动化参会,终将消亡。而围绕着远程协同办公的核心“办公”,将诞生更多新技术,背景替换只是冰山一角,类似微软 HoloLens 的远程辅助、远程医疗……等专业领域的成功经验,将是驱动远程办公发展的重要动力。


生活电商


作为疫情经历者,封城禁足带来的第一个问题就是:吃穿住用行怎么解决?疫情初期口罩哄抢,买不到口罩让出行买菜成了第一个问题。从超市哄抢到本地生鲜的哄抢,买不到菜成了第二个问题。长期禁足在家,买不到 Switch 健生环大冒险,成了娱乐消遣的第三个问题。


社区志愿者、网格化管理和电商,成为了解决生活问题的核心手段。必须承认,在突如其来的疫情面前,没有人准备充分,有些问题、有些弊端是正常的,但是,当这些弊端和问题发生在我们自己身上呢?在后疫情的时代,需要反思作为一个技术人,我们改变了什么?改善了什么?


就像在软件工程里思考异常情况和边界值一样,在供给技术方案的时候也要考虑社会的异常情况和边界值,藉此避免在社会发生问题的时候手忙脚乱。如果投入和价值被挑战,作为一个技术人,至少应该把灵活性和扩展性提前设计好、预留好。


远程教育



工作和生活之余,孩子的教育怎么办?教育的场景要大于工作场景,因为寓教于乐、蒙氏教育……已经成为了家长追求教育质量的主流要求。技术如何提供交互能力?技术如何提供良好的体验?技术如何让孩子能够身临其境? AR/VR/MR 带来了很多可能性和想象空间。


HTTP3/QUIC



传输效率是首先要关注的,因为孩子更加缺乏耐心,如何用 HTTP3/QUIC 来解决 TCP/IP 头部阻塞问题,如何更快的让孩子看到画面,如何分布加载引导孩子等待的同时有部分交互性或展示能力?可以良好的解决孩子耐心的问题。可以参考:Facebook部署QUIC的实践


动作捕捉



ARKit 上不仅可以进行 3D 空间的测量、表面侦测、放置虚拟元素等,还加入了动作捕捉能力。动作捕捉可以让孩子可以更加身临其境,和数字世界进行更真实的交互。尤其是硬件设备的升级,能够更好的完成这件事情:神经网络运算加速芯片、雷达、多摄像头下机器视觉……。


音视频压缩



无论远程办公还是远程教育,就像传统视频网站一样,带宽是一个绕不过的话题。以往的压缩技术是根据信息论,通过算法对缺失信息进行还原(丢包等问题)。如今,有超分辨率技术加持,可以很好的解决带宽的问题。解题思路和以往编程领域一致,“时间换空间”和“空间换时间”,在需要空间的场景如数据传输,就用“时间换空间”计算代替存储,在需要时间的场景如缓存,就用“空间换时间”存储代替计算。


云计算



疫情阻断了人提供服务的路径,“上门服务”逐步编程“上云服务”,软件的云化 SaaS 出现了一波新行情,不少人投入到 2B 的领域进行创新创业。在构建 SaaS 的过程中,WebServices 再次借助 OAM(Open Application Model)从幕后走到台前。



应用程序有限、应用和平台能力的关注点分离、被 Go 证明的开箱即用是第一推广力,几乎构成了 OAM 的主要特色。



编程对象也从以往的对象存储、数据服务、消息服务……等,扩展到 IoT 和边缘计算,云原生和云基础设施将进一步从 DevOps 向 NoOps 挺进。

国际冲突


同一个故事有两个不同的版本:

1、由于投入了大量的研发成本、人才培养、技术学科建设……,所以,要大力保护知识产权,必须保证利润来促进资本投入新技术研究;

2、由于历史原因发展不足,长期受到高利润盘剥,所以,要大力发展自身技术,必须保证大家能够享受到技术发展带来的红利,促成技术普惠。

两个版本都没有错,只是缺少了一个毫无偏颇的第三者仲裁,否则,公说公有理婆说婆有理永无休止。但是,一个无法忽略的事实是:资本家永远拿着新技术投入作为要挟,挥舞着知识产权保护的大棒,捶打着不争气的技术人。因此,君子以自强不息,如何应对是一个问题。


芯片技术封锁


众所周知,芯片是近现代工业产业飞速发展的基石,万物互联已经在日常生活的家电、手机、耳机……等,渗透的愈加深入和全面。然而,芯片技术从 EDA、光刻、封装到测试,原材料的晶圆……构成了一个庞大复杂且分工明晰的产业。无论媒体如何肯定我们的研究成果,10~15 年内所谓“赶英超美”的梦想大概率只是个梦想。太多的基础学科需要去攻克,太多的材料学、技术工艺需要去创新和发明。


然而,随着人工智能应用的普及,通用芯片逐步分化为专用芯片:NPU、DSP、CPLD、FPGA、Intel DPDK……都在特定领域替代了通用计算芯片,从本质上改变了软件开发这件事。



“人机协同的编程方式”造就了一个契机:在专用芯片上开发软件,打开通用计算芯片封锁的通路。人机协同的编程方式,这个概念源自于对前端智能化的深入思考。整个前端的职责范围,随着 Node FaaS、RN、Weex 等技术的涌现而扩大。


image.png


image.png


image.png


通过 “人工智能 + 前端” 来定义的“前端智能化”,通过人工智能借助专用芯片“NPU”突破通用芯片“CPU”技术封锁的能力,为技术打开另一片天地。


image.png


之于前端,进入智能化领域需要学习:机器学习、Python、TF 等机器学习框架、并行化和运算加速……等技术,门槛很高。在 imgcook.com 的前端智能化实践中,阿里巴巴前端委员会沉淀并开源了:Pipcook ,降低前端智能化门槛。


image.png


同时,借助 Boa 提供丰富的 Python 技术生态复用能力,让前端做出靠谱的机器学习。


image.png


在保证前端可以开发出靠谱的机器学习项目的同时,Pipcook 还对流程进行了优化。借助 Jupiter Notebook 的思想,对学习和实验提供了大量支持,并同时推出 Pipboard 和支持 Corlab


image.png


人工智能和机器学习离不开数据的处理,无论是组织训练样本还是处理日志,都需要对海量数据进行:获取、组织、清洗、分析……等工作。DataCook 吸收了开源项目 Danfo.js 开源项目,借助 Tensorflow 强大的 TFData 数据处理能力和硬件加速能力,赋能前端轻松处理海量数据。


image.png


软件技术封锁


image.png


“倾巢之下俺有完卵?”抱着“事不关己高高挂起”心态处之,未来一定会很被动。核心技术自研来确保在关键点上不被“卡脖子”,应用技术开源来保证全球化和社区化软件生态抵御政治风险,是两条关键的路径。


核心技术自研


核心技术自研 ≠ 重复造轮子!!!核心技术自研首先要划定范围在:商业和闭源软件范围内,因为,开源软件属于社区共享,大家共同遵循开源协议可远离专利流氓和技术卡脖子,直白点说:相互牵制。


其次,对于操作系统、驱动、算法库……这些频繁被使用的底层技术,也需要有充分的风险认知和评估。Matlab 就是一个典型的例子,今天,大量算法用 Matlab 编写,大量工程技术和自动化控制技术依赖于 Matlab,大量的化学、生物学等科学研究依赖于 Matlab,Matlab 的技术封锁可谓“精准打击”。在耗费社会大量人力、物力、财力进行迁移的同时,作为技术人,要能够充分评估自己企业的技术风险,识别出这些可能被“精准打击”的点,提早寻找开源技术和“备胎”,甚至在必要时自己造轮子。


最后,需要关注框架、脚手架和工具。随着工程技术的发展,技术工作已经被越来越多的框架、脚手架和工具所挟持,一旦这些框架、脚手架和工具出现问题,对现有的软件工程体系会造成巨大冲击。


image.png


React 协议变化对中国前端技术的冲击不可谓不巨大,直接对所有前端技术人完成了开源协议普及工作。同时,这次冲击也让大家意识到,对于框架、脚手架和工具的重度依赖是有风险的。因此,在设计技术体系的时候,首先要有“面向卡脖子”的设计:框架换了怎么办?脚手架换了怎么办?工具不能用了怎么办?即便不去自己造轮子,也要在这些非自研框架、脚手架和工具上,做好解耦。


应用技术开源


image.png


并不是开源的代码商业都能使用,比如 Highcharts( https://shop.highsoft.com/highcharts )是明确商业授权方式的,就是花钱买。另外,一些允许商业免费使用的开源代码也不是随便免费的,比如以 GPL-2.0( https://choosealicense.com/licenses/gpl-2.0/ )协议开源的代码,你的代码用了他的代码,你的代码也必须按 GPL 开源。另外,还有一些开源协议是明确了不授予相关专利的使用权的,比如 BSD-3-Clause-Clear( https://choosealicense.com/licenses/bsd-3-clause-clear/ ),这些代码引入到业务代码里面都是有潜在风险的。根据前端的场景,梳理了一个 License 白名单,如果你的项目依赖了以下协议发行的开源模块是安全的:


  • MIT

  • Zlib

  • ISC

  • WTFPL

  • Unlicense

  • Apache-1.1

  • Apache-2.0

  • BSD-2-Clause

  • BSD-3-Clause


了解开源协议之余,未来如何用开源去突破技术封锁?放在技术封锁的视角下:首先,需要“卡脖子”方使用我们提供的开源技术,“普适性”可以保证开源技术从各个维度渗透到对方的业务中去;其次,要么从功能层面、要么从技术层面,要设计一定的依赖性,避免被替换或祛除的时候不痛不痒;最后,要具备先进性,要让大家不得不用、不能不用,不用会带来显而易见的巨大成本和代价。


数字时代


环境和其中的人共同构成了这个世界。环境方面,数字孪生的技术把物理世界映射到数字世界,便于我们跨越时间和空间进行交互,如:支付宝天然气抄表。AR 等技术把数字世界映射到物理世界,便于我们对物理世界进行数字化理解(HoloLens修车)和数字化使用(AR游戏、AR看房)。人的方面也是双向的,首先,是物理世界里提供数字化凭证(电子身份证);其次,是数字世界里提供物理模拟(3D虚拟形象)。当技术发展到一定阶段,我们将无法区分物理世界和数字世界,统一称之为“世界”。


环境


image.png


数字孪生让物理的城市数据化,借助 AI 对信号灯以及路况的管控,使通行时间减少 15.3%,高架桥出行时间节省 4.6 分钟。通过 WebGPU 技术的加持,在跨平台能力超强的 Web 技术上提供良好的 3D 渲染能力。通过 WASM


技术对算力进行加速,通过 WebNN 技术(Pipcook是 WebNN 的标准制定者)提供的 AI 加速能力,共同构成了数字孪生的基础,由此诞生了大量的生活和工业应用场景。


物理引擎


image.png


仓储:


image.png


工业控制自动化:

image.png

能源管理自动化:


image.png


image.png

数字凭证


SSL/TLS 的核心贡献者 Christopher Allen 在 2016 年给我们介绍了一种用于支撑新型数字化身份的 10 个原则,以及实现这一目标的途径:通往自主身份之路。自主身份也被称为去中心化身份,按照基于IP协议栈的信任标准,是一种“不依赖任何中心化权威并且永远不能被剥夺的任何人、组织或事物的终身可转移身份”。实现去中心化身份正在逐渐升温并变得可能。我们看到了它在隐私方面的应用:客户健康应用、政府医疗基础设施和公司法律身份。如果想快速地应用去中心化身份,你可以评估 Sovrin NetworkHy-perledger AriesIndy 等开源软件,以及 W3C 标准去中心化身份可验证凭证标准


image.png

3D 虚拟形象

image.png


据科学家研究,人类通过表情传递的信息量是语言的数倍之多。逼真的肖像生成,表情细节的准确捕捉,已经成为可能,让数字世界里你的形象更加真实生动。


还可以语义分割,把物理世界里的部分区隔开。


image.png


再来个对象检测,找到物理世界里需要被数字化形象替代的部分。


image.png


最后,当然少不了声音


总结和展望


疫情冲击、国际冲突、数字时代悄然而至,带来了巨大的技术挑战的同时也带来了巨大的机遇。巴菲特说:别人贪婪的时候我恐惧,别人恐惧的时候我贪婪。其实,是一个道理,在危机之下看到机遇,在机遇之中洞察危机,才是一个优秀的技术人需要掌握的重要技能。


而贯穿本文始终的 AI 和机器学习,也是我最关注且最看好的部分。我们在技术成长的道路上,总是从简单问题的解决向复杂的、系统性的问题解决迈进。我们的技术能力也从技术点向技术面、技术体系演进。然而,在遇到 AI 和机器学习这个强大的技术能力时,以往确定性编程显得如此苍白无力,需要面向不确定性编程的能力,来应对多变的环境、人以及环境和人之间因交互而产生的复杂数据。期待 Pipcook 能够帮助大家快速走进 AI 和机器学习的时代,应对各种不确定性和复杂性问题,把智能体嵌入到我们的技术和工程中,把简单的 if……else、select……case 变成 AI 预测和决策,用“人机协同”重新定义我们的编程方式。

2021 年 1 月 07 日 16:511083

评论

发布
暂无评论
发现更多内容

《TED TALKS演讲的力量》阅读笔记

Jesse Xing

读书笔记 演讲 TED

面试前不陪女朋友也要看完这套spring源码面试题(附答案)

小Q

Java 学习 编程 架构 面试

不会这些mysql得面试题,那可能说明你要回炉了

小Q

Java MySQL 数据库 学习 面试

《乌合之众——群体心理研究》读书笔记

Jesse Xing

读书笔记 心理学 乌合之众 群体心理学

Android网络性能监控方案

应用研发平台EMAS

android 性能 监控 移动开发 应用

接口测试的时候如何生成随机数据进行测试

测试人生路

接口测试

完美!阿里P8都赞不绝口的世界独一份489页SQL优化笔记

马士兵老师

Java 数据库 程序员 架构师 SQL优化

京东技术中台Flutter实践之路(二)

京东智联云开发者

开源 中台 大前端 Web UI

IPFS云算力挖矿系统开发技术

薇電13242772558

区块链 IPFS

数字货币交易所开发源码,场外币币交易平台搭建

WX13823153201

数字货币交易所开发

《精进:如何成为一个很厉害的人》阅读心得

Jesse Xing

读书笔记 个人成长 精进

18张图,揭开阿里巴巴开发手册强制使用SLF4J作为门面担当的秘密

沉默王二

Java slf4j 日志系统

音像协呼吁保护音乐版权:短视频平台成为侵权重灾区

石头IT视角

JMeter100个线程竟然只模拟出1个并发

dongfanger

软件测试 Jmeter 性能测试 压力测试 测试工具

anyRTC Flutter SDK :全面实现跨平台音视频互动

anyRTC开发者

音视频 WebRTC RTC sdk 安卓

Redis基础—了解Redis是如何做数据持久化的

云流

数据库 redis 编程 计算机

Pulsar Summit Asia 2020 中文专场议题出炉!

Apache Pulsar

大数据 开源 Apache Pulsar

马士兵老师首推Java七条自学路线,自学到底能不能行?自学也能拿到40W年薪?

Java架构追梦

Java 架构 面试 马士兵 项目实战

算法有多重要,看字节腾讯等公司面试多重视就行了

小Q

Java 学习 架构 面试 算法

神经网络之dropout总述

Dreamer

学习

架构师训练营 - 第七周 - 作业一

行者

TCP性能分析与调优策略

云流

程序员 计算机网络 网络协议

搭建一套ASP.NET Core+Nacos+Spring Cloud Gateway项目

yi念之间

一不小心画了 24 张图剖析计网应用层协议!

cxuan

计算机网络 计算机 协议

Java垃圾回收GC概览

Java JVM GC

非线性声学回声如何破解?华为云硬核技术为你解决

华为云开发者社区

算法 音视频 音视频算法

当代开发者的六大真实现状,你被哪一个场景“戳中”了?

华为云开发者社区

开发者 调研 报告

初级工程师职场生存要点

javaadu

程序员 职场成长 开发日志

从接口异常说说线上问题排查流程

QiyihaoLabs

线上排障 指标监控 链路监控 日志监控 排障流程

jdk 源码系列之ReentrantLock

sinsy

源码 jdk ReentrantLock 公平锁 非公平锁

把最新JAVA面试真题(阿里/字节跳动/美团)整理出来,却被自己菜哭了,赶紧去刷题了

Java架构追梦

Java 阿里巴巴 架构 面试 面试题

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

从行业视角看2020年技术发生了哪些变化?-InfoQ