LLM

📅 2026/7/11 13:59:25 👁️ 阅读次数 📝 编程学习
LLM

LLM

大语言模型的基本作用就是通过海量的参数与数据训练出一个模型结果集,该模型结果集可以根据当前情景或者上下文学会了预测下一个Token的深度概率模型

大模型主要从三个点可以看

大(Large):

这里的大通常指两个方面

  1. 参数大: 内部训练的模型可能拥有数亿数十亿数百亿级别的训练参数
  2. 数据量大:从语言, 艺术, 数学, 代码等人类公开的知识库进行训练

语言(Language):

对于LLM来说语言不只是通常意义的聊天语言,还包括

  1. 程序代码
  2. 结构化数据
    1. xml
    2. json
    3. toml
    4. Markdown
  3. 公式
    1. 数学/物理计算公式
    2. 化学方程式等

模型(Model):

LLM本质上是一个预测概率模型, 他根据当前输入的(Prompt)会根据当前的上下文, 历史记忆等在自己的知识库里进行计算来决策出我选择哪个字更加合理

大语言模型本质

大语言模型的本质是通过当前上下文条件, 不是预测文本内容, 而是来预测下一个Token分布概率函数

{token_A: 0.42,token_B: 0.31,token_C: 0.09,...
}context = "北京是中国的"fake_next_token_probs = {"首都": 0.55,"城市": 0.15,"中心": 0.10,"经济": 0.05,"苹果": 0.01
}import randomtokens = list(fake_next_token_probs.keys())
probs = list(fake_next_token_probs.values())def sample_once():return random.choices(tokens, probs)[0][sample_once() for _ in range(10)]

由于是概率性问题, 每次回答结果可能略显不同

Token

人类世界中进行沟通交流的时候通过汉字, 单词等来传递信息, 在与大模型进行交互的时候不是通过语言,汉字等来进行传递,而是通过token来进行传递信息, 其是模型处理文本的最小单位

可以理解为人是按照汉字,数字,单词等来理解语义, 而大模型是按照token来理解语义

基本处理流程

  1. 模型输入
今天天气怎么样啊
  1. 模型将输入编码成模型ID
312
845
1299
...
  1. 模型实际上看到的一串串的tokenID, 而不是我们输入的文本,数字等
文字
↓
Tokenizer
↓
Token
↓
Token ID
↓
Embedding
↓
Transformer
  1. 模型输出, 模型通过预测选择一个合理的token进行回复
第1个 Token↓第2个 Token↓第3个 Token↓...

它会对词表中的所有 token 计算一个概率分布,例如:

token 概率
0.31
0.27
0.18
不错 0.12
🍎 0.00001

token编码粒度解析

def analyze_tokens(text_list):# 加载对应的编码器tiktoken_encode = tiktoken.encoding_for_model(model_name)print(f"--- 使用模型: {model_name} ---")print(f"{'文本内容':<30} | {'字符数':<5} | {'Token数':<5} | {'切分结果'}")print("-" * 80)for text in text_list:# 编码成二进制tokens = tiktoken_encode.encode(text)# 将 token id 转换回文字,方便查看切分细节token_strings = [tiktoken_encode.decode([t]) for t in tokens]print(f"{text:<30} | {len(text):<8} | {len(tokens):<8} | {token_strings}")# 准备测试样本
samples = ["你好,今天天气不错。",  # 普通中文句子"深度学习卷积神经网络",  # 专业术语"Using LangChain 部署 Agent",  # 中英混合"龘龘靐齉爩",  # 生僻字(极端情况)
]analyze_tokens(samples)

image-20260711111324894

运行上述代码会发现

  1. 中文语句:通常一个中文字符占据一个token,一个标点符合也占据一个token
  2. 专业术语:由于“卷积”、“神经”等词在训练语料中出现频率极高,它们有时会被合并为一个 Token,或者切分得非常整齐。
  3. 中英混合:英文单词通常按空格或子词(Subword)切分。比如 Using 是 1 个 Token,但复杂的英文单词可能被拆分。

大模型为什么能产生看起来智能的行为

  1. 关键原因语言本身就高度压缩了人类的知识、逻辑和行为模式LLM学到人类在什么情况下会说什么样的话。

  2. LLM学到了在语料中反复出现的*问题 → 解决步骤 → 结论*, 在代码中大量存在的*代码 → 注释 → 修复*等等。