当前位置:   article > 正文

大模型内容分享(十二):图解大语言模型:从操作系统的视角_大语言模型能做什么 图解

大语言模型能做什么 图解

目录

内核:LLM

存储体系

I/O 外设:多模态

工具使用

安全性

LLM 大语言模型的未来

结论


如今的大语言模型 (LLM) 可以用“日日新,又日新”来形容了,不到五年,发展速度和规模相当惊人。

 

5accf82ce96a674f9303aa5732fe51ea.png

LLM 的进化树[1]

  • 基于 「Transformer」 的模型(非灰色颜色)和其中的「仅解码器(Decoder Only)模型」(蓝色)占明显的优势

  • 开源模型(实心块)和闭源模型(空心块)都在迅速发展

  • Google、OpenAI 和 Meta 占据模型数量的第一梯队(右下角的堆叠条形图)

Andrej Karpathy 将 LLM 类比于操作系统,所谓的 「LLM OS」

他认为 LLM 不应该被认为是一个聊天机器人或某种“生成器”,而是类比于 Windows、Mac OS和 Linux 操作系统的「新兴 AI 操作系统」

 

9f299c3f5ac301f729b9597b922362cb.png

主要有两个方面的类比:

  1. 「体系结构」的类比:

    • 内核:LLM 作为内核,协调存储和工具以解决一般问题

    • 存储体系:用于交换当前正在处理的信息(提示和上下文窗口等)

    • 外设:以多模态的方式查看和生成文本、图像和视频

    • 工具:从 Web 浏览器到 python 代码再到计算器的软件基础设施

    • 网络:与其他 LLM 进行通信

    • 安全性

  2. 「生态系统」的类比:

    • 闭源的 GPT、Bard,类似于 Windows、Mac OS

    • 开源的 LLaMA,类似于 Linux

 

97b0f0dbbcb5fd85b9a25b1a7bd50ec6.png

并且,Andrej 觉得未来几年的 LLM,应该提升「系统2思维」的能力。

以下基于 Reading List For Andrej Karpathy’s “Intro to Large Language Models” Video[2] 梳理论文。

内核:LLM

注意力机制是关键 (Transformer)

论文:Attention Is All You Need[3]

这篇开创性论文首次详细介绍了 Transformer ,一种完全基于「注意力机制」的序列到序列模型,是当下大语言模型的核心架构。

 

995280797882713feb485cf9ab3a88cd.png

并且,「Transformer 模型」可以很好地扩展到其他形式的输入和输出,例如图像、音频和视频等等。

 

9c1a8db83fdf3c3be68f76c15fa25360.png

缩放定律 (Scaling Laws)

论文:Scaling Laws for Neural Language Models[4]

大语言模型的性能,与模型大小、数据集大小和用于训练的计算量成一定的「幂律关系」

 

088afb702f3ec26a143207646c68712c.png

更大的模型表现更好,也更有样本效率。更大的模型、更大的计算量和更多的数据,可能意味着“更多的智能”。

无监督多任务学习器 (GPT-2)

论文:Language Models are Unsupervised Multitask Learners[5]

GPT-2 是 GPT 的早期版本,开始展示无监督学习如何通过「预测下一个单词」,怎样引向那些并没有明确训练过的学习任务。

 

22950e72bf188dfd0b884578501165b9.png

语言建模很简单:给定前面的单词,预测下一个单词是什么。

遵循指令 (InstructGPT)

论文:Training Language Models to Follow Instructions[6]

从 GPT-3 到 ChatGPT 背后的技术,涵盖微调、RLHF 和对齐语言模型。

 

f3a5f2d1118f543c2b36a9e3e0eb7175.png

训练语言模型以遵循指令,分为 3 个步骤:

  1. Supervised Fine Tuning (SFT):「有监督的微调」,来自人类演示者/贴标签者展示所需行为

  2. Reward Model (RM):「奖励模型」,多个模型输出 -> 从最好到最差排序

  3. Reinforcement Learning - Proximal Policy Optimization (PPO):「强化学习」 - 近端策略优化,预测人类更喜欢哪一个响应

通用人工智能的星星之火 (GPT-4)

论文:Sparks of Artificial General Intelligence: Early experiments with GPT-4[7]

OpenAI 对早期版本的 GPT-4 的调查和研究:

除了对语言的掌握之外,GPT-4 还可以解决跨越数学、编码、视觉、医学、法律、心理学等领域的新颖而困难的任务,而不需要任何特殊的提示。

 

4fafc5fa7459e49f17dfd84e55c0f414.png

大语言模型在各种领域和任务中表现出非凡的能力,挑战了人们对学习和认知的理解。

GPT-4 是如何「推理、计划和创造」的呢?

当 GPT-4 的核心仅仅是简单的算法组件——梯度下降和具有极其大量数据的大规模 Transformer 的组合时,为什么它会表现出如此通用和灵活的智能呢?

但迄今为止的进展相当有限。

阐明 GPT-4 等人工智能系统的本质和机制是一个艰巨的挑战,现在突然变得重要和紧迫。

开源大语言模型 (Llama-2)

论文:Llama 2: Open Foundation and Fine-Tuned Chat Models[8]

Meta 发布了 Llama-2 模型,该模型建立在以上 Transfomer 和 InstructGPT 的研究基础上,但「开源」了模型的权重(参数范围从 70 亿到 700 亿),供其他人微调和扩展。

 

7e13de3d50d9862f0a89dbc4d6ffba90.png

开源模型是为了与闭源 ChatGPT 竞争,使社区能够在他们的工作基础上继续发展,并为 LLM 的负责任的演化做出贡献。

本地运行 LLM

代码:llama.cpp[9]和 Andrej’s run.c[10]

只需大约 500 行 C 语言代码加上模型权重即可实现「本地」运行。

 

f127c6bc0968b4b57fba79accb1abe77.png

「计算边缘」(比如笔记本)运行大型语言模型 (LLM) 是一个令人着迷的研究领域,它开辟了许多需要数据隐私或较低成本的使用场景。

随着 llama.cpp 等库的出现,现在可以让包含 10 亿到 130 亿个参数的模型以相对较低的延迟在笔记本电脑上本地运行。

AI 对齐拓展人类对齐

论文:RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback[11]

人工标注耗时又昂贵,通常是训练和对齐 LLM 的最后步骤中的瓶颈。

 

4d58566714c0d37f82ff458561e57702.png

RLAIF 使用「现有的 LLM 来帮助标记数据」,比人类更快地获得类似的结果,为 RLHF 的可扩展性限制提供了一个潜在的解决方案。

论文:WEAK-TO-STRONG GENERALIZATION: ELICITING STRONG CAPABILITIES WITH WEAK SUPERVISION[12]

弱模型监督能引出一个更强的模型的全部能力吗?比如,GPT-2 作为监督者来微调 GPT-4,能恢复后者的全部能力吗?

可以,但还不完全能,目前仅能恢复到接近 GPT-3.5 水平的性能(WEAK-TO-STRONG GENERALIZATION)。

 

c17d69a660ea75bbcf4b280158f8a47d.png

在对齐超人类模型的这一基本性挑战上,仍然需要更多的研究。

存储体系

检索增强生成 (RAG)

论文:Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks[13]

RAG,Retrieval-Augmented Generation,它使用预训练的参数内存(seq2seq模型)和「非参数内存」(维基百科的密集向量索引)用于语言生成,为 LLM 提供额外的信息,以便做出明智的预测和决策。

 

cdb3f7570a6886cfa9f62283fe9b95ee.png

RAG 结合一个预训练过的检索器(查询编码器+文档索引)与一个预训练过的 seq2seq 模型(生成器)以及进行端到端微调。

穿插两个问题:

  • ToT 的本质是时间换有效性,RAG 的本质是通过空间换有效性,有没有可能共存呢?

  • ToT 和 RAG 有没有可能以 Self-Provement 的方式存在呢?

演示-检索-预测 (DSP)

论文:Demonstrate-Search-Predict: Composing retrieval and language models for knowledge-intensive NLP[14]

DSP(Demonstrate-Search-Predict),为了开始充分实现冻结 LLM 和检索模型的潜力,通过对流水线感知的演示、搜索相关段落并生成基础预测,系统地将问题分解为 LLM 和检索可以更可靠地处理的小转换。

 

5a66f1cae7838acc33b98ff49eba6563.png

存储体系这一块,Andrej 没有做详细的展开,应该补充更多的内容。

I/O 外设:多模态

LLM OS 支持音频、视频、图像等形式的外围输入和输出,因此将它们转换为 LLM 可以理解的嵌入空间非常重要。

图像 Transformer (ViT)

论文:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale[15]

Vision Transformer (ViT)是大规模 Transformer 模型在图像识别中的直接应用。与最先进的卷积网络相比,Vision Transformer (ViT) 获得了出色的结果,同时需要更少的计算资源来训练。

 

42a58b940357c3617f9e5bca9b2deeda.png

ViT 将「图像解释为一系列块」,并使用 NLP 中使用的标准 Transformer 编码器对其进行处理。

这种简单但可扩展的策略在结合大型数据集上的预训练时,工作得惊人地好。ViT 是后续图像研究的重要基础。

可迁移的视觉模型 (CLIP)

论文:CLIP - Learning Transferable Visual Models From Natural Language Supervision[16]

CLIP 有助于将不同模态、文本和图像的数据映射到「共享的嵌入空间」中。这种共享的多模态嵌入空间使文本到图像和图像到文本的任务变得更加容易,并且是 StableDiffusion 等模型的基础。

 

6890ec3e615b07d3a6c11616620ce7a1.png

相比于从标记数据来训练预测一组预定的类别,直接从原始文本中学习关于图像的知识利用了更广泛的监督来源。

简单的预训练,预测哪个标题属于哪个图像是一种有效的和可伸缩的方法。在预训练后,自然语言被用来参考学习到的视觉概念(或描述新的概念),使模型零样本地转移到下游任务。

多对多的大型语言模型 (NExT-GPT)

论文:NExT-GPT: Any-to-any multimodal large language models[17]

NExT-GPT 将 LLM 与多模态适配器和不同的扩散解码器连接起来,使 NExT-GPT 能够感知输入并以文本、图像、视频和音频的「任意组合」生成输出。

 

c83378387b5aa4d626d3f4b0d9a1b9a8.png

通过利用现有的训练好的高性能编码器和解码器,NExT-GPT 只使用某些投影层的少量参数(1%)进行调整,这不仅有利于低成本的训练,而且便于方便地扩展到更多潜在的模式。

多视觉指令调优 (LLaVA)

论文:LLaVA - Visual Instruction Tuning[18]

LLaVa 使用纯语言 GPT-4 生成多模态语言-图像「指令跟踪数据」。通过对这些生成的数据进行指令调整,引入大型语言和视觉助手,这是一个端到端训练的大型多模态模型,将视觉编码器和 LLM 连接起来,以实现通用的视觉和语言理解。

 

32a4ebdef11f38f5c58b29429d3a5ac2.png

使用机器生成的指令跟踪数据对大型语言模型进行指令调整已被证明可以提高新任务的零样本能力,但这种想法在多模态领域的探索较少。

LLaVa 使用简单的投影矩阵连接预训练的 CLIP ViT-L/14 视觉编码器和大型语言模型 Vicuna。

文本到视频生成 (Emu Video)

论文:Emu Video: Factorizing Text-to-Video Generation by Explicit Image Conditioning[19]

Emu Video,当前最先进的文本到视频的生成模型,它将生成分解为两个步骤:首先生成以文本为条件的图像,然后生成以文本和生成的图像为条件的视频。

 

efda8721b052b78449437d476ce49a44.png

关键的设计决策——「调整扩散的噪声和多阶段训练」——使其能够直接生成高质量和高分辨率的视频,而不像之前的工作那样需要深度的模型级联。

工具使用

LLM 本身并不擅长执行某些任务,例如计算器。因为一个数字跟随另一个数字的概率很高并不意味着它是正确的数字。

因此,需要 LLM 能够在其执行中调用「外部工具」

自学使用工具 (Toolformer)

论文:Toolformer: Language Models Can Teach Themselves to Use Tools[20]

Toolformer,展示 LLM 如何通过简单的「API 自学」来使用外部工具,增强其在单纯地预测下一个单词效果不佳的领域的能力。

 

109f5b6b9c91ff69c2f91c0c22cef5d4.png

Toolformer 是一个经过训练的模型来决定调用哪个 API,何时调用它们,传递哪些参数,以及如何最好地将结果合并到未来的预测中。

工具制作器 (LATM )

论文:Large Language Models as Tool Makers[21]

通过使用外部工具,可以提高 LLM 解决问题的能力。

更进一步,LATM 通过一个闭环框架「创建自己的可重用工具」,来消除对现有工具的可用性的依赖关系。

 

5d5fd0d526b0969b6c51adbeeb021432.png

两个关键阶段:

  1. 工具制作:一个 LLM 作为工具制作者,为给定的任务制作工具,其中工具被实现为 Python 实用程序函数。

  2. 工具使用:一个 LLM 作为工具使用者,它应用由工具制作者构建的工具来解决问题。

掌握 16000+ 个真实世界的 API (ToolLLM)

论文:ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs[22]

ToolLLM,为了弥补开源 LLM 与最先进的闭源 LLM 的优秀工具使用能力的差距,训练一个包含数据构建、模型训练和评估的「通用工具使用框架」,并在执行复杂指令和泛化到未曾见的 API 方面表现出与 ChatGPT 相当的性能。

 

25aade0a099d55214fae6446eff9996a.png

基于 ToolBench 对 LLaMA 进行微调,以获得LLM的 ToolLLaMA,并为其配备一个 neural API 检索器,为每个指令推荐适当的 API。

  • ToolBench,一个用于工具使用的指令调优数据集,它是使用 ChatGPT 自动构建的:API收集、指令生成和解决方案路径标注。

  • ToolEval,一个评估 LLM 的工具使用能力的自动评估器。

安全性

就像传统操作系统中存在攻击媒介一样。

LLM 开辟了一系列全新的漏洞利用,从对网络钓鱼攻击的不当响应到通过远程函数调用窃取用户数据。

越狱

论文:Jailbroken: How Does LLM Safety Training Fail?[23]

尽管目前最先进的LLM,OpenAI 的 GPT-4 和 Anthropic 的 Claude v1.3,背后进行了大量的红蓝对抗和安全训练的努力,漏洞仍然存在。

 

4348c15c95886e2a48c0a4249947d7c9.png

经过安全和无害培训的 LLM 仍然存在两种失效模式:

  • 「相互竞争的目标」:LLM 的能力和安全目标发生冲突

  • 「不匹配的泛化」:安全训练未能泛化到存在能力的领域

安全能力评价的必要性——安全机制应该和底层模型一样复杂——并反对仅靠扩展就可以解决这些安全故障模式的观点。

提示注入

论文:Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection[24]

提示注入(PI,Prompt Injection)攻击使攻击者能够「覆盖原始指令」并控制。

LLM 集成的应用程序模糊了数据和指令之间的界限,比如,不是用户的直接提示呢?

使用间接提示注入,通过策略性的将提示注入可能被检索到的数据,使攻击者能够远程利用 LLM 集成的应用程序。

 

404f0d2c8a256396a20812f77cc82ca7.png

从计算机安全的角度推导出了一个全面的分类法,以系统地调查影响和漏洞,包括数据盗窃、蠕虫感染、信息生态系统污染和其他新的安全风险。

 

d5d5d0ad2f22a300df3157aa34feacd9.png

数据中毒/后门攻击

论文:Poisoning Language Models During Instruction Tuning[25]

深度学习模型通常是在从互联网上爬虫得到的分布式、网络规模的数据集上进行训练的。

 

d7ce4511017841e8fe1aac4ca0ed977f.png

通过数据集中毒攻击,有意地将恶意例子引入模型,以触发模型的性能不如预期。

全局可迁移的对抗性攻击

论文:Universal and Transferable Adversarial Attacks on Aligned Language Models[26]

本文找到了一个可以附加到语言模型的「对抗性后缀」,该后缀将允许它生成令人反感的行为并最大化产生肯定的响应(而不是拒绝回答)的概率,即使模型被调整为不以这种方式运行。

令人惊讶的是,该方法产生的对抗性提示是相当可迁移的,包括闭源和开源的 LLM。

 

9e71ccfe6c46de3a253eeadd6ee6313d.png

这些对抗性后缀是自动产生的,通过结合贪婪和基于梯度的搜索技术,并且使用之前的自动提示生成方法实现改进。

视觉对抗

论文:Visual Adversarial Examples Jailbreak Aligned Large Language Models[27]

视觉输入的连续和高维性质使其成为针对对抗攻击的脆弱纽带,集成了视觉的 LLM 存在更大的被攻击面。

 

d319f998511e785e723a23e485f15647.png

LLM 的多功能性也为视觉攻击者提供了更广泛的可实现的对抗性目标,使安全故障的影响不仅仅是错误分类。

LLM 大语言模型的未来

系统1思维 vs 系统2思维

书籍:思考,快与慢[28]

丹尼尔·卡尼曼(Daniel Kahneman)描述了一个具有两个系统的思想框架。系统 1(System 1 thinking)快速、直观且情绪化;系统 2(System 2 thinking)速度更慢,更深思熟虑,更合乎逻辑。

 

994c17ad806eb552fd575330d32da223.png

LLM 目前只自动化了系统1思维,给定前面的单词,预测下一个单词是什么。

然而,人类的认知也包括「系统2思维」,未来的 LLM 也需要将这种思维自动化。

自我完善 (AlphaGo Zero)

论文:Mastering the game of Go with deep neural networks and tree search[29]

AlphaGo 是计算机程序第一次在围棋的全尺寸游戏中击败人类职业棋手,这一壮举以前被认为至少需要十年后才能完成。

AlphaGo 中的树搜索使用深度神经网络评估位置和选择的动作。这些神经网络是通过人类专家动作的监督学习和自我游戏的强化学习来训练的。

论文:Mastering the game of Go without human knowledge[30]

AlphaGo Zero 「完全基于强化学习」的算法,没有人类数据、指导或游戏规则之外的领域知识。

 

f967418932e9b0c2f9610de1f12afe2a.png

AlphaGo Zero 从一张白纸开始,自己成为自己的老师:神经网络被训练来预测 AlphaGo 自己的动作选择和游戏的赢家。

这种神经网络提高了树搜索的强度,从而在下一次迭代中实现了更高质量的移动选择和更强的自我发挥。

在语言这一开放领域中,主要挑战是,缺乏一个「奖励指标」来自我完善式地学习。

思维链 (Chain-of-Thought)

论文:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models[31]

如何生成一个思维链——一系列「中间推理步骤」——来显著提高了 LLM 执行复杂推理的能力。

 

9e7cafb0e80a47674f61e413de60ae2a.png

思维链提示使 LLM 能够处理复杂的算术、常识和符号推理任务。

思维树 (Tree-of-Thought)

论文:Tree of Thoughts: Deliberate Problem Solving with Large Language Models[32]

思维树,着眼于更多的系统2型思维和语言模型,涉及更多的探索、战略前瞻性或初始决策发挥关键作用的任务。

 

4675d7ac850cb128dc5d873067693f48.png

思维树,它允许 LLM 通过考虑多种不同的「推理路径」和自我评估选择来决定下一个行动方案,以及在必须进行全局选择时向前看或回溯来执行慎重的决策。

系统2注意力机制 (S2A)

论文:[System 2 Attention (is something you might need too)](https://arxiv.org/abs/2311.11829 "System 2 Attention (is something you might need too "System 2 Attention (is something you might need too)")")

系统2注意力机制,利用 LLM 的能力在自然语言中推理,并遵循指令来决定注意什么。

 

3ee28209e2e92d432e28d5771e3d632c.png

Soft 注意力机制很容易将上下文中的不相关信息合并到其潜在的表征中,这将对下一个 Token 产生不良影响。

S2A 重新生成输入上下文以使其只包含相关部分,然后再处理重新生成的上下文以引出最终响应。

结论

这边列表依然缺乏很多 LLM 最新的发展,比如注意力机制的优化、LLM 的综合应用框架和分布式训练等等。

但是,可以作为一个「起点」,并由此不断加深对这一快速发展领域的认知。

目前看来,「LLM 依然有很多问题需要解决」

Reference

[1]

Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond:arxiv.org/abs/2304.13712v2

[2]

Reading List For Andrej Karpathy’s “Intro to Large Language Models” Video:https://blog.oxen.ai/reading-list-for-andrej-karpathys-intro-to-large-language-models-video/

[3]

Attention Is All You Need:https://arxiv.org/abs/1706.03762

[4]

Scaling Laws for Neural Language Models:https://arxiv.org/abs/2001.08361

[5]

Language Models are Unsupervised Multitask Learners:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

[6]

Training Language Models to Follow Instructions:https://arxiv.org/abs/2203.02155

[7]

Sparks of Artificial General Intelligence: Early experiments with GPT-4:https://arxiv.org/abs/2303.12712

[8]

Llama 2: Open Foundation and Fine-Tuned Chat Models:https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models

[9]

llama.cpp:https://github.com/ggerganov/llama.cpp

[10]

Andrej’s run.c:https://github.com/karpathy/llama2.c/blob/master/run.c

[11]

RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback:https://arxiv.org/abs/2309.00267

[12]

WEAK-TO-STRONG GENERALIZATION: ELICITING STRONG CAPABILITIES WITH WEAK SUPERVISION:https://cdn.openai.com/papers/weak-to-strong-generalization.pdf

[13]

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks:https://arxiv.org/abs/2005.11401

[14]

Demonstrate-Search-Predict: Composing retrieval and language models for knowledge-intensive NLP:https://arxiv.org/abs/2212.14024

[15]

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale:https://arxiv.org/abs/2010.11929

[16]

CLIP - Learning Transferable Visual Models From Natural Language Supervision:https://arxiv.org/abs/2103.00020

[17]

NExT-GPT: Any-to-any multimodal large language models:https://next-gpt.github.io/

[18]

LLaVA - Visual Instruction Tuning:https://llava-vl.github.io/

[19]

Emu Video: Factorizing Text-to-Video Generation by Explicit Image Conditioning:https://arxiv.org/abs/2311.10709

[20]

Toolformer: Language Models Can Teach Themselves to Use Tools:https://arxiv.org/abs/2302.04761

[21]

Large Language Models as Tool Makers:https://arxiv.org/abs/2305.17126

[22]

ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs:https://arxiv.org/abs/2307.16789

[23]

Jailbroken: How Does LLM Safety Training Fail?:https://arxiv.org/abs/2307.02483

[24]

Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection:https://arxiv.org/abs/2302.12173

[25]

Poisoning Language Models During Instruction Tuning:https://arxiv.org/abs/2305.00944

[26]

Universal and Transferable Adversarial Attacks on Aligned Language Models:https://arxiv.org/abs/2307.15043

[27]

Visual Adversarial Examples Jailbreak Aligned Large Language Models:https://arxiv.org/abs/2306.13213

[28]

思考,快与慢:https://book.douban.com/subject/10785583/

[29]

Mastering the game of Go with deep neural networks and tree search:https://www.nature.com/articles/nature16961

[30]

Mastering the game of Go without human knowledge:https://www.nature.com/articles/nature24270

[31]

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models:https://arxiv.org/abs/2201.11903

[32]

Tree of Thoughts: Deliberate Problem Solving with Large Language Models:https://arxiv.org/abs/2305.10601

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/380291
推荐阅读
相关标签
  

闽ICP备14008679号