Andrej Karpathy:LLM使用指南

AI科学家Andrej Karpathy更多地讨论了LLM的实际应用,而没有深入技术细节。最适合非数据科学家。原始视频查看这里这里

1、什么是LLMs?

大型语言模型(LLMs)是先进的AI系统,通过处理大量文本和代码的数据集进行训练,使其能够生成类似人类的响应。这些模型主要使用深度学习架构,尤其是变压器,它们在理解和生成自然语言方面表现出色。

视频强调了 ChatGPT(OpenAI)作为LLM的旗舰示例。

1.0 自2022年以来的发展

ChatGPT的发布(2022年): 第一个广泛可访问的LLM,使AI驱动的对话成为主流。

功能扩展: LLMs已经发展到包括:

工具集成 —— 网络搜索、代码执行、文件上传。

多模态 —— 支持音频、图像和视频。

个性化 —— 可定制的人格特征、记忆功能。

市场采用: LLMs从实验工具转变为实际应用,应用于教育、编码、医疗保健和内容创作等领域。

1.1 生态系统增长与竞争

自ChatGPT推出以来,许多竞争对手涌现出来,挑战OpenAI的主导地位。

大科技公司参与者

谷歌的Gemini —— 集成到谷歌生态系统中,专注于隐私和多语言支持。

微软的Copilot —— 嵌入到Visual Studio等工具中的编码助手,由OpenAI技术提供支持。

Meta的Llama —— 一个开源模型,用于研究和定制,面向开发者。

创新创业公司

Anthropic的Claude —— 以伦理AI和在技术任务中的强推理能力著称。

XAI的Grok —— 埃隆·马斯克的模型,据传强调安全性和对齐性。

DeepSeek —— 优化用于多语言和地区知识,服务于本地用户。

全球扩张

Mistral(法国) —— 注重效率和低资源语言。

DeepSeek(中国) —— 专为中国语言任务设计,符合当地法规。

1.2 差异化与市场动态

每个模型都通过提供独特优势来竞争:

性能:

Claude 3.5 —— 在推理和技术任务中表现优异。

Gemini —— 优化速度和多语言支持。

定价:

免费层级(如GPT-4 Mini)。

高级计划(如ChatGPT Pro,每月200美元,提供高级功能)。

工具集成:

一些模型(如Claude的Artifacts)支持自定义应用程序生成

其他模型提供网络搜索、文件上传和代码执行

一些用于评估LLM排名的排行榜有Chatbot ArenaScale AI Leaderboard,它们根据准确性、推理能力和用户满意度对LLM进行排名。这些工具帮助用户根据特定任务选择最佳模型:

编程 —— Claude。

数学与逻辑 —— GPT-4。

多语言支持 —— Gemini。

1.3 对用户的含义

选择与复杂性: 更多的模型意味着更多的选择,但也意味着在成本、性能和功能方面的更多权衡。

ChatGPT的地位: 尽管有竞争,ChatGPT仍然是最成熟且功能丰富的选项,受益于OpenAI的持续更新。

用例对齐: 用户应基于需求(如编程、研究、休闲使用)尝试不同的模型,并使用排行榜做出明智决策。

2、LLM的实际应用

2.1 基本交互:文本输入和输出

用户通过基于文本的界面与LLMs交互,输入提示(问题、命令)并接收AI生成的响应。这一过程依赖于标记化,即将文本分割成标记——模型理解的最小单位。

标记化的工作原理

文本被拆分成标记 —— 子词、单词或标点符号。

模型处理标记 —— 将其转换为数值表示形式。

响应生成 —— 模型预测序列中的下一个标记以形成回复。

示例:

用户输入: “写一首关于成为LLM的俳句。”

标记化输入: 15个标记(例如,“Write”,“a”,“haiku”,“about”,“being”,等等)。

模型回复: “词语如流 / 无尽回声,勿念 / 无形思绪”

标记化输出: 19个标记。

实际含义

较短的提示生成更快的响应,而较长的提示消耗更多的标记

清晰、具体的提示提高响应质量和相关性。

理解标记化有助于用户优化与LLMs的互动

2.2 标记化:LLM处理的基础

标记化将原始文本转换为标记序列以便模型处理。像Tik Tokenizer这样的工具可以可视化这一过程,帮助用户理解LLMs如何解释输入。

关键概念

  • 词汇量大小: GPT-4有约20万个标记,允许广泛的语言表示。
  • 标记化算法: 模型使用**字节对编码(BPE)**将单词拆分为子词(例如,“university”→“uni”,“vers”,“ity”)。
  • 特殊标记:
  • </s> – 标记序列的结束。
  • <|user|> & <|assistant|> – 区分用户输入与AI输出。

使用Tik Tokenizer的示例:

  • 输入: “The quick brown fox jumps over the lazy dog.”
  • 标记化输出: ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog", "</s>"]

为什么标记化重要

  • 效率 —— 将罕见单词分解为已知子词(例如,“neuralgia”→“neural”,“gia”)。
  • 上下文管理 —— 维持响应的一致性。
  • 工具集成 —— 标记化使精确处理代码、计算和语言翻译成为可能。

2.3 会话格式:使用标记结构化交互

LLMs将对话处理为连续的标记序列,使用特殊标记区分用户和助手的响应。

会话结构

  • 用户消息: <|user|> 你的输入在这里 <|/user|>
  • 助手消息: <|assistant|> AI回复在这里 <|/assistant|>

示例:

<|user|> 写一首关于成为LLM的俳句。 <|/user|>    
<|assistant|> 词语如流 / 无尽回声,勿念 / 无形思绪。 <|/assistant|>

这种格式确保模型正确跟踪对话角色并保持上下文。

上下文窗口:在对话中管理内存

  • 上下文窗口 —— 模型的工作记忆,存储固定数量的标记。
  • 重置上下文 —— 开始新的聊天清除之前的标记,防止混淆。
  • 标记限制 —— 大多数模型将其记忆限制在4,096个标记,超过这个限制,较旧的标记会被遗忘。

实际应用场景

  • 多轮对话:支持跟进问题和连贯的双向互动。
  • 工具使用:包含**外部数据(例如,搜索结果、代码执行)**以丰富响应。
  • 错误处理:重置上下文有助于纠正错误回答,引导模型给出更好的答案。

3、LLM的训练过程

3.1 预训练:将互联网压缩成参数

LLMs首先进行预训练,在此过程中,它们通过处理大规模数据集来学习基础知识。这个阶段的功能就像一个压缩的zip文件,世界上的知识以神经网络参数的形式存储。

数据规模和来源

  • 像GPT-4这样的模型训练于数万亿个标记,包括书籍、网站、代码库和学术论文。
  • 示例: 一个模型可能会处理相当于数百万本书数十亿个网页的数据,捕捉语言模式、事实和文化背景。

Transformer架构

  • LLMs使用Transformer网络来识别文本序列中的单词关系。
  • 训练是无监督的,这意味着模型在没有明确标签的情况下通过预测下一个标记来学习模式

参数压缩

  • 模型将知识压缩成神经网络参数(权重)
  • 示例: GPT-4有约1万亿个参数,存储了诸如单词关系和事实知识等学习特征。
  • 这就像一个**“有损zip文件”**——它保留了通用知识,但忽略了稀有或专门的知识。

知识获取

  • 模型学习关联(例如,“巴黎是法国的首都”)和风格模式(正式与非正式语言)。
  • 然而,预训练是概率性的,意味着响应基于可能性,而不是绝对事实——导致偶尔出现幻觉(不准确的输出)。

成本和局限性

  • 极其昂贵——耗资数千万美元,需要几个月的计算时间。
  • 模型很少重新训练,导致知识截止(例如,GPT-4的数据截止到2023年底)。

3.2 后训练:为人类交互进行专业化

一旦预训练完成,模型会经历后训练(也称为监督微调,SFT),以优化其行为以适应对话任务。

人工标注数据

  • 模型在带有人工注释对话的数据集上进行训练,其中输入和理想响应被标注。
  • 示例: 一个像“用简单的术语解释量子物理”的提示会配有人类书写的简洁明了的答案。

人格采纳

  • 后训练教导模型采用特定人格(例如教师、助手、客服代表)。
  • 它学会优先考虑清晰度、相关性和语气,基于人类期望。

任务专业化

微调提高了在特定领域的表现,例如:

  • 问答: 提供事实准确、上下文相关的答案。
  • 代码生成: 编写语法正确、高效的代码。
  • 创意写作: 生成诗歌、故事或营销文案。

减少幻觉

  • 人工标注数据强化了事实准确性,减少了误导性或荒谬的回答
  • 然而,由于模型的概率性质,幻觉无法完全消除

3.3 知识截止:预训练的限制

LLMs的一个主要限制是知识截止,即模型停止学习新信息的时间点。

为什么存在

  • 重新训练成本高昂——LLMs如GPT-4可能多年不会更新。
  • 示例: GPT-4的知识截止到2023年底,意味着它缺乏对2024年事件(如选举、新的科学突破)的意识。

对用户的影响

  • 近期事件: 模型无法提供关于截止日期后话题的更新(如新法律、产品发布)。
  • 专业主题: 专门知识(如一种新药物的发现)可能不在训练数据中。

解决方案

  • 工具集成: 模型可以使用实时网络搜索来获取最新信息。
  • 用户验证: 用户应该交叉检查关键信息以确保可靠性。

伦理考量

  • 过时的知识可能导致敏感领域的偏见(如医学、法律)。
  • 用户在依赖LLM生成的信息时必须意识到这些局限性

然而,知识截止限制了它们对新发展的认识。为了弥补这一点,用户应验证信息并利用工具获取实时数据。

4、使用LLMs实用技巧

4.1 上下文窗口:有效管理令牌序列以提高效率

上下文窗口是LLM的工作记忆,代表一段文本块(token chunk)序列,维持对话上下文。有效地管理它对于准确性和效率至关重要。

为什么重要

  • LLMs逐个处理文本token,使用上下文窗口作为最近输入和输出的缓冲区。
  • 无关文本填满窗口会导致:
  • 降低准确性 —— 不必要的信息会分散模型注意力,导致偏离主题的回应。
  • 增加延迟 —— 更长的序列需要更多的计算,减慢响应时间。

最佳实践

  • 保持简短和相关 —— 将上下文窗口限制在必要信息内。
示例: 如果调试代码,只包含相关的代码片段,而不是整个程序。
  • 重置窗口 —— 当切换话题时开始新的对话,以避免混淆。
  • 注意令牌限制 —— 大多数模型都有最大令牌限制(例如,4,096个令牌)。超出这个限制可能会截断响应或导致错误。

无效使用:

🔴 用户在询问摘要之前将1,000字的文章粘贴到上下文窗口中。
👉 模型难以处理过多的令牌,产生通用或不完整的摘要

有效使用:

✅ 用户仅复制关键段落到上下文窗口中。
👉 模型生成简洁准确的摘要

4.2 模型选择:平衡能力和成本

LLMs在大小、能力和定价方面各不相同。选择正确的模型取决于任务复杂度和预算

模型等级

免费层级: 基础模型(例如,GPT-4 Mini、Claude 2)具有有限的功能。

付费层级: 高级模型(例如,GPT-4、Claude 3.5)提供:

更广泛的知识 —— 更擅长处理专业或技术主题。

高级功能 —— 访问工具如网络搜索、代码执行和自定义人格

更快的推理 —— 优化速度,减少响应时间。

权衡

成本与性能:

  • GPT-4(每月20美元)和Claude 3.5(每月30美元)虽然成本较高但准确率高

任务特定需求:

  • 编程: GPT-4和Claude 3.5在代码生成和调试方面表现出色。
  • 研究: 具有网络搜索功能的模型(例如Gemini 2.0)更适合获取最新信息。
  • 创意写作: 较小的模型足以完成任务,如撰写电子邮件和诗歌

示例

  • 一位开发人员在调试复杂代码 → 选择GPT-4因其高级推理能力,尽管成本较高。
  • 一名学生总结一本教科书章节 → 使用免费层级模型以节省费用。

4.3 工具使用:通过外部工具增强功能

现代LLMs整合外部工具以克服知识截止和实时数据限制

网络搜索

  • 用途: 获取最新信息(例如新闻、研究)。
  • 工作原理: 模型生成搜索查询,检索结果并将其用于回复。

示例:

  • 用户提问: “下一次SpaceX发射是什么时候?”
  • 模型搜索、检索日程安排并回应准确信息。

Python解释器

  • 用途: 处理计算、数据分析和代码执行
  • 工作原理: 模型编写Python代码,执行并返回结果。

示例:

  • 用户提问: “计算x²从0到5的积分。”
  • 模型生成并运行Python代码,返回41.67

文件上传

  • 用途: 处理PDF、电子表格或文本文件以进行摘要、数据提取或分析。
  • 工作原理: 上传的文件被转换为标记并添加到上下文窗口中。

示例:

  • 用户上传一篇科学论文 并要求方法论摘要
  • 模型提取相关部分 并生成简洁摘要。

高级工具

  • 深度研究: 结合网络搜索+推理生成详细报告(例如ChatGPT的深度研究功能)。
  • 自定义应用: 工具如Claude的Artifacts帮助用户构建交互式应用(例如闪卡、图表)。

使用的其他技巧

  • 自定义指令: 定义模型行为(例如,语气、冗长程度或响应风格)。
  • 记忆功能: 有些模型(例如ChatGPT的记忆)可以在会话之间保留上下文
  • 多模态输入: 使用音频、图像和视频工具进行任务,如转录或图解分析

遵循这些最佳实践,用户可以优化LLM性能,同时避免常见的问题,如上下文过载和过时知识

5、高级功能

5.1 思维模型:使用强化学习进行深度推理

思维模型使用来自人类反馈的强化学习(RLHF)来进行多步推理并解决复杂问题。

训练过程

  • 预训练: 模型从互联网数据中学习基础知识。
  • 监督微调(SFT): 人类注释的对话塑造响应风格。
  • 强化学习(RL): 模型因生成逻辑和准确的响应而获得奖励,从而改进其逐步推理过程。

能力

  • 多步推理: 将问题分解为子任务,探索假设并迭代至解决方案。
  • 错误修正: 检测矛盾,回溯并细化答案。
  • 领域专业化:数学、编码和逻辑任务中表现良好。

示例

  • 数学问题: 分步解决积分或代数方程
  • 代码调试: 识别逻辑流程中的错误和变量范围。
  • 逻辑谜题: 系统性地解决谜语和悖论

访问和成本

  • 模型选择: ChatGPT的 “O”模型(o1, o3),Claude的Sonnet层级,以及Gemini的Pro模型
  • 价格: 通常在更高层级订阅中可用(例如ChatGPT Pro每月200美元)。

实用技巧

  • 启用思考模式: 查找模型界面中的**“启用高级推理”**设置。
  • 耐心: 深度推理需要时间,响应可能需要几分钟。

5.2 网络搜索:访问实时信息

网络搜索工具允许LLMs检索最新信息并解决知识截止的问题。

工作原理

  1. 触发搜索: 当模型检测到需要当前数据时,它会发出一个特殊标记(例如<<SEARCH>>)。
  2. 执行搜索: 应用程序执行网络搜索并检索相关信息。
  3. 整合结果: 搜索结果被添加到上下文窗口中以供参考。

使用场景

  • 近期事件: 新闻、选举或产品发布。
  • 动态数据: 股票价格、天气和活动日程。
  • 专业主题: 罕见疾病、地方条例或新兴技术。

模型支持

  • ChatGPT: 搜索网络按钮(某些层级需要手动激活)。
  • Claude: 搜索工具在Claude 3.7+(付费功能)。
  • Gemini: 内置搜索在Gemini 2.0 Pro。

限制

  • 来源可靠性: 结果可能包含虚构或误读的数据
  • 延迟: 搜索集成可能会减慢响应时间

实用技巧

  • 明确请求: 使用诸如*“在网络上搜索…”*之类的短语来提示工具。
  • 验证: 交叉检查重要信息以确保可靠性。

5.3 深度研究:通过搜索和推理生成详细的报告

深度研究结合网络搜索、多文档分析和结构化综合来生成详细的报告。

过程

  1. 查询分析: 模型将用户的请求分解为子主题。
  2. 网络搜索: 搜索相关关键词。
  3. 文档处理: 从搜索结果中提取关键见解。
  4. 综合: 生成结构化的报告,附带引用和分析。

示例

  • 健康研究: 分析补充剂或药物。
  • 市场分析: 比较产品或服务。
  • 技术深度剖析: 解释复杂的概念,如区块链共识算法

访问

  • ChatGPT:Pro层级中可用(每月200美元)。
  • Claude: 深度搜索在Claude 3.7+(付费功能)。
  • Perplexity AI: 免费层级,具有有限的深度研究功能

限制

  • 成本: 需要高端订阅
  • 准确性: 报告可能包含虚构或过时的来源
  • 处理时间: 复杂查询可能需要10分钟以上

实用技巧

  • 用于复杂主题: 最适合学术、商业和技术研究
  • 审查引用: 交叉检查引用以确保可信度
  • 细化查询: 将范围缩小到特定主题的具体方面

这些工具显著扩展了LLM的功能,使其在技术、学术和商业应用中更加灵活。

6、多模态

现代LLMs正在超越基于文本的交互,支持多模态输入和输出,包括音频、图像和视频。这些功能极大地扩展了它们的实用性。

6.1 音频交互:语音到文本和文本到语音

音频交互使用户能够通过自然语音与LLMs交流,使交互更加直观和免提。

语音到文本(STT)

如何工作:

  • 音频被转换成文本标记,使用语音识别算法
  • 工具如Whisper(OpenAI的开源STT模型)或移动应用集成(例如ChatGPT的麦克风图标)实现实时转录。

示例:

  • 用户说话: “天空为什么是蓝色的?”
  • 模型转录音频,处理并回应: “天空之所以呈现蓝色是因为瑞利散射……”

使用场景:

  • 移动查询(例如在驾驶时询问方向)。
  • 无障碍,方便行动不便或识字困难的用户。

文本到语音(TTS)

如何工作:

  • 模型的文本响应被转换成音频,使用合成声音。
  • 功能如ChatGPT的“朗读”按钮或系统范围的TTS应用(例如Voice Dream Reader)实现这一点。

示例:

  • 用户请求: “请朗读这篇文章。”
  • 模型生成文本,然后通过TTS播放。

使用场景:

  • 在多任务时消费内容(例如在锻炼时听电子邮件)。
  • 辅助视觉障碍用户进行实时文本到音频转换。

高级语音模式(真音频)

如何工作:

  • 与标准STT + TTS不同,高级语音模式直接处理音频,而不是先将其转换为文本。
  • 这使得实时、自然的语音交互成为可能,包括音调、语调和风格调整。

示例:

  • 用户说话: “告诉我一个Yoda的笑话。”
  • 模型实时回应,模仿Yoda的讲话方式。

工具:

  • ChatGPT的高级语音模式(在付费层中可用)。
  • Grok的语音功能,允许有趣的、人格驱动的交互(例如“阴谋模式”)。

限制:

  • 准确性: 背景噪音或口音可能影响转录质量。
  • 延迟: 实时处理可能引入延迟。

6.2 图像和视频处理:超越文本

LLMs现在可以通过将图像和视频转换为标记流来处理视觉数据,从而实现任务,如识别、生成和分析

图像标记化

如何工作:

  • 图像被分割成补丁(例如16x16像素网格)。
  • 每个补丁被量化为标记,将图像转换成一系列数值表示,类似于文本处理。

示例:

  • 一个模型如DALL·E根据提示生成图像:“一个赛博朋克龙在霓虹灯城市。”

使用场景:

  • 图像识别:识别医学扫描或照片中的物体。
  • 内容创建:生成插图、标志、梗图或艺术设计

视频交互

如何工作:

  • 视频帧被处理为一系列图像标记
  • 虽然全面的视频理解仍然受限,但一些模型允许实时对象识别通过摄像头输入。

示例:

  • 用户提问: “这是什么植物?”同时用相机对准一株多肉植物。
  • 模型识别植物种类并提供护理建议。

工具和应用:

  • DALL·E(OpenAI):根据文本提示生成图像。
  • Notion AI:从上传的文本文档创建播客。
  • Grok的视频模式:处理实时视频输入以进行实时查询。

限制:

  • 质量: 生成的图像可能缺乏细节或连贯性
  • 伦理: 视觉模型的风险包括深度伪造或偏见训练数据

6.3 多模态的实际应用

医疗保健

  • 分析医学图像(例如X光片、MRI、血液测试结果)。
  • 生成患者教育材料,如动画解说视频。

教育

  • 创建结合文本、图像和音频的互动课程
  • 转录讲座或将图表生成闪卡

创意产业

  • 设计营销材料(例如标志、广告文案、AI生成的产品视频)。
  • 从文本脚本制作视频分镜头脚本

可访问性

  • 语音控制界面为运动障碍用户提供服务。
  • 图像到文本工具为视力障碍用户提供服务。

7、提升生活质量的功能

现代LLMs通过提升个性化、效率和任务特定功能来改善用户体验。这些“提升生活质量”的功能使交互更加直观和个性化,以满足个人需求。

7.1 记忆:跨对话保留上下文

记忆功能允许LLMs保留从前交互中的信息,实现连续性和个性化。

如何工作

  • 模型将对话中的关键细节存储在一个记忆库中——一种附加到未来交互的数据库结构。
  • 存储的记忆被标记化并包含在上下文窗口中,确保模型引用过去的信息。

示例:

  • 用户提问: “法国的首都是什么?”
  • 模型存储: “巴黎”在记忆中。
  • 之后,用户说: “把它加到我的旅行清单中。”
  • 模型理解‘它’指的是巴黎。

使用场景

  • 个性化: 模型记住偏好(例如“我更喜欢简洁的回答”)。
  • 任务连续性: 恢复中断的工作流程(例如代码调试)。
  • 上下文理解: 引用先前的话题,无需重复解释。

工具和管理

  • ChatGPT: 记忆更新自动或通过用户提示(例如“记住这个”)。
  • 定制: 用户可以在设置中编辑、删除或添加记忆

限制:

  • 记忆是模型特定的;数据不共享平台。

示例:

  • 用户讨论他们对科幻电影的喜爱。随着时间推移,模型推荐相关电影,即使在新对话中也是如此。

7.2 自定义指令:调整模型行为

自定义指令让用户定义模型如何响应,调整语气、冗长程度或任务特定行为

如何工作

  • 用户在专用设置面板中输入偏好(例如“简洁且事实性强”)。
  • 指令被标记化并添加到上下文窗口,影响响应。

示例:

  • 用户设置:“始终使用Python提供代码并逐步解释逻辑。”

使用场景

  • 语气控制: 正式(例如学术写作)与非正式(例如社交媒体)。
  • 任务特定规则: “仅使用韩语语法规则进行翻译。”
  • 人格定制: “表现得像个中世纪学者。”

工具

  • ChatGPT: *“自定义指令”*在设置中。
  • Claude: *“人格”*设置用于角色扮演或特定领域任务。

实用技巧

  • 使用少量样本提示(示例)进行复杂任务
  • 更新指令以适应不断变化的需求(例如从调试切换到文档编写)。

示例:

  • 一名学习韩语的学生设置:“将句子翻译成韩语时使用礼貌形式(댓글)。”

7.3 自定义GPT:为特定任务创建模型

自定义GPT允许用户构建针对特定任务的专业模型,如语言学习或数据分析

如何工作

  1. 定义指令: 用户指定任务并提供示例(例如“从韩语句子中提取词汇。”)。
  2. 少量样本学习: 模型从3-5个示例中学习,实现定制行为无需重新训练
  3. 部署: 自定义GPT被保存为可重用工具,可通过仪表板访问。

使用场景

语言学习

  • 词汇提取器: 输入句子,输出字典式的条目
  • 详细翻译器:翻译分解为语法解释

内容创作

  • 梗图生成器: 从文本提示生成梗图。
  • 代码片段生成器:特定框架生成代码(例如React)。

数据分析

  • 趋势分析器: 用可视化总结数据集

工具

  • ChatGPT: *“创建一个GPT”*在仪表板中。
  • Claude: *“Artifacts”*用于自定义应用生成。

示例:

  • 一个用户创建了一个韩语字幕GPT,该GPTOCR图像,翻译字幕并解释语法

优点

  • 效率: 避免重复输入重复任务的提示。
  • 个性化: 模型适应个人工作流程(例如作家的风格指南)。

限制:

  • 范围: 自定义GPT继承基础模型的能力;复杂任务可能需要更大的模型
  • 维护: 基础模型的更新可能影响自定义GPT。

原文链接:How I use LLMs by Andrej Karpathy

汇智网翻译整理,转载请标明出处