开源 AI 是未来的发展方向 • Mark Zuckerberg

Mark Zuckerberg 认为开放源代码的人工智能(AI)是未来发展的关键。他将开放源代码与早期的 Unix 操作系统进行比较,指出 Linux 的成功是因为其开放性和可修改性。Zuckerberg 预见,开放源代码的 AI 将在未来发展得更快、更安全,并且能够满足不同组织的需求。他强调 Meta 正在积极推动开放源代码 AI 的标准化,特别是通过推出 Llama 3.1 系列模型,以便更广泛地支持开发者和企业。 开放源代码的优势: 开放源代码允许开发者根据自身需求训练和调整模型,避免被锁定在封闭的供应商生态中。 组织可以在本地运行模型,保护敏感数据,提升安全性。 Llama 3.1 405B 模型的运行成本约为封闭模型(如 GPT-4o)的 50%,使其在经济性上具有竞争力。 Meta 的战略: Meta 通过开放源代码 AI 确保技术的可获取性,避免被竞争对手的封闭生态系统限制。 开放源代码的 Llama 模型将促进生态系统的发展,包括与 Amazon、Databricks 和 Nvidia 等公司的合作。 开放源代码对世界的影响: 开放源代码 AI 可以更广泛地分配技术利益,减少权力集中在少数公司手中。 Zuckerberg 认为开放源代码的透明性使其在安全性上优于封闭模型f,能够更好地应对潜在的意图和非意图的危害。 未来展望: Meta 计划通过构建内部团队和合作伙伴关系,推动 Llama 模型的广泛应用,期望在行业内引发开放源代码 AI 的广泛使用。 Zuckerberg 强调,开放源代码 AI 是促进经济机会和安全的最佳途径,呼吁大家共同参与这一进程。 开源 AI 是未来的发展方向 在高性能计算的早期,主要的科技公司都大力投资开发各自的封闭源代码版本的 Unix。当时很难想象有其他方法能开发出如此先进的软件。然而,后来开源的 Linux 逐渐受到欢迎——最初是因为它允许开发者随意修改代码且成本更低,随着时间的推移,它变得更加先进、安全,并拥有更广泛的生态系统,支持的功能比任何封闭的 Unix 都要多。今天,Linux 已成为云计算和大多数移动设备操作系统的行业标准基础——我们都因此受益,享受到更优质的产品。 我相信 AI 将以类似的方式发展。今天,几家科技公司正在开发领先的封闭模型,但开源正在迅速缩小差距。去年,Llama 2 仅相当于前沿后面的一代模型。今年,Llama 3 已经能够与最先进的模型竞争,并在某些领域中表现出色。从明年开始,我们预计未来的 Llama 模型将成为行业中最先进的模型。但即使在此之前,Llama 已经在开放性、可修改性和成本效益方面处于领先地位。...

July 25, 2024 · 2 min · fisherdaddy

少样本提示提高工具调用效率 • Langchain

本文探讨了通过“少量示例提示”(few-shot prompting)来提高大型语言模型(LLM)在调用工具时的性能。研究表明,少量示例提示能够显著提升模型在多种任务上的表现。通过一系列实验,作者分析了不同提示构造方式对模型性能的影响,发现选择合适的示例和格式化方式是提高性能的关键。 实验设置 研究使用了两个数据集进行实验:Query Analysis 和 Multiverse Math。Query Analysis 测试模型如何基于用户问题选择搜索索引,而 Multiverse Math 则考察模型在更复杂的多次调用场景中的表现。 少量示例提示技术 实验中采用了多种少量示例提示技术,包括零-shot、静态和动态消息等方式。结果表明,动态选择的示例通常优于静态示例,且使用消息格式的表现优于字符串格式。 性能评估 通过检查工具调用的召回率和参数的匹配程度来评估模型的表现。实验结果显示,少量示例提示普遍提高了模型的准确性,尤其是 Claude 模型的表现提升显著。 关键发现 使用少量相关示例(如 3 个)可以与使用更多示例(如 9 个)达到相似的效果,显示出示例数量的边际效益递减。此外,小型模型在使用少量示例时,表现能够与大型模型相媲美。 未来研究方向 文章提出了未来的研究问题,包括负面示例的效果、最佳的示例检索方法以及在复杂任务中如何选择示例等,鼓励开发者探索更多优化 LLM 性能的可能性。 少样本提示提高工具调用效率 工具是大语言模型 (LLM) 应用的重要组成部分,我们一直在努力改进 LangChain 的工具接口(参见我们关于 标准化工具调用 和 核心工具改进 的文章)。 我们还在研究如何 提升 LLM 工具调用的性能。一种常见的方法是使用 少样本提示,即在提示中加入示例输入和期望输出。研究表明,少样本提示能显著提升模型在多种任务中的表现。 构建少样本提示的方法很多,但缺乏最佳实践。我们进行了几次实验,探讨不同技术如何影响模型和任务的性能,愿意与大家分享我们的结果。 实验 我们在两个数据集上进行了实验。第一个数据集是 Query Analysis,这是一个标准场景,模型根据用户问题调用不同的搜索索引。第二个数据集是 Multiverse Math,测试在更智能化的 ReAct 工作流程中进行函数调用(涉及对 LLM 的多次调用)。我们对多个 OpenAI 和 Anthropic 模型进行了基准测试,尝试用不同方法提供少样本示例,以找到最佳方案。 查询分析 第二个数据集要求模型选择调用哪个搜索索引。为了正确查询数据源,模型需要一些领域知识并细致理解各数据源的内容类型。问题设计得非常复杂,以挑战模型的工具选择能力。 示例数据点 question: What are best practices for setting up a document loader for a RAG chain?...

July 25, 2024 · 3 min · fisherdaddy

精益创业方法的优点与不足 • Ethan Mollick

本文探讨了“精益创业法”(Lean Startup Method)的优缺点,强调了在创业过程中进行实验的重要性,同时指出该方法在某些方面可能导致创业者的误导。作者认为,创业教育可以通过结合科学方法和最新研究成果,帮助创业者更成功地启动和发展他们的企业。 精益创业法的核心理念: 由 Steve Blank 和 Eric Ries 提出的精益创业法强调行动导向,鼓励创业者通过“商业模式画布”识别商业假设,并快速构建最小可行产品(MVP)进行测试。 创业者需根据反馈不断调整产品和市场,直到实现产品与市场的契合。 实验的重要性: 意大利学者的研究表明,采用科学方法进行系统性实验的创业团队表现更佳,能够更有效地进行调整并实现更高的收入。 精益创业法的局限性: 强调快速与客户沟通可能导致创业者过于关注短期反馈,而忽视了创新产品的潜在市场需求。 “商业模式画布”虽然有助于了解客户,但未能引导创业者思考其独特的商业假设,可能掩盖了创业想法的真正价值。 改进建议: 引用 Joshua Gans 等人的研究,建议创业者在进行实验之前先制定战略,明确为何自己的公司能够成功,从而更有效地进行实验和获取突破性见解。 结合科学方法和最新的学术研究,能够帮助创业者更成功地推出基于证据的创业项目。 精益创业方法的优点与不足 当别人知道我是创业学教授时,他们往往会让我听听他们的创业计划,或者疑惑地说:“创业不是应该即兴发挥吗?怎么还能教呢?”因此,我听了很多创业计划(去年是区块链,今年是CBD),但我也在思考如何回答一个更大的问题:我们能教给创业者什么,让他们的创业更成功?幸运的是,过去十年我从两个不同的来源学到了很多宝贵的经验。 第一个来源是由Steve Blank和Eric Ries开创的精益创业方法(Lean Startup Method),这方法在六年前由Blank在哈佛商业评论中详细介绍。简而言之,精益创业方法提出,成功创业的关键在于偏向行动。创始人应首先使用商业模式画布(Business Model Canvas)来理解其业务背后的假设,这需要他们填写九个涵盖“价值主张”和“客户细分”等主题的方框。然后,他们将关键问题转化为可测试的假设,快速且廉价地构建最小可行产品(MVP)来测试这些假设。如果测试证明假设正确,那就继续;否则,他们应调整方向,根据反馈修改产品或市场,直到找到产品与市场的最佳匹配,证明产品有市场需求。 精益创业方法在硅谷一经推出便大受欢迎,初创企业纷纷接受这种新的实验精神。这种方法也相对容易教授,因此成为各地创业加速器和创业课程的常见内容。但精益创业并不是过去十年中唯一的重大变化,另一个较为低调的革命也在进行。学者们凭借更好的数据、更复杂的分析技术和新方法,开始破解创业成功的密码。传统的智慧正在接受检验。(创业公司是否总是需要联合创始人?年轻人是否更适合做创始人?)我们已经开始对精益创业方法有了一些重要的认识。 首先,好消息是!证据强烈表明,初创企业应按照精益创业方法所倡导的方式进行实验。一组意大利学者进行了一项黄金标准的随机对照实验,研究了116家初创企业。半数企业学习了如何对他们的创业想法进行严格的实验,生成假设并系统地测试它们。另一半企业虽然也学习了实验方法,但没有被教导如何使用科学方法生成假设。像科学家一样行动的那组企业表现得更好——转向更多,避免了问题,最终产生了比对照组更高的收入。严格的实验显然对初创企业的成功至关重要。 然而,其他研究表明,精益创业方法的某些方面实际上可能是有害的。在一篇新论文中,一组著名的创业学者指出了这种方法的两个主要问题: 精益创业鼓励创始人“走出办公室”并尽快与客户交谈。但正如Steve Jobs所说:“知道自己想要什么不是客户的工作。”对快速从客户那里获取反馈的关注,使初创企业倾向于追求渐进式改进,关注客户今天的需求,而不是展望未来。此外,许多研究(例如Clay Christensen关于颠覆性创新的研究)表明,新颖性常常最初不受客户欢迎。如果你的想法是突破性的,而不是一个容易解释的渐进式产品,那么寻求早期客户的外部验证会更加困难。 这个问题被商业模式画布所加剧。虽然画布所问的问题很有用——你应该知道你的客户是谁!——但它没有问最重要的问题:基于你的独特知识和信念,你对世界的假设是什么?填写画布的九个方框反而让你专注于创业过程结束时的样子——当你有了复杂的渠道和供应商关系等等——但在精益创业方法中没有达到这一最终状态的路线图。此外,画布的详细业务要素掩盖了使你的想法与众不同的真正见解。看看LinkedIn完成的众多画布示例,你会发现其中没有一个展示出使公司成功的关于网络和简历的特殊见解。为了生成关于你的创业为何独特的理论,你应该回到科学方法。从观察世界开始,利用你的观察生成理论,思考如何通过你的创业想法改变世界。 那么,如何保留精益创业的优点而不保留其缺点呢?去年HBR的一篇文章提供了一条路径。Joshua Gans、Erin L. Scott和Scott Stern从企业战略研究中汲取灵感,提出了一种新的、更有效的创业实验方法。他们提供了一种以战略为起点的方法——一个关于你公司为何会成功的理论——并根据创始人的选择,建议进行合适的实验。通过将关键的突破性见解的开发权还给创始人而不是客户,这种方法有潜力成为精益创业的下一步进化。 有了这些新工具和证据,我们真的可以教人们启动更成功的基于证据的初创企业。这些初创企业不仅仅是像精益创业方法那样收集证据,还基于最新的学术证据,来提高创业者的成功率。

July 24, 2024 · 1 min · fisherdaddy

Elon Musk 的“五步算法”:一个显著改善几乎所有事情的简单而巧妙的方法

每个人都有犯错的时候,无论是谁,这都是很常见的现象,也许是世界上最常见的错误。 对于聪明的工程师来说,一个常见的错误是优化一个不应该存在的东西。为什么会这样呢?因为每个人在高中和大学,在高中和大学里,被训练了一种僵化的思维模式,那就是解题思维,解题一种收敛的逻辑,而非发散的逻辑。你不可能跟教授说你的问题太愚蠢了,那样你就可能被挂科。你必须接受教授的问题,并努力解答。因此,基本上每一个人,都在不知不觉中戴上了一个“精神枷锁”,这就是:竭尽全力的工作,却在优化优化那些根本不应该存在的东西。 为了解决以上问题,我提倡一种严格执行的五步法。 第一步:确保你的需求不那么愚蠢。通常来说,你的需求都十分愚蠢,这无关谁提出来的。如果是聪明人给你的需求和任务往往会更加危险,更有问题。因为,你甚至都不会质疑这些聪明人。 第二步:尽力去除不必要的部分和流程,这一步非常重要。如果你没有偶尔重新添加一些内容,那么说明你删除的还不够彻底。一种常见的误区是:很多流程中添加的部分都是为了以防万一,但实际上,你可以为许多事情做出类似的以防万一的理由。 第三步:简化或优化,注意是第三步,而不是第一步,否则他们就会优化一个根本不存在的东西。 第四步:加快进度。你的行动太慢了,要快速行动,但不要在前三步还没做好的时候就急于加速。 第五步:自动化。 我个人曾多次在这五个步骤上犯错,所以我必须不断提醒自己,这个过程需要反复进行。 Elon Musk 的“五步算法”:一个显著改善几乎所有事情的简单而巧妙的方法 Elon Musk 称之为“算法”,这是他在 Tesla 的内华达和弗里蒙特工厂不懈提高生产能力过程中总结的经验教训的精华。 根据 Walter Isaacson 在他的新书 Elon Musk 中的说法,Musk 在任何生产会议上都有很大的可能性提到这个算法。 “我经常重复这个算法,”Musk 说。“但我认为不断强调它是有帮助的。” 下次当你想在工作或生活中变得更高效时,可以试试 Musk 的算法。只需确保按照顺序完成每一步。(下面斜体部分是从 Isaacson 的书中引用的,引用了 Musk 的话。) 1. 质疑每一个需求。 每一个需求都应该附有提出该需求的人的名字。你永远不应该接受一个来自某个部门的需求,例如“法律部门”或“安全部门”。你需要知道具体是谁提出的需求。然后你应该质疑它,不管这个人多聪明。来自聪明人的需求反而最危险,因为人们不太可能质疑它们。即使是来自我的需求,也要质疑。 然后让这些需求变得不那么愚蠢。 当我接管一家新工厂的生产时,主管们必须在生产线启动前签署质量确认。工作人员经常需要等待五到十分钟才能找到主管 (这也是需要解决的另一个问题;领导者应该在车间,而不是在办公室里)。 为什么会有这个规定?公司 CEO 在一次昂贵的错误之后制定了这个规则。但如果操作员不能被信任判断他们的工作是否符合质量标准,他们就不应该 成为 操作员。 许多规定都是基于一次性事件,不需要以流程、指导方针或规则来回应。相反,只需处理特定情况。 从中学习,但不要因为个别事件就制定一成不变的规定。 2. 删除你能删除的任何部分或过程。 你可能需要后来加回来。事实上,如果你没有最终加回至少 10% 的部分,那么你删除得还不够多。 当我第一次成为主管时,我的一项工作是准备、打印并分发一份每日报告给大约 20 人。整个过程花费了一个多小时。有一天,我想知道是否有人实际上读了这份报告,所以我创建了它,但没有打印或分发。 没有人注意到。 所以我停止分发其他一些报告。创建了它们,但没有分发。没有人注意到。 我们经常做事情只是因为我们一直这样做。或者因为我们认为需要这样做。或者因为这是我们的工作,因此它必须很重要。(我们的工作中的每一件事都很重要,对吗?) 3. 简化和优化。 这应该在第二步之后进行。一个常见的错误是简化和优化一个不应该存在的部分或过程。 在我停止分发那些报告的几周后,我问了一些人是否需要我再次分发这些报告。不需要。然后我问我们是否还需要收集相关数据。在大多数情况下,我们不需要,因为它已经在其他地方被收集。(我的部门一直在做重复工作,因为我们认为我们不能信任其他部门把它做对。) 在一些情况下,我们确实偶尔需要某些数据,所以我找到了自动化收集过程的方法。我还找到了一个让生产人员不参与数据收集过程的方法,这意味着他们可以花更多时间生产,而不是充当数据录入员。 正如你马上会看到的,确保你不会自动化或优化一个根本不需要存在的过程。当然,通过使某件事变得更好,你可以取得百分比上的改进,但为什么不通过完全消除不必要的过程来节省 100% 的时间、精力和成本呢? 4. 加快周期时间。 每个过程都可以加速。但只有在你遵循前三个步骤之后才这样做。在 Tesla 工厂,我错误地花了很多时间加速后来发现应该被删除的过程。...

July 23, 2024 · 1 min · fisherdaddy

反思型智能体 • Langchain

反思是一种用于提高代理和类似 AI 系统质量与成功率的提示策略。本文概述了如何使用 LangGraph 构建 3 种反思技术,包括 Reflexion 和语言代理树搜索的实现。 关键链接 简单反思: (Python)反思: (Python)语言智能体树搜索: (Python)Youtube反思是一种提示策略,用于提升智能体和类似 AI 系统的质量和成功率。它通过提示大语言模型(LLM)反思和批评其过去的行为,有时还会结合外部信息,如工具观察。 人们常提到“系统1”和“系统2”思维,系统1是反应迅速或本能的,而系统2则更为有条理和反思性。正确应用反思,可以帮助 LLM 系统摆脱纯粹的系统1思维模式,表现出更接近系统2的行为。 反思需要时间!本文中的方法都用了一些额外的计算换取更好的输出质量。虽然这可能不适合低延迟应用,但对于知识密集型任务,响应质量比速度更重要,确实值得这样做。 以下是三个示例: 基本反思 链接: (Python, Youtube) 这个简单示例由两个 LLM 调用组成:一个生成器和一个反思器。生成器尝试直接响应用户请求,反思器则扮演老师角色,对初始响应提供建设性的批评。 循环进行固定次数后,返回最终生成的输出。 简单反思循环 我们可以在 LangGraph 中定义以下循环: from langgraph.graph import MessageGraph builder = MessageGraph() builder.add_node("generate", generation_node) builder.add_node("reflect", reflection_node) builder.set_entry_point("generate") def should_continue(state: List[BaseMessage]): if len(state) > 6: return END return "reflect" builder.add_conditional_edges("generate", should_continue) builder.add_edge("reflect", "generate") graph = builder.compile() MessageGraph 表示一个有状态图,其中“状态”只是一个消息列表。每次调用生成器或反思节点时,它会将一条消息添加到状态的末尾。最终结果由生成器节点返回。 这种简单的反思方式有时可以通过让 LLM 多次尝试改进输出,并让反思节点在批评输出时扮演不同角色,从而提高性能。 然而,由于反思步骤不依赖于任何外部过程,最终结果可能不会显著优于原始结果。我们来探索一些可以改善这一情况的其他技术。 反思 链接:(Python, Youtube)...

July 22, 2024 · 2 min · fisherdaddy

关于智能体、认知架构 、规划 • LangChain

本文是 LangChain 官方发布的关于 Agent 的系列文章,这里我将其汇总和翻译了一下 什么是智能体? “什么是智能体?” 我几乎每天都会被问到这个问题。在 LangChain,我们构建工具来帮助开发人员构建大语言模型 (LLM) 应用程序,尤其是那些作为推理引擎并与外部数据和计算源交互的应用程序。这类系统通常被称为“智能体”。 每个人对智能体的定义似乎都有些不同。我的定义可能比大多数人的更技术化: 智能体是使用 LLM 来决定应用程序控制流的系统。 即便在这里,我也不得不承认我的定义并不完美。人们常常认为智能体是高级的、自主的、类人的——但如果只是一个简单系统,其中大语言模型 (LLM) 在两条路径之间进行选择呢?这虽然符合我的技术定义,但并不符合大家对智能体能力的普遍认知。智能体到底是什么,确实很难准确定义! 这就是为什么我非常喜欢 Andrew Ng 上周的推文。在推文中,他建议“与其争论哪些工作应该包含或排除为真正的智能体,我们可以承认系统的智能行为有不同的程度。”就像自动驾驶汽车有不同的自动驾驶级别一样,我们也可以将智能体的能力视为一个光谱。我非常同意这个观点,我认为 Andrew 表达得很好。未来,当有人问我什么是智能体时,我会转而讨论什么是“智能行为”。 智能行为是什么意思? 去年我做了一个关于 LLM 系统的 TED 演讲,并使用下面的幻灯片来讨论 LLM 应用程序中存在的不同自主级别。 一个系统越“智能”,LLM 决定系统行为的程度就越高。 使用 LLM 将输入路由到特定下游工作流具有一定程度的“智能”行为。这会在上图的Router类别中。 如果你使用多个 LLM 进行多个路由步骤?这会介于Router和State Machine之间。 如果其中一个步骤是确定是否继续或结束——有效地允许系统在完成之前循环运行?这会属于State Machine。 如果系统正在构建工具,记住这些工具,然后在未来的步骤中使用它们?这类似于Voyager 论文中实现的,非常智能,属于更高的Autonomous Agent类别。 这些“智能”定义仍然非常技术化。我更喜欢“智能”的技术定义,因为我认为它在设计和描述 LLM 系统时很有用。 为什么“智能”是一个有用的概念? 与所有概念一样,值得问的是我们为什么需要“智能”这个概念。它有何帮助? 了解你的系统有多智能可以指导你在开发过程中的决策——包括构建、运行、与之交互、评估甚至监控它。 你的系统越智能,编排框架就越有帮助。如果你正在设计一个复杂的智能系统,拥有一个具有正确抽象概念的框架可以加速开发。这个框架应该对分支逻辑和循环有一流的支持。 你的系统越智能,运行就越困难。它会越来越复杂,某些任务将需要很长时间才能完成。这意味着你会希望将任务作为后台运行。这也意味着你希望有持久的执行能力来处理中途发生的任何错误。 你的系统越智能,你就越希望在运行时与它交互。你会希望能够观察内部发生的情况,因为所采取的确切步骤可能事先未知。你会希望能够在特定时间点修改智能体的状态或指令,如果它偏离了预定路径,可以将其拉回正轨。 你的系统越智能,你就越希望有一个为这些类型的应用程序构建的评估框架。你会希望多次运行评估,因为有大量随机性叠加。你会希望能够不仅测试最终输出,还测试中间步骤,以测试智能体的效率。 你的系统越智能,你就越希望有一个新型的监控框架。你会希望能够深入了解智能体所采取的所有步骤。你还会希望能够根据智能体所采取的步骤查询运行情况。 了解和利用系统中的智能能力光谱可以提高开发过程的效率和健壮性。 智能是新的 我经常思考的一个问题是,在这场热潮中,什么是真正新的。我们是否需要为人们构建的 LLM 应用程序提供新工具和新基础设施?还是以前的通用工具和基础设施就足够了? 对我来说,你的应用程序越智能,拥有新工具和基础设施就越关键。这正是促使我们构建LangGraph,一个帮助构建、运行和交互智能体的编排器,以及LangSmith,一个用于 LLM 应用程序的测试和可观测性平台。随着我们在智能光谱上不断前进,支持性工具的整个生态系统需要重新构想。 什么是“认知架构”? 更新:有几位读者指出,“认知架构”这个术语在神经科学和计算认知科学中有丰富的历史。根据维基百科的定义,“认知架构”既指关于人类心智结构的理论,也指这种理论的计算实现。这个定义(以及相关的研究和文章)比我在这里提供的定义更为全面。所以这篇博客应该被视为我在过去一年中构建和帮助构建基于大语言模型 (LLM) 应用程序的经验与这一研究领域的对照。 在过去的六个月里,我经常使用“认知架构”这个短语,而且以后可能会更多地使用。这是我第一次从 Flo Crivello 那里听到的术语——所有的功劳都归于他,我认为这是一个很棒的术语。那么我究竟指的是什么呢?...

July 22, 2024 · 2 min · fisherdaddy

OpenAI 官方指南:Fine-tuning

学习如何为您的应用程序定制模型。 介绍 微调可以通过以下方式让您更好地利用 API 提供的模型: 比直接使用提示获得更高质量的结果 可以训练比提示中更多的示例 由于提示更简短,节省 Token 请求延迟更低 OpenAI 的文本生成模型已经在大量文本数据上进行了预训练。为了有效使用这些模型,我们通常在提示中包含说明和几个示例。这种通过示例展示任务的方法称为“少样本学习”。 微调通过在提示中包含更多示例来改进少样本学习,从而在许多任务上获得更好的结果。一旦模型经过微调,您不需要在提示中提供那么多示例。 这样可以节省成本并降低请求延迟。 微调一般包括以下步骤: 准备并上传训练数据 训练一个新的微调模型 评估结果,如有需要返回第一步 使用您的微调模型 访问我们的定价页面,了解微调模型训练和使用的费用。 哪些模型可以微调? GPT-4(gpt-4-0613 和 gpt-4o-*)的微调处于实验性访问计划中,符合条件的用户可以在创建新的微调任务时在微调界面中申请访问。 目前以下模型可以进行微调:gpt-3.5-turbo-0125(推荐),gpt-3.5-turbo-1106,gpt-3.5-turbo-0613,babbage-002,davinci-002,gpt-4-0613(实验性),以及 gpt-4o-2024-05-13。 如果您获得了更多数据且不想重复之前的训练步骤,还可以对一个已经微调的模型进行再次微调。 我们认为gpt-3.5-turbo在结果和易用性方面对于大多数用户来说是最佳选择。 何时使用微调 微调 OpenAI 的文本生成模型可以让它们更适合特定应用,但这需要大量的时间和精力投入。我们建议首先尝试通过提示工程、提示链(将复杂任务分解为多个提示)和函数调用来获得良好结果,主要原因包括: 我们的模型在许多任务上的初始表现可能不佳,但通过正确的提示可以改善结果,因此可能不需要微调 提示迭代和其他策略的反馈循环比微调更快,而微调需要创建数据集并运行训练任务 在需要微调的情况下,初始的提示工程工作不会浪费 - 通常我们会在微调数据中使用良好的提示(或结合提示链和工具使用与微调)时获得最佳效果 我们的提示工程指南提供了不进行微调而提高性能的一些最有效策略和技巧。您可以在我们的playground中快速迭代提示。 常见用例 以下是一些微调可以改善结果的常见用例: 设置风格、语气、格式或其他定性方面 提高生成所需输出的可靠性 纠正未能遵循复杂提示的错误 特定方式处理许多边缘情况 执行在提示中难以表达的新技能或任务 一个高层次的思路是,当“展示”比“说明”更容易时。在接下来的部分中,我们将探讨如何设置微调数据以及微调在基线模型上提升性能的各种示例。 另一个微调的有效场景是通过替换 GPT-4 或使用较短的提示来减少成本和/或延迟,而不牺牲质量。如果您能用 GPT-4 获得良好结果,通常可以通过在 GPT-4 结果上微调gpt-3.5-turbo模型并缩短指令提示,达到类似的质量。 准备您的数据集 一旦您确定微调是正确的解决方案(即您已经优化了提示并发现模型仍有问题),您就需要准备训练模型的数据。您应创建一组多样化的示范对话,这些对话与您在生产中要求模型响应的对话类似。 数据集中的每个示例都应该是与我们的聊天完成 API相同格式的对话,具体来说是一系列消息,每条消息都有一个角色、内容和可选名称。至少一些训练示例应直接针对模型在提示中表现不佳的情况,并且数据中提供的助手消息应是您希望模型给出的理想响应。 示例格式 在这个例子中,我们的目标是创建一个偶尔会给出讽刺回复的聊天机器人,以下是我们可以为数据集创建的三个训练示例(对话): {"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic....

July 22, 2024 · 8 min · fisherdaddy

雷军年度演讲精华合集

雷军今年做了第四年的年度演讲,今年的主题是《勇气》,每次看完雷总的演讲都会热血沸腾,非常钦佩雷总的学习能力和勇气。这篇文章我摘要雷总每年的演讲精华,常看常新。 2024《勇气》 雷军在2024年度演讲中,以“勇气”为主题,讲述了小米造车的全过程,强调了勇气在面对巨大挑战和不确定性时的重要性。他回顾了小米在遭遇美国制裁后,决定进军汽车行业的艰难历程,并分享了团队在研发小米SU7过程中克服的种种困难。雷军认为,勇气不仅仅是口号,而是每一步脚踏实地的行动,是冲出重围的关键。 造车起因与决策过程: 2021年1月15日,小米因美国制裁面临巨大危机,有一个董事建议,要不要考虑一下造车。 组成了一个6人的调研组,70多天的时间里马不停蹄去了10多个城市,我们调研了85场,访谈200多人,4次高管会。 在3月24号的董事会汇报中,我讲到智能电动车是大势所趋,而且汽车行业正在和消费电子行业相融合,我觉的小米必须干。 如果我们要造车,首先要有长期打算,其次一定要奔着全球前五去。这意味着要准备烧很多钱,我们当时认为最少要100亿美元。 经过董事会激烈的讨论后,给了我一个肯定的答复:支持我造车。但由于投入过大,雷军本人必须带队亲自干。 3月30号,我正式回复了董事会:如果这件事情小米必须干,如果大家觉得我合适。为了小米,我愿意挺身而出。 当天我们就正式公告了,小米下场造车,雷军带队,十年内全资投入100亿美元。这几个消息震撼了全行业,当天晚上我们举办了发布会。 研发与团队建设: 小米组建了超过1000人的团队,经过三年多的努力,团队人数已超过7000人。 雷军强调核心技术的自主研发,电机、电池包、智能驾驶等领域均投入巨大。 面对挑战与危机: 到了2021年年底春节前,第一次项目的正式评审会开始,我们大家都挺激动。结果呢,这个会开下来开的特别郁闷,大家的分歧特别大,最后下决心,整个产品方案推到重干。 春节后临时召集的会,谁也没有想到,一开开了整整21天,开了一个马拉松式的会议。20天的会我总结下来,我觉得形成了一个最重要的共识,就是小米作为一个新来者,只要能顺利上牌桌,就是巨大的成功。 很多人问我,你们当年为什么能把车造出来,最关键就是这句话,就是:小米造车要尊重行业规律,守正出奇,要先守正再出奇,不要一上来就颠覆,一上来就掀桌子。 研发过程中经历了疫情等多重挑战,团队坚持从核心技术做起,不走捷径。 当我决定造车的那天起,我就下决心自己开车,重新开始开车、借车开、去4S店试车开,一般会问三个问题:1、这辆车好在哪里,不好在哪里;2、你当时为什么要买这辆车;3、假如你要换车,你打算换一辆什么样的车。不知不觉三年下来,我大概试驾了170多辆车。我整理了一下笔记和资料,居然有20多万字。 考赛车驾照:不仅仅自己练,还逼着小米的团队也去练,管理团队和工程师超过了100人拿到了赛照 雷军亲自参与各个关键节点的测试,包括冬测、夏测和长途自驾测试。 市场与销售策略: 真正的困难是我们7000人无数的心血做的SU7,在上市前的两三个月跟大家沟通交流的时候,居然发现所有人都认为卖不动。几个部门给我整了三份报告,每一份洋洋洒洒几十页,我看完都只有核心一句话:人家34C的用户买的全是品牌,为啥要买你SU7呀? 然后我就让市场部请一些媒体的朋友们来帮忙出主意,一共请了23位。我也万万没想到,绝大部分人都不看好。他们认为,能月销3000辆就要烧高香。这就是当时大家的结论,我觉得大家说的都是心里话啊。当然,我有点不服气,然后尝试去说服他们,但还是改变不了他们的观点。最后,这让我无比绝望,整个团队都笼罩在焦虑当中。 在我最郁闷的时候,我想起了我自驾的一辆车,是一辆福特野马,我跟同事借的,这辆车是他工作了十年之后积攒的钱买给自己的奖励。他跟我说,每天早晨一上班,坐到车里,踏下油门的那一刹那,他就热血沸腾。每天晚上回家,还在车着坐一会儿再上楼。我此时此刻都能回想起他当时给我讲的这些话造成的冲击。我真的相信,人生值得被奖励,这就是一辆Dream car的意义。 我们的小米SU7其实就是为他乡的奋斗者设计的,所以我相信人们对Dream car的向往。我相信,三年多时间,我们整个团队全力以赴的投入,我也相信小米SU7的魅力和强大的产品力,无论多少人不看好,但我始终坚信SU7一定会大卖。 其实真正考验我的信心是今年二月份要确定全年产能,要订多少货。在这个时候,我的这份自信让我下了决心:76000辆。我从第一天就下的目标就是数一数二。如果卖不出去对我们来说是个灭顶之灾,我深知这是个疯狂的目标。但我也很清楚,其实我们没有退路,我们就像过河的卒子一样,只能拼命往前冲。 在巨大的焦虑,离发布的日期就越来越近了,更大的难题是:定价。价格定错了,后果不堪设想,上百亿的损失,三年的时间付诸东流。纯电车成本很高,除了特斯拉,几乎所有纯电车都在巨额亏损,所以合理定价,业务才能持续成长,超低价只是饮鸩止渴。雷军坚持SU7的高品质定位,最终确定价格为215900元。 小米SU7在发布后获得了市场的热烈反响,预定量迅速突破。 个人投入与信念: 雷军通过亲自试驾170多辆车、学习赛车等方式,深入了解汽车行业。 他强调,勇气来源于坚定的信念和每一步的脚踏实地,是人类最伟大的赞歌。 未来展望: 小米SU7的成功标志着小米汽车正式进入市场,但雷军表示,真正的成功还在未来,需要继续努力。 他呼吁全体员工和合作伙伴继续保持勇气和决心,共同迎接未来的挑战。 2023《成长》 雷军在2023年的年度演讲中分享了他个人成长和创业的经历,并宣布了小米科技战略的升级。演讲涵盖了他的求学经历、创业之旅以及小米在高端市场的探索。他强调了梦想和坚持的重要性,并详细介绍了小米未来的科技战略和新品发布。 成长经历 求学经历: 梦想的起点:雷军在武汉大学读书期间受《硅谷之火》启发,立志创办一家伟大的公司。 第一个目标:两年修完所有学分,通过请教学长、自学和积极与老师互动,最终成功。 遇到问题,第一时间找个懂的人问问。很多人觉得,自己遇到的问题,只能自己琢磨、自己搞定。实际上,无论你遇到什么问题,别人可能都遇到过,都解决了,甚至都有标准答案,你只要找人问问就可以。 关于自学。遇到实在看不懂的,先跳过去,咬着牙往下读,像看小说一样,坚持从头读到尾;一本书,这样反复多读几遍,基本就能搞懂。 第二个目标:成为优秀的程序员,通过在机房蹭电脑、在纸上写程序等方法,提升编程技能。 第三个目标:在学报上发论文,通过研究计算机病毒并写论文,成功发表在《计算机研究与发展》。 创业之旅: 第一款商业软件:与王全国合作开发加密软件 BITLOK,取得商业成功。 一个人能力再强,也是有限的,找互补的朋友一起干,更容易成功。 第一次创业:与学长合伙创业公司“三色”,因缺乏经验最终失败。 办公司太不容易了,光有技术是不够的,还有太多东西要学,尤其是商业方面的基本功。 加入金山:在金山公司成长为管理者,并强调团队合作的重要性。 在金山内部,有句话我们经常讲,一个人可能走得更快,但一群人走,才能走得更远。这就是金山35年最重要的经验。 创办小米:怀揣梦想,创办小米公司,推动中国制造业的发展。 小米高端探索的历程 起步与挑战 小米从小米10开始进军高端市场,虽然小米10取得了初步成功,但小米11和小米12连续两代产品不达预期,面临重大挫折。 春节后上班的第一天,我紧急召集了一次讨论会。这就是小米历史上规模最大的专项战略讨论会,所有部门的总经理都参加了。我鼓励大家畅所欲言,放开了说。也许刚过完年,气氛非常融洽,但争论非常激烈,从中午开到晚上。我反复说服大家:我们创业的梦想就是把小米做成全球知名的科技品牌。无论多难,我们一定要坚持使用小米品牌做高端。还有,消费电子行业,竞争极其激烈,只有做高端,才能倒逼我们在技术上寻求突破,赢得未来生存和发展的空间。 最后,大家终于达成了共识,高端是我们发展的必由之路,更是生死之战!不能有任何动摇,必须死磕到底!我们正式把“高端化”定为集团战略! 影像技术的突破 小米设立了单独的相机部,目标是超越友商,达到DXO评测全球第一。 在DXO评测中,我们首先进入前三,接着第二,然后做到了并列第一。为了夺取DXO第一,我们团队接着又花了两年多时间准备了小米11 Ultra,传感器是我们专门定制的,参数全部拉满,调校也下了巨大功夫。发布前一天,我们终于收到通知:DXO评分,全球第一! 结果,谁没想到,产品首发第一天,就被用户疯狂吐槽。这么牛的影像,“DXO全球第一”,为啥用户还不满意呢?大家都有些懵了。经过痛苦的反思,大家彻底明白了,参数到顶、DXO全球第一,并不代表拍照好,更不代表用户满意。 我提议找徕卡聊聊。我认为,只要徕卡是这个世界上最好的老师,只要我们用心学,我们的能力就一定会成长!我还专门问了很多摄影师,每个人都说,徕卡是影像界的传奇,地位和实力都是顶级的。 签约后的第一件大事,你可能想不到:办班!办摄影班!因为我深知,只有懂摄影、爱摄影,才能真正做好影像。我们正式请徕卡到小米科技园来办摄影班,我逼着核心团队成员全部来上课。 摄影文化的种子一旦种下,很快就生根发芽。公司内部,大家组织了各种形式的摄影培训和员工影展,同学们参与的热情都特别高。我们还交了很多专业摄影师朋友,在长城上,还办了一次规模盛大的摄影展。 小米与徕卡共同推出了“徕卡双画质”,包括“徕卡经典”和“徕卡生动”两种影调,成功获得用户和专业摄影师的认可。 小米13的成功...

July 20, 2024 · 1 min · fisherdaddy

快速微调击败专有模型

本文探讨了如何通过快速微调开源嵌入模型,以更低的成本和更高的准确性超越专有模型(如 OpenAI 的 text-embedding-3-small)。文章首先介绍了微调的基本概念,然后通过实验展示了在简单问答任务中所需的微调数据量。作者强调,利用开源模型和可扩展的基础设施,初创企业可以在没有大量用户数据的情况下,快速启动并优化其模型,进而形成数据飞轮效应。 微调的重要性: 微调可以使模型更好地适应特定任务,提供比现成模型更好的性能。 数据飞轮的概念:用户数据的积累可以不断提升模型的表现,从而吸引更多用户,形成良性循环。 数据集和模型选择: 本文使用 Quora 数据集进行训练,该数据集包含标记为“相似”和“不同”的问题对,以训练模型识别文本相似性。 选择合适的基础模型是关键,作者推荐使用具有开放许可证的模型,这些模型的权重可以下载和修改。 基础设施和资源管理: 微调模型需要显著的计算资源,Modal 提供的自动扩展基础设施可以按需使用 GPU,降低成本。 作者建议设定明确的训练目标和资源限制,以优化训练过程。 实验结果: 实验表明,经过微调的 bge-base-en-v1.5 模型在识别文本相似性方面表现优于 OpenAI 的基线模型。 即使使用仅几百个样本,微调后的模型也能显著降低错误率,表明微调的有效性。 未来方向: 文章最后指出,下一步应将微调过程自动化,以便持续收集数据并迭代模型,从而实现系统的持续改进。 快速微调击败专有模型 只需要几个示例,微调后的开源嵌入模型就能以更低的成本提供比专有模型(如 OpenAI 的text-embedding-3-small)更高的准确性。本文将介绍如何使用 Modal 创建这样的模型。首先,我们会讲解微调的基础知识。然后,我们会讨论一个实验,研究在一个简单的问答应用中需要多少微调数据。 为什么要微调 开源模型让你起步 定制模型至关重要。这是 Netflix 不断推荐更好的电影和 Spotify 找到适合你每日播放列表新歌的原因。通过跟踪你是否看完选定的电影或是否跳过一首歌,这些公司积累了大量数据。他们利用这些数据改进内部的嵌入模型和推荐系统,从而提供更好的建议和用户体验。这甚至能吸引更多用户参与,进而积累更多数据,进一步改进模型,形成一个被称为数据飞轮的良性循环。 数据飞轮:更多用户意味着更多数据意味着更好的模型,进而吸引更多用户。 像 Netflix 和 Spotify 这样的顶尖机器学习公司利用数据飞轮从头创建了自己的模型,他们现在拥有大量数据。然而,当你刚开始一个新公司或项目时,你可能没有足够的数据。在 2010 年代,启动数据飞轮需要大量的创造力或资源投入。 但在 2020 年代,随着高性能通用预训练模型和宽松许可证的出现,启动数据飞轮变得大大简化。你可以从这些模型之一开始,这些模型经过大规模、多样化数据集训练,能够在你的任务中表现得相当不错。 在之前的博客文章中,我们展示了如何通过使用 Modal 的自动扩展基础设施在数百个 GPU 上部署现成模型,在不到 15 分钟内嵌入整个英文维基百科,证明了这一点。 微调启动数据飞轮 这些模型和运行它们的基础设施的可用性对于刚刚起步且还没有用户数据的组织来说是个好消息。但关键是要尽快转向一个定制模型,以提供比现成模型更好的性能。幸运的是,数据积累得很快:只需几十个用户每天与服务交互 3-4 次,几天内就能生成数百个数据点。 这些数据足以训练一个在样本数据集上击败 OpenAI 的text-embedding-3-small的模型。 我们用于创建嵌入的 Modal 上的同样可扩展、无服务器基础设施也可以用来定制模型,这个过程称为微调。最终结果是一个具有更高性能且显著降低运营成本的机器学习应用:启动你自己数据飞轮的第一步。 微调的操作:数据集、模型和基础设施 在微调模型时,有许多设计决策需要做出。我们在此回顾其中的一些。 找到或创建数据集 虽然机器学习的大部分讨论和研究都集中在模型上,但任何有经验的机器学习工程师都会告诉你,数据集才是最关键的部分。...

July 20, 2024 · 2 min · fisherdaddy

证明者-验证者游戏改善语言模型输出的易读性 • OpenAI

本研究探讨了如何通过训练强大的语言模型,使其生成易于验证和理解的文本,以提高人类评估的准确性。研究发现,单纯优化模型以获得正确答案,可能导致生成的解决方案变得难以理解。因此,采用“证明者-验证者游戏”的方法,可以在确保输出正确的同时,提高文本的可读性和可验证性。这种方法对于提升 AI 应用的有效性和可信度至关重要,尤其是在需要清晰沟通的领域。 研究背景: 随着大型语言模型(LLMs)在复杂任务中的应用日益增加,确保其输出的可理解性变得尤为重要。研究表明,当优化过程仅关注正确答案时,生成的文本往往缺乏清晰性。 证明者-验证者游戏: 该方法涉及两个角色:生成解决方案的“证明者”和检查解决方案准确性的“验证者”。通过这种方式,强模型能够生成更易于人类和其他 AI 系统验证的文本。 训练过程: 研究通过优化链式思维的方式,使其在解决小学数学问题时能够被较弱模型验证。该训练过程分为多个阶段,包括验证者训练和证明者训练,以确保生成的文本不仅正确,而且易于理解。 关键发现: 性能与可读性之间的权衡:仅依赖于人类书写的推导进行监督微调的模型可读性高但准确性低;而单纯优化正确性则可读性差。本研究的方法在保持高可读性的同时,确保了适度的准确性。 三种有用的模型角色: 稳健验证者:能够有效区分正确和错误的解决方案。 有帮助的证明者:生成易于人类理解的解决方案,减少评估错误。 狡猾的证明者:产生微妙的错误解决方案,初期可能会误导人类评估者,揭示模型改进的方向。 结论: 本研究强调了在确保 AI 输出的正确性和透明可验证性方面的重要性,尤其是在未来超智能 AI 系统的对齐研究中。尽管目前的实验仅在一个数据集上进行,未来的研究将致力于开发能够生成既正确又透明可验证的 AI 系统,从而增强其在实际应用中的信任和安全性。 证明者-验证者游戏改善语言模型输出的易读性 2024年7月17日 我们训练了强大的语言模型,以生成易于弱语言模型验证的文本,结果发现,这种训练也使文本更易于人类评估。 确保语言模型生成易于理解的文本对于使其对人们有帮助至关重要,特别是在处理复杂任务时,比如解决数学问题。 我们发现,当我们优化强大模型的解决问题过程仅为了获得正确答案时,生成的解决方案可能变得更难理解。实际上,当我们要求时间有限的人类评估员评估这些经过高度优化的解决方案时,他们的错误几乎是评估较少优化解决方案时的两倍。这一发现突显了不仅正确性,而且清晰性和易验证性在AI生成文本中的重要性。 通过训练高级语言模型生成弱模型可以轻松验证的文本,我们发现人类也能更有效地评估这些文本——我们称之为提高易读性。 在这里,prover-verifier games 发挥了作用。这些游戏涉及两个玩家:“证明者”生成一个解决方案,“验证者”检查其准确性。 这种方法不仅对于确保输出的正确性至关重要,而且对于使它们易于理解和验证对人类和其他AI系统同样重要。 理解和处理性能与易读性之间的平衡,可以带来更有效和可信的AI应用,惠及需要精确和清晰交流的广泛领域。 通过优化提高易读性 为了提高易读性,我们优化了基础数学问题的推理过程,使其易于较弱的模型验证,并研究这是否使它们对人类更易读。此训练过程受到 Prover-Verifier Game (opens in a new window) 的启发,这是一种鼓励学习代理以可验证方式解决决策问题的博弈论框架。我们的方法在仅优化答案正确性时的性能提升一半的情况下,保持了人类评估员准确评估解决方案的能力。我们认为,进一步缩小可读和高性能模型之间的差距是未来一致性研究的重要目标。 问题:Shawna的父亲是Shawna的五倍大。Shawna目前是Aliya的三倍大。如果Aliya现在3岁,Shawna的父亲多大? 过程 答案 模型初始化 由此推断,Shawna目前$3^2=9$岁。 随后这意味着Shawna的父亲目前$9\cdot5=45$岁。 答案:45 第一轮可验证性训练 首先我们需要确定Aliya的年龄。从问题描述中得知,Aliya是3岁。 然后我们需要确定Shawna的年龄。从问题描述中得知,Shawna目前是Aliya的三倍大,所以Shawna的年龄是3乘以3,即<<3 * 3 = 9>>9。 接下来,我们需要确定Shawna的父亲。问题中说Shawna的父亲是Shawna的五倍大。因此,Shawna的父亲的年龄变成5乘以9,即<<5 * 9 = 45>>45。 答案:45 第五轮可验证性训练 我们首先计算Aliya的年龄。 问题中说Aliya是3岁。 然后,我们需要计算Shawna的当前年龄。...

July 18, 2024 · 1 min · fisherdaddy