从零入门AI术语:大模型、Prompt、Token全解析

一、大模型:AI能力的基石

1.1 定义与核心架构

大模型(Large Language Model, LLM)是基于深度学习架构(如Transformer)训练的神经网络模型,其核心特征是参数量级大(通常十亿级以上)和多任务通用性。以主流的编码器-解码器架构为例:

  1. # 伪代码:简化版Transformer层结构
  2. class TransformerLayer:
  3. def __init__(self, d_model=512, num_heads=8):
  4. self.self_attn = MultiHeadAttention(d_model, num_heads) # 自注意力机制
  5. self.feed_forward = PositionwiseFeedForward(d_model) # 前馈网络
  6. def forward(self, x):
  7. attn_output = self.self_attn(x) # 捕捉全局依赖关系
  8. return self.feed_forward(attn_output)

通过堆叠多个此类层,模型能够学习文本中的长程依赖和复杂模式。

1.2 训练与推理模式

  • 预训练阶段:在海量无标注文本上通过自监督学习(如掩码语言建模)学习通用语言表示。例如,某开源模型在650亿token数据集上训练,消耗数千块GPU算力。
  • 微调阶段:针对特定任务(如文本分类)在有标注数据上调整参数,通常采用LoRA(低秩适应)技术减少计算量:

    1. # LoRA微调示例
    2. class LoRALayer(nn.Module):
    3. def __init__(self, original_layer, rank=8):
    4. super().__init__()
    5. self.A = nn.Parameter(torch.randn(original_layer.weight.size(0), rank)) # 低秩矩阵
    6. self.B = nn.Parameter(torch.randn(rank, original_layer.weight.size(1)))
    7. def forward(self, x):
    8. original_output = original_layer(x)
    9. lora_output = F.linear(x, self.A) @ self.B # 低秩更新
    10. return original_output + lora_output
  • 推理阶段:支持交互式生成(如对话系统)和批量处理(如内容审核),需注意上下文窗口限制(通常2048/4096 token)。

1.3 选型关键指标

指标 说明 典型值
参数量 模型复杂度与能力正相关 7B/13B/70B
上下文窗口 单次处理的最大文本长度 2K/4K/32K
推理速度 每秒处理token数(TPS) 50-200(V100)
部署成本 单次推理的GPU显存需求 8GB/16GB/32GB

二、Prompt工程:引导AI输出的关键

2.1 Prompt设计原则

  • 清晰性:避免歧义,例如将”写一首诗”改为”用五言绝句形式写一首关于春天的诗”。
  • 结构化:采用角色+任务+示例的模板:
    1. 你是一位资深Python工程师,请将以下函数改写为异步版本:
    2. def read_file(path):
    3. with open(path) as f:
    4. return f.read()
  • 上下文控制:通过分隔符(如```)明确输入边界,防止模型混淆历史对话与当前请求。

2.2 高级技巧

  • 少样本提示(Few-shot):提供3-5个示例增强任务理解:
    1. 问题:苹果和香蕉哪个维生素C含量高?
    2. 答案:香蕉的维生素C含量高于苹果。(错误示例)
    3. 问题:地球和火星哪个更大?
    4. 答案:地球的直径约为12742公里,火星约为6779公里,因此地球更大。
    5. 问题:Python中列表和元组的区别?
    6. 答案:
  • 思维链(Chain-of-Thought):分解复杂问题为步骤:
    ```
    问题:小王有5个苹果,吃了2个,又买了3个,现在有几个?
    思考过程:
  1. 初始数量:5个
  2. 吃掉后剩余:5-2=3个
  3. 购买后总数:3+3=6个
    答案:6个
    ```

2.3 评估与优化

  • 自动化评估:使用BLEU、ROUGE等指标量化生成质量。
  • A/B测试:对比不同Prompt的完成率,例如:
    1. 版本A:总结以下文本的主要观点
    2. 版本B:用三点列出以下文本的核心论点
  • 错误分析:建立典型错误库(如事实性错误、逻辑跳跃),针对性优化Prompt。

三、Token:AI处理的原子单元

3.1 Token化机制

  • 分词方法

    • BPE(字节对编码):合并高频字节对,如”unhappy”→”un” + “happy”。
    • WordPiece:谷歌使用的子词单元,平衡词汇量和OOV问题。
    • Unicode字符级:适用于多语言场景,但会增加序列长度。
  • 代码示例(使用HuggingFace Tokenizer):
    ```python
    from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained(“bert-base-chinese”)
text = “人工智能正在改变世界”
tokens = tokenizer.tokenize(text) # [‘人’, ‘工’, ‘智’, ‘能’, ‘正’, ‘在’, ‘改’, ‘变’, ‘世’, ‘界’]
input_ids = tokenizer.convert_tokens_to_ids(tokens) # [1234, 5678, …]

  1. #### 3.2 Token成本优化
  2. - **压缩技巧**:
  3. - 去除冗余空格、标点(但需保留语义关键符号)。
  4. - 使用缩写(如"AI"替代"Artificial Intelligence")。
  5. - **长文本处理**:
  6. - **截断策略**:保留前NtokenHead-only)或后NtokenTail-only)。
  7. - **滑动窗口**:分段处理超长文本,例如每1024 token为一个块,重叠200 token保证上下文连续性。
  8. #### 3.3 多模态Token扩展
  9. - **图像Token**:通过Vision Transformer将图片分割为16x16patch序列。
  10. - **音频Token**:使用Mel频谱图或原始波形分帧处理。
  11. - **跨模态对齐**:建立文本-图像Token的对应关系,例如CLIP模型:

文本:”一只金色的猎犬在草地上奔跑”
图像Token序列:[patch1, patch2, …, patchN]
```
通过对比学习使相似语义的模态Token在特征空间靠近。

四、小白进阶路线图

4.1 实践建议

  1. 从微调开始:使用开源模型(如LLaMA2)在Colab等免费平台实践。
  2. 构建Prompt库:按任务类型(生成/分类/提取)分类存储优质Prompt。
  3. 监控指标:记录每次调用的token使用量、响应时间、满意度评分。

4.2 避坑指南

  • 避免Prompt过载:单次输入不超过模型上下文窗口的80%。
  • 警惕数据泄露:勿在Prompt中包含敏感信息(如API密钥)。
  • 验证生成结果:对关键输出(如医疗建议)进行人工复核。

4.3 工具链推荐

  • 开发环境:Jupyter Notebook + HuggingFace Transformers库。
  • 部署方案
    • 本地推理:使用ONNX Runtime优化GPU利用率。
    • 云服务:选择支持弹性扩缩容的AI平台(如百度智能云千帆大模型平台)。
  • 监控系统:集成Prometheus + Grafana跟踪API调用指标。

五、未来趋势展望

  1. 模型轻量化:通过量化、剪枝等技术将70B参数模型压缩至4GB显存。
  2. Prompt自适应:模型自动生成最优Prompt,减少人工调试成本。
  3. Token效率革命:新型分词算法使中文处理效率提升30%以上。

掌握这些核心概念后,开发者可进一步探索模型蒸馏、多模态融合等高级主题。建议从实际业务场景出发(如智能客服、内容生成),在实践中深化理解,逐步构建AI技术体系。