认识你的AI伙伴:大模型是什么
第 1 章:认识你的AI伙伴:大模型是什么
从“人工智障”到“人工智能”:一场静悄悄的革命
回想一下,几年前当我们与所谓的“智能助手”对话时,是怎样一种体验?你对它说“明天天气怎么样”,它可能回答“对不起,我不明白你的问题”;你让它帮忙写一封邮件,它却给你蹦出一段不知所云的文字。那时候的“智能助手”,与其说是智能,不如说是“人工智障”——看起来挺聪明,实际上完全听不懂人话。
但不知从什么时候开始,一切都变了。现在的AI不仅能听懂你的话,还能帮你写文章、写代码、翻译语言、分析数据,甚至能和你进行一场深度对话,讨论哲学问题或者帮你出谋划策。这种巨大的转变,正是源于一种叫做“大语言模型”(Large Language Model,简称LLM)的技术突破。
如果你正在阅读这本书,说明你已经对AI产生了浓厚的兴趣,或者正在思考如何更好地与AI协作。无论你是想提升工作效率,还是纯粹出于好奇心,这本书都将帮助你掌握与AI对话的核心技能——提示词工程。但在正式开始学习如何写好提示词之前,我们需要先花一章的时间,好好认识一下这位即将与你并肩作战的AI伙伴。了解它是怎么工作的、有什么特点、擅长什么不擅长什么,只有建立了这些基础认知,你才能在后续的实践中游刃有余。
本章,我们将从最基础的问题出发:什么是大语言模型?它们是如何被训练出来的?GPT、Claude、Gemini、文心一言这些名字背后有什么区别?还有一个对提示词工程至关重要的概念——Token,到底是怎么回事?读完这一章,你将对AI有一个清晰的整体认识,为后续的深入学习打下坚实基础。
什么是大语言模型:一个类比让你秒懂
要理解大语言模型,我们先从“小”语言模型说起。想象一下,当你教一个小朋友学习语言时,你会怎么做?你会给他大量的故事书、儿歌、动画片,让他浸泡在语言环境中。时间久了,他自然就学会了说话、学会了表达。大语言模型的学习过程与此类似,只不过这个“学习”的规模要大得多得多。
大语言模型本质上是一个极其复杂的数学函数。这个函数接收一段文字作为输入,然后输出它“认为”最可能跟随这段文字的下一个词或词组。你可以把它想象成一个超级强大的“文字接龙”机器——给它一段开头,它就能根据它“学”过的海量文本,预测出接下来最可能出现的文字是什么。
这个解释可能还是有点抽象,让我们用一个更形象的比喻来帮助理解。假设你读过一万本各种类型的小说,现在有人给你一句话:“今天天气真好小明决定去”,让你续写后面的内容。基于你读过的海量故事,你的大脑会快速运转,觉得“小明”大概率会去做一些户外活动,比如“去公园散步”“去海边玩”“去爬山”“去踢球”等等,然后你选择其中一个作为输出。
大语言模型就是这样一个“读过”海量文本的超级大脑。只不过,它“读”的不是一万本书,而是互联网上的几乎所有公开文本——网页、书籍、论文、对话记录、代码库……这些信息被压缩成一个巨大的神经网络模型,其中包含了 billions(数十亿)甚至 trillions(数万亿)个参数。这些参数记录了语言的统计规律、语义关系、世界知识,以及各种常识和逻辑。
当你和ChatGPT对话时,表面上看是它在“理解”你的问题并给出回答,实际上,它只是在进行一个极其复杂的概率计算——根据你输入的文字,计算出在它“见过”的所有文本中,每个可能的回应出现的概率,然后选择概率最高的那个(或那几个)输出给你。这个过程每秒可能发生无数次,直到生成完整的回复。
这就是大语言模型的基本原理。当然,实际的技术细节远比这个类比复杂得多,涉及到Transformer架构、自注意力机制、预训练、微调等等专业概念。但作为提示词工程的学习者,我们不需要成为AI科学家,只需要理解这个核心逻辑就够了。
大模型是如何炼成的:从海量文本中学习
既然说大语言模型是“学会”说话的,那它到底是怎么学习的呢?这个过程可以概括为四个阶段:数据收集、预训练、有监督微调、人类反馈强化学习。让我们逐一了解。
海量数据:知识的海洋
训练大语言模型的第一步,是收集用于学习的文本数据。这些数据来源广泛得惊人:网页文本、书籍文献、新闻报道、社交媒体帖子、代码仓库、学术论文、对话记录……几乎涵盖了人类所有能用文字表达的知识领域。
以GPT-3为例,它的训练数据据估计包含了约3000亿个token的文本。这个数字是什么概念?一本20万字的中文书大约包含40万个token,那么3000亿token就相当于7500万本这样的书。如果一个人每天读一本这样的书不吃不喝,需要读20万年才能读完。当然,这些数据中会有大量重复和低质量的内容,但即使经过严格清洗,这个数据量依然是惊人的。
数据收集之后,还需要进行严格的清洗和预处理。这包括去除垃圾信息、过滤有害内容、消除个人隐私数据、标准化文本格式等等。高质量的训练数据是大模型性能的基础,这也是为什么各大AI公司都投入巨大精力来建设和维护自己的数据集。
预训练:在大海中学会游泳
有了海量数据,下一步就是让模型学习这些数据。这个过程叫做“预训练”(Pre-training),是大模型训练的核心环节。
预训练通常采用两种方法:自回归语言建模和掩码语言建模。简单来说,自回归就是“根据前面的词预测下一个词”,就像我们之前说的“文字接龙”游戏。掩码则是“根据上下文预测被遮住的词”,类似于完形填空练习。大语言模型如GPT系列,主要采用的是自回归方法。
这个学习过程是怎样的呢?模型会一遍又一遍地阅读这些文本,每当看到一个词,它就学着预测下一个词是什么。如果预测错了,就调整内部的参数,使得下次预测更准确。这个过程会重复数十亿次,直到模型的预测越来越准确。
打个比方,这就像一个人学下棋。起初他完全不懂规则,随便走棋,每次输了就记住这一步不好。经过无数次对局,他慢慢领悟了棋局规律,最后成为高手。大模型也是通过无数次“预测-犯错-修正”的循环,逐渐学会了语言的规律。
预训练完成后,模型获得了一个强大的“基座”,它学会了语言的语法结构、词汇关系、语义理解,甚至一些常识和逻辑推理能力。这个基座模型本身已经能生成流畅的文本,但它的输出是随机的、不加约束的——就像一个读过万卷书的书呆子,知道很多知识,但不知道什么时候该说什么、不该说什么。
有监督微调:学会对话的礼仪
预训练让模型“会说话”了,但还不会“有礼貌地说话”。为了让模型能够进行有效的人机对话,还需要进行“有监督微调”(Supervised Fine-Tuning,简称SFT)。
这个阶段的训练方法是:用高质量的对话数据对模型进行进一步训练。这些对话数据通常由人类标注员精心编写,包含各种类型的问答、指令执行、角色扮演等示例。通过学习这些数据,模型逐渐掌握了如何理解用户的意图、如何组织回答的结构、如何保持对话的连贯性。
举个例子,标注员可能会编写这样的对话示例:
> 用户:你能帮我写一首关于春天的诗吗? > 助手:当然可以,以下是一首关于春天的小诗……
模型在学习了几十万条这样的对话后,就知道了:当用户提出问题时,助手应该直接给出有用的回答,而不是继续问问题或者答非所问。
人类反馈强化学习:让回答更人性化
微调后的模型已经能进行基本对话了,但它的回答可能还不够好——可能太啰嗦、可能不够准确、可能缺乏同理心。为了进一步提升回答质量,研究者们引入了“人类反馈强化学习”(Reinforcement Learning from Human Feedback,简称RLHF)技术。
RLHF的过程是这样的:首先,让模型针对同一个问题生成多个不同的回答;然后,请人类评估员对这些回答进行排序,指出哪个更好、哪个有问题;最后,模型根据这些反馈信号,进一步调整自己的输出策略,倾向于生成人类更喜欢的回答。
这个过程就像训练一只表演犬。狗狗学会基础动作后,驯兽师会不断给它奖励或纠正,直到它的表演越来越符合观众的口味。RLHF就是让大模型学习“什么样的回答更受人类欢迎”,从而生成更自然、更有帮助、更符合人类期望的内容。
经过这四个阶段的训练,一个大语言模型才算真正“炼成”。它不仅学会了语言本身的规律,还学会了如何与人进行有效沟通,如何提供有帮助的回答,如何在各种场景下表现得像一个合格的助手。
Token:AI的语言密码
在正式介绍主流大模型之前,我们必须先理解一个对提示词工程至关重要的概念——Token。几乎所有与AI交互的费用计算、长度限制、性能优化,都与Token密切相关。
什么是Token
Token是AI处理文本的基本单位。你可以把它理解为“文字的碎片”——AI不是逐字处理文本,而是将文本切分成一个个Token来进行理解和生成。
在实际操作中,Token的划分并不是简单的一个字等于一个Token。对于英文来说,Token通常是单词的一部分。一个常见的英文单词如"learning"可能被切分成"learn"和"ing"两个Token,而短单词如"the"可能单独就是一个Token。平均而言,英文中大约每4个字符对应一个Token,或者粗略地说,每75个英文单词大约对应100个Token。
对于中文来说,情况稍有不同。由于中文字符是独立的语义单元,AI通常将每个汉字或标点符号作为一个Token来处理。例如,“你好,世界!”这句话可能被切分为“你”“好”“,”“世”“界”“!”六个Token。
为什么需要Token
你可能会问:为什么不直接处理完整的单词或字符,而要引入Token这个中间概念呢?
这主要有几个原因。首先,Token是一种有效的压缩方式。如果让AI处理完整的英文单词,英语有几万个常用词汇,处理每个词的embedding(词的向量表示)需要巨大的内存。而使用Token,AI只需要学习几千个常见的Token片段,就能组合出几乎所有单词,这样大大减少了模型的参数量和计算成本。
其次,Token有利于处理未知词汇。自然语言中经常会出现新词、拼写错误、专有名词等,如果模型只能处理训练数据中见过的完整词汇,就会很受限制。但使用Token,任何单词都可以被分解成熟悉的Token片段来处理,大大提高了模型的泛化能力。
最后,Token有助于平衡语义粒度。如果切分得太细(如逐字处理),会丢失词的完整语义;如果切分得太粗(如整词处理),又会导致词汇表过大、OOV(Out-of-Vocabulary,词表外)问题频发。Token通过学习常见的字符组合,找到了一种平衡的方案。
Token与AI交互的关系
理解了Token之后,我们就能理解AI交互中的许多重要现象了。
第一个关键点是长度限制。每当你给AI发送一段文字,这段文字和AI的回复都会消耗Token。每个AI模型都有一个最大Token限制,通常是几千到几十万不等。例如,GPT-3.5的上下文窗口是4K(约4000个Token),GPT-4根据版本不同有8K、16K、32K等选项,而Claude 3更是达到了200K的超大上下文窗口。
当你的对话长度超过这个限制时,早期的内容就会被“遗忘”。这也是为什么与AI进行长对话时,它可能不记得开头说了什么。在提示词工程中,我们学会合理管理Token的使用,确保重要的上下文信息不被“挤出”窗口。
第二个关键点是费用计算。目前主流AI服务都是按Token计费的。输入的Token和输出的Token分别计费,价格根据模型不同而有所差异。通常来说,1000个Token约等于750个英文单词或500个中文字符。以GPT-4为例,每1000个输入Token的价格约为0.03美元,每1000个输出Token约为0.06美元(具体价格会随时间调整)。
掌握Token的概念,能帮助我们更精准地控制和优化AI的使用成本。例如,用简洁准确的提示词减少来回纠正的次数,就是节省Token的实用技巧。
第三个关键点是提示词设计。理解Token的切分规律,能帮助我们写出更高效的提示词。例如,中文提示词通常比英文提示词更“贵”——同样表达一个意思,中文消耗的Token可能更多。因此,在追求效率的场景下,适当使用英文指令可能更经济。
Token计数的实用技巧
在日常使用中,我们可以记住几个实用的Token估算方法:
对于英文文本,一个粗略的估算规则是:1 Token ≈ 4个字符 ≈ 0.75个单词。也就是说,1000个Token大约等于750个英文单词。
对于中文文本,1个汉字 ≈ 1-2个Token(含标点)。更精确地说,1000个中文字符大约消耗1300-1500个Token。
不过,最准确的方法还是使用各大平台提供的Token计数工具。OpenAI提供了一个在线Tokenizer工具,可以让你直观地看到文本被切分成Token的结果。Claude和其他平台也有类似的工具。
主流大模型巡礼:各有千秋的AI家族
经过几年的发展,AI领域已经涌现出众多大语言模型,它们各有特点、各有专长。作为提示词工程的学习者,了解这些主流模型的特点,能帮助我们在实际应用中选择最合适的工具。
GPT系列:OpenAI的开路先锋
GPT(Generative Pre-trained Transformer) 是由OpenAI开发的系列大语言模型,可以说是这个时代的开创者。
GPT-3发布于2020年,拥有1750亿参数,是当时最大最强的语言模型之一。它展示了大模型的惊人能力:能够生成连贯的长文本、进行零样本学习(Zero-shot Learning)、执行各种语言任务。ChatGPT最初就是基于GPT-3.5构建的。
GPT-3.5在GPT-3基础上进行了优化,加入了指令微调(Instruction Tuning)和人类反馈强化学习,使它更擅长对话和遵循指令。这也是目前应用最广泛的模型之一,性能优秀且成本相对较低。
GPT-4发布于2023年3月,是GPT系列的重大升级。它不仅在语言能力上大幅提升,还首次引入了多模态能力——可以处理图像输入。GPT-4在复杂推理、创意写作、专业知识等任务上表现优异,是目前公认最强大的通用语言模型之一。但相应地,它的使用成本也更高。
GPT-4 Turbo和GPT-4o是GPT-4的进一步优化版本,在保持强大能力的同时提升了速度和降低了成本。GPT-4o更是实现了真正的多模态融合,能更自然地处理文本、图像、音频的混合输入。
GPT系列的特点可以总结为:综合能力强、生态系统完善、应用广泛。但它也有一些局限性,比如上下文窗口相对较小(相比竞争对手)、某些特定任务可能不如专精模型、响应速度受服务器负载影响等。
Claude系列:Anthropic的人文关怀
Claude是由Anthropic公司开发的大语言模型,以其独特的训练理念和出色的长文本处理能力著称。
Claude 3系列包含三个版本:Haiku(快速版)、Sonnet(均衡版)和Opus(旗舰版)。Haiku主打快速响应,适合简单任务;Sonnet在能力和速度之间取得平衡;Opus是最强大的版本,在复杂推理和创意任务上表现卓越。
Claude系列有几个显著特点。首先是超大的上下文窗口,Claude 3 Opus支持20万个Token的上下文处理,是当时业界最大的。这意味着你可以一次性输入一部长篇小说,让它进行分析或讨论,而不需要分段处理。
其次是对长文本的深度理解能力。Claude经过特殊训练,在处理长文档时能保持对细节的准确把握,不会像一些模型那样“遗忘”前面的内容。这使它特别适合文档分析、长篇内容创作等场景。
第三是 Anthropic强调的"AI Safety"理念。Claude被设计为“有帮助、无害、诚实”的,倾向于给出更谨慎、更安全的回答。这在某些场景下是优势,但在需要打破常规创意发散时,可能显得略保守。
Claude 3.5 Sonnet是目前的明星版本,在保持强大能力的同时大幅提升了速度,性价比很高。它在编程、写作、分析等任务上表现出色,是许多用户的首选。
Gemini:Google的全面反击
Gemini是Google推出的多模态大语言模型,是Google在AI领域的重要战略产品。
Gemini 1.0发布于2023年12月,拥有Ultra、Pro、Nano三个版本,分别面向不同复杂度和设备。Gemini Ultra是旗舰版本,在多项基准测试中与GPT-4不相上下。
Gemini 1.5是重大升级版本,核心亮点是超长上下文窗口,最高可达100万个Token,远超同期竞争对手。同时它在多模态处理、代码生成、数学推理等方面都有显著提升。
Gemini的特点在于与Google生态系统的深度整合。它可以访问Google搜索结果,获取实时信息;可以处理YouTube视频、Google文档、Gmail邮件等Google系产品;还支持在Google Cloud平台上部署和使用。
Gemini的多模态能力也很突出,从一开始就是原生多模态设计,能够更自然地处理和理解图像、视频、音频、代码等多种形式的数据。
文心一言、通义千问:国产AI的崛起
在中国市场,也有多个强大的大语言模型值得关注。
文心一言(ERNIE Bot)是百度基于文心大模型打造的生成式AI产品。它深度整合了百度的搜索功能和中文语料优势,在中文理解和生成方面表现出色,对中国文化、历史、成语典故等内容的理解尤为到位。文心一言4.0版本在各项能力上都有显著提升,已经达到国际主流水平。
通义千问是阿里巴巴推出的AI助手,基于自研的通义大模型构建。它的特点是在代码开发、数学推理、多语言处理等方面表现突出,与阿里云生态有良好的整合。通义千问-开源版本也广受欢迎,降低了开发者的使用门槛。
Kimi是月之暗面(Moonshot AI)推出的产品,以其超长的上下文处理能力著称——支持200万个Token的上下文,是当时上下文窗口最大的模型之一。Kimi在长文档处理、长对话保持方面有明显优势,特别适合需要处理大量文本的场景。
这些国产模型虽然在某些方面可能还不如国际顶尖模型,但它们在中文场景、与中国生态系统的整合、以及针对中国用户需求的优化方面具有独特优势。随着技术的快速迭代,差距正在快速缩小。
模型选择指南
了解了这么多模型,该如何选择呢?这里提供一个简单的决策框架:
从任务类型看:
- 如果你需要处理超长文档或进行长对话,Claude 3.5 Sonnet、Claude 3 Opus、Kimi、文心一言4.0是不错的选择
- 如果你需要代码能力,Claude 3.5 Sonnet、GPT-4o、Gemini 1.5都表现优秀
- 如果你需要实时信息,集成搜索功能的Gemini、文心一言更有优势
- 如果你追求性价比,Claude 3.5 Sonnet、GP