cover of episode Simon Willison: The Future of Open Source and AI

Simon Willison: The Future of Open Source and AI

2024/12/1
logo of podcast Around the Prompt

Around the Prompt

People
S
Simon Willison
主持人
专注于电动车和能源领域的播客主持人和内容创作者。
Topics
Simon Willison认为AI是提高生产力的工具,而不是取代人类的工具。他分享了自己使用AI工具的经验,并强调了开源在软件开发中的重要性。他开发的Dataset项目旨在帮助记者和数据分析师更有效地处理和分析数据,并通过插件系统扩展其功能,包括AI驱动的SQL助手、结构化数据提取和数据增强功能。他认为,AI可以帮助记者更有效地进行数据新闻报道,并降低数据新闻的门槛。他还讨论了开源AI模型的定义和治理问题,以及Python语言在AI时代的发展趋势。 主持人主要就开源AI、AI对就业的影响、Dataset的应用场景、以及开发者对新AI工具的热情等方面与Simon Willison进行了探讨。

Deep Dive

Chapters
Simon discusses the intersection of AI and open source, emphasizing the importance of tools like Dataset in enhancing data journalism. He reflects on his journey from developing Django to his current work with AI, highlighting the role of open source in software development.
  • AI can augment human capabilities rather than replace them.
  • Open source has been the single biggest productivity boost to software engineering.
  • The perception around AI taking jobs is still prevalent, but AI can be a cyber enhancement for humans.

Shownotes Transcript

我认为我还没有看到任何开放模型。它们都没有在做我们传统上与良好治理的开源项目相关联的事情。

我喜欢从政府的角度来看待 IT。我完全没有想到这一点,开发经验表明,人们真正参与 IT 仍然不好。如果有人试图领导副手,并且他们想在笔记本电脑上设置 IT。

这仍然太难了。就你所知,关于 AI 仍然存在这种看法,它会夺走人们的……

工作,会接管工作。如果你是靠佣金工作的人,那么你的工作确实受到了 AI 的威胁,那么人们转向 AI 模型的威胁就是一个非常真实的威胁。这真的很糟糕,因为这些模型是在你的作品上进行训练的,没有你的信息,现在它们正在市场上与你竞争。

你拥有真正独特的背景,从帮助创建超级流行的网络开发框架 Django 开始,到现在的 Dataset,你已成为 AI 领域最具影响力的声音之一。我非常好奇,从你的旅程角度来看,这就像某种转折点,一切都很顺利,AI 只是你过去十年所做工作的自然延伸。

对我来说,这感觉像是实际的延伸,因为我的职业生涯的主题一直是:如何更快地构建更多东西,对吧?我能用什么来让我发挥更大的作用,比如拥有比我更多的能力,来加快我的开发速度。如果你看看 Django,我们是在 21 年前构建 Django 的,其理念是为记者和截止日期提供网络开发支持。

我们希望能够制作支持新闻中事物的网络应用程序,你必须在几天内完成,因为这需要六个月的时间。新闻故事不再依赖于此。所以这对我们来说非常重要。

然后是一般的开源。我认为开源是软件工程有史以来最大的生产力提升。我觉得今天这并没有得到充分的认可,因为开发人员已经将开源视为默认的事情,这已经是二十年前的事了。

你必须说服公司允许在其内部使用开源。你知道,有些公司有政策,说绝对不允许在任何情况下使用开源代码。试着在有这种策略的情况下编写任何 JavaScript 代码。这根本行不通。

所以对我来说,一直以来都是,有哪些工具可以添加到我的工具箱中,让我做得更多,让我生产更多,用我拥有的时间生产更好更优质的代码?我最初使用 GPT-3 开始接触大型语言模型,当时我意识到它们可以做一些事情,但只是极大地加快了我的速度,比如使用简单的 OpenAI Playground 界面,我正在做的事情,比如让它为我编写一些 jq 代码片段。所以,它运行得非常好,所以我完全放弃了 jq,我以前不怎么用它,因为我每周只用几次,因为我不必再学习相同的语法了。

在过去的两年半里,这种情况一直在加速。比如我编写 AppleScript,我部署了用 Go 编写的代码,并进行了单元测试、持续部署和持续集成,尽管我并不精通 Go。这真是令人震惊的事情。

我喜欢它。我喜欢 AI 作为一种加速,作为一种个人生产力提升。我讨厌 AI 取代人类。我喜欢 AI 作为人类的一种网络增强,我一直更努力地朝着这个方向发展。而这件事的伦理一直都非常复杂。

训练的伦理是如此模糊,关于这一点,感觉有点像作弊,当你使用它的时候。这很有趣。所以我围绕着这一点,我说,好吧,我也要帮助其他人使用它。

我要完全透明地说明我如何使用这些工具。我会写关于它们的博客。我会分享我的提示。

我以前就有博客。我已经写博客 20 年了。所以,只是利用这一点,说,好吧,我应该开始写关于这个的博客。

奇怪的是,现在很少有人在互联网上以长篇幅的形式撰写文章,所以你只需成为写这篇文章的人,就能对世界产生巨大的影响。我开始写很多关于大型语言模型的文章,大概是在两年前。这让我走得很远,它让我收到了各种有趣的事情的邀请。

我认识了很多朋友。我发现自己在这个行业中处于一种半有影响力的地位,仅仅是因为我每周一两次坐在家里打字。这太神奇了。我也鼓励其他人这样做。我不希望成为唯一一个写这些东西的人。

我喜欢这个。你能回顾一下这个话题吗?比如,你如何看待这个世界以及你在做什么?比如,你实际上是如何度过你的时间的?我还记得我们在 2022 年聊天时,你正处于创建一家初创公司并进行自我运营的过程中。这就是你大部分时间都在做的事情吗?它是否真的分散在很多事情上?

它分散在许多不同的事情上。几年前我遇到的问题是,我有一些机会参加斯坦福大学新闻学奖学金,它被称为 JSK 奖学金。

他们基本上会招募真正的新闻工作者。他们付钱让他们在斯坦福大学校园里待一年,与人们一起闲逛,并处理与新闻行业相关的难题。含糊其辞。

我不是记者,但我曾在报纸上与记者做过很多工作。所以我作为这一批人中的“通配符”来申请。这彻底毁了我,因为他们付钱让我花一年时间做我想做的任何事情。

一旦你这么做了,就很难再让别人告诉你做什么了。所以我一直在努力的目标是,我想把我的开源工作变成一项可持续的全职工作,雇佣不仅仅是我,还有其他人与我一起工作。我的商业模式是我正在做的付费托管服务。

所以 Dataset 是开源的。如果你可以在服务器上安装它,你就可以自己运行它,或者我正在构建 Dataset Cloud,你每月支付一定数量的钱,我将为你团队运行它,包括你需要的插件、私有空间等等,我已经在做这件事了,并试图找出合适的的产品组合已经有一段时间了,本周就要接近完成了。

我一直在研究 Stripe 集成,比如设置一个支付页面等等。但是,是的,目标实际上是 WordPress 模型,对吧?WordPress 通过成为 WordPress 最好的付费托管服务,建立了一家非常成功的企业。

尽管如此,WordPress 仍然是开源且免费提供的。我想为 Dataset 做同样的事情,它几乎就像数据的 WordPress,对吧?WordPress 可以解决你遇到的任何内容发布问题。我想构建具有插件的开源软件,可以解决你遇到的任何数据分析、可视化和发布问题。所以,如果你想与世界分享数据,我希望 Dataset 成为这样做的默认选择。

我想问一个与之相关的问题。我想这可能也涉及到一些用例。我想知道 Dataset 如何或正在 AI 项目中使用,如果有的化。然后我想知道它在数据探索和共享方面有哪些独特的优势?

Dataset 与 AI 的关系很有趣,因为它们一开始这两个世界并没有真正重叠,对吧?Dataset 是我大约六年前开始的一个项目,其理念是获取适合 SQLite 数据库的数据,也就是任何等式,你知道,它是一个具有 JSON 支持和二进制对象的数据库,并创建一个界面,让你可以探索这些数据,在线发布这些数据供所有人使用,他们还可以通过 API 与这些数据进行交互。

所以,实际上,我会说开箱即用的 JSON API,对于任何你可以放入 SQLite 数据库中的东西,随着时间的推移,我构建了一个插件系统,允许插件添加额外的功能,我开始增加更多的数据操作功能。所以我认为编辑数据进行地理编码,更改表模式之类的事情。这让我意识到,它实际上解决的问题是那些太大而无法用 Excel 处理,并且你想与他人分享但不需要数据科学家或全职数据工程师的数据。

或者像全职工作的数据工程师一样,很多人谈论大数据。我对小数据感兴趣,我将其定义为任何适合我手机的数据。我的手机有相当大的存储空间。

所以对于小数据,大多数公司实际上并没有大量的数据,你知道。所以我认为构建类似于 Microsoft Excel 的开源版本与表格的结合,这是一个非常有趣的事情。这绝对雄心勃勃,你知道。

然后是 AI 方面,我最早将 Dataset 应用于 AI 的方法只是探索训练数据。几年前,Stable Diffusion 发布时,它是基于 LAION-5B 数据集的。我用 Dataset 创建了一个包含所有 LAION 数据的实例,以便人们可以搜索和查看所有数据来自哪里,以及它是如何生成的。能够探索这些东西,任何从事 AI 工作的人,你都必须亲自动手查看训练数据,没有人想这样做。所以,拥有一个帮助人们深入挖掘的界面,本身就是一个用途。

但在过去的六个月里,我终于开始将这两个领域结合起来,并说,好吧,我可以为 Dataset 添加哪些 AI 驱动的功能?我已经尝试了三种这样的功能,所有这些功能都针对数据新闻领域,这就是我关注的框架,所以它实际上是数据科学,但这是记者在处理调查性报道时所做的那种数据科学。这是一个奇妙的领域,这是一个我从 Django 时代以来就参与其中的利基计算机科学领域。

所以我拥有的三个功能,首先,有一个非常明显的功能。那就是 AI 查询辅助。你输入一个问题,用英语表达你的问题,我查看模式,然后我为你运行查询。然而,我一直思考的是,在我所有的实验中,我发现,如果你构建这个功能的明显版本,比如获取问题并运行 SQL 查询,用它来生成答案,它 80% 的时间都能正确,20% 的时间会出错,比如,也许我认为 state 列是州,但实际上是加利福尼亚州,诸如此类的小事。

所以,相反,我想构建一个界面,显示它的工作原理,你问一个问题,而不是只得到一个答案,你会跳转到一个页面,其中包含一个 SQL 查询,该查询有大量注释,我开始尝试,如果我向你展示图表来帮助你理解哪些表是如何连接在一起的,提取表片段以便你可以看到它们,诸如此类的事情。目前这还处于非常早期的阶段。但对我来说,关键在于新闻业。

你最不希望看到的是有人发布一个故事,其中包含关于世界的不实信息,因为他们的工具让他们失望了。记者实际上非常擅长这种事情。比如记者,好的新闻机构有事实核查。

他们有编辑团队。我交谈过的最好的数据团队实际上喜欢……他们对数据进行代码审查,作为事实核查过程的一部分,所以你不能发布一些东西。

我认为这是正确的,如果他们发布了一个数据驱动的故事,两个独立的数据工程师独立地处理了这些数字,并且他们交叉检查了他们的工作,这很棒,对吧?

这是负责任的做法。所以我想确保,如果你是一个不会 SQL 的记者,并且你使用了这个工具,你得到了一个结果,你可以将链接发送给你的朋友,他们会 SQL,他们可以帮助你检查发生了什么,诸如此类的事情,非常重要。

所以一个功能是用 SQL 向你的数据提问,这是比较明显的一个。我最兴奋的一个功能是结构化数据提取。所以,如果你是一个记者,你花了很多时间试图收集你的故事的数据,并且你处理垃圾数据,比如政府网站,你下载 PDF,而 PDF 是手写的文档,像五张表格,所有这些东西。

所有这些模型真正擅长的一点是,你给它们提供非结构化数据——可以是文本,也可以是图像——然后提供模式,告诉它:“我想得到姓名、地址、电话号码”,它就能提取出来。所以我为 Dataset 构建了一个插件式功能,叫做 Dataset Extract,它可以让你准确地做到这一点。

你可以定义一个表格。因为最终所有内容都是类似 SQL 的表格,具有名称、地址等等,你可以添加提示,例如“我希望日期格式为年年年年年、月月、日日”。然后你将数据传入,或者将图像拖放到其中,点击一个按钮,它就会为你提取数据并放入表格中。

这非常有效。到目前为止,我们主要使用 GPT-4 进行视觉处理,以及 GPT-4 的 API。下一步是让它与 Claude 和 Gemini 协同工作,因为这两个模型,特别是 Gemini,具有较长的上下文窗口,这对于这项工作来说非常令人兴奋。

这太酷了。我和一些 AI 公司的 CEO 朋友聊过,他们与很多财富 500 强企业的人交流过。他们告诉我,结构化数据提取实际上是这些大公司最关心的问题。

事实证明,每个人都有这个问题。每个人都有杂乱无章的数据,当他们需要理解这些数据时,能够将其通过语言模型处理,其中出现错误的几率要低得多。虽然不是零,但你仍然需要进行那种令人沮丧的抽查过程,但这节省了大量时间,这是第二个功能。

然后第三个功能是我称之为“增强”的功能。这是一个更通用的概念,它实际上是从地理编码开始的,对吧?你有一张包含地址的表格,你想要经纬度列。

你可以将它标注在地图上。我构建了一个增强功能,你可以说“增强此表,获取此地址列并将其转换为经纬度”。但这感觉像是一个插件。

第一个插件是地理编码插件。第二个插件是语言模型插件。你可以这样使用它:给定此数据库表,将每一行模板化,以这种方式放入此提示中,运行提示并将提示的输出放回此列中。

现在你可以做各种事情了。我认为这是一种非常令人兴奋的人工语言数据清理方式。这方面有很多潜力。

我正在研究它的版本,其中语言模型不处理行,而是为你编写代码。所以你可以说“我需要将此列中的数字加倍”,语言模型就会编写一行 JavaScript 代码来执行此操作。然后 JavaScript 会在千万行数据上执行。

所以这类事情有很多潜力。总的来说,代码生成仍然是我认为最有价值的应用之一。奇怪的是,这项技术刚出现时,没有人预料到编写计算机代码会成为它最强大的功能之一。

但我的想法是,我可以让记者们使用这些功能,他们以前从未学习过编程,但他们的数据素养足够高,他们理解你想要一个执行 X 功能的函数,这真的很酷。而这正是我对新闻领域最兴奋的事情之一:我们如何将那些只有《纽约时报》和《华盛顿邮报》才能做的报道(因为他们可以在新闻编辑室负担得起软件工程师)提供给规模较小的出版物,例如你当地的报纸?他们应该能够对最新的政府薪资数据库进行数据报道,而无需聘请编程人员来为他们进行分析。

我认为这是一个非常有趣的概念,这个数据新闻……我再次不想冒犯任何人,但我从未真正将记者视为会使用一些代码或不同的 AI 产品来处理数据的人。但这听起来像是,你的目标是向那些可能没有技术经验的人提供这种服务。

但他们说数据新闻是一种氛围,一个充满活力的领域。它有一个年度会议,叫做 NICAR,代表国家计算机辅助报道研究所。

因为这就是他们在 70 年代开始做数据新闻时对数据记者的称呼。这个会议上有一些人还记得大型机,因为他们已经做了这么长时间了。我去这个会议已经很多年了,大约有一千人参加。

他们都是像我一样的极客,来自各种不同的背景、兴趣和地域,但他们都是想深入研究数据并在其中寻找故事的人。我喜欢这一点,对吧?多年来,Django 也在其中扮演了重要角色。

但这种想法是,因为数据中存在故事,我最喜欢的例子是旧金山市有一个开放数据门户网站,你可以下载城市数据,其中一个文件是旧金山每棵树的 CSV 文件。有 12.5 万棵树,每天更新。你可以去查看最新的数据,因为他们今天又添加了三棵树,移除了五棵树。他们有去年的数据、地址、所有者、维护者、树种和种植时间,非常丰富的数据。

这里面有故事,对吧?哪个街区树木最多?哪个街区树木最少?哪些树种更容易在种植一段时间后被移除?有很多内容,当然没有人讲述这些故事,因为他们不知道该如何处理包含 12.5 万棵树且每天都在变化的 CSV 文件?这就是我想解决的问题。我想构建软件,让记者(再次强调,他们懂数据,他们会使用 Excel,但他们不会编写 Python 代码)能够根据这个奇怪的数据库讲述故事。

所以,为什么构建一个针对此用例的开源工具,而不是一个更像消费者应用程序的东西,你将所有技术细节都抽象出来,它实际上是,你知道的,你输入数据并提出问题。

最初的原因是我把它作为一个副项目来构建。我从过去的经验中知道,如果你的副项目有用户账户,那它就不是一个副项目,而是一份无薪工作。

所以,最初当我构建它时,我想把它做成开源的,人们必须自己安装它。我不负责重置任何人的密码,或者任何类似的事情。在我只是把它当作一个副项目做的头几年,这很有效。

但这对我最想使用它的用户来说是一个巨大的障碍,比如新闻编辑室告诉我:“这太难用了,你只需要一个新的 VPS,然后安装 Python 3,然后做这个,然后做那个。”你已经失去他们了,对吧?

所以,我最想使用我的软件的人……最终我不得不承认,我必须要有用户。我需要为其他人托管它。

而且,对于其他开源项目来说,这是一个行之有效的商业模式,每月向人们收取一定费用以获得最新版本。所以,一旦我全职投入到这个项目中,这变得更容易实现。我尝试了很多其他的方法。

首先,我使用 Electron 构建了一个 Dataset 的桌面应用程序版本,这样人们就不必安装 Python 并弄清楚 pip install 是如何工作的。我尝试过让它在 WebAssembly 中运行。有一个 Dataset 版本完全在浏览器中运行。

使用 Pyodide。Pyodide 运行 Python 的方式非常酷。我基本上把它作为一个实验来构建,心想没有人会使用它,因为我要求它加载大约 5MB 的东西才能启动,在 2024 年,这很糟糕。

这就像大多数 React 首页一样。所以,事实上,你正在加载一个完整的 Python 解释器,这并不是我认为会成为障碍的事情。实际上,很多人都在使用它。基于 Web 浏览器的我的服务版本,使用 Pyodide 非常棒。是的。

然后另一件事是它必须是开源的,因为新闻行业已经很艰难了,如果我让他们依赖于一个专有工具,然后关闭它,我就造成了更大的伤害,对吧?从一开始,这对我来说就非常重要,我希望这个项目能够长久发展,我希望人们能够信任它。当它最初只是我一个人在我的笔记本电脑上进行黑客攻击时,我认为开源是一种建立信任的绝佳方式。

在我的职业生涯中,我曾经选择过一个商业开源工具,然后公司倒闭了。我们继续使用该软件,因为我们可以,因为我们有那个“逃生门”,我想让……而且,新闻业是一个糟糕的创业行业,因为报纸没有钱。所以,我的计划不是……我不打算从新闻行业长期获利。

我的理论是,我构建的任何帮助记者用数据讲故事的软件,对地球上任何拥有数据并想用数据讲故事的人都有价值,比如,我为记者构建的任何东西,对企业战略部门或量化分析师来说也同样有用。所有这些不同类型的人。所以我并不担心把自己局限于一个不赚钱的利基市场,因为我认为我正在构建的东西的适用范围比这要广得多。

我喜欢这种观点。我还很好奇,鉴于你对过去 20 年开发人员如何使用不同工具进行构建的看法,你似乎很适合回答这个问题。

但在 AI 方面,你有什么感觉?每次出现新的模型或新事物时,开发人员现在尝试该事物、用它构建或采用新工具的意愿都非常高。而我一年以前的感觉是,我们基本上只有一年的时间,人们最终会厌倦,他们对尝试新事物不再感兴趣。但感觉这并没有减缓,反而加速了,也许生态系统只是扩展了。

但你认为我们……我很好奇,是否有一个时间点,人们会说:“好吧,你知道吗?这个模型真的很好。

这个工具真的很好。我不再尝试所有新东西了,给我一个能用的东西就行了。我不再考虑这个了。”

这是一个非常有趣的问题。我的确可能不适合回答这个问题,因为我一直都是早期采用者,我会尝试新事物,这再次是我将事物添加到我的工具箱中的方式。

而且,评估模型非常困难,对吧?一个新模型出来了,我怎么知道它在我的工作中是否比我之前使用的模型更好?

我还有一个奇怪的小开源副项目,我可能会开始把它作为一个评估工具来使用。我宁愿不自己构建一个。我希望其他人能做得很好,这样我就不用去做了。

但这是我的另一个大型开源项目。我现在有两个主要项目。一个是 Dataset,它已经证明了它的价值。另一个是这个包。

叫做 `toko-llm`,它是一个用于处理语言模型的命令行 Python 工具,最初只是用于处理 OpenAI。我想能够将我的终端中的文件通过管道传输到 OpenAI 的 GPT-4 中,并告诉它用这些文件做某事。所以我构建了它,这很有趣。

然后,因为我在 Dataset 之前构建了插件系统,我想,如果可以为这个工具安装插件来添加额外的模型,那将会很有趣。我让它工作了。

现在有 200 多个模型可以通过这个单一工具使用。如果你安装插件,其中一些是 API 模型,如 OpenAI 和 Anthropic,还有一些是使用像 llama.cpp 这样的本地模型。你实际上可以选择……你几乎可以在你的笔记本电脑上安装 llama。

现在我的演讲真的很有趣,这里有一些关于它的教育内容。但这非常有趣,因为这个工具的另一个特性是,你所做的一切都会记录到一个 SQLite 数据库中,SQLite 是我的所有工具运行的基础。这意味着我可以进行研究。

我只是在我的……任何我尝试与任何模型对抗的东西都会记录在我的第二个轻型数据库中,现在已经有大约九十兆比特的记录提示和响应,跨越一百个不同的模型。因此,理论上,我可以分析它。所以,好吧,鉴于针对这些不同模型的这个提示,是否有效,实际上我们一直都在保存数据而没有进行分析步骤,但这始终是可能的。

是的,所以这也给了我一个针对不同模型的抽象层,这很棒,对吧?我可以对GPT-4运行相同的提示,然后对Pull 3.5运行,对Guanaco 1.5 Pro运行,只需更改我在命令行中键入的内容中的短划线和标志即可。我的EVS项目是Ella的一个插件,它向LLM添加了新命令,目前的想法是你可以运行一系列过程,只需定义一个YAML文件。所以你会有一个评估,这是一个YAML文件,里面充满了提示和小的断言,比如“我应该在返回给你的内容中包含单词‘巴黎’”,我询问了法国的首都是什么,它给出了正确的答案。

我已经几个月没有碰过这个项目了。我仍然……我在其他所有事情中都在寻找IT方面的时间。但我喜欢这个想法,我希望能够自己举办活动,并快速地将它们与新的模型进行比较。

我希望能够与其他人分享它们。所以我可以下载你的YAML文件,比如你最喜欢的数学问题提示,并快速执行。看看它们是如何运行的。这个宏伟的版本,说实话,考虑到我正在进行的其他事情,我不知道是否有时间在其他人更好地解决这个问题之前投入更多精力。那样会很棒。

Simon,我想作为一个人,不仅在构建,而且我在开源生态系统中非常活跃。我浏览了你的一些推文,偶然发现了它。我认为其中一条是关于……你知道的,一些关于大型语言模型开源模型的市场言论。

你知道,我正在尝试构建开源……你知道,我认为它们面临的挑战是,我们如何让组织停止滥用“开源”这个词……所以,好吧,我想从你的角度来看,你在那个领域看到了什么?我们该如何解决这个问题?你知道,再次,在这个领域构建,我很想得到你具体的看法。这是一个巨大的流行词。每个人都在谈论开源。

所有这些模型都像……这可能对IT很重要。问题是,如果你告诉我某些东西是开源的,如果你坚持开源的起始或定义,这对我来说是有信息的,就像,好吧,我知道我在软件方面的权利。

我可以构建它,而无需去找律师让他们审查自定义许可证,所有这些事情……很多。一些开源模型,比如大多数神秘模型,都使用的是Apache 2许可证。这很好。我知道我可以拿它做什么。像Llama 3和Llama 3.1的许可证。

它们不是开源的,因为它们有额外的条款,而额外的条款看起来相对无害,比如其中一个条款是,如果你在模型发布当天拥有超过七亿活跃用户,则无需许可即可使用此模型,这听起来……我说这只是意味着没有阿里巴巴、没有苹果、没有微软等等。但我提出的问题是,如果我创办了一家公司,并且它很成功,我想把我的公司卖给苹果,那么许可条款是否会突然生效?现在指标是否会否决我的公司收购?因为苹果拥有超过七亿用户。

现在这个问题的答案可能是“不”,它完全无关紧要。但我必须请律师来帮我理解这一点。

所以,所以我对不得不问律师问题的反感,这就是为什么这件事对我个人来说如此重要,然后人们提出的更大的论点是,如果你不能获得源代码以便重建它,那么它就不是开源的。对于一个模型来说,源代码就是训练数据。显然,你不能开源训练数据,因为它都是从网络上抓取的许可FF。

那个。我尊重这种观点。我不把它作为我自己的个人定义,因为我的定义是我不必打电话给我的律师并询问许可证的问题。

所以这是我自私的看法。有一个有趣的阴谋论,关于为什么人们会贴上“开源”的标签,而实际上并非如此,那就是,如果你看看欧盟的AI法案,它特别地排除了开源模型。但它并没有说明开源模型的定义是什么。

所以现在,对于任何拥有某种东西的人来说,可能都有一种激励机制,即使是远程事件,也肯定说是开源的,因为正在制定使用这种不准确方式的立法,这再次……这是一个我听说过的理论,听起来对我来说是对的,但我不是国际律师,所以我无法肯定地告诉你是否就是这样。但是的,这就是我关心的原因。我关心的是,如果你告诉我某些东西是开源的,而它确实是,我可以跳过对许可证的很多担忧。而这些开源许可证中的大多数都不是,我仍然必须考虑它们。

你是否参与了……或者关注了OSI的讨论……我知道他们一直在为此付出巨大的努力,但他们仍然处于早期阶段。

我在1月份与他们进行过一次对话,内容仅仅是我非常松散的意见,几乎就是我刚才所说的,从那以后我就没有关注了。所以我确实知道,因为他们记得让你看到它的结果。

但是我密切关注……是的,我真的很乐观地认为他们会帮助解决这个问题。我认为我个人的观点,我认为像……在Anyscale工作,并花很多时间思考开源的可持续性,感觉开源AI生态系统实际上对开源的广泛运动产生了负面影响,因为人们混淆了……你知道,人们过去通常称之为“源代码可用”。就像我有一个我可以使用的开源模型,源代码可用,就像最终的.EXE文件……与实际的可持续的分布式治理、分布式……围绕开源项目构建的人员社区相比。有趣的是,我认为我还没有看到任何开源项目或任何开源模型能够达到成为一个非中心化项目的门槛,因为它们都没有做我们传统上与真正良好治理的开源项目相关联的事情。

我喜欢从治理的角度来看待它。我没想到这一点。所有谈话都很有趣。

你再次,我认为,是处于不利地位的人。你知道,所有这些大型组织都在谈论开源以及开源的重要性。然后,再次,从我的角度来看,我正在尝试将资金返还给使用这些工具的人。

没有人有资金来支持开源生态系统,这具有讽刺意味。即使是从我们之前剧集中采访过的过去的创建者或创始人那里,看到有人说开源是一种竞争优势,这也很有趣。所以能够……把你的东西放在那里,从中学习,显然,分配给这些开源工具的关注度和资源是……很有趣的。

再次,我认为我们正处于一个非常有趣的阶段。我认为随着它的不断发展,希望人们对它的定义会更加清晰。但就目前而言,它仍然有点模糊。

还有令人沮丧的是,现在……它正在政治上变得……立法机构说我们应该禁止开源,而你……所有这些都不是它应该如何发展的。你知道,这是对决定的滥用,现在正在引发一些非常可怕的政治论点。

还有澳大利亚,对吧?有一个国家……基本上强制要求所有……我认为是组织……在他们的代码中使用开源……对不起,我记不清了,但我知道澳大利亚做过一些事情。

如果我的纳税人的钱支付了代码,就把它放在GitHub上。这……我喜欢……我喜欢这至少开始被谈论为例子。

是的。所以,我的意思是,我很好奇,从你所戴的另一顶帽子的角度来看,你与Python软件基金会所做的工作是什么?我很好奇……你对此的反应是什么。但感觉很长一段时间……也许这是我来自Julia社区的偏见,以及……试图推广一些不是Python的语言……我认为Python是一个令人难以置信的生态系统,但感觉LLM实际上已经……也许是无意的。

及时地对我来说,某种程度上加速了Python作为每个人都将使用和构建的规范语言的这种语义层。

主要是因为很多工具和模型都很好,模型在生成Python代码方面非常出色,但还有像代码解释器和许多其他东西实际上是在幕后运行Python……这进一步加速了Python向以前不使用Python的人的传播。我很好奇你对此的反应是什么……这对生态系统来说是积极的吗?是的,我的意思是。

还有这个提示。提示是默认的……这些模型的默认值是用Python系统的东西构建的。然而,这很有趣……就像我是一个Python和JavaScript程序员,Python和JavaScript的训练数据远远超过其他语言。所以这些模型在Python和JavaScript方面非常出色。

所以,作为一名程序员,我会得到巨大的提升,比我主要使用Rust甚至Go时要大得多,因为这些生态系统并不为LLM所熟知。然后,它似乎在教人们编程。Python一直以来……我从Python开始,很多年前它就从一种基于教育的语言发展而来。

它一直以来都非常擅长帮助人们学习编程。而那种……是的,这肯定被像代码解释器这样的工具加速了……他们注意到这些模型中的某些模型在被要求生成代码时默认以Python回答,即使你没有说明你想要哪种语言。另一方面,Python的开发人员体验对于真正上手的人来说仍然不够好。

我认为这是这门语言最大的弱点。弱点是,如果有人试图学习Python,他们想在他们的笔记本电脑上安装它,这仍然太难了。以及弄清楚依赖项等等,一旦你克服了最初的学习曲线,它就能完美地工作。

但最初的学习曲线有点陡峭……相当陡峭。但我希望它如此。所以PS。

F,我是Python软件基金会董事会成员。我们目前正在启动的倡议之一就是围绕这一点。它围绕着入门和教育。

只是帮助确保当你访问python.org时,你会得到关于如何开始学习这门语言的最佳说明。这对我来说非常重要。一个原因是我喜欢代码解释器,那就是你不需要安装Python就可以使用它,对吧?这太棒了。

你知道,这不断发生。我之前提到了,Python WebAssembly的事情,再次,非常棒,对吧?你甚至可以在你的浏览器中、甚至在手机上启动一个完整的Jupyter式数据科学环境。

我的意思是,UI在手机上不太好用,但它确实可以。但这些事情是可能的。有很多……有很多很棒的事情。但是的,我认为Python社区现在最大的责任是缩短最初的学习曲线,确保那些想要学习编程并且能够做到的人能够尽可能轻松地开始。

是的,我还有两个快速的问题。首先,你认为由于LLM,它实际上会……一方面,Python变得越来越好,因为围绕它的数据太多了。

但另一方面,公司本身可能成为新语言或类似事物的真正有趣的加速器,因为你实际上可以……自动创建……你知道,所有可能的博客文章、所有可能的问题,并可以预先将这些内容发布到世界上……再次,这是我们在Julia生态系统中面临的挑战,你知道,人们有很多问题需要知道答案。而仅仅是有人提出第一个问题,往往就非常非常困难。我很好奇,你认为这本身就能有所帮助吗?以数据IDE为例,你是否考虑过如何发布更多内容,以便LLM能够更好地添加和改进之类的东西?

有一个想法一直在酝酿中,那就是你可以获取一个编程语言库,并尝试创建最好的五万个token提示,它能足够好地教LLM关于这个库的知识,然后我可以使用它来回答问题。我实际上还没有看到。

而且,一个非常棒的体现这个想法的例子,这让我很惊讶,因为它感觉像是,我喜欢把这段文字复制到GPT或其他类似的东西中,而这些东西之前并没有被……所以我觉得这真的很令人兴奋。我喜欢你的想法,也许这降低了发布新编程语言的门槛,因为发布新编程语言太难了,对吧?就像你说的,你需要首先。

你需要标准库,这可能需要十年时间才能完善,然后你才能做到所有你需要语言开箱即用的功能。最重要的是,还有教学材料,也许,也许这些东西能让它更快,也许发明编程语言就像明天一样。我可以很快地完成URL解析,因为语言模型能够理解足够的语言来帮助我做到这一点。

所以我希望看到它。我喜欢这样的想法,即有人可能会构建一种专门针对语言模型的编程语言,例如它使用更少的标记。对于模型来说,更容易理解。

他们的矩阵大脑围绕着它。我认为,几年前这更令人兴奋,如今模型如此强大,以至于感觉不需要优化你的语言以更好地与模型协同工作,几乎任何东西都可以。但你知道,这很有趣。我很想看到一种新的编程语言,它利用语言模型来加速其采用及其标准库的开发,这样会非常酷。

所以我觉得任何有能力做到这一点的人,这听起来像是一个很好的长期项目。

我不会去做博士后研究。我不会发明一种编程语言。这些都不在我的考虑范围内。

是的,我的一个旁注是,这希望能成为一个不那么厚颜无耻的宣传,至少要考虑长上下文作为解决这个问题的方法。在GNI 1.5技术报告中,DeepMind团队分享了一个例子,说明如何利用低资源语言(基本上在互联网或训练数据中没有体现),并提供字典,以及少量示例(例如十万个示例)来说明如何使用这种语言,并仅通过完全上下文学习就能在该语言上获得人类水平的性能。

那是一种人类语言。

是的,一种人类语言。

哇,我难以置信,这太迷人了。

所以听起来你有了你的第三个开源项目。

是的,我目前维护着超过250个项目,如果有人报告错误,我会修复该错误,并发布版本。大多数元项目就像数据的小插件,添加一个……

为所有内容拥有一个插件生态系统是进行开源的一种非常好的方式,因为想要在我的工具中添加功能的人,只需将其构建为插件即可。他们甚至不必与我交谈,不必审查它,他们可以将其发布到pypi,人们就可以开始使用它。现在我对整个事情完全不干涉,这太棒了,对吧?你可以在早上醒来时,你的软件一夜之间就增加了一个新功能。

如果该功能很糟糕,也没关系,因为人们只是不会安装该插件。所以,坦白说,我创建了很多插件,都是我作为插件实验创建的一些糟糕的想法,因为这不会影响核心项目的完整性。如果我应该在核心项目中添加一个糟糕的功能,我将永远维护它。

那很糟糕,对吧?如果它是一个小插件,谁在乎呢?没关系。

Simon,我喜欢我们在本播客中与你和其他领域的其他人进行的对话,你们都在创建和构建这些似乎对个人开发者非常有帮助的出色工具,无论情况如何。但我认为,人们仍然对AI存在这种看法。据你所知,它会抢走人们的工作,会接管一切。

我看到你的一条推文,我认为它被引用为:AI辅助使编程知识和技能更有价值,而不是更少价值。是的。所以,是的,我们很想听听你对此的看法,以及你如何与数百名围绕这些工具的人交谈,以及如何实施它们,以及如何让他们平静下来,再次强调它不是来取代你,而是来帮助你。我认为这很明显地回到了你提供的教育资源,但如果你能谈谈你的想法并分享一下。

这是一个复杂的问题,因为有些人受到AI的威胁,因为……这很奇怪,如果你是一个靠佣金工作的插画家,那么人们转向AI模型(例如Stable Diffusion之类的东西)的威胁就非常真实。这是一个非常真实的威胁。这真的很糟糕,因为这些模型未经你的许可就使用了你的作品,并且它们正在市场上与你竞争。我认为最终会以合理使用和法律问题告终,但如果发生在你身上,从道德角度来看仍然很糟糕。所以我不会说AI对人们没有威胁。

我的希望是,在几乎所有这些情况下,都存在你可以转向的东西,那就是利用你之前的所有技能和经验,并利用你使用这些模型的能力,这意味着你比他们更擅长,例如,我更愿意与一位专业的插画家合作,他使用语言模型和图像生成模型来创作更好的作品,而不是一位业余爱好者,他使用相同的模型,编程也是如此,对吧?不懂编程的人可以使用Claude 3.5之类的工具来生成有用的东西。懂编程的人会做得更好、更快,并且会问更好的问题。

他们会产生更好的结果。所以我作为一名专业程序员,并不觉得受到这些东西的威胁。现在,基于我二十年的编程经验,我可以比几乎任何人都更好地使用它们。

不,我会……我可以绝对熟练地使用代码解释器和大型语言模型。因为我有二十年的经验,知道什么可能,什么不可能,什么方法应该避免,所有这些。所以你听到人们说,我已经放弃了我的计算机科学学位,学习编程没有意义。

这个职业已经死了,所有东西都会被取代。这真的让我很不安,因为我真心觉得,作为一名资深软件工程师,我花在将代码输入计算机上的时间只占我工作量的约10%。而那部分工作现在效率提高了两到五倍。

现在有了语言模型,这很棒,不,我大大加快了我工作中那10%的实际编写代码的部分,但其他所有事情,比如弄清楚需要构建什么,研究有哪些选择,与用户交谈,与利益相关者交谈,与开发者沟通,我也从AI那里获得了一些帮助。但这同样基于我的现有经验,知道这些是模型有用的方面,哪些方面模型没用。

我不断回到的一点是,我认为语言模型作为一项技术非常难以使用,而且我认为这一点还没有得到足够的重视。将一些东西输入ChatGPT有多难?当然任何人都可以做到。

问题是,要获得真正好的结果,你必须对它们有相当深入的理解,你必须理解训练数据,以及为什么语言模型无法计算单词中的字母数量?所有这些都是它们无法很好地完成的事情,例如它们无法计数,它们无法进行数学运算。这是一个无法将两个大数相乘的计算机系统。

这对人们来说是荒谬的。但它可以做所有其他事情。因此,要培养这种直觉,即哪些问题适合向语言模型提问。

这需要很长时间,就像我现在还在学习新的技巧,我已经每天使用它们两年了。所以我觉得,首先,掌握语言模型的专业知识并不像人们想象的那么容易。其次,如果你要使用它们来构建优秀的软件,那么优秀的软件不仅仅是输入提示并复制粘贴代码。

你必须……所以如果你现在想学习编程,我认为语言模型会极大地加速你的学习,就像我之前谈到的Python学习曲线一样。ChatGPT会帮助你克服这一点。如果你因为缺少分号而收到错误消息,将其粘贴到ChatGPT中,它会告诉你该怎么做。

以前你可能会像Alice一样抓耳挠腮地琢磨这个奇怪的东西是什么意思,所以我喜欢这一点,我认为现在是开始学习编程的最佳时机,因为这些工具可以帮助你缩短学习曲线,让你更快地进步,并且你可以提供的价值也更高,对吧?像我这样经验丰富的程序员在AI的辅助下,可以构建以前无法构建的东西。如果你雇用我,你会比我没有这些工具时获得更多回报。

我希望这会增加……增加编程技能的市场规模。这是我不确定的地方。如果我们让每个程序员的效率提高两到五倍,这意味着我们只需要一半的程序员吗?或者这意味着那些以前不会委托定制软件的公司(因为他们负担不起雇佣一个五人团队工作六个月的费用),现在可以雇佣一个两人团队工作一个月来完成这项工作吗?

这意味着现在所有这些公司都在说,你知道吗,我们将委托程序员来构建该软件吗?我乐观地希望是第二种情况,即……那些曾经说过“好吧,我们已经有足够的程序员了,现在我们可以解决我们所有的问题”的公司。所以理想情况下,我希望看到这为更多使用计算机、自动化计算机来解决人们生活中问题的人创造更多机会。

这就是程序员们正在做的。这永远不会消失,这是我们需要做的事情。所以是的,这是我对这个问题的乐观看法。

我喜欢这种观点,Simon。我完全同意。这似乎是,软件需要创建的数量是无限的,人们总是会……是的,现在是成为开发者的激动人心的时刻……关于你提到的模型让你今天的工作效率提高了多少,我认为这是AI……我也感受到了这一点,我认为很多人也感受到了这一点。我认为模型有很多粗糙的边缘,而且不成熟。如果你有你的魔法Simon Wand,你可以挥动它,并且知道你会从核心AI的角度解决的三个主要问题。

我最主要的一个问题,这是来自数据新闻的角度,我需要一个安全过滤器关闭的版本。

我需要这个的原因是,如果你是一名记者,你处理的是可怕的信息来源,对吧?你正在追踪虚假信息,阅读可疑的邮件,试图弄清楚……你正在处理警察暴力报告,所有这些不同的事情,现在很多时候你会将报告材料输入语言模型。它会拒绝回答你的问题。

我最好的例子发生在我做现场演示的时候,在一次面向一百名记者的Generative AI大会上。我有一个竞选财务报告,这是一个像CRP 8这样的诈骗文件,其中包含关于某人的政治捐款的数字。

我将其输入Claude 3.5,并说,从中提取数据。Claude 3.5说,我不愿意这样做。这份竞选财务报告包含我不想……我不会为你做这件事的个人隐私财务信息。

在记者面前的舞台上现场演示,这是一个精彩的时刻,对吧?人们都笑了,真的,真的很有趣。但这强调了,如果我们拥有这项技术,并且我们可以用它来提取竞选财务报告(这是一件非常有意义的事情)。

有时它会拒绝你。这真的很令人沮丧。但这妨碍了我与一位使用……分析警察执法记录仪录像的记者的交流。

它可能是德语,实际上。他们说,他们必须做的一件事是提醒模型狗会咬人,因为警犬有时会咬人。但模型有点像根据互联网上的想法进行调整,即所有狗都是好狗,没有狗会咬人,这很有趣。

但这是一个问题,对吧?所以,在我的新闻工作中,我与Anthropic、OpenAI和谷歌的人进行了交谈,说,嘿,模型的过滤器怎么样?他们没有说……

但我认为关键在于,为什么要向记者提供未经微调的模型?他们会写关于它编写不正确的清单和令人害怕的步骤的文章,但这很难让人相信新闻机构应该获得对未经微调模型的独家访问权,而我们又会做出某种承诺,承诺不会用它来撰写新闻报道。是的,这很复杂。是的,这就是我真正想要的。我有点希望,比如在3.1版本中,有人会发布一个经过微调的、带有安全过滤器的Hugging Face模型,结果证明它是可行的。

对于新闻工作,我很乐意尊重你的时间,总是喜欢以两个问题结束。所以,我先问第一个问题。第二个问题是关于你今天个人AI生产力工具堆栈是什么样的。比如你用什么工具,或者你是否自己构建了所有这些东西。

所以现在我的个人工具堆栈是:我花时间在ChatGPT的代码解释器中。我花时间在Claude中。目前,Llama 5是我大多数事情的默认模型。

我用它来生成工件。我喜欢构建更多……嗯……JavaScript。我过去常常这样做,因为我可以让它生成工件原型,然后复制粘贴到我的工作中。这很有趣。我每天都在使用我的LLM进行诸如代码、Python和Violin以及Act、冥想之类的事情,所有这些事情。我使用VS Code的Copilot,基本上就是ChatGPT、Claude、LLM和Copilot。我运行了一个叫做MLC Chat的应用程序在我的手机上,它在我的手机上运行模型,主要用于向人们演示。但我有时会在飞机上使用它,因为它足够了解Python,可以回答我忘记的事情。

然后,我们喜欢问的最后一个问题是关于疯狂的八月。所以,在2024年还有五个月的时间,嗯,我想你知道,2024年的剩余时间,也许还有2025年的一部分,嗯,你有什么让你兴奋或充满希望的事情,以及你希望被推动或不会发生的事情,基于你可能有的任何原因。

我不想要AGI。让我沮丧的是,所有大型AI实验室,至少至少60%的实验室,似乎都非常痴迷于此。你知道,我们要创造数字上帝。我并不关心它。

我害怕的不是AGI。我害怕的是,当如此多的破坏同时发生时,社会会发生什么。我很难想象,比如普遍基本收入或其他什么东西会随之而来,拯救我们免受社会动荡之苦,所以我对此并不特别感兴趣。

而且,我也对这个领域中围绕科幻小说的讨论感到沮丧,它分散了对你能做什么的实践的注意力。我的重点一直是,在我现在手中的模型中,有什么是有用的,因为这样我就可以避开所有未来主义的谈话。我不兴奋的事情,我兴奋的事情,说实话,只是这些模型的渐进式改进是如此令人兴奋。

事实上,我们似乎已经稍微偏离了一点,这种GPT功能很强大,但3.5 Sonic出现了,并且在我的东西上明显更好。需要检查一下德国的基准。我几天前才用过1.5版本。

我对Claude 3.5非常兴奋,因为我认为它的价格会和Claude一样,而且会非常有用。我喜欢这些快速且廉价的模型,它们越来越多地出现。

然后是本地模型。在我的笔记本电脑上,我每年都在我的笔记本电脑上运行本地模型,它们以前从来都不太好,它们有点像ChatGPT 3.5的水平。在过去几周里,它们有了巨大的进步。

就像过去一个月一样,感觉人们找到了优化技术,你可以用一个在我的笔记本电脑上运行的模型,它实际上比GPT 3.5更好。我真的很想知道这会走向何方。也许再用一些二元量化技术或其他什么技术,我就能达到我的下一台Mac可以本地运行GPT 4级模型的地步,我们可能会做到这一点,那将是非常令人兴奋的。

我很高兴我们刚刚发布了llama.cpp的版本,它在很多方面都超过了3.5 Turbo,你可以在你的手机上本地运行它,我就像,这太疯狂了,这就像,如果你问人们,这些最初的3.5全局模型需要多长时间才能真正进入设备。我认为大多数人都会猜到。

那将需要很长时间。但因为你做到了,我认为你无法追踪它们。我认为GPT 3.5模型太大,无法在消费级笔记本电脑上运行。

事实证明,通过Jet等优化,这根本不是问题,你可以做到。啊,我喜欢这个。我也,我不在乎我的模型知道1782年法国国王是谁。

我希望我的模型能够总结文本、生成代码,并知道何时使用工具,以及所有这些事情。这很有趣,我认为在5.3论文中特别提到它对世界并不了解很多。它不知道这个世界,但它可以做这些其他的事情。

这就是我想要的。我希望我的电脑上有一个模型,知道何时对必应或其他东西进行搜索,知道何时……但除此之外,它可以做所有的事情,并进行总结。感觉它快完成了。我认为我们几乎已经完成了,现在我可以在我的笔记本电脑上获得一个可以做有用的事情的模型,它不需要知道维基百科上关于世界的一切知识。这很好。

是的,时间到了。我喜欢这个。听到你的观点非常有趣。我很高兴我们有机会邀请你。感谢你抽出时间,希望大家喜欢这次谈话。

谢谢。非常感谢Simon。