跳至内容
图片来源:a16z
Z Highlights
-
如果你在构建一个自下而上的开发者业务,你需要一步一个脚印。先为开发者创造一些东西,然后卖给他们,接着可能是对他们的团队有用的东西,然后再逐步向上发展。也许五年后,你能向沃尔玛的CTO卖东西,但你不可能从一开始就这么做。
-
如果开发者在30分钟内无法从某个工具中获得价值,他们可能会放弃。理想情况下,工具应该能在五分钟内开始工作。产品开发者们,请利用AI来构建,因为这里面有很多“金矿”,只要你能构建出好的产品,就能轻易挖掘出来。
-
别再做聊天机器人了,市场上已经够多了。找找和你的产品或问题领域相关的独特点子,用AI来实现它们。多尝试吧。试试50种不同的方案,看看哪些有效,哪些不行。因为90%的可能性还没被发掘。
从就职于Docker到创办Replicate
你正在收听A16z AI播客。我是Derrick Harris。这一集我请来了a16z的合伙人Matt Bornstein,以及Replicate的联合创始人兼CEO Ben Firshman,来聊聊开发者生态系统和生成式AI的交集。
Ben曾在Docker负责开源产品开发,并创建了Docker Compose,因此他对开发者的需求和如何构建满足这些需求的工具有着深刻的理解。在这次讨论中,Ben回顾了一些过往的经历,探讨了开发者如何使用生成模型,以及像Replicate这样的社区驱动的方法如何让更多人能够访问、部署、构建和发布他们自己的微调模型。Matt也分享了他在AI初创公司两年的见解和经验教训——什么有效,什么无效,以及如何应对每次新模型发布带来的兴奋和随之而来的低谷。
Derrick Harris:Ben,经过多年的骑行和房车旅行,你在2019年创立了Replicate。在生成式AI真正起飞之前,你看到了什么,让你得出Replicate是你下一个创业项目的结论?
Ben Firshman:一切都始于科学和学术基础设施。我对这个领域产生了浓厚的兴趣。它的运作方式在过去一百年里几乎没有变化。作为开源领域的一员,我目睹了协作和快速发展的过程,我想,为什么科学不能更像这样呢?这让我与我的现任联合创始人Andreas合作,他当时还是一名机器学习研究者,在AI热潮真正来临之前。他的工作主要是将论文转化为可运行的软件,因为机器学习大多以PDF学术论文的形式发布在一个库里。
他的大部分工作都是把这些学术论文转换成可执行的软件。悲剧的是,有时候,在某个研究实验室里,某人发布了一篇论文并创建了可运行的软件,但它被压缩成了PDF中的文本和数学图表,而Andreas的工作就是尝试将其解压回可运行的软件。这通常几乎是不可能的。这让我意识到,机器学习是一个非常迷人的科学子集,而且发展得很快。它是软件,所以它与我的软件开发世界相连。这推动我们开始为机器学习研究者构建工具。
Derrick Harris:你之前的软件经验是如何影响这个决定的?创建Docker Compose在软件工程领域可不是小事。还有其他经历起了作用吗,比如你对这个领域的兴趣或你认为自己拥有的技能?
Ben Firshman:我天生就喜欢创造,尤其是制作帮助别人的工具。作为软件开发者,我自然而然地想要为同行们打造工具,但实际上我对制作适用于所有人的工具充满热情。我在Docker的工作经历深刻地影响了我创办Replicate。我将Andreas在Spotify的工作——他专注于将机器学习模型应用到实际生产中——与Docker的使命联系起来。
在Docker,我们帮助开发者通过一个简单的概念来简化软件部署:“把你的软件想象成装进一个集装箱,这样其他开发者就能轻松地在任何环境,包括测试环境和各种云平台上运行你的软件。”我们将这个想法应用到了机器学习领域,想象如果研究人员能够把他们的模型封装起来,那么其他人也能轻松地使用这些模型。这样,软件开发者就能更容易地运行和部署这些模型到生产环境。这种思维方式最终促成了Replicate的诞生。
Derrick Harris:为软件整体和专门为AI模型做这件事有什么区别?
Ben Firshman:一个关键的区别在于,机器学习模型需要连接到GPU来运行,而普通软件通常不需要。这就增加了采购的复杂性。一开始,我们获取GPU还不算太难,但现在变得越来越难了。连接GPU还涉及到很多复杂的工作,比如CUDA的各种问题,这些对机器学习研究者来说真是个噩梦。此外,机器学习模型的行为也与普通软件服务大不相同。它们往往需要长时间运行,并且通常需要批处理系统来同时处理多个请求。通常需要一个基于队列的系统,而不是网络系统中常用的轮询服务系统。机器学习模型也是一种更特定、更狭窄类型的软件。当你把某个应用打包进Docker容器时,它就像是在计算机上运行的任意软件。而机器学习模型本质上只是一个函数调用,通常只是向模型传递一些参数,然后得到一个返回值。
Derrick Harris:在我们转向Replicate之前,还有一个关于Docker的问题。你在Docker经历了快速增长。你从中学到了什么?那是什么感觉,特别是在产品化开发者工具和开源产品方面?此外,如何经营一家开源企业?
Ben Firshman:当然,我在Docker的经历让我收获颇丰。那真是一段跌宕起伏的旅程。我加入Docker时,公司才20多人,等我离开时,已经快300人了。虽然他们在商业上遇到了挑战,但他们打造了一个我们现在构建服务器应用程序不可或缺的核心工具。他们做得很对的一点是为开发者打造了出色的工具,这也是我们在打造Replicate时非常注重的,尤其是社区的力量。他们有Docker Hub,所有软件组件都在那里分享,这和我们在Replicate上做的很像。但Docker这项技术本身,其实核心就是让人们能够轻松地分享软件。
我们也将这个理念融入了我们的核心项目。我们有一个名为Cog的开源项目,我们称之为机器学习的容器。在这方面,我们受到了Docker的很大启发,并试图将其应用于机器学习。我们也从Docker那里学到了很多宝贵的经验。我认为我们应该深刻记住的一点是,Docker建立了一个强大的自下而上的开发者运动,但他们过早地尝试向企业销售。从一开始就试图向那些根本不知道Docker是什么的大公司销售企业产品。而真正了解Docker并从中受益的,是那些在一线工作的人。
所以我认为,如果你在构建一个自下而上的开发者业务,你需要一步一个脚印。先为开发者创造一些东西,然后卖给他们,接着可能是对他们的团队有用的东西,然后再逐步向上发展。也许五年后,你能向沃尔玛的CTO卖东西,但你不可能从一开始就这么做。
Matt Bornstein:现在开发者在选择工具时,不仅关注功能性,也越来越注重工具的用户体验和美观性。过去,人们可能认为开发者只会使用那些复杂难懂的工具,但这种观念已经发生了变化。Docker作为一个现代工具,它的出现是这种变化的一部分。而你,如果我没记错的话,作为Docker相关工具的开发者,虽然不是Docker公司的员工,却意外地创造了一个非常受欢迎的工具,这个工具成为了启动Docker容器的首选方式。你是如何想到要开发这样一个工具的,以及你认为开发者对工具品味的提升是从何而来的?
Ben Firshman:我觉得,归根结底,开发者会选择他们真正喜欢的工具,而且他们自然会倾向于选择那些品质上乘的工具。这是我的核心理念。我的启发最初来自于Heroku。我的第一家创业公司实际上是一个针对Python的Heroku克隆,那时候Heroku只支持Ruby。不幸的是,我们没有成功,因为Heroku后来也开始支持Python,而且他们的产品比我们的更出色。
但这就是一切的起点。我经历过登录服务器,通过FTP或SCP手动传输代码进行部署,还得手动安装像Apache这样的软件。能够直接推送代码就完成部署,这简直是游戏规则的改变者,节省了大量的时间。谈到品味,想想这个:在那段时间,很多开发者开始转向Mac。传统上,开发者都是在Windows和Linux上工作,而Mac OS X是基于BSD的。我还记得那个发布——太棒了,我在Linux上开发,感觉就像是,哦,这就像Linux,但没有所有的麻烦。所以,像世界上几乎所有其他开发者一样,如果有选择,我会选择Mac。苹果显然做对了,他们对高质量工具的品味影响了这个领域。我知道Ruby、Heroku、GitHub等的人都受到苹果设计理念的影响。我认为这种文化已经渗透到开发者工具中,包括Stripe、Vercel和我们。
至于Docker Compose的故事,我们最初是想构建一个Heroku的克隆。后来我加入了另一家创业公司,意识到部署仍然非常麻烦,因为那家公司由于需要路由到特定节点进行实时文档编辑,无法在Heroku上部署。我想,我想要更好的东西,介于EC2服务器和Heroku之间,给我想要的抽象。我想要进程、负载均衡器、网络、存储卷等等,但我不想在服务器上手动安装东西——自动扩展和所有那些麻烦。所以我们开始构建那个平台,就像一个更高级的Heroku,然后Docker出现了,我们想,哦,哇,Docker正是我们想要构建的。他们在进程层面上操作,所有这些东西都非常轻量。我们称它们为非常轻量的虚拟机,然后他们完善了容器的概念。所以我们转向围绕Docker构建工具。其核心是我们有一个YAML文件,这就是你在我们的Heroku PaaS上部署应用程序时使用的。我们只是将那个YAML文件转化为在Docker上的部署。这就是我们最初创建的Fig,后来改名为Compose。这就成了Docker Compose文件。
Matt Bornstein:所以你实际上做过两次。想想Docker Compose,你并没有发明Docker,但你创建了一个工具,成为在开发环境中编排Docker容器的首选。而现在有了Replicate,我不认为你自己训练了Stable Diffusion或Llama,但你创建的工具可以说是最用户友好的,通常是开发者的首选。你能从这些经验中总结一下,什么才是伟大的开发者工具?你如何培养品味和美学?
Ben Firshman:我没有一个非常成熟的公式,但有三件事浮现在脑海中。首先,开发者工具的精髓在于其API,这个API必须设计得非常出色。使用Docker时,你并不觉得自己在用一个API,但实际上你正在与一个数据模型互动,并将其适配到你的系统中。这个数据模型必须被深刻理解,你需要设计出直观的原语(基本操作单元),并确保这些原语之间的交互能够通过产品清晰地传达给用户。这就是关键所在,一切归结于API设计。
其次,Docker之所以令人惊叹,不仅仅是因为它能创建隔离的环境,而是它能够在100毫秒内启动一个这样的环境。这种速度是Docker表现出色的一个方面。
第三,让开发者能够轻松上手和集成工具也是至关重要的。这不仅意味着产品本身要简单易用,还包括提供清晰的指导和文档。如果开发者在30分钟内无法从某个工具中获得价值,他们可能会放弃。理想情况下,工具应该能在五分钟内开始工作。Docker的魅力在于,只需一个命令,你就能拥有一个全新的Linux机器。Heroku的魅力在于,只需一个git push Heroku命令,你的Ruby on Rails应用就能运行。Stripe的魅力在于,只需复制粘贴几行代码,你就能处理支付。Replicate的魅力也在于,只需复制粘贴几行代码,你就能在几分钟内运行AI模型。我认为,这种快速获得价值的能力对于优秀的开发者工具来说是必不可少的。
Derrick Harris:在构建Replicate的早期阶段是什么样的?当时并没有很多开源模型可以托管或部署对吧?所以在早期你是如何确定产品方向的?
Ben Firshman:在Replicate的早期,我们面对的是一个相对简单的世界。尽管当时可用的开源AI模型并不多,但已经有很多激动人心的研究在进行。大家都对图像识别和图像分割等技术的进步感到兴奋,这些技术在几年前还几乎是不可能实现的。尽管如此,真正运行这些模型并将它们应用到实际中仍然充满挑战。
我们注意到,尽管这些模型大多还停留在学术研究阶段,比如图像分割和嵌入模型,但已经开始有一些有趣的变化。2022年初,人们开始尝试构建早期的文本到图像模型,比如Big Sleep,它结合了OpenAI的Clip模型和生成图像的GAN,以一种简单的方式将文本提示转换成图像。这些图像虽然不完美,但在美学上却非常吸引人,激发了科技艺术家和创意编码者的想象力。
更有趣的是,这些进展并非来自学术界,而是一群在Discord和Twitter上分享这些模型的人。他们使用Google Colab,一个谷歌提供的在线笔记本服务,来分享和改进这些模型。他们可以在Colab中复制和编辑模型,就像在Google文档中那样,这种协作方式让社区迅速成长,创新的速度也变得非常快。
这种快速的变化让我们意识到,尽管还在早期阶段,但变革的速度是惊人的。随后,一些重要的模型,如Dali Mini和Stable Diffusion,就是从这个社区中诞生的。我们在Discord上很早就看到了这个社区的活力,并开始围绕它构建Replicate。这就是Replicate故事的起点,我们从这个充满活力的社区中看到了未来的可能性,并开始为之打造工具。
Matt Bornstein:直到今天,我的Twitter头像仍然是Replicate上早期GAN模型生成的图像。
Matt Bornstein:对,Pixray。没错。那是一个像素艺术图像生成模型。我真的很惊讶它能工作,并且效果很好。我从那时起就没换过。
Derrick Harris:所以如果你早期的用户是你为之构建的Discord社区,那么如今Replicate的典型用户群体是什么样的?
Ben Firshman:Replicate平台已经吸引了超过300万用户,并且托管了大约20,000个模型,我们还拥有数十万的付费客户。这个平台实际上服务于两个不同的群体。一方面,我们有那些开发模型并将其分享到我们社区的创作者;另一方面,我们有那些利用这些模型来构建自己产品的人。大多数人使用这些模型来开发项目、特性和产品,这是一个多元化的应用场景。
我们发现,特别受欢迎的是那些在多媒体领域工作的开发者,他们将图像、视频、音频和3D内容等元素结合起来,并且通常会将这些元素与语言模型结合起来,作为一种连接各部分的粘合剂。当然,也有一些人专注于开发基于语言模型的产品。但总的来说,我们看到的趋势是,人们倾向于使用那些大型商业模型来处理各种复杂的任务。
在Replicate上,我们特别擅长让定制这些模型变得非常简单。那些构建多媒体应用程序的开发者通常需要对模型进行微调,调整代码,甚至需要将不同的模型串联起来。这通常需要对代码进行一些调整和定制,而这正是我们的平台所擅长的。当Stable Diffusion这样的模型开始流行时,我们看到很多人开始构建消费类应用程序。能够运行这些模型,就像是施展魔法一样,能够凭空生成图像。这仍然是我们平台的一个重要部分,它让人们能够轻松地实现这些神奇的功能。
这导致了图像编辑工具的出现,比如使用这些模型在你的图片中添加或填充东西。下一个大趋势是AI头像应用,你只需拍一张你脸的照片,它就能生成你的肖像。这仍然是一个巨大的应用场景。我们看到很多人在构建有趣的消费应用,比如聊天应用和自动生成广告和销售材料的工具。甚至有些人在生成会说话的头像,这涉及到视频、音频和语言模型的整个过程。我们还看到有人生成游戏内容,并为企业进行内部内容标记,将非结构化数据转化为结构化数据。许多大公司也在构建营销应用,广告公司也在使用我们来生成内容。这些应用正在各个领域得到广泛采用。
Derrick Harris:Replicate平台上有2万个模型。如果我只关注AI的新闻头条,可能只知道其中的十几个模型。那么,当我进入Replicate并浏览社区中的模型时,我会看到什么呢?社区是如何调整这些模型,创造出独特模型的呢?
Ben Firshman:在Replicate上,大多数模型都是通过微调得到的,尤其是图像模型,它们的微调效果比语言模型要好得多。你可以将大约10张图片放入这些模型中,无论是一个特定的物体还是某种风格,然后模型就能完美地输出那种风格中的物体或风格化的内容。比如,有人在GTA风格的模型上进行了微调,这样你就可以生成GTA风格的图片,甚至可以把你的脸放进去,就像你在GTA游戏里一样。我们的客户用这种功能来制作头像生成器,但也有人在他们的游戏风格或特定应用中进行生成。
我们还看到很多人将这些模型串联在一起,创造出有趣的组合。比如,你可以用语言模型来生成更好的提示,然后再输入到图像生成器中,或者进行一些修正,最后进行放大。这种流程在这些系统中生成视频,涉及多个语言模型、视频模型和音频模型的组合。人们创造了各种不同的模型,大型语言模型、图像生成模型等都是现在的热门话题。但在Replicate上,依然有很多有用的小型模型在学术界中被创造出来,通常在特定用例上表现得比那些大型模型更好,且成本更低。Replicate上有很多这样的模型。实际上,Replicate上的这些东西就是一些连接到GPU的任意软件。所以你可以创建一些有趣的新软件,无论是连接到GPU还是不连接。你甚至可以把普通代码部署到Replicate的CPU上。
Derrick Harris:在过去的一年里,我们看到了大量的开源AI模型出现,比如Flux这样的开源语言模型,以及其他一些大规模的图像模型。人们对于使用开源模型与专有模型的态度和方式似乎正在发生变化。
Ben Firshman:确实,这种情况在很大程度上取决于你关注的领域。对于多媒体模型来说,开源一直是主流,以前并没有很多优秀的专有图像模型。这个领域从一开始就是基于开源的。
Matt Bornstein:你是说这对于开发者是这样吗?因为像MidJourney这样的模型在消费者中非常流行。你的意思是开发者也是这样吗?
Ben Firshman:对,我确实是在说开发者的情况。开发者社区几乎完全是围绕开源模型构建的。对于语言模型来说,开源的趋势是后来才出现的,最初是从GPT开始的,然后LLAMA让开源大型语言模型真正开始流行。这些专有的大型语言模型在提供提示方面确实做得很好,比图像模型要简单得多。虽然开源语言模型有很多用途,但我们发现从专有模型转向开源模型的趋势并不是很明显。而对于多媒体模型来说,开源一直是它们的核心。
Derrick Harris:你提到了各种不同的应用领域。随着更多模型的上线,是否看到这种趋势的上升?我也很好奇使用情况是如何变化的。比如,Flux上线后,会对Stable Diffusion的使用产生什么影响?
Ben Firshman:我认为整体是稳定增长的,随着模型越来越好、速度越来越快,人们也逐渐明白这些模型能做什么。我觉得还有很多未开发的部分,只是慢慢被挖掘出来。但新模型总是会带来变化。当一个新模型出来时,它在某些特定方面表现得更好,同时也会让一些新的可能性变得可行。我觉得Flux显然是图像模型中的一个重要时刻,现在很多人都在使用Flux,效果比我们看到的任何东西都要好。现在很多人正在从Stable Diffusion转向Flux,不过我知道Stable Diffusion也有新模型即将推出,所以可能会出现波动。这总是一场竞争。
Matt Bornstein:我可以很肯定地说,几乎所有的AI初创公司都对新模型的发布非常敏感。无论是像Replicate这样的基础设施托管公司,还是像OpenAI和Anthropic这样的模型开发公司,甚至是应用层公司,比如我们投资组合中的UDO、Ideogram或MidJourney等公司。你实际上可以非常密切地跟踪这一点。每当有新模型发布时,使用量都会激增,因为人们都想尝试这个令人兴奋的新东西。而任何模型的V1和V2之间的差异如今都非常巨大。想想过去,你会升级到Photoshop 8,因为那是新版本,而V7几乎没什么变化。但现在,一个模型到下一个模型之间的改进是实实在在的。这些是计算机以前从未具备的能力。因此,当新模型发布时,总会引发巨大的兴奋,但关键是如何在主要版本发布之间保持增长。
这对Replicate来说是个好事,因为他们可以不断向平台添加新模型。他们并不局限于某一个模型开发周期。但这是整个行业的动态,每个人都面临这个问题。我认为关键是,所有的AI创始人都要接受这一点,了解市场的形态,了解用户需求,并围绕这些进行构建。
Derrick Harris:你觉得新模型的发布速度和用户跟上学习的能力之间是否存在一定程度的脱节?就像你说的,以前发布一个新版本可能只是一些渐进式的改进,但现在却是一个全新的东西。
Ben Firshman:我完全同意。实际上,我觉得我们的能力提升速度甚至超过了我们能够跟上并利用它们的速度。GitHub的Nat Friedman在谈到他们基于GPT-3的Copilot项目时,就提到了这一点。他们对这些模型的能力以及能用它们构建的产品感到震惊,但等了一两年,却没有看到预期中的大量创新产品出现。这促使他启动了AI Grants Accelerator项目,目的是培养更多的产品开发者。我们拥有这么多的能力,但我们需要更多的产品开发者来围绕这些能力进行构建,让这些能力得到应用并交到用户手中。这仍然在发生。如果说有什么变化,那就是产品开发者越来越多,但能力的提升速度更快。
产品开发者们,请利用AI来构建,因为这里面有很多“金矿”,只要你能构建出好的产品,就能轻易挖掘出来。我们在Replicate的角色之一也是帮助这些软件开发者使用AI,因为他们不可能快速地转型为机器学习开发者。所以我们希望把机器学习带给他们,展示如何使用它,展示他们可以构建的各种有趣的东西。希望能有很多酷炫的东西问世。
Matt Bornstein:我注意到,市面上有很多种多媒体AI应用。也就是说,当你给某人一个像Flux API调用或Stable Diffusion API调用这样的强大工具时,他们可以做很多事情。我们实际上看到了这种情况。而在语言模型方面,正如你所说的,所有的LLM应用看起来都有点相似。如果你稍微眯着眼睛看,这就像在和某个东西聊天。当然,里面有代码、有语言,还有一些不同的东西。但我也很惊讶,即便是现在,我们看到基于语言模型的应用数量仍然没有基于图像模型的多。你觉得这是真实情况吗,还是我只是在看世界的一小部分?
Ben Firshman:我觉得我们所看到的世界也很狭窄,因为很多使用Replicate的人都在构建这种多媒体应用。不过,这确实和我们所看到的情况相符。我认为这些语言模型不仅仅是聊天应用,它们特别擅长的就是把非结构化的信息转化为结构化的信息,这实际上有点神奇,之前计算机在这方面做得并不好,这也是它的核心用途之一。但借助这些图像模型和视频模型,人们正在创造很多以前不可能的全新产品,这些都是计算机之前无法做到的。所以,我确实对这些多媒体模型能创造出的神奇事物感到更加兴奋。
Derrick Harris:我想换个话题。你们在GPU紧缺的问题上有什么经历?现在情况有变化吗?
Ben Firshman:我们刚开始Replicate的时候,GPU并不紧缺。因为我们的业务是做推理计算,需求量波动很大,所以一直用临时实例来运行。那时候,A100这样的GPU很容易获得,因为没人想要。
但后来情况就变了,尤其是去年,GPU变得非常难搞。我们不得不开始批量购买GPU,因为这是唯一能得到它们的方式。如果你去亚马逊云服务要一个H100,他们可能不会理你。但如果你说要500个H100用三年,他们就会说没问题。他们就想尽可能多地卖出去。这对我们来说不太合适,因为我们的需求量是波动的。训练模型时买一大批GPU还行,但推理时需求量不稳定。所以我们的工作就是让这个市场流动起来。我们买一大批GPU,然后加价卖,让大家都能拿到H100。
A100和H100适合训练大模型,但运行模型就不一定合适。我们在小GPU上运行很多模型,比如GPGPU。L40s就像是最新的推理GPU。我们也在一些旧硬件上运行,比如T4s。我们也在A40s上运行,这是给像皮克斯这样的公司做3D图形的工作站GPU,但对图像模型效果出奇的好。所以从这个角度来说,我们还算幸运。那些GPU从来没短缺过,很容易获得。不过今年市场放宽了很多,所以获得H100就容易多了。我觉得现在大家都知道了,确实变得容易多了。
Matt Bornstein:这真是个有趣的现象。我们讨论的是最先进的计算技术,比如AI,它们能够创造出令人惊叹的成果。但说到底,我们还是受限于那些起起伏伏的供应链问题,价格波动,成本变化,这似乎是人类历史上一个永恒的话题,和几千年前的问题没什么两样——如何养活一个村庄,如何为军队提供补给。尽管我们有了这么多新技术,但这些问题依然存在。
Derrick Harris:这让我想到一个问题,我们何时能够实现无服务器的GPU访问呢?
Matt Bornstein:其实,Replicate在某种程度上已经实现了这一点。从开发者的角度来看,他们不需要关心资源的缩减问题。他们只需要发起一个API调用,或者不调用。当他们需要计算资源时,只需发起调用,就能立即得到结果。
Ben Firshman:我们也有类似的无服务器产品。如果你要部署自定义模型,我们实际上允许你在自己的自定义代码上缩减到零。是的,我们基本上已经做到这一点了。
Matt Bornstein:你觉得随着时间推移,开发者们会更倾向于使用灵活的无服务器服务,还是更希望有更多的控制权和深入底层的访问权限?
Ben Firshman:这个问题让我想起了我职业生涯的早期,当时我在做一个Heroku的克隆版。EC2服务器对于大多数开发者来说太基础了,除非你需要做一些特别的事情,否则没人想要一个空白的EC2服务器。但同时,开发者也不想感觉自己被束缚,不想感觉自己只是在玩玩具。他们总是想要知道自己能够深入挖掘,做一些更复杂的事情。
我们在Replicate非常注重这种设计理念,我们提供了这些高级API,让你能够快速上手。你可以复制粘贴这个API,快速开始使用AI。如果你想要自定义这些东西,我们的模型是开源的。你可以拿到源代码,发布自己的定制版本到Replicate,完全控制源代码的行为。你可以上传自定义的权重等等。我们努力找到那种平衡点,让你能够轻松完成95%的工作,但又不用承受从零开始构建基础设施的痛苦。我认为这非常重要。
而且,如果你想做一些非常复杂的事情,总有一条出路。在Replicate上,支持我们的技术叫做COG,这是一个用于机器学习模型的容器化系统,也是开源的。你可以用这个技术在自己的Kubernetes集群上部署。如果你想从头开始做这个,你也可以。这是构建这样的开发者工具时非常重要的一部分,任何时候你都不会感觉自己受到限制,任何时候你都不会感觉自己被锁定,因为这些都是人们不愿意选择技术的非常真实的原因,也是人们转向其他技术的原因。
“COG”这个名字其实是取自Heroku。有时会出现一个问题叫“毕业问题”(ZP注:毕业问题,the graduation problem,通常指的是在技术或服务的发展过程中,用户随着需求的增长和复杂性的增加,最终超出了平台或服务的原始设计能力,导致用户需要迁移到更复杂或更高级的解决方案的现象),人们在产品上碰到瓶颈,不得不自己重建,因为他们的事情太复杂。而这有时被称为Heroku问题。我们有意避免这个问题,我们很少遭遇Heroku问题,因为我们使平台足够灵活,让人们可以扩展和成长,而不会因为某种原因变得过于昂贵。我们的定价是非线性增长的,我们对此进行了非常周密的考虑。我们看到很少有人转向其他技术。
Derrick Harris:你觉得AI或者生成式AI什么时候会变成那种“家常便饭”的技术?就是说,当它变得足够普及,大家都懂它,市场上到处都是相关的产品和服务,它就成为了软件开发中理所当然的一部分?
Ben Firshman:我觉得我们差不多已经到那个阶段了。当然,我们还得努力让AI更易于上手,但现在用AI已经挺方便的了,比如你可以直接运行GPT-4或者通过API用Flux,一切都给你准备好了。我觉得现在的关键是,虽然我们现在用的AI组件还比较基础,但将来开发者会越来越多地用这些基础组件来构建更高级的系统。这在软件开发中很常见,就像我们从汇编语言发展到高级编程语言,从TCP/IP发展到Apache、JavaScript、React和Next.js。我们一直在构建更高级的抽象,让事情变得更简单。我认为AI也会这样,我们会看到更多由这些基础模型组合而成的高级系统。比如把语言模型和图像模型以有趣的方式结合起来,构建更复杂的系统。而且,这些系统也会和普通的软件结合。我想强调的是,你不能直接拿一个模型就用,90%的工作其实是把各种临时解决方案和经验法则结合起来,让它们在现实世界中起作用。我们预计这种系统也会越来越多地被发布出来。实际上,我们在Replicate上已经看到有人开始发布他们的模型和管道了。
Derrick Harris:根据我们刚才的讨论,对于那些想开始用AI模型来编写应用程序的开发者,有没有什么最佳实践?有没有一开始就应该知道的事情或者常见的错误?
Ben Firshman:我认为最重要的建议是,很多人其实对这些还不太了解。我觉得现在作为开发者在AI领域最激动人心的事情之一就是,还有很多新领域等待我们去探索。打造出色的AI特性和产品,不是复制别人的做法,而是要自己动手尝试,找到适合你产品的独特方法。别再做聊天机器人了,市场上已经够多了。找找和你的产品或问题领域相关的独特点子,用AI来实现它们。所以,多尝试吧。试试50种不同的方案,看看哪些有效,哪些不行。我觉得这是我现在发现真正有趣事物的方式,因为90%的可能性还没被发掘。而且,这些AI系统的原型构建起来很简单,但要构建真正的产品就非常困难了,因为它们比普通计算机系统更不可预测。准备好,一旦你尝试了这50种不同的原型,找到了有效的方案,你其实只完成了10%的工作。剩下的90%是要用各种临时解决方案和经验法则来让它在现实世界中表现良好。但一旦你完成了这个过程,你就会拥有一些非常有趣的成果。
Matt Bornstein:我现在想象着有一卷AI胶带,所以你在现实世界中遇到任何问题,都可以撕下一块AI胶带来解决它。
Derrick Harris:在节目的最后,Ben和Matt,我想知道你们对这个话题有什么看法。我们已经在商业化的生成式AI和基础模型领域摸爬滚打了至少两年,你们在经营AI公司的过程中学到了哪些重要的教训?Matt,我特别想知道,你如何看待这个行业的快速发展?对于想要现在进入这个领域的创业者来说,时机是否已经错过?
Ben Firshman:我觉得特别是在开发面向开发者的产品时,我们经常在Replicate说,AI其实就是软件。它是一种非常特别的软件,能做到一些我们以前认为不可能的事情,可以说是超乎想象的。但说到底,它只是一种软件形式。
核心上,机器学习模型就像是一个你输入参数的函数,输出结果。它只是在GPU上运行的模型。很多适用于软件的问题也同样适用于机器学习。我们一直在寻找那些为普通软件构建的工具,看看它们是否可以应用到机器学习上。我觉得Replicate就像是GitHub、Heroku和Docker的结合体,这正是Replicate的灵感来源。你可以观察普通软件中的所有事情,然后问自己,这个东西在机器学习中是否也需要存在?
当然,机器学习会有一些新问题,比如你不能像检查代码那样检查机器学习模型,理解系统行为的唯一方法是输入数据并观察它在现实世界中的表现。这是机器学习的一个新特性,你需要新的工具,但很多工具可以直接从普通软件中借鉴。
Matt Bornstein:对于现在刚开始的创始人来说,绝对不是太晚。我认为作为创始人,总会有一种担心,觉得自己错过了机会,所有好的东西都已经被发明了。但现在显然不是这样。现在正是一个构建应用程序的机会。
我认为一年前,基础模型刚刚被训练出来,构建应用程序很困难,因为基础在不断变化。而现在,我认为稳定性已经足够高,你可以开始构建一个应用程序,并且对这些模型的操作方式和性能特征有了足够的理解,可以深入集成,不仅仅是构建基本的包装应用程序。比如Ben提到的一些东西,将多个模型组合在一起,围绕它构建应用程序。所以如果你想进入这个领域,现在开始绝对不算晚。
我想说的第二点是,尽量不要过度反应。我在我们的AI公司中看到的一个现象是,所有的AI公司都有令人难以置信的增长期。你知道,他们一个月增长300%,然后有些月份增长得没那么快。这是早期市场的一个特点,整个市场在扩张和收缩,就像宇宙早期的样子。气体云在压缩,然后爆炸,再次压缩。在这方面表现最好的,就是那些不会对这些变化过度反应的人,意思是,在艰难的月份要坚定不移,确保坚持自己的愿景;同时如果你一个月增长了一百万,也不要因此而改变自己的做法,因为那可能是短暂的。我们投资组合中的许多公司,包括Replicate,都很好的度过了这个风暴。这就是我对进入这个领域的创始人的建议。
Derrick Harris:非常感谢你们的分享!
原文:Building Developers Tools, From Docker to Diffusion Models
https://a16z.com/podcast/building-developers-tools-from-docker-to-diffusion-models/
(文:Z Potentials)