大型语言模型基础:从原理到实践
语言模型根据上下文估计下一个词元的概率:P(w_t | w_1, ..., w_{t-1})。这是包括 LLM 在内的所有现代系统的核心原理。
发展经历了三个阶段:
- 统计 n-gram:统计 2–3 个词序列的频率。速度快,但忽略长距离上下文和语义。
- 向量嵌入(word2vec、GloVe):将词表示为多维空间中的点,距离反映语义相似度。
- Transformer:注意力机制允许考虑远处词元之间的连接,实现深度文本理解。
Transformer 构成了能够生成连贯文本的 LLM 的基础。
大型语言模型的规模
LLM 在规模上有所不同:训练数据达数千亿个词元,参数量从 7B 到 175B。参数是神经网络权重,用于捕捉语言的统计模式。
7B–14B 的模型可以在 GPU 上以量化形式本地运行。更大的模型需要集群。在大规模下,LLM 不仅捕捉语言知识,还从文本中编码事实到逻辑等知识。这些是聊天机器人、分析和生成的基础模型。
指令调优和对话式 LLM
基础 LLM 预测词元,但并不总是严格遵循任务。指令模型在指令-响应对上进行微调,并使用 RLHF:通过人类评估来塑造礼貌和一致性的偏好。
结果:像 ChatGPT、Claude、Gemini 这样的对话系统。它们能澄清查询、结构化响应,并解释推理过程。
分词和上下文窗口
LLM 使用词元工作——子词单元(词、词素、标点)。分词器从语料库构建词汇表,通过合并频繁序列。
过程:
- 文本 → 词元。
- 词元 → 嵌入。
- 输入到模型。
上下文窗口——词元限制(例如,128k)。API 费用和生成按词元计费。单词长度 ≠ 词元数。
关键生成参数
- Temperature:控制随机性。低(0.1–0.3)——确定性响应。高(0.8+)——创造性,但有产生幻觉的风险。
- Max tokens:输出限制,防止无限生成。
参数根据任务进行调优:生产环境中注重稳定性,头脑风暴中注重多样性。
LLM 中的多模态
多模态模型整合文本、图像、音频、视频。不同模态的词元被投影到共享空间。
示例:GPT-4o、Gemini、Claude 3。能力:
- 图像描述。
- 图表/表格分析。
- 对视觉查询的响应。
这将 LLM 扩展为通用系统。
实践:在 Google Colab 中运行 Qwen
用于实验,可选择开源模型。Qwen2.5-3B-Instruct——纯文本,Qwen2.5-VL-3B-Instruct——多模态。质量低于专有模型,但足以用于原型开发。
文本模型
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import textwrap
model_name = "Qwen/Qwen2.5-3B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto"
)
prompt = "Explain prostymi slovami, that takoe bolshaya yazykovaya model."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=150,
temperature=0.7
)
generated_tokens = outputs[0][inputs["input_ids"].shape[-1]:]
answer = tokenizer.decode(generated_tokens, skip_special_tokens=True)
print()
print(textwrap.fill(answer.strip(), width=80))
输出展示了尽管只有 3B 参数,仍能给出连贯的解释。
多模态模型
同样,加载 Qwen2.5-VL-3B-Instruct 并将图像作为输入。
关键要点
- LLM 从 n-gram 演变为带有注意力的 Transformer。
- 规模(参数、数据)带来涌现能力和知识。
- 指令调优 + RLHF 确保任务遵循。
- 词元定义限制:上下文窗口、成本。
- 多模态将各种模态统一到一个空间。
— Editorial Team
暂无评论。