OpenAI 官方指南:如何选择合适的模型

在选择合适的模型时,需要在准确性、延迟和成本之间找到平衡。首先应优先优化准确性,达到目标后再优化成本和延迟。本文提供了一个实用指南,帮助用户在不同模型之间做出明智的选择,并通过一个假新闻分类器的示例展示了如何应用这些原则。 准确性优先 设定明确的准确性目标,例如在客户服务场景中,90%的电话需要在首次交互中正确分类。 开发评估数据集,以衡量模型在这些目标下的表现。 使用最强大的模型(如 GPT-4o)来优化准确性,记录所有响应以便后续使用更小的模型进行蒸馏。 成本和延迟优化 一旦达到准确性目标,可以通过以下方法优化成本和延迟: 使用更小的模型(如 GPT-4o-mini)进行零样本或少样本测试,确保在较低成本和延迟下维持准确性。 使用蒸馏技术对更小的模型进行微调。 实际示例 通过开发一个假新闻分类器,设定目标为90%的准确性、每千篇文章成本低于 $5、每篇文章处理时间少于2秒。 通过三次实验,最终使用微调的 GPT-4o-mini 达到了所有目标,成本仅为初始模型的2%。 结论 通过从 GPT-4o 切换到微调后的 GPT-4o-mini,性能相当但成本大幅降低。这一过程强调了先使用强大的模型达到准确性目标,然后再通过微调更小的模型来优化成本和延迟的策略。 如何选择合适的模型 选择合适的模型,无论是 GPT-4o 还是较小的 GPT-4o-mini,都需要在 准确性、延迟 和 成本 之间进行权衡。本指南为您提供关键原则,并通过一个实际例子帮助您做出明智的决策。 核心原则 选择模型的原则很简单: 首先优化准确性: 优化准确性,直到达到目标准确率。 其次优化成本和延迟: 在维持准确率的前提下,选择最便宜且最快的模型。 1. 首先关注准确性 首先为您的用例设定一个明确的准确性目标,确定达到“足够好”的准确率即可投入生产。可以通过以下方式实现: 设定明确的准确性目标: 明确您的目标准确率统计指标。 例如,90% 的客户服务电话需要在首次互动时得到正确分类。 开发评估数据集: 创建数据集,用以衡量模型的实际表现。 继续以上的例子,收集 100 个交互实例,记录用户的请求、LLM 的分类结果、正确的分类结果,以及分类是否正确。 使用最强大的模型进行优化: 从最强的模型入手,以确保达到目标准确率。记录所有响应,供后续更小的模型蒸馏使用。 使用检索增强生成 (retrieval-augmented generation) 来提高准确性。 使用微调 (fine-tuning) 来优化模型的一致性和行为。 在这个过程中,收集提示与生成对 (prompt and completion pairs),用于评估、少样本学习或微调。这一过程被称为 提示优化 (prompt baking),有助于未来生成高质量的示例。 想了解更多方法和工具,请查看我们的 准确性优化指南。 设定一个现实的准确性目标 通过评估模型决策的财务影响来设定一个合理的准确性目标。例如,在假新闻分类的场景中:...

September 5, 2024 · 1 min · fisherdaddy

创始人模式 • Paul Graham

本文讨论了创业者在公司扩展过程中面临的管理挑战,特别是与传统管理模式的冲突。作者通过引用 Airbnb 创始人 Brian Chesky 的经验,指出传统的“经理模式”在初创公司扩展时往往无效,甚至有害。相反,作者提出了“创始人模式”的概念,认为创始人应该继续以更直接、更深入的方式参与公司运营,即使公司规模扩大。虽然目前对“创始人模式”的理解还不成熟,但已有成功的案例证明其有效性。 传统管理模式的缺陷: 传统观点认为,随着公司规模扩大,创始人应逐渐退居幕后,依赖高管团队来管理公司。这种模式通常被总结为“雇佣优秀的人并给他们足够的空间工作”。 然而,许多创始人,包括 Brian Chesky,发现这种模式在实际操作中效果不佳,导致公司业绩下滑。 创始人模式的提出: 作者提出,创始人应保持对公司运营的深入参与,而不仅仅依赖高管团队。这种模式被称为“创始人模式”。 这种模式类似于 Steve Jobs 在苹果公司采用的方式,例如他每年都会与公司中最重要的 100 人举行一次特别的会议,而这些人并不一定是公司中职位最高的。 创始人模式的潜在挑战: 虽然创始人模式可能更有效,但它也更复杂,涉及到更多的直接参与和决策。这种模式可能会因人而异,甚至在同一家公司内,不同时期的实施方式也会有所不同。 文章还警告说,创始人模式可能会被误用。例如,一些创始人可能会借此为不愿意合理授权辩护,或者非创始人管理者可能会错误地尝试模仿创始人的行为。 未来展望: 作者希望未来能更好地理解和定义创始人模式,从而帮助更多的初创公司在扩展过程中保持成功。同时,他也意识到随着创始人模式的普及,可能会出现新的问题和挑战。 创始人模式 2024年9月 上周在 YC 的一场活动中,Brian Chesky 做了一场让所有在场者都记忆深刻的演讲。我事后与大多数创始人交流时,他们都表示这是他们听过的最好的演讲。Ron Conway 生平第一次忘记了做笔记。我并不打算在这里试图重现它,而是想谈谈它引发的一个问题。 Brian 的演讲主题是,关于如何经营大公司的传统智慧其实是错误的。随着 Airbnb 的扩展,一些出于好意的人建议他必须以某种方式管理公司以便扩张。这些建议可以乐观地总结为“雇佣优秀的人并给他们足够的空间去完成工作”。他照做了,但结果却十分糟糕。于是他不得不自己摸索更好的方法,其中部分灵感来自于研究 Steve Jobs 如何经营 Apple。目前来看,这些方法似乎确实有效。Airbnb 现在的自由现金流利润率已经位居硅谷前列。 在这场活动中,许多我们曾资助过的最成功的创始人都表示,他们也经历了类似的情况。他们同样被告知要用这种方式管理公司,但最终却对公司产生了负面影响。 为什么大家都在对这些创始人传达错误的建议?这对我来说是个谜。在反复思考后,我找到了答案:他们所收到的建议,其实是针对如何管理一个自己没有创立的公司——如何在你只是一个职业经理人时管理公司。但这种方法效果远逊于创始人自己的管理方式,对创始人来说,这种模式显得无效和不自然。因为创始人能够做到一些经理人无法做到的事情,而不去做这些事对创始人来说确实是错误的。 实际上,经营公司的方式有两种:创始人模式和经理人模式。到目前为止,即使在硅谷,大多数人也默认为初创公司扩展时必须转向经理人模式。但我们可以从那些尝试了经理人模式的创始人的失望中,以及他们努力摆脱这种模式的成功中,推断出另一种模式的存在。 据我所知,目前还没有专门讨论创始人模式的书籍。商学院甚至对它一无所知。到目前为止,我们只能依赖那些个别创始人通过自身实践所摸索出来的经验。然而,现在我们知道我们在寻找什么,我们可以更有针对性地去探寻。我希望在未来几年里,创始人模式能够像经理人模式一样被广泛理解。我们已经可以猜测出它在某些方面会有所不同。 经理人被教导的管理公司方法,似乎类似于模块化设计:你将组织结构中的各个部门视为一个个黑箱。你告诉直接下属该做什么,他们则负责具体执行。但你不会深入干预他们的工作细节。那样会变成微观管理,这是被认为不好的行为。 雇佣优秀的人并给他们足够的空间去完成工作。用这种方式描述听起来很有吸引力,不是吗?然而,实际上,许多创始人都发现,这往往意味着:雇佣一些看似专业的骗子,然后让他们把公司推向深渊。 我在 Brian 的演讲中,以及与其他创始人的对话中,注意到了一个共同的主题——被“误导”的感觉。创始人们感觉自己被两方面误导了:一方面是那些告诉他们必须像经理人一样管理公司的人,另一方面是当他们这样做时,公司内部的人对他们的反馈。通常情况下,当你周围的人都不同意你的意见时,你的默认假设应该是自己错了。但在这里,这是一个罕见的例外。没有自己做过创始人的风险投资人并不清楚创始人应该如何管理公司,而 C 级高管们则通常是极为擅长“向上管理”的高手。 无论创始人模式的具体内容是什么,很明显它将打破 CEO 只能通过直接下属与公司接触的传统原则。“跳级”会议将成为常态,而不再是一个如此不寻常以至于需要特别命名的做法。而一旦你放弃了这一限制,你就有无数的选择可以尝试。 例如,Steve Jobs 曾经每年为他认为是 Apple 最重要的100人举办一次休闲会,而这些人并不一定是组织结构图中职位最高的。你能想象在普通公司中做到这一点需要多大的决心吗?然而,试想一下这种做法可能带来的好处。它能够让一个大公司重新拥有初创公司的氛围。如果这些休闲会没有效果,Steve 应该不会年复一年地继续举办这些活动。但我从未听说有其他公司这么做。那么这是一个好主意还是一个坏主意?我们仍然不知道。这说明我们对创始人模式了解得有多么有限。 显然,创始人不可能继续用他们在公司只有20人时的方式来管理2000人的公司。某种程度的授权是必然的。自主权的边界在哪里,以及这些边界的明确程度,可能会因公司而异。甚至在同一家公司内部,随着管理者逐渐赢得信任,这些边界也会有所变化。因此,创始人模式将比经理人模式更为复杂,但它的效果也会更好。从个别创始人摸索前行的例子中,我们已经看到了这一点。 实际上,我关于创始人模式的另一个预测是,一旦我们弄清楚它的本质,我们会发现许多创始人其实早已在无意识中接近了这一模式——尽管他们的做法可能被许多人视为古怪,甚至更糟。 奇妙的是,想到我们对创始人模式的了解还如此之少,这本身就是一种鼓舞人心的念头。看看创始人们已经取得的成就,而他们是在面对不当建议的逆风中取得这些成就的。想象一下,如果我们能够告诉他们如何像 Steve Jobs 那样经营公司,而不是像 John Sculley 那样,他们又能取得怎样的成就呢?...

September 3, 2024 · 1 min · fisherdaddy

软件项目的时间估算 • Jacob Kaplan-Moss

本文是 Django 的共同创建者,同时担任工程主管的 Jacob Kaplan-Moss 所写。软件项目的估算是一个众所周知的难题,许多项目经常出现成本超支和进度延误的情况。然而,尽管估算困难,作者强调了估算的重要性,并认为放弃估算可能会限制职业发展。准确的估算是可以学习和掌握的技能,它能够帮助建立信任并促进职业的进一步发展。Jacob Kaplan-Moss 分享了一种软件项目时间估算的技术。他的方法的核心特点是同时捕捉时间和不确定性,以便为项目制定更准确的时间表。他的技术包括将工作分解为较小的任务、估算不确定性、计算预期和最坏情况的时间、必要时进行精细化,以及跟踪估算的准确性以便不断改进。 估算的挑战: 软件项目估算普遍困难,研究表明许多 IT 项目成本超支超过 200%,并且平均延误近 70%。 大型软件项目尤其容易超支,预算超过 1500 万美元的项目平均超支 66%,进度延误 33%。 “无估算”方法的局限性: 尽管有“无估算”方法和 Agile 方法试图避免时间单位的估算,但在某些情况下,准确的时间估算是不可避免的。例如,销售团队可能需要一个具体的时间表来完成交易,或者其他团队可能依赖于特定功能的交付时间。 估算的重要性: 估算是职业发展的关键技能,能够准确地给出时间表并按时交付任务有助于建立信任。对于希望在技术职业中更进一步的人来说,掌握估算技能至关重要。 估算是可以学习的技能: 估算是一项可以通过实践和反复校准来学习的技能。通过反复的项目分解和时间估算,工程师可以逐渐提高估算的准确性,并了解团队的工作节奏和代码库的复杂性。 我的估算技术: 任务分解:Kaplan-Moss 建议将工作分解为不同复杂度的小任务,并使用实际的日历时间(而非理想化的“程序员时间”)来估算每个任务的完成时间。任务复杂度分为小(1天)、中(3天)、大(5天)和超大(10天)四种。 估算不确定性:在初步估算的基础上,他建议通过应用一个“如果事情出错”的乘数来捕捉不确定性。这个乘数根据不确定性水平(低、中、高、极高)从 1.1 到 5.0 不等。这样可以得到预期时间和最坏情况的时间。 计算时间:通过任务复杂度和不确定性乘数,计算出每个任务的预期时间和最坏情况时间。例如,一个中等复杂度且高不确定性的任务预期需要 3 天,但最坏情况下可能需要 6 天。 精细化估算:如果估算范围过大,他建议通过进一步分解大任务或减少不确定性来精细化估算。可以通过研究、短期试验(spikes)或直接动手完成部分任务来减少不确定性。 跟踪准确性:最后,他强调在项目进行过程中跟踪实际用时,并与估算时间进行比较。这种反馈循环有助于不断改进未来的估算精度。 其他估算技术:Kaplan-Moss 还提到了其他几种估算技术,如 PERT(程序评估与审查技术)、基于证据的调度(Evidence-based scheduling)和水果沙拉 Scrum(Fruit-salad scrum),并指出这些技术也捕捉了时间和不确定性,但采用了不同的方法。 软件项目估算 众所周知,估算软件项目的难度非常大。哈佛商业评论 (HBR) 的一项研究发现,每六个 IT 项目中就有一个成本超支超过 200%,且延迟几乎 70%。麦肯锡 (McKinsey) 的另一项研究发现,IT 项目的平均预算超支 45%,时间超出计划 7%。研究还指出,大型软件项目的问题尤为严重:预算超过 1500 万美元的软件项目,平均预算超支 66%,时间延迟 33%。 实际上,任何在软件行业工作过一段时间的人都经历过类似的情形。你可能曾自信地说“这应该只需要几天时间”,但一个月后却发现自己仍未完成。软件项目估算总是难免遇到霍夫施塔特定律 (Hofstadter’s Law):“事情总是比你预期的时间更长,即使你考虑了霍夫施塔特定律。” 遗憾的是,许多人看到这种模式后,觉得估算软件项目太困难,干脆选择放弃。有一种被称为“无估算” (No Estimates) 的立场认为我们应该完全停止对软件项目进行时间估算。很多敏捷方法采用了任意的评分系统——如故事点 (Story Points)、T 恤尺码等——这些系统的设计目的就是为了避免给出具体的时间估算。...

September 2, 2024 · 1 min · fisherdaddy

李沐上海交大演讲中提到的核心认知

BosonAI 联合创始人、亚马逊前首席科学家,人工智能框架 MXNet 的作者之一:李沐,今年8月份在母校上海交大做了一场演讲,主要分享了他对大语言模型(LLM)的技术现状、未来趋势的预测以及个人职业生涯的感悟。因为他的创业方向是为客户做定制的LLM,他应该是我们熟知的大牛中离LLM最近的人之一,包括数据准备/清晰、预训练、后训练、LLM部署、机房建设、提供 serving、GPU/带宽/电力瓶颈等等。所以,他的演讲会给出很多有关LLM的一线认知,这里我摘出了其中他提到的一些核心认知。 核心认知 语言模型可以分为三块:算力、数据和算法。所以语言模型也好,整个机器学习模型也好,本质上就是把数据通过算力和算法压进中间那个模型里面,使得模型有一定的能力,在面对一个新的数据时,它能够在原数据里面找到相似的东西,然后做一定的修改,输出你要的东西。 这一次(浪潮里)的语言模型和上一次深度学习(浪潮里)的模型有一个比较大的区别 —— 上一次是,我炼一个什么丹就治一个什么病,这次我希望这个东西炼出来会有灵魂在里面,它能解决你很多问题,这其实是技术一代代往前进。 硬件 带宽:让芯片靠得更近一些 因为就现在的模型训练而言,很难让一个机器搞定所有事情,所以要做分布式训练,通常瓶颈就在带宽上。 我们现在的带宽是一根光纤承载 400Gigabits,下一代就是 double,变成 800Gigabits。 英伟达的 GB200 这个卡就可以把 GPU 都放一起,那么它们之间的通讯会变得更好一些。你可以理解成:之前我们做多核,把单核封装到一个芯片里面,现在是说多核不够,我要做多卡,多卡以前是分布在一个房间里面,现在是多卡也要尽量放在一起,这是一个趋势。就是一块芯片那么大,早就做不上去了,这是台积电等面临的工艺难题,现在是尽量把这些东西弄得近一些。 还有一个通讯是 GPU 和 CPU 之间的 PCIe,它每几年也在翻倍,但是确实会慢一些。 内存:制约模型尺寸的一大瓶颈 现在的语言模型,核心是把整个世界的数据压进模型里面,那模型就被搞得很大,几百 GB 的样子。在运行的时候,它的中间变量也很大,所以它就需要很多的内存。现在我们可以做到一个芯片里面封装近 192 GB 的内存。下一代带宽会更高一点。 很有可能在未来几年之内,一个芯片就 200GB 内存,可能就走不动了。这个要看工艺有没有突破。 内存大小会是模型上限的一个制约,而不是算力。内存不够,模型就做不大。在这一块,虽然英伟达是领先者,但其实英伟达是不如 AMD 的,甚至不如 Google 的 TPU。 算力:长期来看会越来越便宜 机器学习好的一点是,你可以用 4 位浮点数,硬件会变小,它对带宽的利用率也会变低,因为每次计算它只有那么多浮点数在里面。所以我们最近几代优化都来自浮点数的精度的降低。这是它给硬件带来的好处。 当你把模型做得更大的时候,你会发现资源是问题,就是供电。 最大的一个芯片要耗一千瓦,一千块芯片就是一兆瓦,整个校园都未必能用上一兆瓦的电。 关于算力价格。从理论上来说,在公平的市场里面,每次算力翻倍,价格会保持不变。但因为英伟达垄断的原因,短期内算力翻倍,价格可能会有1.4倍的提升。长期来看算力会变得越来越便宜。 算力这块,你可以用别的芯片,但是这些芯片用来做推理还 OK,做训练的话还要等几年的样子,英伟达还是处在一个垄断的地位。 今天训练一个模型,一年之后它的价值会减半。很多时候,大家不要去想我现在能搞多大的模型,一年之后,这个模型会贬值。我想说,大模型不是特别有性价比的东西。你要想清楚,从长期来看,你的模型能带来什么价值,让你能够保值。 模型 我觉得语言模型已经达到了较高的水平,大约在 80 到 85 分之间。 音频模型在可接受的水平,处于能用阶段,大约在 70-80 分之间。 但在视频生成方面,尤其是生成具有特定功能的视频尚显不足,整体水平大约在 50 分左右。 语言模型:100B 到 500B 参数会是主流 每次预训练,无论是 OpenAI 还是别的模型,基本都是用 10T 到 50T token 做预训练。开源的话基本也在 10T token 以上。这个数据量我觉得差不多了,不会再往一个更大的尺寸去发展。原因是,人类历史上的数据比这个多是多,但是看多样性、质量的话,我觉得 10T 到 50T 这个规模就差不多了。 我觉得比较好的一线的模型就是 500B,超过 500B 不是训练不动,而是做 serving 很难。在谷歌历史上,他们就没有让 500B 以上的模型上过线。OpenAI 没有对外说,但我觉得 OpenAI 历史上没有上线过有效大小超过 500B 的模型。当然 MoE 不算,我是说换算成稠密模型的话 语音模型:延迟更低、信息更丰富 GPT-4o 出来之后,大家对于语音模型产生了浓厚的兴趣。端到端的方案有两个优点: 1....

September 2, 2024 · 2 min · fisherdaddy

谷歌崛起背后的友谊

本文探讨了程序员 Jeff 和 Sanjay 之间深厚的友谊及其对 Google 成功的推动作用。他们的紧密合作不仅体现在工作中,还在生活中展现了创意与效率的结合。两人的协作方式、互补的思维方式以及在编程中的默契,使他们成为了 Google 发展过程中不可或缺的搭档。 友谊与合作:Jeff 和 Sanjay 在 Google 之前就建立了深厚的友谊,他们常常一起度假,Jeff 的女儿们称 Sanjay 为“叔叔”。这种紧密的私人关系促进了他们在工作中的合作。 编程风格的互补:Jeff 更加外向和探索性,能迅速提出新想法,而 Sanjay 则专注于系统设计,编写出结构优美的代码。他们的合作使得编程过程更加高效,减少了创意瓶颈的发生。 重要项目:两人共同开发的 MapReduce 软件为 Google 带来了巨大的性能提升,使得程序员能够更高效地处理数据。该技术后来成为 Hadoop 的基础,广泛应用于大数据处理。 AI 的发展:Jeff 在 Google Brain 项目中的参与,使得神经网络技术得以迅速发展,最终取代了传统的搜索算法,标志着 Google 在 AI 领域的转折。 角色变化:随着时间的推移,Jeff 和 Sanjay 的角色逐渐分化。Jeff 负责更大的项目和团队管理,而 Sanjay 则专注于独立开发,继续为 Google 的技术决策提供支持。 持续的友谊:尽管工作节奏有所变化,两人仍保持联系,定期共进晚餐,回忆起早年的合作时光,展现了他们之间持久的友谊与默契。 谷歌崛起背后的友谊 “我们在 Google 之前就已经这么做了。” Jeff 说道。 “但我也不清楚为什么我们觉得坐在一台电脑前比两台更好。” Sanjay 说道。 “我常常从离两条街远的 D.E.C. 研究室走到他的 D.E.C. 研究室,” Jeff 说道。“中间还经过一家意式冰淇淋店。” “所以是因为那家冰淇淋店!” Sanjay 笑着说。 单身的 Sanjay 经常与 Jeff 及其妻子 Heidi 和两个女儿一同度假。Jeff 的女儿们称他为 Sanjay 叔叔,五个人通常在周五晚上一起吃饭。Sanjay 和 Jeff 的大女儿 Victoria 开始一起烘焙。“我看着他的女儿们一点点长大,” Sanjay 自豪地说。2004 年 Google 上市后,他们搬到了相距四英里的新居。Sanjay 住在旧山景城的一栋普通的三居室,而 Jeff 则亲自设计了他位于帕洛阿尔托市区附近的房子,还在地下室装了蹦床。在设计这栋房子时,他意识到虽然他喜欢规划空间设计,但没有耐心去处理那些他称之为“适合 Sanjay 的建筑细节”:如梁柱、螺栓和承重结构,这些都是支撑整体设计的基础部分。...

August 21, 2024 · 3 min · fisherdaddy

使用 Unsloth 超高效微调 Llama 3.1

本文介绍了如何高效地对 Llama 3.1 模型进行监督微调,特别是使用 Unsloth 库进行 8B 模型的微调。文章强调,Llama 3.1 的发布缩小了闭源和开源模型之间的性能差距,微调该模型可以实现更好的性能和定制化,且成本更低。作者提供了监督微调的全面概述,比较了与提示工程的不同,并详细介绍了主要技术及其优缺点。 监督微调(SFT)概述: SFT 是一种改善和定制预训练 LLM 的方法,通过在较小的数据集上重新训练基础模型,使其能够更好地执行指令和回答问题。 SFT 可以提高模型的整体性能,增加新知识,或适应特定任务和领域。 SFT 技术: 全微调:对预训练模型的所有参数进行重新训练,效果最佳但需要大量计算资源。 LoRA(低秩适应):只训练小的适配器,减少内存使用和训练时间,非破坏性。 QLoRA:LoRA 的扩展,提供更高的内存节省,适合 GPU 内存受限的情况,但训练时间更长。 微调 Llama 3.1 8B 的过程: 使用 Unsloth 库进行高效微调,支持单 GPU 设置,提供更快的训练速度和更低的内存使用。 训练使用了 mlabonne/FineTome-100k 数据集,经过处理后应用 ChatML 模板。 训练参数和过程: 训练使用 A100 GPU,耗时约 4 小时 45 分钟,建议在资源有限的情况下加载数据集的子集以加快训练。 主要超参数包括学习率、批量大小、训练轮数等,使用 AdamW 8-bit 优化器。 模型评估与保存: 训练完成后,通过简单的提示测试模型性能,并使用 Unsloth 提供的保存方法将训练好的模型上传到 Hugging Face Hub。 文章还提到量化模型的不同格式以便于在推理引擎中使用。 后续步骤建议: 评估模型性能,进行偏好对齐,量化以提高推理速度,或在 Hugging Face Space 部署模型。 使用 Unsloth 超高效微调 Llama 3....

August 21, 2024 · 4 min · fisherdaddy

AI 时代的代码编辑器: Cursor

Cursor 是什么 Cursor 是名为 Anysphere 的初创公司开发的基于 AI 驱动的代码编辑器,按官方的原话是:Cursor is an IDE designed to pair-program with AI. Anysphere 是在 2022 年由 Michael Truell、Sualeh Asif、Arvid Lunnemark 和 Aman Sanger 在麻省理工学院就读期间共同创立。该公司的愿景是致力于构建极其高效的人类人工智能系统。首先要打造的是未来工程师:一位人类人工智能程序员,其效率比任何一位工程师都要高一个数量级。 2023 年 9 月该公司筹集了由 OpenAI Startup Fund 领投的 1100 万美元种子轮融资,前 GitHub 首席执行官 Nat Friedman、Dropbox 联合创始人 Arash Ferdowsi 和其他天使投资者参与了投资。其中,OpenAI 投资 800 万美元,占该轮融资的 72.7%。 据消息称 2024 年 8 月该公司又获得了重要的 6000 万美元的 A 轮融资,估值达到 4 亿美元主要投资者包括 Andreessen Horowitz、Thrive Capital 和 Stripe 的 CEO Patrick Collison。...

August 20, 2024 · 2 min · fisherdaddy

苦涩的教训 • Richard S. Sutton

本文由 Rich Sutton 撰写,强调了在人工智能(AI)研究中,利用计算能力的通用方法是最有效的。这一结论主要归因于摩尔定律,即计算成本的持续下降。尽管研究者们倾向于依赖人类知识来提高短期性能,但长期来看,依赖计算能力的提升才是关键。文章通过计算机国际象棋、围棋、语音识别和计算机视觉等领域的案例,说明了过度依赖人类知识的方法最终会限制进步,而真正的突破往往源于对计算能力的有效利用。 计算机国际象棋: 1997 年,计算机通过深度搜索击败了国际象棋世界冠军卡斯帕罗夫。尽管研究者们希望基于人类理解的复杂方法能获胜,但简单的搜索方法最终显示出更大的有效性。 计算机围棋: 类似的情况在围棋中也出现。研究者们最初投入大量精力试图避免搜索,依赖人类知识,但最终通过大规模搜索和自我对弈学习取得了成功。 语音识别: 1970年代,DARPA 赞助的语音识别比赛中,基于人类知识的特殊方法未能胜出,统计方法(如隐马尔可夫模型)获得了成功。深度学习的兴起进一步表明,依赖计算和学习的统计方法在语音识别中占据主导地位。 计算机视觉: 早期的视觉识别方法侧重于寻找边缘和特征,而现代深度学习神经网络则采用卷积等更为通用的方法,表现出更好的效果。 总结教训: AI 研究者常常试图将人类知识嵌入到系统中,短期内有效但长期会导致停滞。真正的进步来自于通过搜索和学习来扩展计算能力。 研究者应认识到,思维内容的复杂性无法简单化,应该构建能够捕捉复杂性的元方法,而不是试图将已有发现直接嵌入AI系统中。 痛苦的教训 Rich Sutton 2019年3月13日 从70年的AI研究中,我们学到的最重要的一课是:利用计算资源的通用方法最终是最有效的,且远胜其他方法。其背后的根源在于摩尔定律的延伸,即计算成本的持续指数级下降。大多数AI研究都是在假设智能体的计算能力固定的前提下进行的(在这种情况下,借助人类知识是提升性能的主要途径),但在稍长于常规研究周期的时间内,计算能力必然会大幅增长。研究人员为了在短期内见效,往往选择依赖领域专家的知识,然而从长远来看,唯一重要的还是如何最大化利用计算资源。这两种方法理论上并不冲突,但实际中常常是对立的。花在一种方法上的时间会挤占另一种方法的研究,而研究者对某种方法的投入往往带有心理上的偏好。基于人类知识的方法通常会使系统变得更复杂,从而削弱了其利用计算资源的能力。AI研究领域中,研究者往往是经历了多次失败后,才领悟到这一“痛苦的教训”,这里回顾一些经典的案例很有启发意义。 在计算机象棋领域,1997年击败世界冠军卡斯帕罗夫的方法主要依赖于大规模深度搜索。当时,大多数象棋AI研究者对这种方式感到不满,因为他们一直专注于基于人类对象棋结构理解的方法。当一种简单的搜索策略结合专用硬件和软件,证明其效果远胜于人类知识驱动的方法时,这些研究者无法接受。他们声称“蛮力”搜索可能赢了这一局,但这并不是一个通用策略,也不符合人类下棋的方式。这些研究者希望基于人类知识的方法取胜,结果却让他们失望。 类似的研究进展也出现在计算机围棋领域,只是时间上晚了20年。起初,大量研究尝试通过利用人类知识或围棋的特殊规则来避免搜索,但随着大规模搜索的有效应用,这些努力都变得无关紧要,甚至产生了负面影响。另一个重要的因素是通过自我对弈学习价值函数(这一点在其他许多游戏中也适用,甚至在1997年击败世界冠军的象棋程序中,只是学习并未起主要作用)。自我对弈学习和一般意义上的学习,像搜索一样,能够充分发挥计算资源的威力。搜索和学习是AI研究中利用大规模计算资源的两大关键技术。在计算机围棋领域,与象棋类似,研究者们最初将精力放在如何通过人类理解来减少搜索需求,但最终接受搜索和学习后才取得了更大的成功。 在语音识别领域,20世纪70年代有一场由DARPA赞助的竞赛。参赛者中包括了许多基于人类知识的特殊方法,如对单词、音素和人类声道的理解。而另一派则是基于隐马尔可夫模型(HMM)的新方法,这些方法更依赖统计计算。最终,统计方法胜过了基于人类知识的方法。这场胜利引发了整个自然语言处理领域的变革,统计学和计算逐渐占据主导地位。深度学习在语音识别中的崛起是这一趋势的最新发展。深度学习方法更少依赖人类知识,更多依赖大规模计算和海量数据训练,极大提升了语音识别的效果。与游戏领域类似,研究者们总是试图让系统模仿他们的思维方式,将人类知识嵌入系统中,但事实证明,当摩尔定律带来的计算能力大量涌现,且有了更好的利用方式后,这种做法是无效的,甚至浪费了大量研究者的时间和精力。 在计算机视觉领域,也有类似的模式。早期方法将视觉理解为寻找边缘、通用圆柱体或基于SIFT特征。然而如今,这些方法已经被淘汰。现代深度神经网络仅依赖卷积和某些不变性概念,且效果远超前人。 这是一个重要的教训。作为一个领域,我们还没有完全吸取这课,因为我们仍在重复类似的错误。要认识到并有效避免这些错误,我们需要理解这些错误背后的吸引力。我们必须吸取这个“痛苦的教训”:试图模拟我们自认为的思维方式,从长远来看是行不通的。这一教训基于几个历史事实:1)AI研究者往往试图将知识直接嵌入智能体中,2)这种方法在短期内总是有效且令人满意,3)但从长远来看,这种方法会停滞甚至阻碍进一步进展,4)突破性进展最终通过相反的方法实现,即通过搜索和学习扩展计算能力。这种成功往往伴随着苦涩,因为它取代了人们更偏好的以人为中心的路径。 从这个“痛苦的教训”中应当汲取的一点是,通用方法的巨大潜力,这些方法可以随着计算能力的增加而不断扩展。搜索和学习是两种在这方面表现出无限扩展性的技术。 另一个从“痛苦的教训”中得出的普遍原则是,心智的实际内容极其复杂且难以简化;我们应该停止试图用简单的方法去理解心智内容,如空间、物体、多智能体或对称性的简单模型。这些都是外部世界中任意且本质上复杂的一部分,不应被直接嵌入系统中,因为它们的复杂性是无穷无尽的;相反,我们应该只嵌入能够发现和捕捉这种任意复杂性的元方法。这些方法的核心在于它们能够找到良好的近似解,但这个寻找过程应该由我们的元方法完成,而非我们手动设计。我们需要的是像我们一样能发现新知识的AI智能体,而不是简单地包含我们已有知识的系统。嵌入已有的发现只会使我们更难理解发现过程的本质。

August 18, 2024 · 1 min · fisherdaddy

Google 前创始人埃里克·施密特在斯坦福 CS323 访谈的核心认知摘要

本访谈发生于 2024 年 4 月 9 日,在 2024 年8 月 13 日在 Youtube 上放出录播视频,但因为其中提到的 Google AI 落后的大实话而引起网络热议,视频没过两天就被下架了,我上传了一份在 X 上,感兴趣大家可以看原视频。这里也有一个我用 AI 制作的带中文字幕版,也可以测合着看 。 施密特讲他每六个月都会调整一次对 AI 的看法,他举了一个例子:“六个月前,我还确信前沿 AI 模型与其他模型的差距在缩小,所以我在一些小公司投入了大量资金。现在我就不敢确定了。” 短期内人工智能的发展(1-2年) 上下文窗口的扩展、Agent、文本到行动(Text to Action) 上下文窗口 上下文窗口可以理解为短期记忆。长上下文窗口很好的解决了 LLM 的时效性问题。 当前的模型通常18个月的时间来训练,准备 6 个月,训练 6 个月,微调 6 个月,所以他们的信息总是过时的,而长上下文窗口可以反馈最新发生了什么给 LLM,它可以变得像 Google 一样实时。 Agent Agent的定义:执行某种任务的东西。另一种定义是内存中的一个LLM的状态。 施密特建立了一个基金会,资助了一家非盈利组织,有个工具叫ChemCrow,它是一个基于 LLM 的系统,用于学习化学知识。有个实验室晚上用它进行测试、然后把测试结果让 LLM 学习,目前他们会运行这个系统,生成关于蛋白质的化学假设,这对化学和材料科学领域都是一个巨大的加速器,这就是Agent。 文本到行动 文本到行动的定义:从自然语言到Python语言,也就是根据人类描述自动写程序。 文本到行动可以理解为有大量廉价的程序员,如果每个人都有一个自己专属的AI程序员的话,会发生什么呢? 假设你不喜欢Google,那么可以让 AI 程序员给你 copy 一个 Google 程序:搜索网页、用户界面、写好文案 。很多人认为,包括Google在内的现有公司在这种攻击下是脆弱的 。 他还列举了一个TikTok的例子,“给我做一个 TikTok 的复制品。吸引所有用户,拿下所有音乐,加上我的偏好,30 秒内做出来并发布。如果一个小时内不火,就做出类似的调整继续尝试。” 施密特认为当agent和文本到行动可以规模交付时,它会对世界产生没有人能理解的影响。这个影响远大于社交媒体所造成的影响。这三件事情(上下文窗口的扩展、agent、文本到行动)的结合将在下一个浪潮中发生。 这种不确定性还体现在所需投资的规模上。头部 AI 公司正在讨论“100 亿、200 亿、500 亿甚至 1000 亿美元”的需求。Sam Altman 认为可能需要“约 3000 亿美元,甚至更多”。这些数字不仅代表资金投入,还意味着巨大的能源消耗,可能会重塑地缘政治格局。只靠美国没有足够的电力来支撑这件事。所以,美国应该和加拿大搞好关系,因为他们那有大量的水和电。至于钱,需要让阿拉伯国家来资助。...

August 17, 2024 · 1 min · fisherdaddy

LLM 中的外部幻觉 • Lilian Weng

本文是 OpenAI 安全系统团队负责人 Lilian Weng 所写,主要探讨了大型语言模型(LLMs)中的外部幻觉(Extrinsic Hallucinations),即模型生成的内容未能与提供的上下文或世界知识相一致。幻觉问题被细分为两种类型:上下文幻觉和外部幻觉。外部幻觉关注的是模型输出是否基于预训练数据集,并强调模型需要具备事实性和在不知情时能够承认不知道的能力。文章还讨论了幻觉的成因、检测方法以及改进策略。 幻觉的定义与类型: 上下文幻觉:模型输出应与上下文中的源内容一致。 外部幻觉:模型输出应基于预训练数据集,且应与外部世界知识相符合。 幻觉的成因: 预训练数据问题:预训练数据量庞大,通常来自公共互联网,可能包含过时或错误的信息。 微调新知识:在微调阶段引入新知识可能导致模型学习速度较慢,并增加幻觉的可能性。 幻觉检测方法: FactualityPrompt:通过维基百科文档作为事实基础来评估模型输出的真实性。 FActScore:将生成内容分解为多个原子事实,并分别验证其真实性。 改进策略: 检索增强生成(RAG):通过检索相关文档来为模型生成提供支持信息。 自我反思检索增强生成(Self-RAG):模型在生成内容时自我反思并检索相关文档。 验证链(CoVe):模型生成初步响应后,通过设计验证问题进行事实检查。 评估基准: 文章提到了一些用于评估模型幻觉的基准数据集,如 TruthfulQA、FactualityPrompt 和 SelfAware。 LLM 中的外部幻觉 在大语言模型 (LLM) 中,"幻觉" 通常指的是模型生成不真实、捏造、不一致或无意义的内容。这个术语被广泛用于描述模型犯错的情形。在这里,本文将"幻觉"的问题范围限定在模型输出是虚构的,并且无法通过给定的上下文或世界知识加以验证的情况。 幻觉可以分为两类: 上下文幻觉:模型输出应该与上下文中的源内容保持一致。 外部幻觉:模型输出应基于预训练数据集中的知识。然而,考虑到预训练数据集的庞大规模,每次生成时检索并识别潜在冲突的成本过高。如果我们将预训练数据集视为世界知识的代理,我们实际上是在尝试确保模型输出的内容是事实,并且能够通过外部世界知识进行验证。更重要的是,当模型不清楚某个事实时,它应当如实承认。 本文的重点在于外部幻觉。为了避免幻觉,LLM 需要做到以下两点:(1) 输出内容基于事实,(2) 在适当的情况下承认自己不知道答案。 幻觉的成因是什么? 一个标准的 LLM 通常会经历预训练和后续的微调(如对齐优化)的过程,因此我们将在这两个阶段探讨幻觉产生的原因。 预训练数据问题 预训练数据集的规模非常庞大,其目的是涵盖几乎所有书面形式的世界知识。由于大多数数据来自公开的互联网,难免存在过时、缺失或错误的信息。模型在最大化对数似然的过程中可能错误地记住这些信息,导致在生成时出现错误。 引入新知识的微调 通过监督微调 (Supervised Fine-Tuning) 和 RLHF 对预训练模型进行微调是提高模型特定能力(如指令遵从性)的常见方法。然而,在微调阶段引入新知识几乎是不可避免的。 微调通常消耗的计算资源较少,因此关于通过小规模微调来可靠地学习新知识这一点存在争议。Gekhman 等人(2024) 研究了微调 LLM 是否会促进幻觉的产生。他们发现:(1) LLM 在学习包含新知识的微调样本时比其他与模型现有知识一致的样本要慢;(2) 一旦这些新知识被模型学会,模型产生幻觉的可能性反而增加。 在一个闭卷问答数据集(如 EntityQuestions)上,我们可以通过随机少样本示例和设置不同解码温度的方式,估计模型准确生成正确答案的概率。他们根据这一概率将数据分为四类:已知 组(其中包括高度已知、可能已知和弱已知三种子类别)以及 未知 组。 图 1. 闭卷问答示例的知识分类,基于模型输出正确答案的可能性。(图片来源:Gekhman 等人 2024) 实验中,一些基于开发集准确率的有趣发现可作为幻觉的代理指标:...

August 16, 2024 · 6 min · fisherdaddy