Large Language Model
About 6 min
大语言模型(LLM)作为当前人工智能领域的热点,其入门知识涵盖了从基本概念到核心技术、应用方式等多个方面。以下是入门LLM必备的概念和知识点梳理:
一、基础概念
什么是语言模型 (Language Model, LM)?
- 定义: 一种机器学习模型,旨在预测并生成符合语法和语义规律的语言序列。简单来说,它能预测下一个词或下一个字符是什么。
- 发展: 从早期的N-gram模型、统计语言模型,到后来的循环神经网络(RNN)、长短期记忆网络(LSTM),再到现在的基于Transformer的深度学习模型。
什么是大型语言模型 (Large Language Model, LLM)?
- “大”在哪里:
- 模型规模大: 拥有数亿到数万亿的参数(parameters),这些参数是模型在训练过程中学习到的数值,决定了模型如何处理和生成文本。
- 训练数据量大: 在海量的文本数据上进行预训练(pre-training),这些数据通常包含互联网上的各种文本,如书籍、文章、网页、代码等。
- 核心能力: 理解和生成人类语言,并具备一定的通用知识、逻辑推理能力和任务泛化能力。
- “大”在哪里:
什么是Transformer架构?
- LLM的基石: 绝大多数现代LLM都基于Transformer架构。
- 核心机制:
- 自注意力机制 (Self-Attention Mechanism): 这是Transformer最核心的创新。它允许模型在处理序列中的每个词时,能够“关注”到序列中的其他所有词,并根据它们之间的相关性来分配不同的“注意力权重”。这使得模型能够捕捉到长距离的依赖关系,解决传统RNN/LSTM中长文本处理的局限性。
- 编码器-解码器 (Encoder-Decoder) 结构: 原始Transformer包含编码器(处理输入序列)和解码器(生成输出序列)。许多LLM(如GPT系列)主要使用解码器部分进行文本生成。
Token (词元) 和 Tokenization (词元化)
- Token: LLM处理的最小文本单元。它可能是一个完整的单词、一个词的一部分、一个标点符号,甚至是中文字符或字词。模型不是直接处理字符或单词,而是将它们转换为Token。
- Tokenization: 将原始文本拆分成Token的过程。常见的Tokenization方法有BPE (Byte Pair Encoding)、WordPiece等。
- 上下文窗口 (Context Window/Context Length): LLM能够处理的Token的最大数量。这个限制决定了模型在一次输入中可以“看到”多少信息。
二、LLM 的工作原理与阶段
预训练 (Pre-training)
- 目的: 让模型从大量无标签文本中学习通用的语言模式、语法、语义、事实知识。
- 方式: 通常采用无监督学习。最常见的目标是“下一个词预测”(Next Token Prediction),即根据前文预测下一个词是什么,或者“掩码语言模型”(Masked Language Model),即预测被遮盖的词。
- 结果: 得到一个“基础模型”(Base Model),它拥有强大的语言理解和生成能力,但可能还不擅长遵循特定指令。
指令微调 (Instruction Fine-tuning / Supervised Fine-tuning, SFT)
- 目的: 让基础模型学会理解和遵循人类指令,并生成符合指令的回答。
- 方式: 在少量高质量的“指令-回答”对数据集上进行有监督学习。
- 结果: 得到一个“指令模型”(Instruct Model),它比基础模型更易用,能更好地响应用户提示。
人类反馈强化学习 (Reinforcement Learning from Human Feedback, RLHF)
- 目的: 进一步优化指令模型,使其回答更符合人类偏好、更安全、更无害。
- 方式:
- 奖励模型 (Reward Model): 收集人类对模型生成回答的偏好排序数据,训练一个奖励模型来预测人类对不同回答的评分。
- 强化学习: 使用奖励模型作为奖励函数,通过强化学习(如PPO算法)微调指令模型,使其生成更高奖励的回答。
- 结果: 得到一个经过RLHF优化的模型,如ChatGPT、Gemini等。
三、LLM 的关键应用与技巧
提示工程 (Prompt Engineering)
- 核心: 设计和优化输入给LLM的“提示词”(Prompt),以引导模型生成期望的输出。
- 重要性: 掌握有效的提示工程技巧是使用LLM的关键,能极大提升模型性能。
- 常见技巧:
- 清晰具体: 明确告诉模型做什么。
- 角色扮演: 让模型扮演特定角色(例如,“你是一个专业的程序员”)。
- Few-shot Learning (少量样本学习): 在提示中提供几个示例,让模型模仿示例的风格或格式。
- Chain-of-Thought (CoT) / Reasoning (思维链/推理): 引导模型逐步思考,展示其推理过程,有助于解决复杂问题。
- Self-Correction (自我纠正): 让模型检查自己的输出并进行修正。
检索增强生成 (Retrieval Augmented Generation, RAG)
- 目的: 解决LLM知识时效性、专业领域知识不足以及“幻觉”(Hallucination)问题。
- 原理:
- 用户提出问题。
- 系统从外部知识库(如文档、数据库)中检索相关信息。
- 将检索到的信息作为“上下文”与用户问题一起输入给LLM。
- LLM基于这些上下文生成回答。
- 核心: 向量数据库 (Vector Database) 和嵌入 (Embeddings) 技术用于高效检索。
工具使用 (Tool Usage / Function Calling)
- 目的: 拓展LLM的能力边界,让它能够与外部世界交互,执行特定操作。
- 原理: LLM不仅能生成文本,还能根据用户意图识别出需要调用的外部工具(API、函数、搜索引擎、计算器等),并生成调用这些工具所需的参数。
- Agent (智能体) 概念: 结合LLM、工具、记忆、规划等模块,形成能够自主感知、思考、行动的AI Agent。
四、LLM 的局限性与挑战
- 幻觉 (Hallucination): LLM可能生成听起来合理但实际上是错误或虚构的信息。
- 知识截止日期 (Knowledge Cutoff): LLM的知识基于其训练数据的截止日期,无法获取最新信息(RAG可缓解)。
- 计算资源消耗: 训练和运行LLM需要庞大的计算资源。
- 偏见 (Bias): 训练数据中存在的偏见可能被LLM学习并放大,导致不公平或歧视性的输出。
- 可解释性 (Interpretability): LLM是一个“黑盒”,其决策过程难以完全理解。
- 安全与伦理: 如何防止LLM被滥用,以及如何确保其符合伦理规范。
五、其他重要概念
- 参数量 (Parameters): 衡量LLM大小的重要指标。
- 模型蒸馏 (Knowledge Distillation): 训练一个更小的模型(学生模型)来模仿大型模型(教师模型)的行为,以降低部署成本和推理延迟。
- 量化 (Quantization): 降低模型权重精度,以减少模型大小和内存占用,加速推理。
- Base Model vs. Instruct Model:
- Base Model: 仅经过预训练,擅长补全文本,但可能不擅长遵循指令。
- Instruct Model: 在Base Model基础上经过指令微调和RLHF,更擅长理解和执行指令。
入门LLM,建议从理解Transformer架构和提示工程开始,结合实际操作(例如使用OpenAI API或Google AI Studio)来加深理解。同时,关注RAG和Agent等应用范式,因为它们是当前LLM应用落地的主要方向。