ARTICLE / 2026·07·04
LLM原理与应用
概述大语言模型的Transformer结构、训练流程、推理机制、Prompt工程、RAG、微调、评估和应用落地方法。
LLM原理与应用
1. LLM是什么
LLM(Large Language Model)是基于大规模文本和多模态数据训练的生成式模型。它的核心能力是根据上下文预测下一个token,并在大规模训练后表现出语言理解、推理、生成、代码和工具使用能力。
flowchart LR
A["Text / code / multimodal data"] --> B["Pretraining"]
B --> C["Base model"]
C --> D["Instruction tuning"]
D --> E["Aligned assistant model"]
E --> F["Applications: chat, coding, RAG, agents"]
2. Transformer核心结构
Transformer用self-attention建模token之间的依赖关系。
| 模块 | 作用 |
|---|---|
| Tokenizer | 把文本切分成token |
| Embedding | token向量化 |
| Positional encoding / RoPE | 注入位置信息 |
| Self-attention | 建模上下文依赖 |
| MLP / FFN | 非线性特征变换 |
| LayerNorm / residual | 稳定训练 |
| LM head | 输出下一个token概率 |
3. 训练流程
| 阶段 | 目标 | 产物 |
|---|---|---|
| Pretraining | 预测下一个token,学习通用知识和语言模式 | Base model |
| Supervised fine-tuning | 学会按指令回答 | Instruction model |
| Preference optimization | 对齐人类偏好和安全边界 | Assistant model |
| Domain adaptation | 注入领域风格或任务格式 | Domain model |
语言模型训练目标可写为:
4. 推理与采样
模型推理时输出token概率分布,再用解码策略生成文本。
| 参数 | 含义 | 影响 |
|---|---|---|
temperature | 概率分布平滑程度 | 高温更发散,低温更稳定 |
top_p | nucleus sampling阈值 | 限制候选token集合 |
max_tokens | 最大输出长度 | 控制成本和响应长度 |
| context window | 可读上下文长度 | 决定可引用的信息范围 |
5. Prompt工程
Prompt不是“咒语”,而是任务规范。高质量Prompt通常包含:
| 部分 | 示例 |
|---|---|
| 角色/目标 | “你是通信协议工程师,解释TAU失败原因” |
| 输入资料 | 日志、表格、代码、约束 |
| 输出格式 | 表格、步骤、JSON、Markdown |
| 判定标准 | “按严重程度排序,引用证据” |
| 边界 | “不确定时说明假设,不编造字段” |
6. RAG
RAG(Retrieval-Augmented Generation)通过检索外部知识来降低幻觉并更新知识。
flowchart TB
Q["User question"] --> R["Retriever"]
R --> K["Knowledge chunks"]
K --> P["Prompt assembly"]
P --> M["LLM"]
M --> A["Answer with citations"]
RAG关键质量点:
| 环节 | 风险 | 优化 |
|---|---|---|
| Chunking | 切得过碎丢上下文 | 按标题/语义切分 |
| Embedding | 召回不准 | 领域embedding或混合检索 |
| Rerank | 噪声文档进入上下文 | Cross-encoder rerank |
| Prompt | 引用和推理混乱 | 明确证据优先 |
| Evaluation | 只看人工感觉 | 构建问答集和引用准确率 |
7. 微调与RAG的选择
| 需求 | 优先方案 |
|---|---|
| 更新事实知识 | RAG |
| 固定输出格式 | Prompt / structured output |
| 学习领域写作风格 | SFT或少量示例 |
| 学会专用任务流程 | Fine-tuning + tools |
| 私有知识问答 | RAG + 权限控制 |
经验原则:知识放检索,行为放Prompt/微调,动作放工具。
8. 应用场景
| 场景 | 典型设计 |
|---|---|
| 知识库问答 | RAG、引用、权限过滤 |
| 代码助手 | Repo索引、测试执行、diff生成 |
| 文档生成 | 模板、结构化大纲、审校 |
| 运维分析 | 日志解析、告警归因、Runbook工具 |
| 通信协议分析 | 规范检索、信令流程图、参数表 |
9. 评估
| 维度 | 指标 |
|---|---|
| 正确性 | factual accuracy、引用准确率 |
| 完整性 | requirement coverage |
| 稳定性 | 同题多次输出一致性 |
| 安全性 | 越权、泄露、危险操作 |
| 成本 | token、延迟、工具调用次数 |
| 可用性 | 人工采纳率、返工率 |
10. 常见问题
| 问题 | 原因 | 对策 |
|---|---|---|
| 幻觉 | 上下文缺失或模型猜测 | RAG、要求引用、拒答策略 |
| 长文遗漏 | context过长、注意力稀释 | 分段处理、map-reduce、检查清单 |
| 格式不稳定 | 输出约束弱 | JSON schema、示例、验证器 |
| 私有数据风险 | 权限边界不清 | ACL过滤、审计日志、脱敏 |
11. 参考资料
- Vaswani et al., “Attention Is All You Need”.
- Brown et al., “Language Models are Few-Shot Learners”.
- Lewis et al., “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”.
- Ouyang et al., “Training language models to follow instructions with human feedback”.