今天,OpenAI总裁兼董事长Greg Brockman等人官方发文称,OpenAI正式发布ChatGPT API,允许开发者将该技术集成到他们的应用程序中。Greg Brockman是OpenAI团队的杰出代表。在成为OpenAI的CTO之前,他原本对AI和机器学习知之甚少。学生时代,他曾先后就读于哈佛大学和麻省理工学院,毕业后加入Stripe担任创始工程师兼CTO,后经引荐结识了Sam Altman,由此一发不可收拾地开启了AI之旅。在OpenAI成立初年的博文中,他用平静的语调讲述了OpenAI创立之初,团队从相识到相知的一点一滴。本文素材综合自Greg Brockman从2015年至2019年写作的博文。
要点速览
在加入OpenAI之前,Greg曾于2013年初正式担任 CTO,
帮助公司从4人扩大到250人的规模。
Greg与Sam Altman的相识源于前老板的介绍。一通电话,让Greg坚信Sam是共谋事业的人。于是才有了后来众星云集的晚宴
(Greg以及Elon Musk、Sam、IIya等人同时出席)。
从那以后,Greg和Sam开始着手招募团队。Greg意识到,当时团队缺少一个核心要素:
一个在人工智能技术方面拥有远见卓识,可以让众人跟随取得非凡突破的人,后来证明IIya Sutskever正是最合适的人选。
Greg和IIya一起工作期间,一起讨论
工作规划和战略,
企业文化(同时重视工程和研究),和日常小技巧(每日举办一个读书会)
。
早期人员招募方面,门外汉Greg吃了很多闭门羹。而改变的临界点是,
一位朋友的朋友介绍了John Schulman
,后者十分认同OpenAI将学术界的开放性和使命与私营企业资源相结合的做法。正是John的加入,才后续引起了Andrej Karpathy等人的注意。
创始团队的正式offer是在一次团建中发出的。接受offer截止到当年的12月1日,因为要在赶在12月初的NIPS顶会上启动。
受《人月神话》一书的启发,Greg意识到,
技术攻坚阶段,技术负责人一边要做实际技术工作,一边还要管理比较困难
。于是他决心从IIya身上接管所有和研究无关的琐碎任务。而有趣的是,在后来的工程攻坚阶段,二人角色互换了,IIya反过来接管了行政管理任务。
软件系统搭建阶段,Greg排除干扰,从早到晚工作,但他强调,工作要以输出质量,而不是小时来衡量。
如果上午或下午有大块的会议,晚上高效代码将会筋疲力尽。
因此Greg把会议只安排在清晨或午饭后,每天不超过三次,长会议不超过两天一次
。
2018年,经过九个月的不懈努力以及利用假期时间疯狂“补课”,他终于成为了一名机器学习的实践者。他认为,最大障碍其实是从头学起。大多数优秀的程序员和懂数学知识的人也可以做到。
Greg组织带领团队完成了包括Gym工具包在内的OpenAI早期项目,以及现如今的Foundry开发者平台和ChatGPT API项目等等。
他认为,
创建OpenAI 的核心是为了创造新事物。
过程中需要维护基础设施和大型代码库,来快速行动、创新并不断抵达新的高度。
成功背后,感情生活也是重要支撑,和妻子(当时的女友)在一起的第一个假期,他一头扎进机器学习当中,废寝忘食,女友毫无怨言地陪伴着他。
写代码是我在这个世界上最喜欢的事。但即便如此,“人”仍然是我关注的焦点: 走到这一步的旅程是一个社会化的故事,而不是一个纯粹的技术故事。展望未来,在这个梦幻团队中,我愿意去负责处理海因莱因小说中所说的“卡车或电话”一类的非技术性问题。我对 Ilya,Sam,Elon 以及其他所有让 OpenAI 成为可能的人都心怀无比的感激。
编辑:李梦佳
Gap year开始认真学习编程
灵感源自图灵《计算机器与智能》
在高中时,我积极参加化学奥林匹克竞赛,还在国际化学奥林匹克竞赛中获得银牌。在上大学之前,我休假一年,并花了相当多的时间,试图写一本高中化学教科书,并将它亲切地称为“化学进展”(A Chemical Progressionhttps://gregbrockman.com/pdfs/a-chemical-progression.pdf)。后来我被计算机分散了注意力,忘记了这本书,但我希望有一天能完成它。但与此同时,我在高中时所做的一些化学研究也已经发表了(https://pubs.rsc.org/en/Content/ArticleLanding/2013/NR/C3NR01287E)。
我是在高中毕业后的gap year开始认真学习编程的。我读了图灵的《计算机器与智能》一文(Computing Machinery and Intelligence,是艾伦·图灵(Alan Turing)所写的AI开创性论文。该论文发表于1950年的《 Mind》,是第一个向公众介绍图灵测试概念的论文,并提出了“机器会思考吗?”的问题。),并受到书中一个观点的启发,写代码可以帮助写代码的人去理解他原本都不理解的事物。那时候我已经在编写一个聊天机器人了,这能有多难呢?我设法建造了一个可以令人信服地谈论天气的东西,但是没怎么真正发挥作用。
我很快就搁置了我对聊天机器人的追求,决定专注于创造能产生真正影响力的系统,这种理想延续至今。
大学
在大学期间,我发现了一个吸引我进入AI领域的切入点:编程语言。编译器或静态分析器能够以一种我不太能理解的方式“理解”程序,然后将这种理解应用于非常有用的事情(比如迅速生成代码或验证正确性),这让我非常激动。
我一直想花时间认真研究编程语言。但是我也总是被新的创业点子(通常是相当糟糕的)和新的合作伙伴(通常是相当不错的)分散注意力。我从哈佛大学开始,后来又到了麻省理工学院,试图不断地去接触一些能从他们身上学习并一起打造一些有用的东西的人。
博士三年级那年,我发现在学校里面尝试创业是没有意义的。于是我打算多会见一些创业公司的人,逐渐摸索出什么可行,什么不可行。与此同时,我终于开始了我的编程语言研究,从一位教授那里获得了研究资金,并招募了一些朋友参与一个静态缓冲区溢出检测项目。
几周后,Palo Alto一家尚未成立的初创公司联系了我。通常情况下,这封电子邮件会躺在垃圾箱里,但这次却是例外。我和这个团队的人一拍即合,我知道这些人正是我一直在寻找的人。所以就这样我离开了学校,并没有来得及让当时研发的缓冲区溢出检测器正式工作。
Stripe,从4人团队扩大到250人
那家创业公司现在叫做 Stripe。我帮助它从4人扩大到250人的规模,公司的业务遍布四大洲;在我离开后的一年里,它继续扩张,一度超过450人。
当我要离开Stripe的时候,我感觉公司所处的状态很好,不管有没有我,公司都会继续做很好的事情。我最关心的是和优秀的人一起工作,创造奇迹ーー但开发者基础设施并不是我想在余生中致力于解决的问题。
而有一个问题我愿意奉献余生,那就是让人类社会进阶至安全的能达到人类水平的AI。很难想象还有什么比成功打造AI更令人惊奇和有正向的影响力了,只要通过正道的方式实现。
离开 Stripe
在我最终决定离开Stripe之前,Stripe的CEO Patrick Collison让我去找 Sam Altman 谈谈。他说Sam有一个很好的局外人的视角,他可能会对我下一步该怎么做有很好的建议。
和Sam谈了不到五分钟,我就告诉他,我已经准备好离开了。他问我下一步什么打算,他能帮我做什么。
我回答,人工智能是我的首要目标(而且绝对是我的毕生追求)。然而,我还不确定现在是否是合适的时机,或者对我来说最好的贡献方式是什么。他说:“我们一直在考虑通过 YC 建立一个人工智能实验室。我们应该保持联系。”
AI初探
在这次谈话大约一两周后,我就离开了 Stripe,开始深入研究人工智能,试图更好地理解这个领域正在发生的事情。甚至包括不时查看一下Hacker News上相关的帖子,围绕人工智能和深度学习的兴奋讨论和活动越来越多。在接触这个领域的过程中,我怀着一种健康的怀疑态度,我想在彻底投身之前,确定事情是否真的work。
我的第一个目标是弄清楚深度学习到底是什么。事实证明,这件事出人意料地困难。例如, deeplearning.net 网站上说“深度学习是机器学习研究的一个新领域,它的引入是为了使机器学习更接近其最初的目标之一:人工智能”ーー这种说法听起来很令人兴奋,但并不是很具体。
幸运的是,我有一些在 AI 专家的朋友,包括Dario Amodei 和 Chris Olah。我问他们一些建议,他们给了我一些很好的初学者资源。其中最有用的是Michael Nielsen的书《神经网络与深度学习》(http://neuralnetworksanddeeplearning.com/),读完之后,我在 Kaggle 上实践了自己的新技能。在参加的第一场比赛中,我甚至一度是第一名!
Neural Networks and Deep Learning by Michael Nielsen
一路走来,我不断遇到AI领域顶级聪明的人,并与我大学里最聪明的一些朋友重新取得联系,比如Paul Christiano和Jacob Steinhardt,他们现在都在这一领域工作。这是一个强烈的信号。我挖得越深,就越相信AI的影响力早已蓄势待发。
缘起OpenAI,
与创始团队的相识源于一场饭局
组队
那年的6月,Sam问我是否已经想好下一步该怎么办了。我告诉他,我目前的计划是在明年内成立一家人工智能公司。我们在电话中聊到,他提及他们正在推进 YC 人工智能项目;我问Sam实验室的目的是什么,他说: “建造安全的人类级别的人工智能。”。
在那一刻,我知道他是合适的合作伙伴,共谋下一个公司。直到今天,都很少有人敢明确尝试构建人类水平的人工智能。我意识到有时候,只需要一个足够大胆的人来宣布一个目标,然后合适的人就会加入他们。
具体缘分的促成来源于一次晚宴。2015年8月,OpenAI还只是一个想法,当时在一次晚宴上,有Elon Musk、Sam Altman、IIya Sutskever,我还有其他几个人一起。我们每个人参加晚宴的时候都带着自己的想法,但是当时Elon和Sam已经有了一个颇为清晰的愿景,即打造安全的人工智能,并致力于造福人类。我也想尽我所能为这个想法做出贡献,于是Sam和我开始召集一个团队将这个想法变成现实。
但当时我们缺少一个核心要素:一个在人工智能技术方面拥有远见卓识的人,一个我们可以跟随他的直觉和想法去取得非凡突破的人。
IIya Sutskever显然是世界上最合适的人选。IIya一度被描述为用机器学习(有时也通过绘画)来表达自己的艺术家。Geoff Hinton曾经告诉我,触发计算机视觉深度学习革命的 AlexNet,要归功于Alex Krizhevsky 的 GPU 编码技术和 Ilya 的信念,后者认为,深度神经网络必将在 ImageNet 上获胜。
我一直觉得,和熟识多年的合伙人共同创办一家公司才算靠谱。但神奇的是,我和IIya 8月下旬在山景城一起吃了顿饭,我当时就觉得这事儿成了,虽说我们7月份才刚认识。IIya和我进行了一次极其深度的交流。我不太了解机器学习研究,他也不太了解工程学和团队建设,但我们都仰慕彼此的成就,希望互相学习。
我们的想法相辅相成。IIya认为,顶尖的研究人员会愿意在一个致力于为世界创造最佳研究结果的 AI 组织工作,而我长期以来一直认为,将私营企业的资源与学术界的使命相结合,是解决棘手问题的方法。如果不加干预,人工智能就会像自动驾驶一样,一旦潜力得到证明,就会开始技术竞赛。
我和IIya一起工作期间,我们一起讨论工作规划和战略,工作文化(我们想雇佣的人,同时重视工程和研究),和日常小技巧(每日举办一个读书会)。我们和 Alan Kay 共进晚餐,他给我们讲了Palo Alto研究中心的建造过程和“生活在未来”的故事,使用的硬件在十年内只需花费1000美元。饭后,IIya恰如其分地总结了这顿饭: “我只听懂了他说的50% ,但这一切都太鼓舞人心了。”但是那顿饭确实帮助我们验证了许多假说,是什么造就了一个结合了工程和研究的有影响力的组织。
创始团队招募
因为当时IIya还在谷歌,还不能帮OpenAI招人。于是从8月到11月,创建团队的工作落到了我肩上。我对于AI完全是个新手,也不知道应该怎样去找到以及招募优秀的研究人员。我开始把注意力集中到参加那次7月份晚宴上的人,却没有办法拉到任何人加入OpenAI。我的下一步是通过我的人脉关系网,挨个从认识的人那里寻求推荐。这和我以前做的招聘工作截然不同。在以往的创业公司,最大的挑战是向候选人推销公司的使命,但是对于OpenAI来讲,这个使命很容易引起共鸣,挑战在于如何说服候选人相信这个未成形的组织。
在该领域,密集的人脉关系网帮了我很大忙。一个朋友给我介绍了Andrej Karpathy和Wojciech Zaremba,他们都对我持怀疑态度,因为我是个门外汉。Yoshua Bengio把Durk Kingma介绍了给我,后者倒是很有兴趣。改变的临界点是,一个朋友的朋友把我介绍给了John Schulman,他立即意识到,这个将学术界的开放性和使命与私营企业资源结合在一起的组织,正是他想要的,于是选择了加入。正是他的支持引起了Andrej和Wojciech的注意。
招聘工程师倒是容易些。Trevor Blackwell是一位机器人专家,也是 YC 的合伙人,他一直在和Sam讨论我们正在计划的疯狂想法。Vicki Cheung 在我们成立赞助机构 YC Research 之后提出了申请:我们甚至都还没有宣布我们正在研究AI,但是她光是看到YC Research的架构就表示深受启发,并很兴奋能够在任何需要的地方贡献一份力。
一边团建一边发offer
到当年11月初的时候,创始团队已经初具规模,但是仍然需要让大家走一个正式加入的流程。于是在Sam的建议下,我们把所有的候选人都叫到了一起外出团建。大家都发自肺腑地一见如故,空气里都弥漫着想法和愿景。正是在这次团建过程中,Andrej提出了“宇宙”平台的雏形——Universe:一个用于训练解决通用问题AI 的基础架构。我们的小货车堵在了回去的路上,但是因为大家相谈甚欢,几乎都没注意。
漫步户外
我们向每位团建参与者都发了offer,接受offer的截止日期设在了当年的12月1日,这样我们就能够在12月初的 NIPS 机器学习顶会上正式启动。
于是逐渐到了“决策月”(closing month)。Sam、Elon还有我,与每一位潜在的员工都深入聊了聊。我们的首要任务是要告诉人们,公司真的要正式启动了。每个候选人都接受了,除了一个工程师,他决定彻底放弃人工智能。
IIya在团建的时候唱了卡拉 OK
OpenAI正式启动
在《人月神话》(Mythical Man Month)这本书中,Fred Brooks引用了美国科幻作家Robert Heinlein写作的关于殖民月球的故事。故事讲到,该项目的总工程师经常被繁琐的操作类任务分散注意力,比如搞定卡车或者电话等等,直到他接手一份报告,该报告的工作就是把所有非技术性的任务从他的工作范围内移除。
《人月神话》,作者:计算机科学家Fred Brooks
这个故事另我印象深刻,因为这正是运营AI项目需要注意的。技术负责人一边要做实际的技术工作,一边还要发号施令。我不知道何时组织会需要我的工程技能,但是与此同时,我下定决心,要帮助IIya接管所有和研究本身无关的琐碎任务。
1月4日,团队开始在我们公司的第一间办公室开始工作,也就是我自己的公寓里。在一次讨论中,John和IIya想转过身在白板上写点什么,却发现我的公寓里没有白板。我马上给他们买了一块白板和其他所需的办公用品。
我们的第一间办公室,因为我们的第一块白板而完整
在一月剩下的时间里,我的主要任务就是组织团队。我们在一起讨论在研究者身上看重的品质,并由此来设计和进行面试。我们在一起探讨我们的愿景,想如何开展工作以及想要完成的目标。我和Vicki一起购买了服务器,创建了Google Apps账户,并对我们在去年12月建立的Kubernetes 集群进行了一些维护。
剩下的时间我则花在了阅读Ian Goodfellow的深度学习教科书上了(https://www.deeplearningbook.org/)。事实上这也是一种招聘策略,因为我写作的长篇书评,给他留下了深刻印象。
Gym 工具包
针对机器学习中的问题,新的可用数据集往往比新的算法更加奏效。Wojciech建议创建一个软件库来标准化强化学习环境(实际上是动态数据集),现在称为Gym工具包。这个代码库的质量迅速提升,迭代很快。2月底,我和John讨论了很长时间公开发布还要多久。按照当时的发展轨迹,他认为可能要到当年的年底。
我们用机器学习训练一个取物机器人,Gym平台支持控制物理机器人以及模拟机器人
于是乎,工程便突然之间成为了研究进展的瓶颈。我和IIya交换了角色,他开始负责行政管理,这样我就可以专注于技术工作。在和John一起评估这项工作之后,我们大概知道4月底之前可以把这个软件库建好。
在 Stripe的时候,我发现了一种从无到有创建软件系统的可复用模式: 专注于软件,排除所有干扰,从早到晚工作,这将激励其他人贡献出最好的工作(重要的是,以输出质量而不是小时来衡量)。这是我感觉最有活力的时刻: 写代码的感觉就好像将魔法变成了现实,任何我能想象和描述的东西都变成了现实。
正是这种工作模式造就了 Stripe 的信用卡系统,是我在2010年度假的两周时间内创建的。信用卡授权流程则是在三周内创建的,而不像银行需要花费6到12个月,以及CTF夺旗赛上的获胜。从战术上讲,我给自己选择一个“软”发布日期,和一个“硬”发布日期,这两个时间点间隔一到两周的时间;我从来没有在软发布日期内完成,但从来没有错过一个硬发射日期。
而在OpenAI的工作带来了不熟悉的挑战:我并非这个领域的专家。起初,这引起了很多摩擦。我会创建抽象化的形式来帮助 Wojciech 的工作流程,而 John 则会觉得这妨碍了他的工作。但很快,我就能判断出哪些选择会影响研究工作的流程,哪些细节研究人员并不关心(比如人们如何记录视频)。在确定一个案例对研究是否重要之后,做出最佳选择需要保持谦逊ーー我会提出五种可能的替代方案,John会说其中四种方案不好。但是大多数的设计决策可以凭借软件工程的直觉来完成,并不需要对领域知识的了解。
幸运的是,我并不是一个人。大约在正式发布六星期前,我在Stripe曾一起并肩作战参加CTF3竞赛的同事Jonas Schneider加入了我们。没过几天,我们就开始在Gym项目上合作了。他当时在德国,所以我们每天都在进行项目的日常对接。对于一个你已经在一起磨合过的同事来说,一起工作有一种真正的魔力,如果我们以前没合作过,这次就不会这么顺利。
我们在ICLR顶会上分发OpenAI T恤,就在Gym发布后不久
总的来说,机器学习系统可以被认为是机器学习的核心ーー通常是一种高级算法,以及大量的软件工程,需要熟读Ian书中的几章才能理解。工程工作包括对数据进行改组,为输入和输出提供包装器,或者调度分布式代码,所有这些都作为黑盒,与核心交互。当工程方面的努力加上研究方面的努力超过某个阈值时,机器学习就会进步。每增加一点工程工作(比如减少Universe平台的延迟)都会使我们的模型问题变得越来越容易,并且有机会将研究推向终点。
Universe 宇宙平台
4月份Gym项目启动后,我和IIya努力规划我们的组织流程,确定我们的团队结构和目标,Sam和Elon Musk每周会来访问一次,提供一些指导性意见。
团队在真正意义上的第一间办公室里工作(白板仍然在,只是图片里没显示)
我们的计划需要一个具有巨大多样性和复杂性的人工智能环境。Andrej 建议创建一个智能体来控制网页浏览器,这看起来是个好主意,但是他与 Selenium 产生了矛盾。我开始考虑使用 VNC 允许智能体从像素级别驱动整个桌面的想法。
但是打造一个AI环境存在很多风险。例如,DeepMind 2013年的 Atari 论文(https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf)花了50个小时从像素级别训练 Pong,我们的环境会比 Pong 更难。如果连小规模的实验都要花几天时间,那就永远也不会取得什么进展了。所以我们设定了一个内部目标,让智能体在一小时内学会Pong这个游戏。(今天我们可以10分钟就完成训练)
我专注于构建 VNC 系统,现在称为“宇宙”平台。与Gym不同,这个项目不是为了支持我们现有的研究风格,而是为了提出全新的问题。当时我们的工程师之一,Jie Tang,带头进行招聘。所以IIya的行政管理负担减轻了很多,有足够的精力去打造这一冒险项目中第一个版本的智能体。
人类玩家玩的 Universe 游戏环境示例展示(https://openai.com/research/universe#validating-infra)
Universe是一个足够长的项目,我需要分配好时间来管理整个组织。我找到了一个适合我的平衡点。当我处于写代码模式时,我以整块时间为基础进行操作: 一个单独的会议将扼杀整个上午或下午的工作效率。如果我在上午和下午都有会议,那么晚上还要高效地写代码会让我筋疲力尽。因此,我开始把会议只安排在清晨或午饭后,每天不超过三次,长会议不超过两天一次。
在接下来的几个月里,Dario Amodei 和 Rafa Józefowicz 领导了关于Universe宇宙平台的研究。他们都是夜猫子,很多晚上我都陪着他们,解决遇到的问题。有时我真希望自己能躺平在床,但是每次修复bug都会让整个研究进度加快几个小时。你的研究真的很有效用,使得研究人员能够提出人类前所未有的问题。
Universe宇宙平台团队在我们现在的办公室开会
到平台发布时,Universe团队已经发展壮大到大约20人。
心怀感激,继续前行
后来我们扩张到40人的组织,所以我们需要一个员工来专门负责组织优化的事宜。自从 OpenAI 诞生以来,我们一直在寻找合适的第一个经理人。几个月前,Sam向我介绍了一位特别优秀的工程执行人:Erika Reinhardt,她曾经是行星实验室(Planet Labs)的产品工程总监,曾和Sam一起经营 voteplz.org 网站。
在行星实验室,Erika 对端到端卫星成像系统有着最深刻的理解。她努力工作,把事情做好,被前同事们一直形容为他们共事过的最聪明的人之一,是位使命驱动型的人才。所以 Sam 和我计划招募她。她告诉我,她真正决定加入OpenAI的那一刻,是在第一次参议院举行的AI听证会上,她听到了我在听证会上的发言ーー我们正处于一场重大技术变革的开端,做好这一点才是最重要的。(注:2016年10月12日,白宫科技政策办公室发布了一份题为《为人工智能的未来做准备》的报告。该报告还提出了23项政策建议和一个配套的战略计划,确定了联邦资助的人工智能研究和开发的优先事项。Greg参加此次听证会并发言)
2016年10月初 OpenAI 户外团建
在 Stripe的时候,Marc Hedlund 和我经常遇到他在以前的组织或公司中见过的问题。他喜欢开玩笑说所有的公司都是一样的。事实是显而易见的:如果放大来看,公司其实就是一群人围绕着同一个目标组织起来的一种形式。然而,每个组织的差异在于,要解决的问题并不相同。
大多数创业公司创造出一种技术,并在此基础上不断进行运营和规模化。OpenAI 是一个创造新技术的工厂,意味着我们搭建公司的核心是为了创造新事物。我们需要维护基础设施和大型代码库,正是因为它们的存在,我们才得以通过软件工程和机器学习研究相结合,来快速行动、创新并不断抵达新的高度。
回顾OpenAI工作的头三年里,我一直梦想着成为一名机器学习专家,但是这个目标几乎没什么进展。在过去的九个月里,我终于成功地完成角色转变,成为了一名机器学习实践者。这很难,但并非不可能,我认为大多数优秀的程序员和知道(或者至少愿意去学习)数学的人也可以做到这一点。有很多在线课程可以自学技术方面的知识(Greg推荐了http://cs231n.stanford.edu/),本质上我最大的障碍其实是一个心理障碍ーー重新做一个初学者。
在这个过程中,我的感情生活也是支撑我前进的重要因素。之所以选择和我的女朋友(现在的妻子)在一起,是因为她让我觉得,即使失败了也没关系。我们在一起的第一个假期,我一头扎在机器学习当中,废寝忘食,她毫无怨言地陪着我,尽管因此错过了很多计划好的假期活动。
2018年利用假期时间疯狂学习机器学习
在OpenAI的组织架构中,CTO 的角色代表着我在世界上最喜欢的一项活动: 写代码。但即便如此,“人”仍然是我关注的焦点: 走到这一步的旅程是一个社会化的故事,而不是一个纯粹的技术故事。展望未来,CTO这个角色有着很强的可持续性,在这个梦幻团队中,我愿意去负责处理海因莱因小说中所说的“卡车或电话”一类的非技术性问题。我对 Ilya,Sam,Elon 以及其他所有让 OpenAI 成为可能的人都心怀无比的感激。
更多内容 尽在智源社区