模块 01 · 用大模型做东西

大模型是怎么回事

不用任何数学,靠实验弄明白大模型的几个基本事实:词元、下一个词元预测、温度、上下文和成本、向量嵌入,以及怎么选模型。

各课

  1. 01
    词元:模型眼里的文字

    用 DeepSeek 和 OpenAI 的分词器实际切一段中文、英文、文言文和代码,看模型到底把文字切成了什么,以及这为什么决定了价格,也解释了模型为什么数不清字数。

    35 分钟 · 入门
  2. 02
    模型只做一件事:预测下一个词元

    让模型亮出每一步的候选词元和概率,看一段回答是怎么一个词元一个词元生成的;再讲它从续写机器变成助手的过程,以及幻觉从哪里来。

    35 分钟 · 入门
  3. 03
    温度和采样:同一个问题为什么每次回答不一样

    拿到模型真实的候选词元概率,用 numpy 亲手实现温度和 top_p 采样,再用 API 实测温度对回答多样性的影响,并解释温度为 0 为什么也不能保证结果一样。

    40 分钟 · 入门
  4. 04
    上下文窗口和成本

    把整份 httpx 文档塞进一次请求,看它花多少钱、找不找得到藏在中间的一句话,再看缓存怎么让第二次调用便宜 30 多倍,最后写一个按 usage 计费的函数。

    40 分钟 · 入门
  5. 05
    向量嵌入:把意思变成数字

    用一个开源中文嵌入模型在本地把句子变成向量,用余弦相似度比较它们的意思,看看它擅长什么、分不清什么。这是后面做语义搜索和 RAG 的基础。

    35 分钟 · 入门
  6. 06
    怎么选模型

    排行榜告诉你模型的平均水平,却不能告诉你它在你的任务上怎么样。用 20 道题比较四种模型配置的准确率、速度和花费,学会用自己的小测试集做选择。

    40 分钟 · 入门

这个模块不讲神经网络内部怎么计算,那是第二部分的事。这里只讲一个使用者必须知道的事实:模型看到的是什么,输出是怎么产生的,钱花在哪里。

每一课都靠实验说话。你会用 DeepSeek 的分词器亲手切开一句中文,用 logprobs 参数看模型每一步在哪几个词之间犹豫,把一个真实的概率分布拿到本地用 numpy 模拟温度,再把整份 httpx 文档塞进一次请求,看缓存能省下多少钱。有些实验结果和网上流传的说法不一样,我都照实写了。

为什么是这个顺序

先讲词元,因为后面所有东西都以它为单位:价格、上下文长度、输出上限。然后讲模型怎么一个词元一个词元地生成回答,这能解释幻觉和随机性。温度建立在"按概率抽签"的基础上,所以放在第 3 课。第 4 课把前面的知识落到钱和上下文上。第 5 课的向量嵌入是另一种模型,它不生成文字,而是把文字变成向量,04 模块的 RAG 要用到它。最后一课讲怎么给自己的任务选模型,要用到前面所有的知识。

学完的标准

  • 拿到一段文字,能用分词器数出它的词元数,并估算出发给模型要花多少钱。
  • 能解释为什么同一个问题问两次,回答会不一样,以及温度 0 为什么也不能保证完全一样。
  • 看到模型给出一个具体的版本号或者 API 参数,知道要去核实,并且知道去哪核实。
  • 能写一个函数,根据 usage 算出一次调用的费用,包括缓存命中的部分。
  • 能用自己准备的 20 道题,比较两个模型在你的任务上谁更合适。

本模块的代码