大家好!我是爱吃、爱玩、更爱学习技术,IT届的新晋网红,开发者的好朋友—比特熊!
大家看了《青春变形记》吗?特别澄清一下,并不是比特熊 Cosplay 以后的出演哦~
比特熊:3月的故事汇请来的嘉宾大有来头!坐在我们【比特熊直播间】的是我在 Pycon China 北京站结识的社区之星也是微软 MVP 团队里很受欢迎的李者璈老师;在线上直播间还有比特熊的好朋友 OpenVINO 中文社区的 Nono 介绍给我的英特尔的大咖,邵文简老师!
【比特熊故事汇】作为比特熊直播间的重要栏目,定期请来技术大牛和行业先锋做客。这里不仅讲最“热”的技术,还有更多待解锁的个人故事和趣味话题!请持续关注,更鼓励大家推荐你想认识的“英雄”。欢迎大家来到直播间,跟比特熊一起,与专家们零距离畅聊。
欢迎大家访问MSLearn学习平台
与比特熊一起规划学习路径,加速进阶
李者璈
猫奴 / 特摄迷 / 大龄中二青年
▪微软MVP -
Developer Technologies
▪太极图形资深工程师
擅长:Python / SRE / Cloud Infra / Container
邵文简
写代码>跑步旅游>其它
▪英特尔物联网视频事业部人工智能平台解决方案资深架构师和首席工程师
▪资深嵌入式平台研发经验
独家爆料
比特熊:再给各位透露一个【比特熊故事汇】的独家爆料——李者璈老师心中的超级英雄是奥特曼!他可是看过奥特曼的全部系列!邵文简老师是否也有自己喜欢的英雄人物,我们先请邵老师聊聊技术干货,彩蛋部分请细心的小伙伴文中寻找!
邵文简:云计算、物计算、边缘计算、边缘联盟……最近很这些名词非常火,那边缘计算到底是什么呢?简单来说,边缘计算起到了一个承上启下的作用,把端侧的物联网设备和云端的核心网数据中心连接起来。
边缘计算的重要性可以从这组研究数据中看出:45%的数据会在边缘被存储、分析和操作, 43%的人工智能任务发生在边缘设备上。这个报告是2017年的,预测到明年2023年,具有人工智能的边缘设备部署会有15倍的爆发性增长。
比特熊:邵文简老师总结了四个推动边缘计算发展的因素,他专攻的智能视频边缘计算领域很好地解释了这些需求的存在。
1、低延迟的需求。现在很多小区都能自动对车牌识别进行闸机的开关,但如果从摄像头拍到你的车牌,通过网络传到核心网,再到数据中心,和大量汇聚在此的数据一起进行排队,处理完再送回来,这个周期的延时可能会到十秒甚至几十秒,这在实际的应用中是完全不能接受的。工业生产线上,机器视觉对延时的要求更高,基本上要在毫秒级,所以低延时的特性对很多视频应用非常重要的。
2、带宽成本。虽然现在4G、5G发展很快,但视频数据还是太大了,视频的码率从1Mbps 到甚至4~10 Mbps,而现在已经部署了10亿只IP相机,如果所有的数据都要汇集到云端的话,随之而来的带宽成本在现在的技术和运营模式下是无法承受的。
3、数据安全和个人隐私。大家越来越重视隐私保护了,人脸、车辆的影像都是重要信息,国家正在制定标准,要求涉及到个人隐私的数据要在边缘计算,经过脱敏之后才能上传到云端进行下一步服务。
4、稳定连接。我本身是学通讯的,要在端到端实现稳定的视频连接,并不容易。如果大家了解视频编解码,就知道视频的数据其实是连续的,如果连接不稳定,丢失一帧就会导致连续丢几十帧甚至上百帧的数据。
下图以安防场景为例,展示了智能视频边缘计算的落地情况:
智能视频边缘计算在各个领域还有很多应用,比如基于人工智能的视频结构化,就是把视频里面所有我们感兴趣的信息变成结构化数据库里的数据,对 AI处理的要求非常高。
邵文简:我们英特尔 OpenVINO 社区一直在为这个领域做贡献,大家都知道英特尔提供了多种多样的硬件产品,从凌动到酷睿到至强。我们也有 FPGA 的产品和基于 VPU(视觉处理器)的视觉加速产品。通过英特尔提供的软件工具和软件开发包,就能把这些硬件产品和解决方案连接起来。
这里给大家介绍两个:Intel® Media SDK 和 OpenVINO。Media SDK 是一个高性能的视频编解码以及图像处理的软件工具,经历了很多年的发展,今年要寿终正寝了,它的替代者/下一代叫 oneVPL,会在今年推出,效率比 Media SDK 更高,也基本保持了 Media SDK 的编程和接口的风格。
OpenVINO 则是英特尔在人工智能方面用于快速部署、加速AI推理工作负载的软件。下图是 OpenVINO 的基本工作模式,两个核心模块为模型优化器和推理引擎。
OpenVINO 从2018年到2022年经历了4年的发展,OpenVINO 的2022.1版本也是我们一个比较大的 milestone,主要有以下新特性:
1、Open Model Zoo 支持了更多的域系列模型,增加了33个新的模型;简化了依赖库的管理;推出了全新的 API 2.0,跟主流AI编程方式一致。
2、提升了兼容性,简化了 Model Optimizer 的参数,支持了 Dynamic input shape……直接支持PaddlePaddle模型。
3、部署上支持了将很多前处理的任务集成到模型中;支持 Auto Plugin;增加了性能配置提示,比如可以在低延时和高吞吐量间选择;优化 First Inference Latency。
2022.1这一版本无论是生产效率还是兼容性、性能上都有很大的提升,对中文社区、中国的人工智能用户来说都是极大的便利,希望我们广大的社区用户和开发人们有机会能去 OpenVINO 网站下载和试用 OpenVINO。
比特熊:我已经听入神了,刚才有听到一些信息和坐在我身边的李者璈老师也有些关系,给李者璈老师一个特别机会,请您代表大家向邵文简老师提问。
李者璈:提问像推理或者深度学习这样的场景,边缘设备的治理或者模型的分发,一些管控面的东西, OpenVINO 有没有提供一套模型下发、灰度模型的开箱即用的方案。
邵文简:据我所知目前还没有,现在有一个应用叫 OpenVINO Model Server,它把一个网络的 Inference 做成一种 service,让其它的应用来调;开箱即用得看 OpenVINO 未来有没有计划提供这样的能力,这也需要去跟边缘的平台,尤其是基于 k8s 或 k3s 的平台进行集成。
李者璈:我还想打探一下,今年甚至说明年 OpenVINO 还有什么其他的发展方向?有什么可以透露的吗?
邵文简:我们之前推出了 Alder Lake 桌面版以及移动版的最全新CPU,它是业界第一个混合架构的 CPU。今年下半年还会发布下一代的至强服务器 Sapphire Rapids,有新的指令级 AMX(英特尔高级矩阵扩展),可以直接支持矩阵层了。我觉得 OpenVINO 的首要任务还是性能优化,对英特尔硬件的支持,把新架构的性能发挥出来,提高兼容性。
李者璈:期待 OpenVINO 在新的至强服务器上跑起来是什么样的。
邵文简:稍微透露下哈,绝对会有惊喜。
比特熊:好啦好啦,再问下去不会就要涉及到商业机密了吧!还是请李者璈老师分享点内容给大家吧!
李者璈:我的分享比起邵老师可能更普及化一些,大家不准笑也不准打我。我今天其实主要是想聊一聊 Python,把目光放到3.9,或者说近一年以来它的一些变化,比特熊你之前用过 Python 吗?
比特熊:本熊刚开始直播的时候,跟微软云步道师卢老师(卢建晖)一起进行过线上工作坊的学习,虽然只是短短几次课,也算有点初步了解。
李者璈:Python 现在会用在很多场合,比如说刚才邵老师提到的深度学习,PyTorch 或 TensorFlow 等等,他们都会用 Python 来作为 DSL 的前端。同时 Python 在后端开发以及传统的 SRE 场景也有很多应用,像豆瓣以及之前的饿了么,还有曾经的头条,都是用 Python 作为自己主力的服务,国外的话 Instagram、Reddit 这些网站也是。
到2022年,大家可能会有一些抱怨,比如写动态类型一时爽,然后重构全家XXX,被老板骂死对吧?还有 Python 的性能不行,或者 Python 缺一些其他语言标配的东西。大家一直说 Python 是一个动态语言,表达力很丰富,但同时很多方面又觉得不够完善。我们把时间放在到这一年来看,Python 主要还是围绕三方面语法特性的增强,标准库的增强以及性能改进,标准库的增强还包含了清理掉一些历史遗留债务。
语法改进我印象最深刻的是 PEP,PEP(Python Enhancement Proposal)是增强提案的简称。634、635、636这个 Python match(模式匹配)终于来了, 根据不同的400、404、418,返回不同的东西,不同的处理。在之前大家也许只能用 if 或者 else 来模拟这样一个特殊的语法糖,那么在这三个 PEP 之后,也就是3.10之后,Python 就笑称终于有了C语言七几年就有的东西——switch case,大家可能觉得至于这么激动吗?我们可以看一下这个稍微复杂一点的例子:
相比于之前的各种分支上的 if/else 这样的东西能够很大程度上达成语义一致,也就是我们能以近似人类语言,或者说符合直觉的方式写代码,一眼就能看出这段代码在做什么,它还支持更复杂的解构以及解析行为……之前引起 Python 社区分裂的一个提案叫做 PEP 572的海象操作符……它能让我们代码写得更灵活,但我个人觉得不要用得太嗨了,写出来太过于 magic 的代码,重构的时候会被同事、老板给打死。
PEP 612提出了一个叫参数类型的特殊类型,我们之前在使用 Decorate 装饰器的时候,去标注参数对象你可能不知道怎么样去标注比较好,可能每一个东西都要标注……
612之后,我们就有了 ParamSpec 这样一个特殊的东西,让我们更方便地去使用 type hint,它是弥补了 type hint 到 Python 之间之前和动态特性之间的鸿沟。第三点大家一直很关心 Python 的性能,这是个老大难的问题,在一些需要高性能的场景,像刚才邵老师介绍的 PyTorch 或 TensorFlow,还有像我现在的公司太极图形,我们都会选择用Python作为一个领域的DSL,额外接管它的一些 Runtime,做一些处理……在常见的工业场景,写一个 web 服务器,做一些 server,大家可能就会觉得 Python 在一些流量比较大的情况下,之前我在饿了么 Python 是我们的核心服务, Python 确实相比于 Go 之类的语言需要更多内存资源。有人会觉得,我用 Python 的时候不需要性能了,或者你都要性能了,为什么要用 Python?这两种看法都太极端了,我们还是希望达到一个平衡。
大家能看到我大部分的项目里面,保底 Python 基本都得到了20%~25%以上的性能提升,而目前是没有引入 git 也没有去优化 GIL 性能的情况下去做。我们能看到社区在这方面做了很多努力,我很期待 Python 在保持性能和语法甜度的基础上越来越快,达到一个平衡点,这样的话让更多人用得更好。
比特熊:李者璈老师是怎么跟微软MVP结缘的,加入MVP后参加过什么样的活动?
李者璈:我很早之前就是一个软粉了,我梦中的笔记本就是 Surface Book 2。我了解到微软 MVP 项目是在我大学的时候,当时觉得很遥远。在15年微软全面拥抱开源之后,我作为一个 Python 开发者,也确实感受到了微软的大力支持,比如说 VS Code Python 的作者,还有比如说像 Jupiter 的核心开发者,还有 Guido……爱屋及乌我就彻底成为一个软粉了。大家可能知道,Cynthia 是 Reactor 现在的 manager,从13年到现在也是 PyCon China 的组织者,我在筹办 PyCon China 的过程中,Cynthia 跟我说,你既然喜欢微软,又喜欢 Python,要不要去申请一下 MVP?我就试试了,第一次资料写得太简要被驳回了,第二次申请就过了,2020年正式成为 MVP 啦。
比特熊:大家参加各种社区分享活动中,也很有可能遇到我们的微软 MVP,大家想申请的话也可以向他们请教。注意申请资料不要写的太简要哦!李者璈老师说到学生时代,我想到之前看到介绍邵文简老师的一篇文章里面,提到邵老师从本科到博士,经历了通信工程、计算机、多媒体通信这几个不同的专业,从这么丰富的经历出发,邵老师有什么心路历程吗?
邵文简:我们那时候没有现在的学生这么有想法,容易获得方方面面的信息。我们那时候基本还是听老师家长的,老师说我理科也不错可以学通讯,以后发展会很好,我就这样选择了本科专业。当时读研究生还不像现在这么流行,但是我大四的时候也接触互联网了。我差不多应该是国内第一批使用互联网的人了,记得很清楚是64K专线,我一下子就被互联网吸引了,通过一根细细的线就访问了整个世界,对我产生了非常大的冲击和影响,正好我们学校也有网络专业,我研究生就转去读了,主要是偏网络传输、网络安全这一块的。我出来创业又是一个重大的转变——去做边缘端的人工智能了……因为不管是学通讯还是网络,很多工作还是在边缘端做的,甚至是在嵌入系统基于汇编做了很多优化。
我觉得大家需要拓宽视野,如果你能在一个方面钻得很深,那你就继续钻下去,但对大部分人来说还是要勇于尝试新的东西。拿 Python 举例,Python 有多种多样的库,今天去做一个 Web 相关的工作,明天做一个数据治理,要多多尝试。
比特熊:比特熊认识的很多开发人都在创业中,邵老师作为亲身经历者还拿到了A轮融资,经验分享不能少。
邵文简:我的建议是趁着年轻,甚至35岁以前,条件允许就大着胆子去创业,这是你人生精力最充沛、学习能力最强的阶段,创业就是压榨自己,把自己300%地压榨,能力会迅速提升……当然还是那句话,创业有风险,有个笑话就是说这几年最失败的事情就是卖房去创业,对吧?另外,止损和止盈都非常重要的,有可能你再花两三年在上面还是不行,需要果断决定。
李者璈:个人不支持卖房创业。
比特熊:李者璈老师开始之前跟我开玩笑说要打个广告,现在机会来了!
李者璈:我们太极图形现在招人,我们的商业化产品正在孵化中,我们太极编程语言的开源本身也需要编译器、图形、变形计算领域相关的同学来加入进来,从研发到SRE到运营同学都招,欢迎找比特熊(微信:BitsBear)获取内推直通车~
比特熊:【比特熊直播间】的大独家!两位老师爆料一下自己在工作之余有什么放松自我的方式吗?
比特熊:我先起个头!邵老师的头像是《刺猬索尼克》的蛋头博士,要是没有本熊的特别访问谁能想到英特尔物联网视频事业部的首席工程师是用这么可爱生动的头像呢?
李者璈:一杯茶,一个阳台坐一天……有挫败感的时候,我会去社区里面找一些项目,解决一些 issue,水一些PR换换心情。如果我写代码写累了,可能会看一下我感兴趣的论文——当然这都算是比较累的放松,要完全放松,那我可能会去复习一下《奥特曼》,看一看里面的经典台词,再看看《数码宝贝》,我最喜欢第一部,最讨厌第六部。我一直都是特摄迷,喜欢奥特曼,反正也没有什么不良嗜好,就靠这些来解压。
邵文简:我可不可以说你去社区帮别人解决 issue 就跟打游戏一样啊哈哈哈。
李者璈:我觉得挺好玩的,有时我在公司累了,可能会去看看 issue。和别人讨论的时候会去查各方面的资料,在扩展知识的同时也会转移你的注意力,让你的脑袋有个 break。
邵文简:我的话喜欢跑步,这个是有理论依据的,运动可以产生多巴胺让自己快乐起来。如果你最近一段时间工作不顺,或者一个事情解决得不太好,去跑个步,真的能产生多巴胺,不过记得要量力而行。
李者璈:对,但对于我这种懒人来讲,我心情不好时候,只想窝在床上,我女朋友把我赶起来,让我去运动,我都起不来。
比特熊有话说
3月的 MVP 英雄故事不仅有我们微软的 MVP,还有英特尔的超级技术专家。可以与两位共度直播时光,比特熊非常荣幸,经验值也 Up Up!
邵文简老师的经历丰富多彩,比特熊甚至觉得有些传奇!多个专业的学习,成功的创业实践,在程序开发、产品工程师、研发架构师多角色无缝切换,现今成为支持英特尔公司物联网事业部全球视频业务推进的核心引擎。在事业和技术上,比特熊觉得邵老师是需要仰望的高峰。但在生活里,邵老师鼓励正在前进的大家勇于尝试和突破自我,也推荐通过跑步、踢球等积极正向的方式缓解压力。谢谢邵老师关心比特熊的直播设备和运行方式!李者璈老师不愧在 Python 社区很受欢迎啊!虽然他自己说是在本熊的 DDL 压迫下准备了内容,但与纯技术学习不同的是比特熊看到了开发人的思考,也拓宽了自己的逻辑维度。李者璈老师有着当代开发人的鲜明标志,坐在直播间里的他也给比特熊和各位观众带来了很多积极、跳跃的情绪。希望跟比特熊一样是超级软粉的者璈老师,多多跟比特熊互动,继续在微软MVP大家庭中活跃!
虽然本期两位嘉宾的技术方向、经历经验都有很大的区别,但是这丝毫不影响两位不管是技术还是故事分享的精彩程度!希望大家跟我一样享受3月【比特熊故事汇】的 Remix 魅力!
喜欢3月的【比特熊故事汇】吗?你认为本期的彩蛋是什么?还有什么技术分享或是大咖是你想看到的?欢迎在文章下方评论,或者转发文章至朋友圈,发表你的看法并@比特熊。最爱开发者的熊仔当然准备了礼物给大家!快让我看到你,将礼物送到你身边!
超前预告——4月【比特熊故事汇】惊喜叠加,不负相约!锁定我的频道,精彩即将到来!