LLM 学习入门完整指南
# LLM 基础概念
适合人群:AI初学者、想学习大语言模型的开发者
# 什么是 LLM
大语言模型(Large Language Model)是基于深度学习的自然语言处理模型。
核心特征:
- 大规模参数(数十亿到数千亿)
- 海量文本预训练
- 通用能力 + 涌现能力
主流模型系列:
| 系列 | 代表 | 特点 | 应用 |
|---|---|---|---|
| GPT | GPT-3.5/4 | 自回归生成 | 对话、创作、代码 |
| BERT | BERT/RoBERTa | 双向理解 | 文本分类、问答 |
| T5 | T5/UL2 | 统一架构 | 文本到文本 |
| PaLM | PaLM/PaLM-2 | 大规模多语言 | 通用对话、推理 |
# Token
Token 是 tokenizer 输出的离散单位,上下文长度、输入和输出通常以它计量。切分、数量与文本比例由具体 tokenizer 决定,不宜用固定的中文字符比例估算所有模型。分词示例与 BPE 算法统一维护在 分词与 Token。
计费时需查所用服务对输入、输出及缓存等类别的规则;本地运行也有硬件与时间成本,不能只比较 token 数。
# Temperature
Temperature 调整采样分布。支持范围由模型或服务接口规定,不能统一认定为 0–2;下面的区间仅作使用倾向示意,需在具体接口允许的范围内选择。只有启用相关采样策略时,这个参数才会影响生成。
| 值 | 效果 | 适用场景 |
|---|---|---|
| 0~0.3 | 通常更集中于高概率输出;不保证正确或完全可复现 | 代码、数据提取、事实问答 |
| 0.5~0.8 | 平衡 | 一般对话、写作 |
| 1.0~2.0 | 多样、可能跑偏 | 头脑风暴、创意写作 |
参考:Transformers 生成配置:采样与 temperature (opens new window)。
# Embedding(嵌入)
Embedding 将离散输入映射为向量,文本检索通常还会使用面向句子或文档的表示。Token 向量、上下文表示与检索向量的区别统一见 向量表示,检索流程见 RAG。
# 幻觉(Hallucination)
模型生成看似合理但实际错误/虚构的内容。
常见表现:编造论文/URL、虚构事实、错误代码。
缓解方法:
- RAG 引入外部知识
- 降低 temperature
- 要求附带来源引用
- Prompt 明确「不确定就说不知道」
这些措施只能缓解风险,不能保证内容正确。Temperature 低也可能稳定输出错误;引用需要核实是否存在、是否支持相应结论。
# 大模型训练三阶段
下图是常见的训练路径示例,不是所有模型都必须经过的固定三阶段。后训练还可能使用其他偏好优化方式或任务专用训练流程。
预训练(Pre-training) → 有监督微调(SFT) → 人类反馈强化学习(RLHF)
1
| 阶段 | 数据 | 目标 |
|---|---|---|
| 预训练 | 海量互联网文本(TB级) | 学语言和世界知识 |
| SFT | 人工标注指令-回答对 | 学会按指令格式回答 |
| RLHF | 人类偏好排序 | 输出更符合人类期望 |
预训练消耗最大(数千GPU数周),SFT/RLHF 让模型从"会说话"变"好用"。
# Prompt Engineering 常用技巧
- 角色设定:「你是资深 Python 开发者」
- Few-shot:给几个输入输出示例
- CoT(思维链):「请一步步思考」
- 格式约束:「请以 JSON 返回」
- 分隔符:用
"""区分指令和内容
# 编程环境
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
text = "人工智能的未来是"
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0]))
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
上次更新: 2026/10/18, 22:14:48