硅谷芯片大神2万字专访:自称“特斯拉最懒的人”

来源|芯东西
作者|ZeR0
 编辑|漠影


在芯片界,你很难再找到像Jim Keller(谐音:金坷垃)这样的传奇人物,仅仅手握本科学历,却在过去20年间搅动了大半个硅谷的芯片风云。


他是计算机产业的超级巨星,从DEC起步,辗转于DEC、AMD、博通、苹果、特斯拉、英特尔等顶尖企业之间,屡屡研发出里程碑式的芯片。如今,这位“硅谷游侠”正在摸索职业生涯的下一个锚点——作为一家AI芯片创企的CTO兼总裁。


近日,在外媒AnandTech的Ian Cutress(伊恩·库特雷斯)与Jim Keller的一场深入对话中,你会看到这位技术大牛成长的轨迹,从初出茅庐时的青涩莽撞,到转型管理岗位时的手忙脚乱,再到如今,在兼顾工作与生活方面游刃有余。



褪去从业经历带来的光环,他有许多接地气的一面。他自称是“特斯拉最懒的人”,拒绝“996”,一天至少要睡够7小时,会为人际关系感到烦恼,喜欢睡觉、吃饭和看书,吐槽工作占据的时间比想花在它上面的时间多得多。


他也曾年少轻狂,刚入职第一家公司就与CTO争辩1小时,还嫌对方的一部分想法是“愚蠢的”;他曾经不知道怎么合作,认为必须自己亲自上手每一件事,“像疯子一样工作”。


面对既有的成就,Jim Keller十分坦然地自我称赞:“就交付具有持久价值的产品而言,我的成功是相当高的。”但他并未自恃天才,认为自己“没那么聪明”,是靠毅力与坚韧才走到今天。


他反对被称作“Zen之父”,说自己只算得上“叔叔之一”。从特斯拉离职至今已有3年,他提到现在与马斯克联系不多,“最近没有和他说过话”。另外,他也提到喜欢跟英特尔前任CEO司睿博一起工作,并希望英特尔新CEO基辛格一切顺利。


当然,在这次长达2万字的深度专访中,你还将读到这位芯片专家如何对曾经在AMD、苹果、英特尔的从业经历如数家珍,并奉献了许多充满洞察力的、经过深思熟虑的思考与见解。


从工程师转型到管理者,从带队几十人到领导1万人,他在经过大量阅读和实践经验积累后,摸索出一套行之有效的团队组建与职场管理方法论,并将抽象分层的思路应用到生活之中。


除此之外,他畅谈了许多关于芯片架构设计本身的想法,包括对RISC-V与Arm、x86竞争的思考,以及对人工智能(AI)芯片未来的预判。他还在交流过程中做了图书推荐,如果你想读管理类的书籍,《从优秀到卓越》(Good to Great)不是个好选择,倒不如读卡尔·荣格(Carl Jung)的书。


芯东西在不违背原意的前提下,对此次Jim Keller接受AnandTech深度专访的内容加以完整编译。


“我是Zen的叔叔之一”


问题1:您曾为AMD的Zen和SkyBridge..工作,如今AMD的Zen产品线正在获得更多市场份额,您也将开始做更好的事。不过在那个项目中,关于您在AMD的确切角色众说纷纭。


有人认为,您在确定Zen以及后面Zen2、Zen3高级微架构的设计方面功不可没。还有人认为,您把人安排好,在高层签字,然后专注于Arm版本的SkyBridge、K12。可以告知您在那里承担的角色吗?您对Zen和K12的深入程度如何?或者您参与了像Infinity Fabric这样的项目吗?


Jim Keller:是的,这是个复杂的项目。我加入AMD时,他们有Bulldozer(推土机)和Jaguar(美洲豹),它们都有些独特之处,但在市场上并不成功。其路线图不激进,落后于英特尔,但落后不是件好事,你最好追赶,而不是落后。


所以我接过这个角色,作为CPU团队的总裁,我认为当我加入时有500人。在接下来的三年里,SoC团队、Fabric团队和一些IP团队加入了我的团队。我想当我离开时,被告知已有2400人。


我是一名有员工的副总裁,有直接向我报告的高级董事和高级研究员,我的员工有15人。因此我几乎不写RTL!


也就是说,我们做了很多事情。我是一位计算机架构师,不是真正的经理。我想这是我当时拥有的最大管理角色。在那之前,我一直是一家初创公司的副总裁,但那是50人,我们都相处得很好——对我来说,这是一个完全不同的游戏。


我知道,我们必须做出的技术改变将包括让人们与它一致。我不想成为一名设计师,一边与副总裁争论为什么有人能做或不能做这项工作,或者为什么这是正确或错误的决定。


我跟Mark Papermaster(现任AMD首席技术官兼执行副总裁)聊过,告诉他我的理论,他说:“好吧,我们会试试看”,效果很好。


有了这个,我就有了直接的权力。但人们不会真的去做他们被要求的事情,而会做自己受到激励去做的事情。所以你必须制定一个计划,其中一部分,是找出合适的人来做不同的事情。


有时有些人真的很优秀,但人们非常投入于他们上次做的事情,或者他们相信事情无法改变,我的观点是事情很糟,几乎所有事情都必须改变。


所以我默认了。并不是我们没有找到很多好用的东西,但你必须证明旧东西是好的,而不是证明新东西是好的,因此我们改变了这种心态。


在架构学上,我非常清楚我想要做什么以及为什么。我在公司内部找到了一些人,比如Mike Clark(迈克·克拉克)、Leslie Barnes(莱斯利·巴恩斯)、Jay Fleischman(杰伊·弗莱施曼)等。有相当一部分非常优秀的人,当我们描述自己想做什么,他们会说“是的,我们想那样做”。


我在架构上有一些投入,经常有决策和分析,人们有不同的意见,所以我相当亲力亲为。但我没有做框图或写RTL。我们正在进行多个项目,有Zen,有Arm的表亲、后续项目,还有一些新的SoC方法。


不过我们所做的不仅仅是CPU设计,我们做了方法学设计、IP重构、非常大的组织变革。我自上而下地处理了这些东西,这很有意义。


问题2:有些人认为你为“Zen之父”,你认为你接受这个称谓吗?还是应该归给别人?


Jim Keller:也许是其中一个叔叔。Zen团队中有许多很棒的人,有一个分布在世界各地的团队,SoC团队部分在奥斯汀、部分在印度,浮点缓存在科罗拉多州完成,核心执行前端在奥斯汀,Arm前端在森尼维尔,我们有很好的技术领导者。


有一段时间,我一直在与Suzanne Plummer(苏珊娜·普卢默)、Steve Hale(史蒂夫·黑尔)以及科罗拉多(Colorado)团队进行日常沟通,他们在某种程度上构建了Zen核心的前端。


他们都超棒。Mike Clark(迈克·克拉克)是一位出色的架构师,我们有很多乐趣和成果。成功取决于很多人,失败取决于一个人。这是个成功。


然后一些团队开始进步。我们把挖掘机架构移给波士顿团队,他们接手完成设计和实物工作,Harry Fair(哈里·费尔)和他的团队在这方面做得很好。


我们做了一些相当紧张的组织变革。我认为这其中有很多的同志情谊。所以我不会自称是“(Zen的)父亲”,我是作为发起者和主要推动者被引入的,但我一部分是架构师,一部分是转型的领导者。那很有趣。


问题3:您在AMD做的所有事情,现在都完成了吗?还是仍有些路线图之类的东西要出来?从你帮助传播的理念来看,你是怎么想的?


Jim Keller:当你建造一台新电脑,而Zen是一台新电脑时,工作已经在进行了。你基本上构建了一个路线图,我在想我们五年来要做什么,一个接着一个芯片。我们在苹果打造第一个大核心时也这样做,(在设计中)构建了大骨架。


当你想让计算机更快时,有两种方法可以做到:让基本结构变大,或者调整功能。Zen有一个大结构。然后,接下来几代人有明显的事情要做。他们一直在坚持做这件事。在某个时候,他们将不得不进行另一次大的重写和改变。我不知道他们是否已经开始这样做了。


过去几年,我们为架构性能改进的计划相当大,他们似乎在执行这项工作方面做得很好。但我已经离开那里一段时间了——四五年了。


问题4:是的,我想他们说Zen3,上一个刚出来的是改写的。所以我想有些人会认为,那仍是在您的指导下?


Jim Keller:是的,很难说。即使当我们做Zen时,我们也是从零开始做设计的——在顶部做一个干净的设计。但当他们打造它时,有一大堆来自推土机(Bulldozer)和Jaguar(美洲豹)的RTL,它们非常好用,只需被修改并嵌入到新的Zen结构中。所以硬件人员很擅长使用好的代码。


因此,当他们说他们做了一个大改时,他们可能拿了一些片段,并在顶部进行重构,但当他们构建代码时,如果20%~80%的代码是相同的,或者轻微修改,这并不奇怪,很正常。


关键是采用正确的结构,然后根据需要重用代码,而不是采用一些复杂的代码并试图调整它以达到某个目的。所以如果他们重写了,可能会修正了结构。


在英特尔管理10000万人


问题5:我不确定您是否还在接受保密协议,您在英特尔的工作像是一个全新的开始吗?可以详细谈谈您在那里做了什么吗?


Jim Keller:显然我不能说太多。我曾担任(英特尔)硅工程集团高级副总裁,团队有1万人。他们做了很多不同的事情,这太神奇了。从设计到原型,从调试和生产,总共大约有60到70个SoC。这是一个相当多样化的团体,我的员工都是副总裁和高级研究员,这是一个很大的组织。


我原以为我会去那里,因为那里有很多新技术要去做。我大部分时间都在与团队一起研究组织和方法的转换,比如新的CAD工具、新的方法、构建芯片的新方法。


在我加入之前的几年,他们开始了所谓的构建芯片的SoC IP想法,而不是0历史整体视角。老实说,这并不顺利,因为他们采用了整体芯片,采用了出色的客户端和服务器部件,然后简单地将其拆解。你不能只是把它拆解,而必须真正重构这些部分和一些方法论。


我们发现许多内部人员对此感到非常兴奋,我还花了很多时间在IP质量、IP密度、库、特征描述、制程技术上。你能想到的,我都在。我的日子过得有点疯狂,有时我一天会有14种不同的意义。只是点击、点击、点击,很多事都在发生。


问题6:这些会议,您是怎么完成的?


Jim Keller:我什么都没做!我被告知是高级副总裁,负责评估、制定方向、做出判断,或者尝试一些组织变革或人员变革,过一段时间就能积累起来。要知道,实现目标的关键,是知道你要去哪,然后建立一个知道如何做到这一点的组织,这需要做很多工作。所以我没写多少代码,但发了很多短信。


问题7:现在英特尔有了一位专注于工程的新CEO帕特·基辛格(Pat Gelsinger)。如果机会合适,您会考虑回去吗?


Jim Keller:我不知道。我现在有一份非常有趣的工作,在一个爆炸性增长的市场中。所以我祝他一切顺利。我认为这对于帕特来说作为CEO是一个不错的选择,我希望这是一个好选择,我们会拭目以待。他确实非常关心英特尔,他过去也取得了真正的成功,肯定会给公司带来更多的技术关注点。但我喜欢和司睿博(Bob Swan)一起工作,所以我们拭目以待。


跳进跳出特斯拉英特尔,玩得很开心


问题8:您当前在一家名为Tenstorrent的公司,和老朋友Ljubisa Bajic(Tenstorrent首席执行官)一起。纵观整个职业生涯,您基本上都在从一家公司跳到另一个公司。您总是在寻找另一个项目、另一个机会、另一个角度。恕我直言,Tenstorrent会成为您永远的家吗?


Jim Keller:首先,我在Digital(DEC)工作了15年,对吧?!现在是一种不同的工作,我在中档组,用ECL制造冰箱大小的计算机。我曾是DEC Alpha团队的一员,我们打造了微处理器,很小的东西,但在当时我们认为它们很大,300平方毫米、50瓦,这令每个人都大吃一惊。


我在那儿待了一段时间,然后在互联网高峰期去了AMD,我们在几年内做了很多事情,启动了Opteron(皓龙处理器)、HyperTransport、2P服务器,这是一个旋风般的地方。但我被互联网的热情吸引了,我去了SiByte,它被博通收购了,我在那里总共待了4年,交付了几代产品。


当时我在P.A. Semi工作,我们交付了一个很棒的产品,但出于某种原因,他们并不想出售该产品,或者他们想要将其卖给苹果。随后苹果买下了P.A. Semi,我就在那个团队工作,所以你知道我在P.A. Semi和苹果之间徘徊,那已经7年了,所以我并不觉得跳得太多


之后我跳槽到AMD,我想,这是一段很有趣的时间。再后来,我去了特斯拉,在那里,我们交付了Hardware 3.0 (特斯拉自动驾驶芯片)。这是一种现象。从静止起步到18个月内驾驶一辆汽车,我认为这是前所未有的,而且那个产品发货真的很成功。他们去年建了100万套。特斯拉和英特尔是另一种旋风,所以你可以说我跳进去又跳出来,确实玩得很开心。


是的,我去过一段时间。我喜欢这样想,我大部分时间,都用在完成我想要完成的事情。就交付具有持久价值的产品而言,我的成功是相当高的。我不是那个在生产中调整事情的人,这要么是一张干净的纸,要么是一场彻头彻尾的灾难。


这似乎是我最擅长的事情。了解自己真好——我不是运营经理。Tenstorrent更像是一张干净的纸。AI领域正在爆发。这家公司本身已经成立多年了,但我们正在打造新一代部件,然后推向上市,开始销售。我是CTO兼总裁,在公司中拥有大量股权,无论是基于财务还是对那里的朋友的承诺,我都打算在这里待一段时间。



问题9:您之前说过,超越了矩阵,你最终会得到巨大的图结构,特别是对于AI和ML,关于Tenstorrent的全部要点,它是一个图形编译器和图计算引擎,而不仅仅是一个简单的矩阵乘法?


Jim Keller:有少量晶体管时,你可以做标量数学运算,比如A=B+CxD。现在我们有了更多的晶体管,你可以说“我能做一个这些晶体管的向量”,就像一步做一个方程。


得到更多的晶体管后,我们可以做矩阵乘法。当获得更多晶体管,你想进行这些大运算并分解它们,因为如果你的矩阵乘数太大,仅仅通过单元的能量就是一种能源浪费。


你会发现你想构建这个最优大小的块,它不会太小,就像GPU中的一个线程,但它也不会太大,就像用一个矩阵乘数覆盖整个芯片一样。


从能耗的角度来看,这是一个非常愚蠢的想法。你将获得这个中型大小处理器阵列,其中中型处理器像是4TOPS。这对我来说仍然很有趣,因为我记得那是个非常大的数字。


一旦你把它分解,现在你必须把大运算映射到处理器阵列,AI看起来像一个非常大运算的图。它仍然是一个图,然后将大运算分解成较小的图。现在你必须将它放在一个有很多处理器的芯片上,并让数据流绕在它周围。


这是一种与运行向量或矩阵程序非常不同的计算方式。我们有时称之为标量向量矩阵。Raja过去称它为空间计算(spatial compute),这可能是一个更好的词。


问题10:除了Tensix核心,Tenstorrent还在为下一代的核心中添加向量引擎?这是怎么一回事?


Jim Keller:还记得通用CPU上有向量引擎吗?事实证明,当你运行AI程序时,你想有一些通用计算。在图中,有时你想根据AI操作的结果运行C语言程序,因此将计算紧密耦合是很好的。通过将其保存在同一芯片上,延迟非常低,来回消耗的能量也很合理。


所以,是的,我们正在为此制定一个有趣的路线图。这是一个很小的计算机架构研究领域,比如,加速计算和通用计算的正确组合是什么?人们如何使用它?如何以一种程序员可以实际使用的方式来构建它?这就是我们正研究的技巧。


处理更复杂的事情,必须借助工具和组织


问题11:纵观您的职业生涯,您在高性能计算和低功耗高效计算之间徘徊。现在,您正处于AI加速的世界。有过无聊的时候吗?


Jim Keller:不,这真的很奇怪!它变了,变了很多,但在某种程度上,它完全没有改变。底部的计算机,它们只是将1和0加在一起。这很简单。011011100,没那么复杂。


但我曾研究过VAX 8800,用每个芯片有大约200个“或门”的栅极阵列构建它。如今在Tenstorrent,我们的小计算机,我们称之为Tensix核心,每个核心每秒有4万亿次操作,一个芯片里有100个这样的处理器。因此架构模块已经从200个门转移到4TOPS。这有点疯狂。


这些工具比以前好得多。你现在能做的是,除非抽象级别改变,工具改变,否则你无法构建更复杂的事情。这方面发生了很多变化。


当我还是个孩子时,我曾经认为我必须自己做每件事,我像个疯子一样工作,一直编码。现在我知道如何与人合作,如何与组织合作,如何倾听,诸如此类的人际交往技能。人际交往能力上,我可能会有一个相当不平衡的记分卡!我确实有一些。


问题12:您认为现在的工程师需要更多的人际技能吗?因为每件事都很复杂,都有单独的抽象层,如果想兼顾它们,必须有相应的基础知识。


Jim Keller:现在这是基本的事实,人们没有变得更聪明。因此,人们不能继续处理越来越多的事情——这太蠢了。你必须建立工具和组织,来支持人们做复杂事情的能力。


VAX 8800团队有150人。但在苹果建造第一个或第二个处理器的团队,第一个大型定制核心,只有150人。现在CAD工具好到令人难以置信,我们使用1000多个计算机进行模拟,此外,我们还有工具可以布局布线200万个门,而不是200个门。


因此,有些事情发生了根本性变化,但一位工程师一天内可能会交谈的人数根本没有改变。如果你有一个工程师每天和超过五个人交谈,他们会失去理智。所以,有些东西是真的恒定的。


CPU指令集:Arm/x86 VS RISC-V


问题13:我想了解一下您对CPU指令集的看法。具体的问题是,我们应该如何处理基本的限制?如何转向更好的?以及在Arm、x86与RISC-V方面,您如何入局?我记得有一次,您说大多数计算发生在几十个操作代码上,对吗?


Jim Keller:(关于指令集的争论)是一个非常悲伤的故事。它甚至不是几十个(操作代码)——80%的核心执行仅仅是6条指令——加载、存储、加法、减法、比较和分支。这些几乎就涵盖了所有。如果你用Perl或其他方式写作,也许调回和返回,要比比较和分支更重要。但指令集的影响很小,你可能会因为丢失指令而损失10%或20%的(性能)。


有段时间,我们认为可变长指令真的很难解码,但我们一直在想办法解决这一点。你基本上预测了表格中所有指令的位置,一旦你有了好的预测器,你就可以很好地预测这些东西。因此,当你打造小型计算机时,固定长度的指令看起来很不错,但如果你正在打造一台非常大的计算机,来预测或确定所有指令的位置,它就不占优势。所以这没有那么重要。


当RISC刚出现时,x86有一半是微代码。如果你看看die,一半或1/3的芯片是ROM。RISC人员可能会说RISC芯片上没有ROM,所以我们得到了更高的性能。但现在ROM这么小,你发现不了。实际上,加法器这么小,你几乎找不到它?目前限制计算机性能的是可预测性,其中两大限制是指令/分支可预测性和数据局部性


现在新的预测器真的很擅长这个。它们很大,两个预测器比加法器大得多。这就是你CPU与GPU(或AI引擎)之间争论的地方。GPU的人会说:“看,没有分支预测器,因为我们做每件事都是并行的。”芯片有更多的加法器和减法器,如果这是你的问题,这是正确的。但他们在运行C语言程序时很垃圾。


GPU是为在像素上运行着色程序而构建的,如果您有800万个像素,而大型GPU现在有6000个线程,您可以覆盖所有像素,每个线程每帧运行1000个程序。


但这有点像一群蚂蚁带着沙粒,而大型AI计算机有很大的矩阵乘数,它们喜欢用更少的线程来做更多的数学运算,因为问题本身就很大。而着色器问题是,问题本身很小,因为像素太多了。


有三种不同类型的计算机:CPU、GPU和AI。NVIDIA正在做“中间人”的事情,他们用GPU运行AI,并试图增强它。其中一些显然效果很好,有些显然相当复杂。


有趣的是,这种情况经常发生,当通用CPU看到GPU的向量性能时,它添加了向量单元。有时这很好,因为你只有一点向量计算要做,但如果你有很多事,GPU可能是更好的解决方案。


问题14:回到指令集架构(ISA)问题,很多人问您对Arm和x86有什么看法?哪款有遗留问题,哪款有性能?您在乎吗?


Jim Keller:我有点在乎。事情是这样的。当x86刚问世时,它超级简单纯净,当时有多个8位架构:x86、6800、6502。我可能以前就编程过所有这些程序。奇怪的是,x86是开放版本。他们授权给7家不同的公司,这给了人们机会,而英特尔出人意料地授权了它。然后是16位和32位,后来他们增加了虚拟内存、虚拟化、安全性,继而是64位和更多功能。当你添加东西时,你还要保留旧的内容,以确保兼容性。


当Arm刚出现时,它是一台纯净的32位计算机。与x86相比,它看起来更简单、更易构建。然后他们添加了16位模式和IT(如果是的话)指令,这太糟糕了。然后(他们添加了)一个奇怪的浮点向量扩展集,覆盖寄存器文件,再之后是64位,这部分清理了它。在安全和引导方面有一些特殊的东西,所以它只会变得更加复杂。


现在RISC-V出现了,它是耀眼的Arm新表亲。因为没有“垃圾”。它是一个开放式指令集架构,人们在大学里打造它,他们没有时间和兴趣去像其他架构那样添加太多的“垃圾”。所以相对来说,仅仅因为它的血统和年龄,它才处于复杂生命周期的早期。


这是一套相当不错的指令集,他们做得很好。所以如果我今天想非常快地构建一台计算机,并且希望它运行地更快,那么RISC-V是最容易选择的。它是最简单的一个,拥有所有正确的功能,并且没有太多的垃圾。


问题15:所以现代指令集太臃肿了,尤其是有旧的遗留问题、历史包袱?


Jim Keller:已迭代和添加的指令太臃肿了。总是这样。当你不断添加内容时,工程师们会遇到困难。你可以有一个非常好的设计,有10个功能,然后你再添加一些功能。这些功能都使它更好,也使它更加复杂。


随着时间推移,添加的每个新功能都变得更难,因为该功能和其他所有内容的交互都变得很糟


..人员和老客户会说“不要删除任何东西”,但与此同时,他们都在尝试新的东西,其功能只有老内容的70%,但它做得更好,因为它没有所有这些问题。


我谈到了收益递减曲线,收益递减的原因有很多,其中之一是事物

标签:
qqtech
腾讯科技 微信号:qqtech 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 衣服起球怎么回答顾客专业术语(衣服起球应对回复顾客)

    大家好,小美今天来为大家解答衣服起球怎么回答顾客专业术语以下问题,衣服起球应对回复顾客很多人还不知道,现在让我们一起来看看吧!1、感

  2. 2 申请qq号注册新账号(申请qq号注册新账号下载)

    大家好,小丽今天来为大家解答申请qq号注册新账号以下问题,申请qq号注册新账号下载很多人还不知道,现在让我们一起来看看吧!1、若使用的vi

  3. 3 c盘内存不足怎么清理(电脑c盘又变红教你一键彻底清理)

    大家好,小豪今天来为大家解答c盘内存不足怎么清理以下问题,电脑c盘又变红教你一键彻底清理很多人还不知道,现在让我们一起来看看吧!1、电

  4. 4 嘎嘎昆虫网(嘎嘎昆虫网网址)

    大家好,小娟今天来为大家解答嘎嘎昆虫网以下问题,嘎嘎昆虫网网址很多人还不知道,现在让我们一起来看看吧!1、只需要在首页操作。2、触角皆

  5. 5 退休申请书范文大全(退休申请咋写的请给个样板)

    大家好,小美今天来为大家解答退休申请书范文大全以下问题,退休申请咋写的请给个样板很多人还不知道,现在让我们一起来看看吧!1、退休申请

  6. 6 jj斗地主记牌器(斗地主如何记牌快速记牌)

    大家好,小伟今天来为大家解答jj斗地主记牌器以下问题,斗地主如何记牌快速记牌很多人还不知道,现在让我们一起来看看吧!1、strong>让我为你推

  7. 7 速通物流单号(速通物流单号查询快速)

    大家好,小娟今天来为大家解答速通物流单号以下问题,速通物流单号查询快速很多人还不知道,现在让我们一起来看看吧!1、货物未发货或发货后

  8. 8 辛晴赢擎苍免费阅读(辛勤赢擎苍小说)

    大家好,小豪今天来为大家解答辛晴赢擎苍免费阅读以下问题,辛勤赢擎苍小说很多人还不知道,现在让我们一起来看看吧!1、《蜜意浓情之天价甜

Copyright 2024 优质自媒体,让大家了解更多图文资讯!