课代表立正

0:00 大厂为什么开源? 6:30 在谷歌做开源有多爽? 11:40 AutoKeras vs. AutoML的例子 16:50 学术界的开源 18:25 要不要用开源创业? 21:30 项目成功的关键因素 26:40 开源的初心 29:50 荐书

What is 课代表立正?

课代表立正的官方Podcast
深度访谈,有用干货,亲身验证的「真本事」
Superlinear Academy创始人,Maven Top AI Instructor
前Statsig布道师(OpenAI收购),腾讯副总监,Meta,Amazon;康奈尔经济学博士

社区:Superlinear.Academy
课程:ai-builders.com
个人:lizheng.ai

好的,那我们就这个稍稍讲一下这个开源的转变这件事情吧,就是开源曾经是完全你刚也说了就是开源之前是免费的嘛,免费运动是吧,然后他完全和商业是对立的。
有没有一些例子就是来讲一下这个变化。
是,比如说微软,就刚才提到微软,这就是一个很好的例子,就是微软之前是跟这个开软件打的最狠的,我觉得他们两个人应该是施不两力。
就是之前咱提到那个Linux,他有这个GPL协议,但凡用了他的就。
就。
就,他就强制了很多东西必须要开源,然后这时候微软就把他这个GPL协议称为GPL病毒这样,就是一个不断扩散的病毒,然后说他是知识产权的癌症,就是实际上就说的非常狠。
但是现在你看微软就已经完全拥抱了开源,他认为开源是一件很好的事情。
他说GPL是癌症这个事情是什么时候的事情?
啊,鲍尔莫时期,具体哪一年我也不是很确定。
啊,就零几年的。
但是现在你看微软收购了Github拥抱开源,他也投入了很多人物理来做,比如说VSCode的这个。
ide就,editor就做的很好,就是他整个是一个开源完事婚姻,所以现在的微软是完全拥抱这个开源的。
那这背后的这个到底发生了什么转变,这个转变在哪?
就是如果非要找到这一个点的话,就是啊,你的这个代码究竟是在什么地方跑的?
就,这可能听起来有点抽象,就比如说过去他卖Windows,微软卖Office软件,卖Windows操作系统。
这个代码是在哪跑的呢?就是把这个软件交给你,你就在自己的本机上跑就可以了。
但是现在,比如说微软,当然这两个还在卖,他们还是这两个东西还是在卖代码。
但是,我刚刚就想问,我们有看到Office开源的那一天吗?
很难,也许也有这一天,也许有这一天,因为现在Office和Windows都有很多鸡与云的服务。
比如说,好像叫Office One还是,或者3605之类的Google。
但是就是我刚想想想说的这个东西就是一个怎么说呢?
就是稍稍对刚才的那件事情的一个直观的感受吧,就是我们能看到很多这里边东西不好用,
为什么他一直这样使用它?因为你没有其他的替代品,像Office对吧?
然后这个Office它一直是整个这个Windows的一个cash call,就是它靠这个,就是靠Office,然后就直接坐在那。
我其实软件也不需要改动的特别大,我就可以赚很多钱。
那在这种情况下,我觉得一定会养出来一些不效率。
说实话,我们在西雅图也听说很多Office的程序员们的生活非常的爽,对吧?
不是说他们爽就代表工作不好,但是确实也也也也有一些这样的例子吧。
但是可能开源了以后就促进了这个软件本身的发展,是吧?你要把它做得更好,才有可能有利索之地。
对,Office如果它有一天开源的话,那一定是因为它的大部分服务挪到了云端上。
就是我把代码交给你,你也没有办法影响我在Office软件上的收益。
就是基本上买了Office软件,必须接着买我的营服,这样我不会在利益上有任何损失。
所以我可以把Office代码开放给你,你也不能单独的运行这个代码而不使用我的营服,是吧?
好的,那回到你的这个主线吧,就是你刚刚说它的这个最后最重要的转变,就是从本地变成了云,是吧?
本地变成云是因为如果我在本地开放了以后,我考虑一下,我直接可以使用,那我就没有任何的这个,我就不用给你钱了。
但是云的话呢,因为你这个,但是这是为什么我的云不能我也复制一套Office云,然后来跟你竞争呢?
这个几乎是不能的。
首先,有一个职业叫SRE,Site Reality Engineer,就是他们就是每个公司都会雇佣一大群这样的人,专门来负责他云服务的稳定性。
所以,运营这个云服务是非常消耗人力的,而且也非常消耗计算资源,它背后有很多很多的服务器在支持。
这不是一个个人通过开源代码能setup起来的吗?
嗯,我们说一个,就是因为这个本身是个演化是吧,从个人倒了云,那我们能不能在这个,就是project一下未来,未来会不会与这件事情变得越来越简单。
然后他从有一天,个人就是你想吗?就是你当时,作为个体是可以在技术上和Google这个大厂直接PK的,然后效果上还不不弱,那会不会未来随着这个硬件和这个软件的这些就是发展。
我们个人setup云这件事情也变得就是possible。
是的,但是这个仍然不会影响他这个开源的这件事情,因为。
云永远是有你即便即便你setup这个云是possible的,但它永远是有cost在的。
就你setup云就就永远需要很多服务器的支持,至少这个服务器这个硬件计算资源是实打实的有cost。
对对对,所以我明白了,就是他只有是一个在大规模的,就是他可能天生就有一个聚集效应,就是你只有最大的这个云服务器,你的cost才能做到最低,你才能用最合适的价钱提供给消费者。
所以说这里边你出来一个competitor很难在这个cost structure上跟一个就是incumbent进行竞争。
对,对。
好的明白,那其实这也有利于这个开源的开就是商业化开源吧,就是如果说你你已经是一个这个。
有了这个最大的服务了,那你把它开源出来以后,其实不会影响你的通知地位,只会增强你的通知地位。
是是。
嗯,和增加大家对你的这个信任和对你的服务的使用吧。
嗯。
嗯,好的呀,我觉得这个东西讲清楚了,让我们还是想听一下你的这些一些个人经历,个人经历我们就从后往前说吧,从后往前说就是你现在在谷歌做这个,做开源是个什么体验,来个知乎标题呢。
嗯,啊,其实和谷歌,因为我从来没有做过。
非开源的开发,我几乎所有的写的代码都是开源的,所以,呃,可能没有办法直接和做。
非开源的软件,就像对比吧,但是呃,可以大概总结一下这个体验是。
首先一个字非常好,好,一个字好,呃,因为这个visibility是非常高的,首先不仅在谷歌内部,呃,大家能看到你的work,在外面也是,大家也都可以知道,呃,所以这样对于提升你的impact还是非常有意义的。
嗯。
呃,比如说你想把这个问题打出去讲讲,如果你这个不是开源的,可能又涉及到很多公司的审批流程,你不太容易把自己的东西讲给外人听。
但是如果是开源的,这个就留了很多,而且,呃,你还可以和很多外部的用户进行交流,创造很多附加的东西,比如说公司内部,你如果只面向自己公司内部的员工服务的话,那么你想到一个。
呃,比如说好的project,有可能公司内部使用的人是非常有限的,但是如果你把它扩大到全世界开源出来,你把这个用户扩大到全世界,即便是很小的一个百分比,可能也会有不少人来用,所以每一个idea在你这过程中产生的新的idea都可能。
呃,开源出来的话都是会产生的impact会比内部大。
我觉得对,这个是做开源的爽点,然后完全盖到这个爽点,但是Google本身对你的这个事情有什么限制吗?就是你你来自Google employee去做这件事和Iz independent contributor,就是完全学书界或者要自己自己在家,就是不在Google拿工资的,就Google给你的工资呃,有什么cost对你来说,就是他带了什么限制吗?
呃,我想想这个还真好像暂时没有发现任何,哈哈哈哈,Google有没有给你任何的限制吗?就除了给你support以外,我觉得好像是没有任何的cost,唯一一个就是他把我们的开源协议从MIT换成了APA加连的,但是本质上这两个协议一样的,就是2.0更严谨一点。
呃,那所以相当于Google就是花钱养着你去做一个这个,因为你做的东西跟他的利益是一致的,所以说他也愿意花钱养着你去做,让你继续做你的你这些事情。
对的,我暂时没有感受到任何cost,反而是有很多的support,反而是有很多support。
你的KPI怎么考核?
呃,对,首先Google没有KPI这个机制,它是OKR,但是OKR也是different from team to team,呃,我的基本上我所有的OKR都是和Karen那边相关的,就是把这个里面的一些服务提升。
相当于有一个公司找了我说,你想办法把你的粉丝找上去,然后多发你自己想发的内容,然后我们不说你们要发什么内容。
对的,就是这种感觉,真的还是挺好的。
想挖你是挖不到的感觉,太爽了。
你的钱和Google的正常的employee拿的钱是一样多或者更多的吗?
就标准呗,差不多。
很多的意思。
好,那但是那你的这个,比如说你刚刚提到了,那你刚刚提到了这个Kris支付也是在这个Google是吧?
那大家就是这种呃,开源软件在公司内部的考核,就是说实话,你的目标是你自己说了算。
你最懂怎么以外留意自己,那你的生殖怎么大家公司怎么以外留意你呢?
就和其他员工一样,就是定OKR的时候,你肯定也要和manager商量,这个也是要align到整个大的org下面,就跟整个大的org的OKR要保持一致才行。
但是整个大的org的OKR肯定也想把tensorflow这个生态系统做好,对吧?
所以我们的利益基本上是可以保持一致的。
至于升值这件事情,无论你做开源闭源,做自己的项目,别人的项目,都可以体现出升值需要的那几条能力,只要你这几条能力达到了它的标准,这样就可以升值。
有道理,还是一个利他利己的事情,就是我是说,作为Google本身啊,就是做一个tensorflow利他利己,然后在这里边,其实你一个利他的目标和公司的目标,最后还是要align的。
嗯,那我之前你说的地方还有一个点啊,就是你说AutoML那边可能降了价,说明你不知道他们有没有降价,你们公司内部没有一个这个听起来就没有一个非常强的合作。
至少定价这个问题是business team来做的。
我我可以我们这边应该是和business team没有直接的合作。但是,对,和那边的技术团队我们是有交流的。
有交流,嗯,这是你一开始你记得吗?就是媒体找到你是一把你们做成了这个AutoML的一个竞争对手,然后去用来讲他们多evil,对吧?
那现在你们没有这种竞争关系,或者说是一个就是尴尬的关系吗?没有,还真没有。我不知道这个是不是Google的一个比较特殊的状况。我我怀疑所有的大公司可能都是这样,就是给下面的这些engineer足够的freedom,只要觉得你这个项目。
嗯,有价值有意义就会允许你去做,而不是说非要align到整个公司某一个领域就只能有这一个项目,只能有这个服务。然后但凡多出来一个大家就实际上的关系,实际上至少在Google不是这样的。
可是你觉得事实上有竞争关系吗?可能还是我们的项目还没有真正做的那么大,暂时没有。但如果真的要投入很多人力在我们这个项目上,那时候可能公司上面的management就会说两个类似的项目,那都投这么多人力,可能就要决定一下。但是这个离我们还非常远,至少离我还非常远,我我我看不到这个。
在短暂的未来里会遇到这种。
嗯,我这儿倒不是说公司投公司投这是第三层啊,第一层是消费者,第二层是这个云服务的这个support,我就是这样子的。就是从消费者的角度来说,我要遇到一个问题,就是我是用你AutoCares的服务,还是我要用AutoML的服务。然后你第二层说的这个商业就是为什么AutoML能收钱收钱,因为它跟Google Cloud有深度整合。
嗯,但是我用AutoCares的话,Google Cloud会不会来深度整合我?这两件事。
这两件事。哦,我理解你的问题吧。首先啊,我们也要整合Google Cloud,就我们也要允许用户在Google Cloud上跑AutoCares。
嗯,首先这个就本身就给Cloud是potential的也会增加它的用户和它服务的质量。
其次仍然是使用这个企业级服务和使用Google Cloud加AutoCares的用户,仍然不是完全overlap,还是有很大区别。
因为,因为企业级的服务真的是做得很难上,就真对特定的行业特定问题就真的要做得很深,要深入理解一个行业才能把它做好。
而我们还是一个更general的tool,可能就是。
对,但是在当前的这个stage还是大家做一个quick experiment,或者是在实验室环境下获取一些结果的这样一个阶段,所以这个用户还是完全不一样。
了解了,了解了,对,所以说就是稍稍总结一下的话,是其实归根结底啊,去使用Kara软件的人和去购买那些奇迹服务的人是很不一样的。
他这中间可能会有一些对公司就是一个宏观的层面上来说,是有一些就是因为我开业能做得很好,你也看到了我在这里边做的什么东西,所以说你对我其他的东西能产生信任。
他有这样一个相互促进的作用,另外就是他也开放了自己更多生态的可能性,因为本身你就不应该用企业的服务去服务个人,你也不应该去用个人的服务去服务企业。
本质上还是两件就是有点correlation,但是其实还是差挺远的东西的。
对,其实任何一个开源软件,就是只要他最后有服务,他既有开源又有服务的都会面临像你说的这个问题,就所有的他的用户都可以选择不用他的服务。
就比如说我自己再费点劲把这个服务的部分做好,我只用你的开源软件。
但是但凡能买得起这个服务需要一个高质量服务的这样的用户,一定会去买那个服务的,因为他没有必要自己花那个额外的时间为人力去建立这个东西。
不如直接用你,服务本身是比拼服务质量,然后你自己作为一个使用者,你很难比这个服务的提供更好的质量。
所以说我把这套工具,就说实话,我把一个餐馆开源了,你自己这样炒菜,你不应该炒菜,是吧?你不如厨子炒的好,你不如这个服务生提供的质量高。
对对对,非常恰当这个比。
哎,哈哈,我一个人放到最前面,对,想象一下餐馆开源,你也不会去炒菜。
那这儿最后两个问题吧,就是一个是你从学术界和谷歌,这种工业界的这个开源做事情,有没有什么区别?但刚才听起来好像没有区别。
嗯,对,呃,学术界当然就如果你只是做开源的这个开发,你指这个工作的话,那肯定是没有区别。
但是学术界你还有很多别的事情要做,比如说publication,对吧?哦,想到想到一个区别,不好意思,刚才没想到。
呃,就是学术界通常在做开源的时候和企业不一样的地方,就是他们同时要追求学术影响力。
所以我在追求一个开软件好用,能服务到很多用户,实际把它用起来。
这个之外,我还要追求这个软件里用的技术绝对要有innovation,主要要很强的创新性,这样才能体现我一个实验室的学术能力。
这个也是两者的区别。
所以你觉得在企业界反而比更简单了,因为innovation这种东西,它是有的时候为了追求innovation,它会牺牲很多东西,对吧?
或者说它的innovation是一个呃,就是怎么说学术,就是呃,你的referrer吧,就是那个reviewer是必须要认可的,但未必是一个真的innovation。
对,当然如果你做得好的话,innovation是一个big plus,但是如果做得不好的话,可能就会成为你的一个burden。
嗯,好,对,那就是总结来说,总之就是在企业里面做更爽。
嗯,那最后一个问题就是你当时可以选择这个MIT的这种完全开放协议,你也可以选择一个,呃,有一点商就是商业化的这个协议。
然后不知道,你在学术界可能不允许,你一会儿可以纠正我,然后你当时职业上面,你可能也可以选择吧,就是进行做一个startup,然后去做一个这个,呃,auto auto deep的第一人。
然后去做一些东西,你也可以选择,就在学术界你可以去Google,最后你这些选择的,呃,到你现在的这个选择是为什么呢?
呃,首先这个原因有两个,有两个比较关键的因素,一个是我们这个东西到底适不适合做startup,这是一个非常值得讨论的问题,在不同人眼里可能有不一样的答案。
呃,我们先来聊前面这个选择开源协议这个问题,这可能比较简单一点,就是这个取决,取决什么协议,取决于你开源的目的到底是什么。
我们当时开源的目的就是扩大impact,一个是学术impact,再一个是我们这个开源软件影响力的impact。
所以这时候做越多的限制,这个impact就会越小,做越少的限制impact就会越大。
所以我们就选择了一个最开放的,最能让大家随便用的这样的协议,就选择了mit这个协议。
然后从我个人的眼光来看,这个东西不适合做startup,当然现在有很多startup在做这件事情,但是他们可能有各自的优势。
但是从我现在手里掌握的资源以及我们的情况来看,我认为我们是不适合的。
在我看来,outlinemail这件事情最终的赢家肯定是旅人服务的提供商。
因为outlinemail永远要消耗大量的计算资源,谁手里握着最大量的计算资源,谁就有话语权。
他做出来的东西肯定是比其他跟这些计算资源一个是整合的更好。
再一个,他也可以通过手里的计算资源进一步提供更高质量的服务。
因为他的计算资源不会轻易的受到价格什么的限制,比如说你用别人的服务,可能价格上还有很多限制。
这个也是我大概在18年左右吧,当时有很多人去做这个ml的solution provider。
就是ml说实话已经开源了嘛,就是就整个事情都是开源的。
然后大家就说啊,我看到很多行业还没有进行ml的应用,所以说我去做一个给大家提供人工智能的这样的一个,不然是consultant也好吧,或者solution provider。
然后当时就觉得不是很make sense,就大概先想一想,我就觉得大公司去做ml solution是make sense的,小公司做在这里边你没有办法有自己的这个edge的。
当然起来一些这个这个CVC小公司嘛,是吧,但是往后看吧,这是他们能不能pk过真的大厂也是一回事。
好的,其实不好意思,刚才说的是最最后一个问题,但我想起来之前我们还说了就是你们当时几个这个,几个个人的这个就是做auto keras会做的比我们不说跟google比了,因为google你刚说的是两个side out,但是会有一些当时市场上有一些这种做这些的startup去做。
嗯。
就虽然说不跟google比,但我想知道就是这这的技术为什么你们可以做的最好,就是因为整个ml都是开源的这件事吗?
首先对,这个是一个必要条件,就因为我们是基于tensorflow这个生态系统来做的,所以如果没有tensorflow这个生态系统,我们至少也要有一个alternative,如果没有我们整个自己开发的话,肯定是完成不了这个项目的。
至少他有一个比较成熟的ml生态系统在这里,有很多工具我们直接从里面拿就可以了。
嗯。
再一个,我觉得毕竟我们也是在这个topic里面做了一段时间,也参与了一些这个大的alternative项目,可能就取决于你怎么phrase这个问题,如果你认为我们为什么能把这个做的这么好呢,是这样的。
但实际上这里真正的问题是为什么其他能把这个项目做到这么好的人没有来做这个项目,这个才是一个真正关键的问题,我觉得。
为什么呢?
总结成也是两个关键因素吧,一个是你拿到这个topic真的要足够的早,就真的得很早很早才行。
我们是16年开始做项目,但差不多从这个项目两年前,你就要想到拿到这个topic开始申请这个项目的方底。
所以就是这个实验室的一个实验室的导师真的很重要,就是他得在最开始的时候,想到这个idea理解到它的价值,把这个项目申请写出来,然后并且拿到这个方顶。
这是整个你能最早的把这个项目做出来的一个前提。
这是一个非常关键的因素。
就像我们开始做了几个月google一个企业级的服务就已经出来了,说明就实际上已经没有那么早了,我们认为我们都已经很早了,但实际上也已经没有那么早。
所以这个绝对要很早,这个其他人可能没有我们那么早,可能差几个月的窗口就已经。
没了。
这个机会就已经没了。
这是第一点。
对,而且这个是一个相当于是从学术界拿到这个最新最前沿的topic,然后向下游用户进行降维打击的这样一个操作,就是这个topic可能真的最开始只在学术界能接触的,因为太新了,然后。
然后。
从这里把它拿出来,那这样就这个就涉及到的,我刚才说的第二个因素是什么呢?就是学术界得有一个人,他的background是非常契合的,恰好能把学术界的成果转化成一个。
呃。
开软件把它做出这个似乎就可能我们通常理解吧,做成这样一个开软件,假如说你理解了里面所有的技术,你把这个开软件做出来不是特别难,对吧?不是特别难。
没觉得。
没觉得,假设它不是特别难啊。
那为什么我刚才说的这个流程就很多人不愿意做或者没有做呢?
就是因为在学术界通常做这个work的人是谁,这很重要,就是一群PhD student。PhD student的background基本上就是。
呃。
一路都在学校里,就念大学,念硕士博士,一路都在学校里,所以他们整个的这个代码质量的这个能力,是要照工业界有工业界经验的人稍微差一点。
可能这个项目你真要追求。
说到极致,它的这个工程能力的要求,可能就是一个比较好的L5的级别,Google L5的级别差不多就够了,就足够把这个成果转化出来。
但是你在很多这些前沿的实验室,大部分都是非常优秀的PhD student,一直在学校里,还没有到工业界去积累人口经验的。
所以这个时候实际上这个代码质量的这个代码能力,保证这个代码质量的能力,工程能力是一个比较稀缺的,在这些前沿的实验室里比较稀缺的。
所以对,这个也是里面的一个关键因素,就是为什么其他人没有赶到这个时间。
就是你的这个科学能力和工程能力不能短板。
对。
嗯。
所以就是机会很好。
我觉得有的时候这个人就是需要机会去塑造人,然后遇到了一个机会就抓到了这上。
对。
好的。
那真的就是因为因为因为遇到了这些机会,然后你做了现在这样一件事情,所以说就是采访你,特别有意义吗?
就是你可以告诉我们这些故事,绝大多数人是没有办法就是去告诉我们这些故事的。
那我就是我我这边的问题已经问完了,你那还有什么觉得需要补充的地方吗?
呃,我大概看一下。
哦,对,还有就是我刚才那个就是这个项目的影响力比较大,还有一个非常关键的因素,刚才我没提到。
呃,就是一定我们就是在做开源的,所以一定要以开源开放的心态来面对这个项目。
比如说我找实习的时候,这个Keras之父对我们发出要求,愿不愿意把这个项目,挪到整个生态系统,挪到Keras Team这个Organization项目的时候。
这时候,一定要以一个开放的心态,我们愿意和其他人合作,共同来把这个项目做好。
这样一个心态来面对,所以我们选择了毫不犹豫的展开了这次合作,把它挪了过去,然后我们把这个项目做得更好,获得了更多的支持。
但是我觉得可能很多人面临这样一个选择的时候,会有一定的犹豫,就是比如说会不会说Google卡了我的Credit,或者是这个最后Credit怎么分配怎么归属的问题。
我觉得可能很多人会有这样的concern,就是我觉得在做开发项目的时候。
还是要想清楚你手里掌握了多少资源,怎么才能把你这个项目的impact最大化。
所以还是要以一个合作开放的心态来面对。
- 稍稍Follow-up一个问题,就是你刚刚说的这个concern在很多地方成立,但是我以为在K-1不成立,因为你的所有的contribution是透明的。
也成立吗?
- 我觉得非常成立,因为contribution是透明的,但是外界对你的认可是没有那么。
- 也是不可能每个人都去你那个repo里查哪行代码是你写的,对吧。
- 就连现在这个深度学习三巨头都会被质疑说最开始这个东西是不是你提出来的,那paper也都是摆在那里,但是大家还是会质疑说这个深度学习网络是不是你提出来的。
- 对,大家可能对这件事情只有一个5分钟的理解,不会有一个5年的理解。明白明白,就是开放的心态,就整个开发的事情都很重要。
- 嗯,初心嘛,对吧,开发初心就是这样子的。
- 好的呀,今天的这个我觉得采访真的非常的价值,让我特别清楚的理解了这整个背后的各种各样的事情。
- 然后有机会的话,还是想采访一下就是对这个ML,AutoML的这些看法。
- 对,包括你的这个当时这个学术界到这个业界里边看到的ML的应用的一些这个就是state of art也好,或者说一些innovation包括他未来的发展的情况吧。
- 因为我觉得做AutoML前提就是你要对ML整个都很熟,所以说你才能在里面选出来一个比较,就是你要有很通用的支持。
- 所以说这儿我也挺想采访的,我们回头。
- 嗯,好的,没问题。这次开表这个采访也是让我重新思考,仔细思考了很多问题,因为把这些问题想得更清楚了,其实我自己也是有很多受益的,也非常感谢你这次的采访我。
接下来是建书环节。
首先,给想要了解深度学习的小伙伴推荐这本Keras之父的最新力作Deep Learning with Python第二版。
他的第一版就广受好评,叫Python深度学习。
他的特点就是没有数学公式,用工程师的语言把深度学习讲清楚,让你直接用起来解决实际问题。
再来推荐一本关于自动化机器学习的书,叫Automated Machine Learning in Action。
他讲了怎么使用Keras Tuner和AutoKeras两个项目来用自动化机器学习的方法提升算法工程师的工作效率。
我是这两个项目的负责人,也是这本书的共同作者,所以可以确定能把他们讲的清楚。
欢迎大家点击视频下方的链接查看。
最后欢迎大家关注我的支付账号金海峰,谷歌Keras团队软件工程师,定期有干货退出。