从零开始理解大模型:Tokenizer → 向量 → RAG(小白超详细版)

📅 2026/6/27 16:14:28
从零开始理解大模型:Tokenizer → 向量 → RAG(小白超详细版)
从零开始理解大模型Tokenizer → 向量 → RAG小白超详细版 0. 你先要理解大模型到底在干嘛一句话大模型 把“文字”变成“数字”再用数学方法理解语义 1. 为什么计算机看不懂中文计算机只懂数字向量矩阵例如❌ 我喜欢苹果机器不懂✔ [1001, 1002, 1003]机器可以处理✂️ 2. Tokenizer第一步“切词工具”2.1 Tokenizer是什么Tokenizer 把文字切成“最小语义单位”的工具例如我喜欢苹果可能变成我 / 喜欢 / 苹果2.2 常见切法✔ 按字切我 / 喜 / 欢 / 苹 / 果✔ 按词切我 / 喜欢 / 苹果✔ 子词切最常见我 / 喜 / 欢 / 苹果或我 / 喜欢 / 苹 果✔ Byte级GPT按字节拆分 优点不会出现“生僻字无法处理” 3. Vocab词表机器的“字典”3.1 什么是vocabvocab token ↔ 数字 的映射表例如我 → 1001 喜欢 → 1002 苹果 → 10033.2 本质理解 vocab 就是一本“翻译字典”3.3 vocab怎么来的不是人工写的而是Step1收集大量文本我喜欢苹果 你喜欢香蕉Step2统计常见词喜欢 出现很多次 苹果 出现很多次Step3生成词表喜欢 → token 苹果 → tokenStep4分配编号token id喜欢 → 1002 苹果 → 1003 4. Token ID只是“编号”4.1 定义token id vocab里的数字编号苹果 → 10034.2 重点❌ 没有语义❌ 不代表“苹果的意思”✔ 只是索引4.3 类比学号学生1001张三 学号 ≠ 人的能力 token id ≠ 语义 5. Embedding语义向量5.1 为什么需要它数字没意义1001 1002 1003所以要变成[0.12, -0.33, 0.77, ...]5.2 这个东西叫 embedding词向量5.3 本质embedding 一个“查表矩阵”token id → 向量5.4 举例苹果 → [0.2, -0.7, 0.33 ...] 香蕉 → [0.21, -0.69, 0.31 ...] 汽车 → [-0.9, 0.1, 0.4 ...]5.5 语义规律苹果 ≈ 香蕉接近苹果 ≠ 汽车远 6. 余弦相似度判断像不像6.1 是什么用来判断两个向量是否相似cos(A, B)6.2 结果范围值含义1完全相似0无关-1完全相反6.3 用途语义搜索推荐系统RAG检索 7. Chunk分块为什么要切文档7.1 问题如果不分块一整篇文档太长 → 模型无法精准理解7.2 解决方案把文档拆成小块chunk1请假制度 chunk2报销制度 chunk3考勤制度7.3 为什么重要因为 检索的是“块”不是“整篇文章”7.4 chunk太大 vs 太小太大❌ 语义混乱太小❌ 没上下文7.5 推荐500 tokens overlap 100️ 8. 向量数据库用来存chunk → embedding常见MilvusPineconeQdrantWeaviatepgvector功能存向量相似度搜索ANN加速 9. RAG最重要的部分9.1 是什么RAG 检索 生成9.2 为什么需要因为大模型不知道私有数据知识可能过时会“胡说”9.3 工作流程用户问题 ↓ 转向量 ↓ 向量数据库搜索 ↓ 找到相关chunk ↓ 拼prompt ↓ 大模型回答9.4 举例问题病假需要什么材料系统找“病假相关chunk”拼给模型模型回答9.5 本质 RAG 给大模型“外挂知识库” 10. 全链路总结非常重要中文文本 ↓ Tokenizer切词 ↓ Token ↓ Vocab查表 ↓ Token ID ↓ Embedding向量 ↓ 语义空间 ↓ Cosine相似度 ↓ Chunk检索 ↓ RAG ↓ 大模型回答 11. 一句话终极总结大模型不是“记住知识”而是“把文字变成向量在空间中找相似再生成答案”