系列前言:这个系列分享的,是我个人了解、学习到的一些东西。我和大家一样,也是从「啥也不懂」开始的,所以不堆术语,尽量用大白话把每一步讲清楚——顺便也聊聊我对 AI 大模型的一些个人看法。里面的内容是我自己的理解和总结,不足或者有错误的地方,欢迎大家在评论区指正。
一、LLM 是什么?为什么叫「大模型」?
先回答第一个问题:LLM 是什么? LLM 的全称是 "Large Language Model",即"大型语言模型"。它是一个通过海量数据训练得到的复杂数学结构,能够模拟人类语言生成。
那「大语言模型」到底是个啥?
「语言模型」:就是对人类语言建模,让机器学会「怎么说人话」。它不是手写规则的死程序,而是从海量数据里自己「练」出来的一个巨型数学结构——你可以理解成一个超级复杂的公式:你输入一段文字,它就能算出该输出什么。
「大型」:指它的参数规模巨大。而且它训练时「喂」进去的文本量,也比早年小模型大得多。
换个说法:大语言模型 ≈ 超级接话员。你给它一段文字,它猜下一个最可能接什么。
它是怎么「炼」出来的?
大模型不是人一条条规则教出来的,而是用海量数据「喂」出来的。据我了解,整个过程大致分三步:
第一步:收集数据
把互联网上能公开拿到的文字尽量收集起来——网页、书、论文、代码、对话记录……量极大,主流大模型预训练数据通常在「千亿到十万亿以上」token 的量级(token 可以理解成字或词的小片段,简称"词元")。
第二步:预训练
使用 Transformer 架构进行大规模训练,学习语言统计规律。这里以 DeepSeek 所属的因果语言模型为例:也就是根据前面已经写出来的文字,预测「下一个最该出现哪个 token」。预测得准,相关参数就保留;预测偏了,就反向调整参数,再试。这个过程反复几十天,吞下海量 token,它就把「哪些字经常挨在一起出现」的规律记了下来。这时候它就有了基础能力——会接话了。
第三步:微调 / 对齐
通过监督学习和强化学习优化模型输出质量。刚炼出来的它啥都会,但不太懂规矩。你问它「怎么做炸弹」,它也可能老老实实回答。所以还得「调教」:给它看大量优质的问答示例,教它「好的回答长什么样」(这步叫监督微调);让它自己生成几个回答,再由人来打分排序,告诉它哪个更好(这步叫基于人类反馈的强化学习,RLHF)。慢慢它就学会了:哪些话该说、怎么说更清晰、也更安全。
预训练的目标不止一种玩法
主流大致分三类:
因果语言模型(Causal LM):只看上文,猜下一个 token,像人说话一样从左往右生成。GPT、DeepSeek、LLaMA、Qwen、Claude、Gemini 都是这一类。你现在在网页上聊天的 AI,绝大多数是这种。
掩码语言模型(Masked LM):把句子中间某个词盖住,用左右上下文一起猜被盖住的那个词,像「完形填空」。BERT 是典型代表,擅长理解、分类、检索,但不太会自己写大段文字。
序列到序列模型(Seq2Seq):先把整个输入读完,再从头生成输出,像「翻译官」,适合翻译、摘要这类输入和输出不一样的任务。T5、BART 是代表。
一句话总结我自己的理解:DeepSeek 的核心本事,就是「猜下一个 token」猜得特别准——它属于因果语言模型这一类。 至于另外两类,后面有机会再展开。
二、它到底怎么工作的?——核心就一句话
猜下一个 token。
先解释两个词:
- token(词元):注意,这里的 token 不是编程里的"身份验证令牌"。在大模型领域,token 是文本被切分后的最小处理单元,中文常译为"词元"或"标记"。它不一定是一个完整的"字",也可能是"词"、标点,甚至一个英文词缀。比如「今天我去了北京」可能被切成 ["今天","我","去","了","北京"](仅为示意,实际切分因 tokenizer 而异);英语
playing也可能被切成play和ing两个 token。 - 模型其实并不真「懂」一句话的意思,它只是在看过海量文字后,学会了「哪些 token 经常挨在一起」。
所以大模型本质上是个「超级接话员」:
你输入一段话 → 模型算出「接下来最可能出现什么」的概率分布→ 按这个分布挑一个合适的接上(会保留一点随机性,所以同一句话每次回答未必完全一样) → 不断循环,直到凑成完整回答。
关键就在这里:它不是从某个资料库里翻出一句现成答案念给你听,而是现编现写——一个 token 一个 token 往外蹦的。具体过程是:把你的问题和已经写出来的部分拼成一段上下文,预测下一个 token 接上;再把「问题 + 已生成的内容」整体当作新上下文,预测再下一个……这样一遍遍循环,直到它生成一个特殊的「结束」标记(或达到长度上限)才停。
这就是为什么你在网页上看到它是一个字一个字出来的;也解释了为什么同一个问题问两遍,回答可能略有不同——因为每一步都在「按概率挑一个」,带着一点随机性。
总结一句话:它是在「接话」,不是在「思考」。
一个重要提醒:它会「一本正经地胡说八道」,自己欺骗自己。
因为大模型本质是在猜「接什么话最像人说的」,而不是在查资料、验真伪,所以它有时候会编造出看起来很有道理、但实际上完全错误的内容。这种现象叫幻觉(Hallucination)。
三、参数是什么?为什么越多越「强」?
参数,可以想象成模型内部可调整的"记忆旋钮"。参数数量越多,通常意味着模型的容量上限越高,能够捕捉更细腻的语言搭配规律,生成的文字更自然,知识覆盖也更广。
但要注意两件事,避免被误导:
- 参数多 ≠ 知识量线性增加。模型内部存在大量冗余和分布式的知识存储方式,不能用"1 万亿参数 = 装了 1 万亿条知识"来简单换算。参数决定的是"容量上限",不是"已存储的知识量"。
- 参数多 ≠ 单次计算量一定大。以 MoE 架构为例:它每次生成只激活一小部分参数,所以总参数可以很大,而单次生成的计算量未必大;但总参数越多,占用的显存和部署成本仍然越高——这块后续会单独展开讲。
举个例子(用假设数字):
一个 100 亿参数的模型,容量上限大约像一本大型百科全书;一个 1 万亿参数的模型,容量上限大约像一座大学图书馆的藏书量。
四、上下文长度(用 token 计)与字数的关系
「上下文长度」是用 token 数表示的,常见的有 32K、128K、1M 等(K = 千,M = 百万)。
换算没有绝对标准,不同分词器(tokenizer)差异很大。以 DeepSeek 为例,中文场景下通常 1 个 token 约对应 1.5–2 个汉字。所以:
- 128K token 大约能装下 19–25 万汉字。
- 1M token 大约能装下 150–200 万汉字。
上下文越长,模型一次性能"看到"的信息就越多,对长文档分析和连续多轮对话都至关重要。
五、怎么跟它说话?——提示词(Prompt)
你跟大模型说的话,就叫提示词(Prompt)。它不是编程代码,就是你日常打出来的文字。
提示词可以是简单的问题("怎么学 Python?"),可以是具体的要求("帮我写一段自我介绍"),也可以是带角色设定的描述("你是一个 Python 老师,教我写第一行代码")。
同样的模型,提示词写得好与不好,输出质量差别可能很大。
今天记住这 4 句话就够了
- 大模型 = 超级接话员,靠「猜下一个 token」工作,不是在思考。
- 它会"一本正经地胡说八道",所以要验证。
- 参数 = 记忆旋钮,决定容量上限;参数多 ≠ 知识多,也不必然更慢。
- 提示词就是你跟它说的话,怎么说直接影响它怎么答。