忙碌人士的大语言模型 (LLM) 入门:Andrej Karpathy 的讲解
近期,Andrej Karpathy 发布了一个长达一小时的演讲,主题是“忙碌人士的大语言模型入门”。无论你是机器学习的行家还是 AI 领域的新手,这个演讲都有很多值得一听的精彩内容。
在这一小时的分享中,他提及了众多资源、学术论文和重要概念。为此,我整理了一份阅读清单,帮助有兴趣的人深入了解他所触及的每一个话题。
完整的演讲可以在这里找到:[1hr Talk] Intro to Large Language Models
我建议在深入阅读这份清单之前,先观看一遍视频。Andrej 擅长把复杂的主题讲解得通俗易懂,非常适合初学者。
如果你想进一步探索这些话题,欢迎参加我们每周五在 Arxiv Dives 小组举行的论文讨论会,或者加入我们的 Discord 频道 来推荐更多优秀论文。
演讲分为两个部分:第一部分介绍了大语言模型的背景知识和基础原理,第二部分则探讨了未来研究方向和他提出的一种大语言模型操作系统 (LLM OS)。
背景阅读
在视频的前半部分,Andrej 讲解了大语言模型的培训基础及其当前的运行情况。
理解这些模型的核心技术和运行方式对于深入理解他在演讲后半部分提出的大语言模型操作系统 (LLM OS) 的应用概念至关重要。
我们在 Arxiv Dives 中已经对这些话题进行了深入探讨,因此我会在阅读这些技术性较强的论文时,提供相应的背景回顾作为参考。
注意力机制:一切的关键
这篇开创性论文首次详细介绍了 Transformer 技术,它是当下先进大语言模型的核心架构。
- 论文链接:https://arxiv.org/abs/1706.03762
- Arxiv 深度探索:https://blog.oxen.ai/arxiv-dives-attention-is-all-you-need/
语言模型:无需指导的多任务高手 (GPT-2)
GPT-2 是 GPT 系列的早期版本,它通过无监督学习来预测下一个词,从而能够掌握一些原本没有被直接训练的任务。
- 论文链接:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
- Arxiv 深度探索:https://blog.oxen.ai/arxiv-dives-language-models-are-unsupervised-multitask-learners-gpt-2/
指导语言模型:从 GPT-3 到 ChatGPT 的进阶之路 (InstructGPT)
这部分技术解析了如何从 GPT-3 转变为 ChatGPT,包括了细微调整、基于强化学习的人类反馈(RLHF)和语言模型的对齐工作。
- 论文链接:https://arxiv.org/abs/2203.02155
- Arxiv 深度探索:https://blog.oxen.ai/training-language-models-to-follow-instructions-instructgpt/
Llama-2
本文详述了视频开始提及的 Llama-2 模型。Llama-2 基于前两篇论文的研究成果,并创新地开源了其模型权重,便于其他研究者进行微调和进一步开发。
- 论文链接:https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models
- Arxiv 深度剖析:https://blog.oxen.ai/arxiv-dives-how-llama-2-works/
在本地运行大语言模型 (LLM)
论文开头部分详细介绍了,你只需大约 500 行 C 语言代码加上模型权重即可实现本地运行。下面是一些示范代码和教程,教你如何在本地对模型进行微调和运行。
- Llama.cpp 代码示例:https://github.com/ggerganov/llama.cpp
- Andrej 的代码实例:https://github.com/karpathy/llama2.c/blob/master/run.c
- 实操教程:https://blog.oxen.ai/how-to-run-llama-2-on-cpu-after-fine-tuning-with-lora/
RLAIF:结合 AI 反馈,提升基于人类反馈的强化学习规模
在大语言模型 (LLM) 训练和对齐的最后阶段,人类标注往往成为限制速度的瓶颈。RLAIF 利用已有的大语言模型加速数据标注,比纯人工更快,同时能达到相似的效果。
- 论文地址:https://arxiv.org/abs/2309.00267
培育高效能语言模型的新视角
这篇论文深入探讨了在语言模型中增加参数与所需训练数据量之间的关系。研究发现,不断增加模型参数和数据量,能够有效地无成本提升其“智能”。
- 论文链接:https://arxiv.org/abs/2203.15556
揭示人工普遍智能的奥秘:GPT-4 的早期探索
本研究针对 OpenAI 早期版本的 GPT-4 进行了全面的考察和实验。结果显示,通过扩大模型规模并延长训练时间,GPT-4 在多项对于人类而言颇具挑战性的测试(如 LSAT、AP 放置测试、SAT 等)中表现出色。
- 论文链接:https://arxiv.org/abs/2303.12712
大语言模型未来展望
在演讲的后半部分,Andrej 深入探索了人工智能领域广泛关注的研究方向。接着,他提出了一个概念:LLM OS。在他的论述中,大语言模型(LLM)不应仅被视为聊天机器人或是一种“工作生成器”。相反,它们更应被视为一种新兴操作系统的核心组件。
如果我们把大语言模型想象成一种操作系统,那么在使用过程中可能出现的安全漏洞也是我们必须考虑的问题。在演讲的最后一部分,他指出了许多与 LLM 相关的有趣的潜在安全威胁。
快思考与慢思考
快与慢:思维的两种模式
Daniel Kahneman 在这本书中描述了一个包含两种思维系统的框架。第一个系统快速、直觉、情感驱动;而第二个系统则更慢、更深思熟虑、更具逻辑性。
- 书籍链接:https://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp/0374533555
如何用深度学习和树搜索法征服围棋世界
这篇名为 AlphaGo 的论文记录了一个历史性的时刻:首次有计算机程序在标准规模的围棋比赛中战胜了人类职业棋手。这一成就曾被认为至少需要再等十年才可能实现。
- 论文链接:https://www.nature.com/articles/nature16961
如何通过“链式思考”提示激发大语言模型的推理能力
该论文展示了如何通过构造一系列中间推理步骤来增强大语言模型(LLMs)解决复杂问题的能力。
- 论文链接:https://arxiv.org/abs/2201.11903
思维之树:用大语言模型深入解决问题
这篇文章探讨了如何通过大语言模型进行更深层次的系统 2 型思考,这涉及到更广泛的探索、战略性预判或规划。在这类问题解决过程中,你可能可以牺牲一些时间来换取更高的准确度。
- 论文链接:https://arxiv.org/abs/2305.10601
系统 2 型注意力(你可能也需要注意这一点)
研究人员为大语言模型增加了一个额外的注意力步骤,帮助模型确定应该关注的内容。这一步骤重新构建了输入的上下文,只留下相关的部分,然后模型会聚焦于这些重新构建的上下文,以产生最终的回答。
- 论文链接:https://arxiv.org/abs/2311.11829
大语言模型操作系统 (LLM OS)
要理解大语言模型操作系统,最直观的方法是参考此次讲座中展示的图表。
你可以将大语言模型 (LLM) 视为一个过程,它协调内存和工具的使用来解决各种问题。这里的内存可能指的是提示和上下文窗口,它们交替展示当前处理的信息。而工具则可以是从网络浏览器、Python 代码到计算器等各种工具。
尽管他在这一部分并未明确提及任何论文,但以下几篇论文可以作为理解上述图表中各组成部分的良好起点。
如果有人知道更多与大语言模型操作系统紧密相关的论文,请在我们的 Discord 的 #paper-candidates 中分享!
磁盘 / 文件系统
以下论文是大语言模型操作系统图表左下方的示例,展示了大语言模型如何与本地文档或数据库互动。
检索增强生成 (Retrieval Augmented Generation, RAG)
在图表中,磁盘或文件系统的角色是从本地文件中提取上下文,为大语言模型提供额外信息,帮助其做出更准确的预测和决策。RAG 功能在于发现并检索相关文档,并将其融入提示中以助于解答问题。
- 论文:https://arxiv.org/abs/2005.11401
- Arxiv 深度解读:https://blog.oxen.ai/arxiv-dives-rag/
展示 – 搜索 – 预测:结合检索和语言模型以解决知识密集型 NLP 问题
这是一个基于 RAG 的框架,由斯坦福大学的自然语言处理团队开发,专注于处理知识密集型任务。
- 论文:https://arxiv.org/abs/2212.14024
多模态外设输入/输出
以下论文探讨了位于大语言模型操作系统架构中心的多模态外设输入和输出技术,主要涉及音频、视频、图像等形式。我们通过高级信号,如视频和音频,来感知世界。因此,将这些信号转化为大语言模型能够理解的嵌入空间至关重要。
CLIP – 从自然语言监督中学习通用视觉模型
CLIP 通过将文本和图像等不同模态的数据映射到一个共享的嵌入空间,极大地简化了图像到文本和文本到图像的转换任务。这种技术也是 StableDiffusion 等模型的基石。
- 论文链接:https://arxiv.org/abs/2103.00020
ULIP: 学习统一的语言、图像和点云表征,促进 3D 理解
结合 2D 和 3D 的表征,可以有效支持通常因数据稀缺而受限的 3D 模型。
- 论文链接:https://arxiv.org/abs/2212.05171
NExT-GPT: 多功能多模态大语言模型
NExT-GPT 通过将大语言模型与多模态适配器和多样化的扩散解码器相结合,实现了对文本、图像、视频和音频等不同模态输入的理解和输出生成,展现了极大的灵活性。
- 论文链接:https://next-gpt.github.io/
LLaVA – 视觉指令调整
本文介绍了首个尝试:利用仅限语言的 GPT-4 生成多模态的语言 – 图像指令遵循数据。通过在这些数据上进行指令调整,研究者们创造了 LLaVA(大型语言与视觉助手):一个端到端训练的大型多模态模型,它将视觉编码器与大语言模型(大语言模型)相结合,用于全面的视觉和语言理解。
- 论文:https://arxiv.org/abs/2304.08485
LaVIN – 经济实惠且迅速:大语言模型的高效视觉 – 语言指令调整
该文提出了一种既新颖又实惠的方案,用于有效地将大语言模型(大语言模型)适应视觉语言,这种方法被称为混合模态适应(混合模态适应)。
- 论文:https://arxiv.org/abs/2305.15023
CoCa: 对比性标题生成器作为图像 – 文本基础模型
这项技术有助于弥合语言模型与图像之间的多模态差距,对于生成式图像技术或上图中的“外围设备 io”至关重要。
- 论文:https://arxiv.org/abs/2205.01917
Emu Video: 显式图像条件下的文本到视频生成分解
本文展示了最新的文本到视频生成技术,这也是上图中外围设备部分的关键技术。
- 论文:https://arxiv.org/abs/2311.10709
工具应用、软件新视角、网络探索等
独立运作的大语言模型 (大语言模型) 并不擅长处理我们已经有相应软件的任务,例如计算器。一个数字紧跟另一个数字的高概率,并不代表这就是正确答案。
因此,我们需要使大语言模型能够在运行过程中调用外部工具。以下是几篇研究大语言模型与工具使用结合的论文。
Toolformer: Language Models Can Teach Themselves to Use Tools
展示大语言模型如何通过使用工具来提升自己在单纯预测下一词不足够的领域的能力。
- 论文链接:https://arxiv.org/abs/2302.04761
Large Language Models as Tool Makers
简称 LATM – 谷歌 Deepmind 展示了大语言模型不只是会使用工具,还能够创造工具。
- 论文链接:https://arxiv.org/abs/2305.17126
ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs
他们培训了 ToolLlama,这一 AI 智能体能够执行复杂任务,并能适应多达 16000+ 个真实世界的 APIs
- 论文链接:https://arxiv.org/abs/2307.16789
大语言模型的安全挑战
如同传统操作系统面临的安全威胁,大语言模型也带来了新的安全挑战,包括不当回应、网络钓鱼攻击,甚至是通过远程功能调用盗取用户数据等。
以下是一些论文,它们探讨了当前的安全隐患以及可能已经找到的解决方案。最主要的发现是,传统软件安全领域的猫鼠游戏在大语言模型的世界里同样存在,只是呈现出了新的形态。
破解:大语言模型安全训练失败的原因是什么?
这篇论文深入探讨了大语言模型中存在的各种破解方式和漏洞。
- 论文链接:https://arxiv.org/abs/2307.02483
对齐语言模型面临的通用且可迁移的对抗攻击
研究人员找到了一种特殊后缀,一旦加到语言模型上,即使模型原本被设计为不产生这类行为,也会触发不良行为并给出肯定的反应。
- 论文链接:https://arxiv.org/abs/2307.15043
视觉对抗示例如何破解对齐的大语言模型
该研究展示了如何构造特定图像,这些图像中编码的信息能被大语言模型解读,并导致模型产生与原本对齐目标相悖的行为。
- 论文链接:https://arxiv.org/abs/2306.13213
意料之外:通过间接提示注入攻击妥协集成了大语言模型的真实世界应用
这项研究揭示了大量可能被嵌入到大语言模型阅读的网页中的提示注入攻击,这些攻击会导致模型以非预期的方式行动。
- 论文链接:https://arxiv.org/abs/2302.12173
黑客攻击 Google Bard – 从提示注入到数据渗透
这篇文章探讨了使用 Google Bard 时,如何通过扩展和工具提取您 Google 帐户或生态系统中其他部分的个人数据。
- 博客链接:https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/
在指令调优时对语言模型进行投毒
这项研究显示了如何通过含有特定示例的数据集污染,使得基于大语言模型 (LLM) 构建的数据集在执行时无法达到预期效果。
- 论文链接:https://arxiv.org/abs/2305.00944
在网络规模训练数据集中进行投毒是实际可行的
这篇论文揭示了如何仅需花费 60 美元,就能在大规模的预训练数据集中引入有害知识或行为,从而降低模型的性能。
- 论文链接:https://arxiv.org/abs/2302.10149
结论
希望这份阅读列表能成为深入探索大语言模型这一日益兴盛领域的良好开端。毫无疑问,我们仍处于这项技术的早期阶段,前路漫长。
我认为,跟进最新研究并将其应用于产品,是保持创新边缘的最好方法。
想要实时了解 Arxiv Dives 或 Oxen.ai 的最新研究,请在 Twitter 上关注我们或 加入我们的 Discord!