认识你的AI朋友:大模型是什么
认识你的AI朋友:大模型是什么
当你向手机提问时,发生了什么
想象这样一个场景:放学后,你回到家,放下书包,打开妈妈的平板电脑,对着一个对话框问道:“为什么天空是蓝色的?”几秒钟后,屏幕上出现了一段完整的回答,解释了阳光穿过大气层时发生的散射现象。你读完之后觉得很有道理,甚至又追问了一句:“那为什么有时候傍晚的天空会变成红色呢?”AI又给出了合理的解释。
你有没有想过,这短短几秒钟里,你的平板电脑里究竟发生了什么?那段看似来自“某个人”的回答,究竟是怎么产生的?
如果你曾经对这些问题感到好奇,那么恭喜你——你已经迈出了理解人工智能的第一步。在这一章里,我们将一起认识这位特殊的“朋友”:大语言模型。我们会弄清楚它为什么能够回答那么多问题,它是怎么学习和“记忆”的,以及它的能力边界在哪里。掌握这些基础知识,就像拥有了一张探索AI世界的地图,接下来的旅程将会更加精彩。
大模型:一位读过图书馆所有藏书的超级阅读小达人
什么是大语言模型
要理解什么是大语言模型,我们不妨先做一个思想实验。假设你身边有一位同学,他有一个神奇的本领:他把学校图书馆里的每一本书都从头到尾读了一遍,而且读完之后还能记住书里的每一个细节。当老师提问时,他能够结合多本书里的知识来回答。当同学请教问题时,他可以用自己的话把复杂的概念解释清楚。更厉害的是,他还能根据你提出的新问题,创造出原本不存在的回答。
这位“超级阅读小达人”是不是很厉害?而大语言模型,恰恰就是这样一位特殊的存在——只不过它不是人类,而是一段极其复杂的数学程序。它“读”过的不是真正的纸质书籍,而是互联网上海量的文本数据。当你在对话框里输入问题时,它能够根据自己“读”过的所有内容,生成一段看起来像是人类写的回答。
科学家给这种技术起了个名字,叫做“大语言模型”,英文是Large Language Model,简称LLM。这里的“大”指的是它的规模——它包含的参数数量非常庞大,通常以数十亿甚至上万亿来计算。这里的“语言”指的是它处理的是人类的语言文字。这里的“模型”指的是它是一个数学模型,用数学公式来模拟人类使用语言的方式。
你可能会问:既然是数学公式,为什么能写出看起来像人类说的话呢?这就要从它的工作原理说起了。
参数:大脑中的“神经连接”比喻
要理解大语言模型的工作原理,我们需要先理解一个关键概念:参数。
在人类的大脑中,有大约860亿个神经元,每个神经元与其他神经元之间存在着复杂的连接。这些连接的数量可以达到100万亿级别。正是这些神经连接,让我们能够思考、学习、记忆和表达。我们学会说话、骑自行车、解数学题,都是因为大脑中的神经连接发生了变化。
大语言模型中也存在着类似的东西,科学家称之为“参数”,你可以把它想象成模型“大脑”中的“神经连接”。只不过,人类大脑中的神经连接是由真实的生物细胞组成的,而大模型中的参数是由数字组成的。
一个典型的大语言模型可能包含几百亿到上千亿个参数。每个参数都是一个数字,它们按照特定的规则排列在一起,形成了一个极其庞大的数学网络。当你向模型提问时,这些参数会共同“运算”,决定模型输出的每一个字词。
参数的数量往往决定了一个模型的能力大小。一般来说,参数越多的模型,能够记忆和理解的知识就越多,能够处理的任务也越复杂。这就是为什么研究人员总是努力训练更大规模的模型——更多的参数意味着更强的能力。
但参数的数量并不是唯一的决定因素。就像一个读过很多书的人,如果只是死记硬背而不会灵活运用,也算不上真正的聪明。大语言模型也是如此——仅仅参数多是不够的,还需要好的训练方法,才能让模型学会真正理解和运用语言。
它是怎么“读”书的:预训练的秘密
现在你知道了,大语言模型里有海量的参数,就像大脑里有无数的神经连接。但是,这些参数最初是什么样子的呢?它们是怎么变得能够“理解”语言的?
这就涉及到模型学习的第一步:预训练。
预训练的过程可以这样理解:想象你是一个刚出生的婴儿,你的大脑里有神经细胞,但它们之间还没有形成有意义的连接。你听不懂任何人说话,也看不懂任何文字。你的大脑需要通过后天的学习和经历,才能逐渐形成那些让你能够思考和表达的神经连接。
大语言模型“出生”的时候也是这样。它的参数最初只是随机生成的数字,就像一张白纸。为了让这张白纸变得“有内容”,研究人员需要让它进行大量的“阅读”——这就是预训练。
在预训练阶段,研究人员会给模型看海量的文本材料:书籍、新闻报道、网页内容、对话记录、代码……各种各样的文字材料都会被“喂”给模型。模型要做的事情很简单:给定一段文字的前面部分,预测下一个词应该是什么。
这听起来可能有点奇怪——预测下一个词?这样做能学到什么呢?
让我们来做一个实验。假设我给你看这样一段话:“今天天气真好啊,我准备去____。”你能猜到空格里面应该填什么吗?大概率你会填“公园”“外面”“海边”之类的词,因为根据前文的语境,空格里的内容应该是一个表示地点的名词。
这个填空游戏看起来简单,但实际上,它要求模型必须理解语言的规律:语法结构、词汇搭配、上下文关系、世界知识……只有真正掌握了这些内容,才能准确地预测出正确的词语。
而模型要做的,是成千上万亿次这样的预测。每一次预测之后,如果预测错了,模型就会调整自己的参数,让下一次预测更准确一些。经过反复的练习,模型的参数逐渐变得越来越“聪明”,最终能够生成流畅、自然、符合人类表达习惯的文字。
这个过程和人类学习语言有些相似。小时候,你也是通过大量的听说练习,逐渐掌握了母语的语法和表达方式。只不过人类需要几年的时间来学会说话,而大语言模型可以在很短的时间内“读”完人类几辈子都读不完的文本。
预训练完成后,模型就拥有了丰富的语言知识和世界知识。但是,它还不会按照人类的指令来工作——这就像一个读完了图书馆所有书籍的人,却不知道应该如何回答别人的问题。接下来,还需要进行第二步训练,我们会在后面的章节中详细介绍。
从提问到回答:大模型的“思考”过程
输入:你的问题是如何被理解的
了解了模型的“学习”过程之后,你可能会更加好奇:当你输入一个问题时,模型内部到底发生了什么?它是怎么把你的问题变成它能处理的“语言”的?
这个过程的第一步叫做“分词”,也叫“Tokenization”。你可能知道,中文和英文在书写上有很大的不同。英文的单词之间有空格天然分隔,而中文的字和词是连在一起写的。比如英文句子"I love AI"有三个词,而中文句子“我爱人工智能”如果按照词语来分,可以分成“我”“爱”“人工智能”三个部分。
当模型接收到你的输入时,它首先要把这段文字切分成一个个它认识的“小块”,这些小块在人工智能领域叫做“token”。对于英文来说,一个token通常对应一个单词或单词的一部分;对于中文来说,一个token可能对应一个字,也可能对应一个词。
分词之后,每个token都会被转换成一个数字。这个转换过程类似于我们小时候学的“编码”——给每个字分配一个编号。在模型内部,有一个巨大的“词表”,里面记录了所有可能出现的token以及它们对应的数字。当你输入“你好”时,模型会把这个句子转换成[10, 25, 3]这样的数字序列。
为什么要转换成数字呢?因为模型是由数学公式组成的,而数学公式只能处理数字。所有的文字、声音、图像,在计算机内部最终都会被转换成数字序列才能被处理。
转换完成后,你的整个问题就变成了一个数字序列。接下来,这些数字会进入模型的神经网络进行处理。在处理的过程中,模型会分析你的问题是什么类型、包含哪些关键信息、期望什么样的回答格式等等。这个分析过程发生在模型的隐藏层中,非常复杂,但最终的目的只有一个:把你的问题转换成一个能够指导生成回答的“指令”。
处理:信息是如何在神经网络中流动的
当你的问题被转换成数字序列之后,它就会进入模型的核心部分——Transformer架构。这是一种非常强大的神经网络结构,专门为处理序列数据而设计。
你可以把Transformer想象成一条由很多很多“关卡”组成的流水线。你的问题从一端进入这条流水线,然后依次经过每一个关卡。每经过一个关卡,模型都会对信息进行一些“思考”和“加工”。经过足够多的关卡之后,信息会从另一端出来,变成模型对问题的“理解”。
那么,每个关卡具体在做什么呢?简单来说,它在做三件事:看自己、注意别人、综合判断。
“看自己”指的是模型会仔细分析当前这个词的特征——它的含义是什么、在句子中扮演什么角色。“注意别人”指的是模型会看看这个词和其他词之间的关系——比如主语和谓语的关系、修饰词和被修饰词的关系。“综合判断”指的是根据这些分析,决定这个信息应该以什么样的方式传递给下一个关卡。
这个过程会重复很多很多次。每一次重复,模型对问题的理解都会更加深入。就像你在解一道数学题时,可能会反复阅读题目、画图分析、列出算式草稿……每一步都在加深你对问题的理解。大语言模型也是这样,通过多层的处理,逐步把握住问题的本质。
整个处理过程的速度非常快。对于一个包含数百亿参数的大模型来说,处理你输入的一句话可能只需要零点几秒的时间。之所以能够这么快,是因为现代的AI芯片(如GPU和TPU)专门针对这种计算进行了优化,能够同时进行大量的并行计算。
输出:回答是如何生成的
经过层层处理之后,模型终于对你输入的问题形成了完整的“理解”。接下来,就是生成回答的环节了。
你可能会认为,模型是像人类一样,把整个回答一次性想好然后写出来的。但实际上,大语言模型生成回答的方式更像是“一个字一个字往外蹦”——每一步只决定下一个词是什么,然后把这个词加到已有的回答后面,再继续决定下一个词。
具体来说,生成回答的过程是这样的:
第一步,模型根据前面的输入和处理结果,计算出下一个词应该是每一个可能词汇的概率分布。比如,“今天”后面可能是“天气”“是”“我们”等词,每个词都有一个概率。
第二步,模型从这个概率分布中“抽取”一个词。概率高的词更容易被选中,但并不是100%确定的。这就像抽奖一样,概率高的词像是大奖,概率低的词像是小奖,虽然小奖也有可能被抽中。
第三步,把抽中的词加到回答序列的末尾,然后回到第一步,继续生成下一个词。这个过程会一直重复,直到模型决定结束回答。
模型怎么知道什么时候该结束呢?每个模型都有一个特殊的“结束标记”,当模型选择输出这个标记时,就意味着回答已经完成了。
你可能会问:这样逐词生成,会不会导致回答很慢?确实,相对于输入处理来说,输出生成的速度要慢一些。但现代的AI系统已经进行了大量的优化,生成一个几百字的回答通常只需要几秒钟的时间。
另外还有一点值得注意的是,模型在生成每一个词的时候,都不是完全独立做决定的。它会参考前面已经生成的每一个词,确保整个回答在语义上是连贯的、语法上是正确的。这就像你写作文时,虽然是一个字一个字地写,但脑子里始终在想着整篇文章的主题和结构,确保前后一致。
为了让大家更清晰地理解这个过程,我为你准备了一张流程图:
```mermaid graph TD A[你输入问题] --> B[分词:将文字转换成token] B --> C[编码:将token转换成数字] C --> D[处理:神经网络层层分析] D --> E[理解:形成对问题的整体把握] E --> F{开始生成回答} F -->|每次生成一个词| G[计算每个词的出现概率] G --> H[根据概率抽取一个词] H --> I[将词加入回答序列] I --> J{回答完成了吗?} J -->|否| G J -->|是| K[输出完整回答] K --> L[你看到回答] ```
可以看到,从你输入问题到最后看到回答,整个过程涉及多个环节。虽然每一步的具体机制都非常复杂,但大致的工作流程就是这样的。理解了这个流程,你就能明白为什么有时候模型会“卡顿”,为什么回答有时候会出现不连贯的地方——因为每个环节都可能出现问题,而这些问题会累积起来影响最终的质量。
大模型会什么、不会什么:能力边界详解
大模型擅长的事情
经过前面的学习,我们已经知道大语言模型是怎么学习、怎么处理信息的了。那么,具体来说,它都能做哪些事情呢?
第一,回答各种知识性问题。大模型“读”过海量的文本,其中包含大量的百科知识、科学常识、历史事件等信息。当被问到“地球到月球的距离是多少”“谁发明了电话”“水的沸点是多少度”这类问题时,模型通常能够给出准确的答案。
第二,进行文本创作和改写。大模型可以根据你的要求生成各种类型的文本:写一篇关于春天的作文、编一个童话故事、写一封给朋友的信、把你的文章改得更流畅……它还能够进行语言翻译,把一种语言翻译成另一种语言。
第三,解释和分析概念。如果你对某个概念不理解,比如“什么是光合作用”“为什么会有四季变化”,大模型可以用通俗易懂的语言为你解释。它还能帮你分析一段文字的主要观点、情感倾向或者写作风格。
第四,协助解决问题和完成任务。大模型可以帮助你制定计划、解决数学问题、调试代码、准备演讲稿。它能够理解复杂的指令,并按照你的要求逐步完成任务。
第五,进行多轮对话和上下文记忆。在一个对话过程中,大模型能够记住之前讨论过的内容,进行连贯的追问和回应。这使得它可以像朋友一样和你聊天,而不是每次都从头开始。
这些能力看起来很强大,但并不意味着大模型是万能的。下面我们来看看它的局限性。
大模型的局限性
即使是目前最先进的大语言模型,也有一些明显的不足之处。了解这些局限性,可以帮助我们更好地使用它,同时避免对它产生不切实际的期望。
第一个局限:大模型会“胡说八道”。这在人工智能领域叫做“幻觉”(Hallucination)。由于大模型的本质是“预测下一个词”,它有时候会生成听起来很流畅、很有道理,但实际上是错误或者不存在的内容。比如,你问它一个历史人物的生日,它可能会给出一个具体日期,看起来很专业,但这个日期可能是它编造的。
为什么会这样呢?因为模型在生成回答时,并不是在“查询”它记忆中的某个事实,而是在根据语言模式“生成”一个看起来合理的回答。当它对某个主题不够了解时,它可能会把不相关的信息拼凑在一起,产生看似合理但实际错误的答案。
第二个局限:大模型的知识有截止日期。大模型的知识是在预训练阶段学到的,它的知识范围取决于训练数据的截止时间。如果你在2024年训练了一个模型,那么它就不会知道2024年之后发生的事情——比如新的科技突破、新闻事件或者体育比赛结果。有些模型会连接到互联网来获取最新信息,但大多数模型的回答都只能反映训练时的知识状态。
第三个局限:大模型缺乏真正的理解。虽然大模型能够流畅地使用语言,并且能够完成很多看似需要“理解”才能完成的任务,但严格来说,它并不真正“理解”自己在说什么。它能够处理符号和模式,但并不理解这些符号背后的真实世界。这就像一个鹦鹉可以学会说“给我一杯水”,但它并不理解水是什么、为什么要喝水。
这个区别很重要。真正理解意味着知道一个概念的本质、它和其他概念的关系、它在现实世界中的应用场景。而大模型只是学会了在各种语境下应该使用哪些词。如果你在它的训练数据中从未出现过的语境下提问,它可能会犯一些人类绝对不会犯的错误。
第四个局限:大模型有时会表现不稳定。同一个问题,如果你换一种问法,或者在不同的对话中提问,模型可能给出不同的回答。有时这种差异是合理的(因为问题的侧重点不同),但有时则是模型本身的不确定性导致的。这说明大模型的输出并不是百分之百可靠的,需要我们用批判性思维来判断。
第五个局限:大模型缺乏情感和价值观的自主性。大模型可以模仿各种情感表达,可以讨论伦理道德话题,但它本身并不真正拥有情感或价值观。它的“立场”和“态度”主要来自于训练数据的影响,而不是内在的自主判断。这意味着它的回答可能反映训练数据中的偏见,需要我们在使用时保持警惕。
为什么会这样:局限性背后的原因
理解了这些局限性之后,你可能会好奇:既然大模型那么“聪明”,为什么还会有这些问题呢?
让我们来分析一下根本原因。大语言模型的核心功能是“预测下一个词”。它通过学习海量的文本,建立起了词语之间的关系网络。当给定一段上文时,它能够根据这些关系,预测出下一个词最可能是什么。这个预测过程完全是基于统计规律——哪些词经常出现在一起,哪些搭配更常见——而不是基于对真实世界的理解。
这种基于统计的方法有几个固有的特点:一是它擅长处理高频出现的情况,但在长尾问题上可能出错;二是它能够很好地复现训练数据中的模式,但难以处理完全新颖的情况;三是它的“记忆”实际上是参数中的统计权重,而不是像人类那样形成清晰的概念和情景记忆。
举个例子。假设模型在训练数据中看到过无数次“中国的首都是北京”这句话,那么当你问“中国的首都是哪里”时,它会准确地回答“北京”。但如果你的问法是“小明出生在中国的首都,他在哪个城市长大”,而训练数据中从未出现过这样的表述,模型可能会给出错误的理解——它可能以为“小明出生在中国的首都”意味着“小明出生在首都这个抽象概念里”,而不是“北京”这个具体城市。
这就是统计学习和真正理解之间的差距。人类能够根据少量例子就推断出抽象的规则,并且能够灵活地应用到新的场景中。而大模型需要大量的重复训练才能学会一个新的表达方式,而且在遇到完全陌生的语境时仍然可能出错。
了解了这些局限性,我们就能更加理性地看待和使用大模型。它是一个强大的工具,但也有自己的边界和不足。正确认识它的能力边界,才能让它真正成为我们的好帮手。
和AI做朋友:正确使用大模型的姿势
大模型能帮我们做什么
既然了解了什么是大模型、它能做什么又不能做什么,接下来最重要的问题就是:怎样才能用好大模型?
首先,我们要明确大模型最适合的场景。大模型最擅长的,是在语言相关的任务上提供帮助。比如:
当你需要快速了解一个新概念时,大模型可以用通俗的语言为你解释。你不需要去翻厚厚的教科书,直接问它就行。比如你想知道“量子计算是什么”,可以直接问:“能给我讲讲量子计算吗?我是个小学生,用简单的话解释一下。”
当你需要获得不同角度的思路时,大模型可以帮助你头脑风暴。比如你要写一篇关于“我的梦想”的作文,可以问它:“你能给我一些关于梦想的创意点子吗?”
当你需要完成一些机械性的文字工作时,大模型可以帮你提高效率。比如帮你润色一封邮件、把你的会议记录整理成要点、把一段长文缩写成短摘要等。
当你需要学习编程或调试代码时,大模型可以扮演一个耐心的编程老师。它可以解释代码为什么这样写,帮你找出错误,给出改进的建议。
当你需要练习对话和语言表达时,大模型可以充当一个随时可用的练习伙伴。你可以让它扮演一个和你聊天的对象,练习英语口语或者辩论技巧。
这些都是大模型可以帮助我们的场景。在这些场景中,大模型确实能够提高我们的效率,扩展我们的知识面,让学习和工作变得更加轻松。