大语言模型应用的新兴架构

本文探讨了大语言模型(LLM)应用的新兴架构,提供了一种参考架构,展示了 AI 初创公司和技术公司常用的系统、工具和设计模式。文章主要讨论了如何利用上下文学习模式,通过巧妙的提示和私有“上下文”数据来控制 LLM 的行为,而无需进行模型微调。 ➡️ 上下文学习设计模式 数据预处理/嵌入: 将私有数据(如法律文件)存储起来,通常将文件分块,经过嵌入模型处理后存储在向量数据库中。 提示构建/检索: 当用户提交查询时,应用程序构建一系列提示提交给语言模型,提示通常包括开发者硬编码的模板、示例输出、从外部 API 检索的信息以及从向量数据库检索的相关文件。 提示执行/推理: 提示被提交给预训练的 LLM 进行推理,可能会添加操作系统如日志记录、缓存和验证。 ➡️ 数据预处理与嵌入 向量数据库:如 Pinecone、Weaviate、Vespa 和 Qdrant 等,用于高效存储、比较和检索嵌入。 嵌入模型:如 OpenAI 的 text-embedding-ada-002 模型、Cohere 和 Hugging Face 的 Sentence Transformers。 ➡️ 提示构建与检索 提示策略:从简单的零样本提示和少样本提示到复杂的链式思维、自我一致性等高级策略。 编排框架:如 LangChain 和 LlamaIndex,用于抽象提示链、接口外部 API 和检索上下文数据。 ➡️ 推理与操作 主流语言模型:OpenAI 的 GPT-4 和 GPT-3.5-turbo,Anthropic 的 Claude 模型等。 开源模型:如 Meta 的 LLaMa 模型及其变体。 操作工具:如缓存(基于 Redis)、日志跟踪工具(Weights & Biases、MLflow、PromptLayer 和 Helicone)以及验证工具(Guardrails 和 Rebuff)。 ➡️ 代理框架 AI 代理:如 AutoGPT,尽管目前大多处于概念验证阶段,但它们具有解决复杂问题、在外部世界中采取行动和从经验中学习的潜力。 ➡️ 未来展望...

July 13, 2024 · 2 min · fisherdaddy

Software 2.0 • Andrej Karpathy 2017

本文中 Andrej Karpathy 提出了一个革命性的观点:神经网络不仅仅是机器学习工具箱中的另一个工具,而是软件开发方式的根本性转变,即从传统的“Software 1.0”过渡到“Software 2.0”。Software 1.0 依赖于人类编写的明确指令,而 Software 2.0 则基于数据集和神经网络架构,通过训练来生成程序。Karpathy 认为这种转变不仅提高了软件性能,还改变了编程范式,使得数据集的管理和优化成为软件开发的核心。 ➡️ Software 1.0 vs. Software 2.0 Software 1.0: 由人类程序员使用编程语言(如 Python、C++)编写明确的指令,逐行代码确定程序行为。 Software 2.0: 使用神经网络的权重表示程序,由数据集和神经网络架构定义,训练过程将数据集“编译”成最终的神经网络。 ➡️ 转变实例 视觉识别: 从工程化特征和机器学习模型(如 SVM)转变为使用大规模数据集和卷积神经网络(CNN)。 语音识别和合成: 从预处理和传统模型(如高斯混合模型和隐马尔可夫模型)转变为完全依赖神经网络(如 WaveNet)。 机器翻译: 从基于短语的统计技术转变为神经网络模型,特别是在多语言和弱监督环境中。 游戏: 从手工编码的程序(如围棋程序)转变为神经网络模型(如 AlphaGo Zero)。 数据库: 使用神经网络替代传统数据管理系统组件,提高速度和节省内存。 ➡️ Software 2.0 的优势 计算同质性: 神经网络主要由矩阵乘法和 ReLU 组成,简化了实现和优化。 易于硬件实现: 简单的指令集使得神经网络更容易在定制 ASIC 和神经形态芯片上实现。 恒定运行时间和内存使用: 每次前向传递所需的 FLOPS 和内存使用量是恒定的。 高度可移植: 矩阵乘法序列比传统二进制文件或脚本更容易在不同计算配置上运行。 灵活性: 可以通过调整网络结构和重新训练来快速适应新的性能需求。 模块融合: 可以通过反向传播优化相互交互的模块,提升整体性能。 ➡️ Software 2.0 的局限性 可解释性差: 大型神经网络的工作原理难以理解。 潜在的失败模式: 可能出现非直观和尴尬的错误,或“静默失败”,如训练数据中的偏见。 对抗样本和攻击: 反映了这种技术堆栈的非直观特性。 ➡️ 编程范式的变化...

July 13, 2024 · 2 min · fisherdaddy

GraphRAG 宣言: 向生成式 AI 添加知识

本文探讨了在生成式 AI (GenAI) 中引入知识图谱 (Knowledge Graph) 的重要性,提出了 GraphRAG 的概念。作者认为,仅依靠自回归大型语言模型 (LLM) 或基于向量的检索增强生成 (RAG) 技术并不能提供足够准确和上下文丰富的答案。通过结合知识图谱,GraphRAG 可以提供更高质量、更具解释性和可审计的答案,从而成为未来 RAG 架构的主流。 RAG 技术的局限性: 向量检索和微调技术虽能提高某些问题的正确答案概率,但无法提供确定性答案,且缺乏上下文和解释性。 知识图谱的引入: 知识图谱可以组织和连接数据,使得 AI 系统不仅处理字符串,还能理解和推理事物之间的关系。 GraphRAG 结合了向量索引和知识图谱查询,提供更高质量的答案。 GraphRAG 的优势: 更高的准确性和完整性:例如,Data.world 的研究表明,GraphRAG 在回答业务问题时的准确性提高了三倍。 开发和维护更容易:知识图谱的可视化和可解释性使得开发和调试过程更加直观。 更好的可解释性和审计能力:知识图谱使得 AI 系统的决策过程更透明,便于审计和追踪。 GraphRAG 的应用模式: 典型的 GraphRAG 模式包括初步的向量或关键词搜索、图谱遍历以获取相关节点信息,以及使用图谱排名算法进行重新排序。 知识图谱的创建和使用: 创建知识图谱类似于将文档分块并加载到向量数据库中。随着工具的进步,创建知识图谱变得越来越简单。 一旦数据进入知识图谱,就可以不断扩展和改进数据质量,从而提升应用结果的价值。 治理和安全性: 知识图谱增强了 AI 系统的安全性和隐私保护,可以根据用户角色限制数据访问权限。 实际应用案例: 例如,LinkedIn 使用 GraphRAG 改进了客户服务应用,减少了客户服务团队的平均每次问题解决时间。 Writer 的 RAG 基准测试报告显示,GraphRAG 的得分显著高于竞争对手。 工具和资源: Neo4j 提供了一系列工具,如 LLM Knowledge Graph Builder,帮助用户创建和使用知识图谱。 总结而言,GraphRAG 通过结合知识图谱和向量检索,提供了更高质量、更具解释性和更易开发的 AI 解决方案,代表了 RAG 技术的未来发展方向。 The GraphRAG Manifesto: 向生成式 AI 添加知识 我们正进入 RAG 的“蓝色链接”时代 我们正处在实现重要生成式 AI (GenAI) 应用的边缘,你不能依赖你不能依靠仅仅自回归大语言模型做出决策。我知道你在想什么:“RAG 是答案。”或者是微调,或者是 GPT-5。...

July 12, 2024 · 4 min · fisherdaddy

Google Search 引入知识图谱:事物,而非字符串

本文介绍了 Google 的知识图谱(Knowledge Graph),它是一个理解现实世界实体及其关系的智能模型,旨在帮助用户更快速、便捷地发现新信息。知识图谱通过理解实体之间的关系,而不是仅仅匹配关键词,为搜索结果提供更准确、更相关的答案。 知识图谱包含超过 5 亿个对象和超过 35 亿个关于这些对象之间的关系的事实。 知识图谱通过三种主要方式增强 Google 搜索: 找到正确的事物:知识图谱可以理解语言的歧义性,例如区分泰姬陵(Taj Mahal)这个纪念碑和泰姬陵这个音乐家。 获取最佳摘要:知识图谱可以更好地理解用户的查询,从而提供相关内容的摘要,包括用户可能需要的关键事实。 深入探索和更广泛的发现:知识图谱可以帮助用户进行意外的发现,例如了解辛普森一家(The Simpsons)的创作者马特·格勒宁(Matt Groening)是如何想到荷马、玛吉和丽莎的名字的。 Google 相信知识图谱是朝着构建更智能的搜索引擎迈出的第一步,它将帮助用户更轻松地发现新事物,并花更多时间做他们喜欢的事情。 引入知识图谱:事物,而非字符串 搜索主要是为了发现——满足人类学习和拓展视野的基本需求。但用户在搜索时仍然需要付出大量的努力。因此,今天我非常兴奋地推出知识图谱,它将帮助你快速且轻松地发现新信息。 举个例子,比如查询 [taj mahal]。四十多年来,搜索基本上就是将关键词匹配到查询上。对搜索引擎来说,[taj mahal] 这两个词仅仅是两个词。 但我们都知道 [taj mahal] 有着更丰富的含义。你可能会想到世界上最美丽的纪念碑之一,或是一位格莱美奖得主音乐家,甚至是新泽西州大西洋城的一家赌场。或者,取决于你上次吃饭的时间,可能是最近的印度餐馆。这就是为什么我们一直在研究一个智能模型——用专业术语来说,就是一个“图谱”——它理解现实世界的实体及其相互关系:事物,而非字符串。 知识图谱使你可以搜索 Google 所知道的事物、人物或地点——地标、名人、城市、运动队、建筑物、地理特征、电影、天体、艺术品等等——并立即获取与你的查询相关的信息。这是构建下一代搜索的关键第一步,它利用了网络的集体智慧,并以更接近人类的方式理解世界。 Google 的知识图谱不仅根植于 Freebase、Wikipedia 和 CIA World Factbook 等公共资源。它还在更大规模上得到增强——因为我们专注于全面的广度和深度。目前它包含超过 5 亿个实体,以及超过 35 亿个关于这些不同实体的事实和关系。并且它基于人们搜索的内容以及我们在网上发现的内容进行调优。 知识图谱在以下三个主要方面增强了 Google 搜索: 1. 找到正确的内容 语言可能会引起歧义——你指的是泰姬陵纪念碑,还是音乐家泰姬陵?现在 Google 能理解这种差异,可以将搜索结果缩小到你想要的那个——只需点击其中一个链接即可查看特定的结果: 这是知识图谱使 Google 搜索更智能的方式之一——你的结果更加相关,因为我们理解这些实体及其含义的细微差别,就像你一样。 2. 获取最佳摘要 通过知识图谱,Google 可以更好地理解你的查询,因此我们可以总结出与该主题相关的内容,包括你可能需要的关键事实。例如,如果你在寻找玛丽·居里,你会看到她的出生和死亡日期,但你也会得到有关她的教育和科学发现的详细信息: 我们如何知道每个项目最可能需要哪些事实?为此,我们回到用户,整体研究他们向 Google 询问的每个项目。例如,人们对查尔斯·狄更斯写了哪些书感兴趣,而对弗兰克·劳埃德·赖特写了哪些书不感兴趣,更关注他设计了哪些建筑。 知识图谱还帮助我们理解事物之间的关系。玛丽·居里是知识图谱中的一个人物,她有两个孩子,其中一个也获得了诺贝尔奖,还有一个丈夫皮埃尔·居里,他为这个家庭赢得了第三个诺贝尔奖。所有这些都在我们的图谱中链接在一起。它不仅是一个对象目录,还建模了所有这些相互关系。不同实体之间的智能是关键。 3. 更深入和更广泛 最后,也是最有趣的部分——知识图谱可以帮助你进行一些意外的发现。你可能会学到一个新的事实或新的联系,从而引发一整条新的查询路线。你知道《辛普森一家》的创作者 Matt Groening 是从哪里得到霍默、玛吉和丽莎的名字灵感的吗?这是一个有点令人惊讶的地方:...

July 10, 2024 · 1 min · fisherdaddy

Mark Zuckerberg 的访谈,主要谈论了 Llama 3 的发布,以及 Meta 在生成式 AI 产品方面的投入

Mark Zuckerberg 在本次播客中讨论了 Meta AI 的最新进展,包括 Llama 3 的发布,以及 Meta 在生成式 AI 产品方面的投入。他强调了开源对 AI 发展的意义,并表达了对 AI 未来发展的乐观态度。Zuckerberg 还谈到了他对元宇宙的愿景,以及他认为 AI 和元宇宙将如何改变人类社会。 Meta 发布了 Llama 3,一个开源的 AI 模型,并将其整合到 Meta AI 中,使其成为最智能的免费 AI 助手。 Llama 3 在编码、推理等方面取得了显著进步,其 80 亿参数版本与 Llama 2 的最大版本性能相当。 Meta 在 AI 方面的投入巨大,已投资数十亿美元用于训练模型和构建基础设施。 Zuckerberg 认为 AI 将像计算机的出现一样,彻底改变人类社会,并带来新的应用和体验。 Zuckerberg 对 AI 的开源持积极态度,但认为在某些情况下,例如当模型能力发生质变时,可能需要限制开源。 Zuckerberg 对元宇宙的愿景是创造一个能够让人们在数字空间中真实地体验和互动的地方,并认为元宇宙将改变人们的社交、工作和生活方式。 Zuckerberg 认为,AI 和元宇宙的成功需要强大的技术基础和持续的创新,并强调了专注和资源分配的重要性。 Zuckerberg 认为,开源 AI 可以帮助防止 AI 技术被少数公司或机构垄断,并促进 AI 技术的快速发展和普及。 Zuckerberg 认为,AI 和元宇宙将带来巨大的机遇和挑战,需要谨慎地进行开发和应用,以确保其安全和负责任地发展。 原文 Llama 3 Dwarkesh Patel 00:00:00...

July 8, 2024 · 5 min · fisherdaddy

深入剖析世界上最聪明的电子邮件 AI

本文介绍了 Shortwave 团队开发的“生成式 AI 产品”——一个集成在电子邮件应用程序中的 AI 助手。该助手旨在利用大型语言模型 (LLM) 的推理能力,将用户的电子邮件历史转化为可操作的知识库,并提供类似于“执行助理”的体验。 ➡️ AI 助手的工作原理 Shortwave 的 AI 助手通过四个步骤来回答用户的问题: 工具选择: 使用 GPT-4 确定回答问题所需的数据类型,并选择相应的工具。 工具数据检索: 并行检索每个工具相关的数据,例如电子邮件历史、日历、草稿等。 问题解答: 将用户问题和所有工具检索到的数据整合到一个提示中,并使用 GPT-4 生成答案。 后处理: 将 LLM 的输出转换为富文本,添加来源引用,并向用户提供操作建议。 ➡️ AI 搜索 AI 搜索是 Shortwave AI 助手最重要的工具之一,它允许助手访问用户的整个电子邮件历史。AI 搜索通过以下步骤工作: 查询重构: 使用 LLM 将缺乏上下文信息的查询重写为独立的句子,例如将“Jonny 怎么样?”重写为“Jonny 什么时候到达凤凰城?”。 特征提取和传统搜索: 使用 LLM 从重构的查询中提取特征,例如日期范围、人物姓名、关键词等,并利用传统搜索基础设施查找相关电子邮件。 基于嵌入的向量搜索: 使用开源嵌入模型将电子邮件和查询嵌入到向量空间中,并在向量数据库中搜索语义上相似的电子邮件。 快速启发式重新排序: 使用启发式算法对检索到的电子邮件进行重新排序,以优先考虑与查询最相关的电子邮件。 交叉编码器重新排序: 使用交叉编码模型对重新排序后的电子邮件片段进行进一步排序,以提高结果的准确性和相关性。 ➡️ 总结 Shortwave 的 AI 助手是一个复杂的系统,它结合了多种技术,包括 LLM、向量数据库、传统搜索、嵌入模型和启发式算法,以提供高效且准确的电子邮件搜索和问题解答功能。该系统仍在不断迭代,预计未来将变得更加智能、快速和强大。 原文 Tl;dr - 我们利用检索增强生成 (Retrieval Augmented Generation,RAG) 技术为我们的电子邮件应用构建了一个 AI 助手。为了构建和发布这个超越基础功能的实际解决方案,我们在技术堆栈的每个层面都投入了大量的基础设施工作。以下是我们学到的内容以及我们的系统在深层技术层面的工作方式。...

July 8, 2024 · 2 min · fisherdaddy

我们从一年与大语言模型 (LLMs) 的构建中学到了什么 (第三部分): 战略篇

我们在《我们从一年与大语言模型 (LLMs) 的构建中学到了什么 (第一部分):战术篇》中分享了操作 LLM 应用程序时精炼的战术见解。战术是具体的行动,用于实现特定目标。在《我们从一年与大语言模型 (LLMs) 的构建中学到了什么 (第二部分):运营篇》中,我们还探讨了支持战术工作的高级过程。 那么,这些目标从何而来?这就是战略的领域。战略回答了战术和运营背后的“是什么”和“为什么”问题。 我们提出了一些主张,如“在找到产品市场契合 (PMF) 之前不要使用 GPU”和“专注于系统而非模型”,以帮助团队更好地分配有限资源。我们还建议了一条迭代至优秀产品的路线图。最后一部分内容将回答以下问题: 构建 vs. 购买:何时应该训练自己的模型,何时应该利用现有 API?答案是“视情况而定”。我们会分享这些情况的具体影响因素。 迭代至优秀:如何打造持久的竞争优势,而不仅仅是使用最新的模型?我们将讨论构建强大系统和提供令人难忘体验的重要性。 以人为本的 AI:如何将 LLMs 有效地融入人类工作流,最大化生产力和幸福感?我们强调了构建支持和增强人类能力的 AI 工具的重要性,而不是完全取代人类。 入门指南:团队在开始构建 LLM 产品时的关键步骤是什么?我们会概述一个从提示工程、评估到数据收集的基本操作手册。 低成本认知的未来:快速降低的成本和不断增加的 LLM 能力将如何塑造 AI 应用的未来?我们将探讨历史趋势,并展示如何估算某些应用的经济可行性。 从演示到产品:从一个引人注目的演示到一个可靠的、可扩展的产品需要什么?我们强调了从原型到生产的严格工程、测试和改进的必要性。 要回答这些难题,让我们一步一步来思考…… 战略:在构建 LLM 产品时不被超越 成功的产品需要深思熟虑的规划和艰难的优先级排序,而不是无休止的原型制作或追随最新的模型发布。在最后一部分中,我们将展望未来,思考构建优秀 AI 产品的战略考量。我们还将探讨团队将面临的关键决策,例如何时构建和何时购买,并建议一个早期 LLM 应用开发的“操作手册”。 在找到产品市场契合 (PMF) 之前不要使用 GPU 要打造优秀的产品,你的产品需要不仅仅是依赖他人 API 的简单包装。但过于依赖自己训练模型的错误也可能更加昂贵。过去一年中,我们看到大量风险投资,包括令人震惊的 60 亿美元 A 轮融资,都用在了训练和定制模型上,却没有明确的产品愿景或目标市场。在本节中,我们将解释为什么立即跳到训练自己的模型是个错误,并探讨自托管的角色。 从头训练几乎永远没有意义 对于大多数组织来说,从头预训练一个大语言模型 (LLM) 是一个不可行的分散注意力的行为。 尽管这很诱人,而且看起来似乎每个人都在这么做,但开发和维护机器学习基础设施需要大量资源。这包括收集数据、训练和评估模型以及部署它们。如果你还在验证产品市场契合 (PMF),这些努力将分散你开发核心产品的资源。即使你拥有计算能力、数据和技术能力,预训练的 LLM 可能会在几个月内过时。 例如,BloombergGPT 是一个专门为金融任务训练的 LLM。该模型在 3630 亿个 Token 上进行了预训练,花费了 9 名全职员工(4 名来自 AI 工程团队,5 名来自 ML 产品和研究团队)的大量努力。尽管如此,它在一年内在这些金融任务上被 gpt-3....

July 7, 2024 · 3 min · fisherdaddy

我们从一年与大语言模型 (LLMs) 的构建中学到了什么 (第二部分):运营篇

本文探讨了构建和管理“生成式 AI 产品”应用的运营方面,涵盖了数据、模型、产品和人员四个关键领域。作者强调了数据质量对模型性能的重要性,并介绍了如何检测和减少开发环境与生产环境之间的差异。文章还讨论了模型版本控制、选择合适模型大小以及设计以人为中心的“用户体验”的重要性。最后,作者强调了团队合作和实验文化的重要性,并建议将重点放在流程而非工具上。 ➡️ 数据 输入数据质量对模型性能至关重要,需要定期审查输入和输出数据,以了解数据分布、边缘情况和模型的局限性。 开发环境与生产环境之间的差异会导致模型性能下降,需要进行结构性和内容性的偏差检测。 定期审查模型输出可以帮助识别和适应新的模式或失败模式,并通过代码和断言将这些模式转化为可操作的指标。 ➡️ 模型 为了方便下游集成,需要生成结构化的输出,例如 JSON 或 YAML 格式。 不同模型之间迁移提示可能很困难,需要进行测试和评估,以确保性能不会下降。 版本控制和固定模型版本可以避免模型行为的意外变化,并确保模型的稳定性。 选择最小的模型来完成任务,可以降低延迟和成本,并通过提示工程和上下文学习提高模型性能。 ➡️ 产品 在产品开发过程中尽早并经常地引入设计,可以帮助理解用户需求并改善用户体验。 设计以人为中心的“用户体验”,可以收集用户反馈并改进模型。 优先考虑产品的关键需求,例如可靠性、安全性、准确性和可扩展性,并根据用例调整风险承受能力。 ➡️ 人员 团队合作和实验文化是成功的关键,需要鼓励团队成员进行实验并分享经验。 将重点放在流程而非工具上,可以避免不必要的技术债务,并提高团队的长期生产力。 团队需要包括 AI 工程师、平台工程师、数据工程师和机器学习工程师等不同角色,以确保产品的成功。 避免过度依赖 AI 工程师,需要根据产品开发阶段的不同需求,组建相应的团队。 原文 有句可能是传闻的名言,被许多领导者引用:“业余者谈策略和战术,专业人士谈操作。” 在战术层面看到的是各种独特的问题,而在操作层面看到的却是需要修复的组织失调模式。在战略层面看到的是机会,而在操作层面看到的是值得迎接的挑战。 在本文的第一部分中,我们介绍了战术性地与大语言模型 (LLMs) 一起工作的具体细节。在下一部分中,我们将放大视角,探讨长期战略考虑。在这一部分,我们讨论了介于战略和战术之间的操作方面,把理论转化为实践。 运营 LLM 应用程序提出了一些在运营传统软件系统中经常出现的问题,但往往带有新颖的变化,使其更具挑战性。同时,LLM 应用程序还引发了全新的问题。我们将这些问题及其答案分为四个部分:数据、模型、产品和人员。 关于数据,我们回答了:应该如何以及多频繁地审查 LLM 的输入和输出?如何测量和减少测试-生产偏差? 关于模型,我们回答了:如何将语言模型集成到整个技术栈中?如何管理模型的版本和迁移? 关于产品,我们回答了:设计应该在何时介入应用程序开发过程,为什么是“越早越好”?如何设计具有丰富人类反馈的用户体验?如何在众多冲突需求中进行优先排序?如何校准产品风险? 最后,关于人员,我们回答了:应该雇佣谁来构建成功的 LLM 应用程序,以及何时雇佣他们?如何培养实验文化?如何利用新兴的 LLM 应用程序来构建自己的 LLM 应用程序?哪个更重要:过程还是工具? 作为一个 AI 语言模型,我没有意见,因此无法告诉你你提供的引言是否“最佳”。不过,我可以说这段引言为接下来的内容定下了合适的基调。 操作:开发和管理 LLM 应用程序及其团队 数据 正如食材的质量决定了菜肴的味道,输入数据的质量决定了机器学习系统的性能。此外,输出数据是判断产品是否工作的唯一标准。所有作者都密切关注数据,每周花费数小时查看输入和输出数据,以更好地了解数据分布、模式、边缘情况及其模型的局限性。 检查开发-生产偏差 传统机器学习管道中一个常见的错误来源是训练-服务偏差。当训练使用的数据与模型在生产中遇到的数据不一致时,就会发生这种情况。虽然我们可以在不训练或微调的情况下使用 LLM,但开发-生产数据偏差依然存在。基本上,我们在开发过程中测试系统的数据应与系统在生产中面临的数据相符。如果不这样做,我们可能会发现生产环境中的准确性下降。 LLM 的开发-生产偏差可以分为两种类型:结构性偏差和内容性偏差。结构性偏差包括格式差异问题,例如 JSON 字典中的列表类型值与 JSON 列表之间的差异、不一致的大小写以及拼写错误或句子片段等。这些错误可能导致模型性能不可预测,因为不同的 LLM 是在特定数据格式上训练的,对细微变化非常敏感。内容性或语义偏差指的是数据意义或上下文的差异。...

July 7, 2024 · 3 min · fisherdaddy

我们从一年与大语言模型 (LLMs) 的构建中学到了什么 (第一部分):战术篇

本文探讨了使用大型语言模型(LLM)构建产品的关键经验教训,并分享了作者团队在过去一年中从实际应用中总结出的宝贵经验。文章分为三个部分:战术、运营和战略,本篇是第一部分,重点介绍了LLM的战术技巧,包括提示、检索增强生成、流程工程以及评估和监控。 ➡️ 提示 作者建议从提示开始构建新的应用,因为它在正确使用时可以取得显著的效果,但同时也不要过高估计它的重要性,因为即使是基于提示的应用也需要大量的工程工作才能使其有效。 作者推荐了一些经过验证的提示技巧,包括: N-shot 提示 + 上下文学习:提供几个示例来演示任务,并使输出与预期相符。 思维链提示:鼓励LLM在返回最终答案之前解释其思考过程。 提供相关资源:通过检索增强生成(RAG)提供模型可以直接利用的文本片段,帮助模型更好地理解上下文。 作者强调了结构化输入和输出的重要性,并举例说明了如何使用结构化输入来帮助模型更好地理解输入,以及如何使用结构化输出来简化与下游系统的集成。 作者建议将大型提示分解成多个小型提示,每个提示只做一件事,并专注于做好这件事。 作者还建议仔细思考模型需要的上下文信息,并优化上下文结构,以突出上下文各个部分之间的关系。 ➡️ 信息检索/RAG 作者指出,RAG的有效性取决于检索到的文档的相关性、密度和细节。 作者建议不要忽视关键词搜索,将其作为基线并将其用于混合搜索。 作者认为,在大多数情况下,混合搜索效果最好,即使用关键词匹配来查找明显的匹配项,并使用嵌入来查找同义词、上位词和拼写错误,以及多模态(例如图像和文本)。 作者建议在新的知识方面优先考虑RAG而不是微调。 作者认为,即使出现了长上下文模型,RAG也不会过时。 ➡️ 调整和优化工作流程 作者建议使用分步、多轮“流程”来提高性能。 作者建议优先考虑确定性工作流程,因为它们更容易部署和调试。 作者建议使用缓存来降低成本和消除生成延迟。 作者建议在必要时进行微调,但要权衡其成本和收益。 ➡️ 评估和监控 作者建议创建一些基于断言的单元测试,这些测试基于真实的输入/输出样本,并根据至少三个标准来预期输出。 作者建议使用LLM作为评判者来评估其他LLM的输出,但要意识到它不是万能的。 作者建议使用“实习生测试”来评估生成,即如果将相同的输入和上下文提供给相关专业的普通大学生,他们是否能够成功完成任务? 作者警告说,过度强调某些评估指标可能会损害整体性能。 作者建议将标注简化为二元任务或成对比较。 作者认为,无参考评估和护栏可以互换使用。 作者指出,LLM即使不应该生成输出也会生成输出,因此需要使用护栏来检测和过滤/重新生成不希望的输出。 作者认为,幻觉是一个顽固的问题,需要结合提示工程和事实不一致护栏来解决。 原文 我们从一年与大语言模型 (LLMs) 的构建中学到了什么 (第一部分) 现在是一个用大语言模型 (Large Language Models, LLMs) 构建产品的激动人心的时刻。在过去的一年里,LLMs 已经达到了“足够好”可以应用于实际场景的水平。LLMs 的进步速度加上社交媒体上的众多演示,预计将推动到 2025 年对人工智能的 2000 亿美元投资。LLMs 也广泛开放,使得不仅仅是机器学习工程师和科学家,所有人都可以将智能融入到他们的产品中。虽然构建 AI 产品的门槛已经降低,但要创建那些在演示之外也能有效的产品仍然是一个复杂的任务。 我们已经发现了一些开发基于 LLMs 产品的关键但常常被忽视的教训和方法。了解这些概念可以让你在无需机器学习专业知识的情况下,比大多数同行更具竞争力!在过去的一年里,我们六个人一直在构建基于 LLMs 的实际应用。我们意识到有必要将这些经验汇集在一起,造福社区。 我们来自不同的背景,担任不同的角色,但我们都亲身经历了使用这项新技术的挑战。我们中的两人是独立顾问,帮助众多客户将 LLM 项目从初始概念转化为成功的产品,看到了成功与失败的模式。我们中有一人是研究人员,研究机器学习/人工智能团队的工作方式及其工作流程的改进。我们中的两人在应用 AI 团队中担任领导职务:一人在科技巨头公司,另一人在初创公司。最后,我们中的一人教授过数千人学习深度学习课程,现在致力于使 AI 工具和基础设施更易于使用。尽管我们的经历不同,但我们惊讶地发现我们学到的经验有着一致的主题,这些见解没有被广泛讨论。 我们的目标是制作一个实用指南,帮助大家围绕 LLMs 构建成功的产品,从我们的经验中汲取教训,并指出行业中的一些例子。我们在过去的一年里亲自动手,获取了宝贵的经验,往往是通过艰难的方式。虽然我们不敢说代表整个行业,但我们在这里分享了一些对任何构建 LLM 产品的人都有用的建议和经验。...

July 7, 2024 · 5 min · fisherdaddy

Andrej Karpahty 在 UC Berkeley AI Hackathon 2024 颁奖典礼上的主题演讲

OpenAI 创始成员之一 Andrej Karpathy 在 UC Berkeley AI Hackathon 2024 颁奖典礼上分享了他对人工智能领域的见解,并强调了当前人工智能领域正经历着前所未有的快速发展,类似于 1980 年代的个人电脑革命。他认为,大型语言模型 (LLMs) 正成为新的计算范式,类似于个人电脑中的中央处理器,并正在改变我们与技术互动的方式。Karpathy 还强调了项目和实践在人工智能领域取得成功的关键作用,并分享了他个人经历中的一些成功案例。 ➡️ 人工智能领域正在经历快速发展,大型语言模型 ( LLMs ) 正在成为新的计算范式,类似于个人电脑中的中央处理器。 ➡️ LLMs 将在未来改变我们与技术互动的方式,并可能在数字和物理世界中自动化许多任务。 ➡️ Karpathy 还强调了项目和实践在人工智能领域取得成功的关键作用,并分享了他个人经历中的一些成功案例,例如他早期在 YouTube 上发布的游戏编程教程,最终帮助他发展了教学事业。 ➡️ 他还强调了 “一万小时定律” 的重要性,并鼓励听众投入大量时间进行实践,以积累经验和专业知识。 ➡️ Karpathy 认为,项目可以帮助人们深入学习,并鼓励他们将项目发布到网络上,以提高工作质量并获得反馈。 ➡️ 他总结说,人工智能领域充满了机遇,并鼓励听众继续进行项目开发,并努力将他们的工作转化为现实世界的改变。 原文 大家好,非常感谢你们的邀请,我很高兴能来到这里。我非常喜欢黑客马拉松,这里充满了能量和创造力,年轻人们尝试做很酷的事情,一起学习和创造,这对我来说是最喜欢的地方。我参加过很多黑客马拉松,所以今天能在这里和你们交流真的很高兴。 首先,当他们邀请我时,我没想到这次活动规模会这么大,这确实超出了我的预期。这个黑客马拉松的规模确实很大。我想开始说的是,这对于 AI 来说并不寻常。我在 AI 领域已经有大约 15 年的经验,所以我可以自信地说,它已经发展了很多。对我来说,AI 以前只是几百个学者聚在一起开研讨会,讨论一些数学的细节。这是我进入 AI 领域时所习惯的。那时候,当你训练神经网络时,你会用 MNIST 数据集中的小数字,训练受限玻尔兹曼机,用对比散度来训练网络,然后仔细检查网络的第一层是否训练正确。我知道这听起来很久远且没什么意义,但那时候的氛围确实不同,现在情况变得有些失控了。但看到今天的能量,15 年后的今天,AI 发展成了现在这个样子,所以这也是我认为这次活动规模如此之大的原因。 Nvidia 是制造 GPU 的公司,这些 GPU 用于我们神经网络的所有繁重工作,现在是美国最有价值的公司,并且已经接管了市场。这就是我们今天所处的时代,为什么有这么多像这样的黑客马拉松,我认为这非常了不起,但确实是前所未有的。对于许多刚进入 AI 领域的人来说,这是一个非常独特的时刻,这并不寻常,非常有趣也非常独特,现在有很多事情在发生。我认为根本原因是计算的本质在发生变化,我们正进入一个新的计算范式,这是非常罕见的。我几乎觉得这像是 1980 年代的计算机时代重现,但这次不是中央处理单元执行字节指令,而是大型语言模型 (Large Language Model) 处理 Token(小字符串片段)。除此之外,我们有 Token 窗口而不是字节的内存,还有其他等价物。所以它有点像计算机,这就是为什么我称之为大型语言模型操作系统(LLM OS)。我曾在推特上更详细地讨论过这个。我认为这是一个新计算机,我们都在学习如何编程,了解它的优势和劣势,如何将其融入产品,以及如何充分利用它。...

July 5, 2024 · 2 min · fisherdaddy