本课模式:先看一句话定义 → 亲手操作 → 对照预期输出 → 勾选检查点。做完本课,你就能用自己的话说清楚「LLM 是什么」——因为你亲手摸过了。
📋 本课你将完成
- 本课完成:装好 Ollama 并跑起一个模型
- 亲眼看到 token 切分(第 3 步)
- 亲眼看到温度改变输出(第 4 步)
- 能用自己的话解释「LLM = 概率补全机器」
步骤 1
装 Ollama(一次性,5 分钟)
未完成🎯 这一步的目标:让电脑获得「本地跑大模型」的能力。Ollama 是最简单的本地模型运行器,一条命令装好。
brew install ollama▶ 预期输出(点开对照)
==> Downloading ... ==> Pouring ollama... 🍺 /usr/local/Cellar/ollama/...(看到 🍺 就是装好了)
如果出现:zsh: command not found: brew
怎么办:你还没装 Homebrew。先跑:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)",装完再重试本步。
怎么办:你还没装 Homebrew。先跑:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)",装完再重试本步。
如果出现:卡在 Downloading 很久
怎么办:网络问题。试试换镜像源:export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles,再重试。
怎么办:网络问题。试试换镜像源:export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles,再重试。
ollama --version▶ 预期输出(点开对照)
ollama version 0.x.x(有版本号即成功)
✅ 检查点:命令行输入 ollama --version 能打印版本号。
步骤 2
启动服务并拉取一个小模型(10 分钟)
未完成🎯 这一步的目标:下载一个 0.6B 参数的迷你模型(约 500MB)。小到任何 Mac 都能跑,小到能让你看清「规模」的差距。
ollama serve▶ 预期输出(点开对照)
(服务在前台运行,出现 listening on ... 即成功) 提示:这行会一直挂着,是正常的。另开一个终端窗口做下一步。
ollama pull qwen3:0.6b▶ 预期输出(点开对照)
pulling manifest ⠋ pulling 500MB... 100% ████████████████ verifying sha256 digest ✓ writing manifest ✓ success
ollama list▶ 预期输出(点开对照)
NAME ID SIZE MODIFIED qwen3:0.6b xxxxxxxxxxxx 500MB Now
✅ 检查点:ollama list 能看到 qwen3:0.6b。
步骤 3
第一次对话 + 看 token 切分(10 分钟)
未完成🎯 这一步的目标:跑起模型,并理解「模型读的是 token 不是字符」。
ollama run qwen3:0.6b▶ 预期输出(点开对照)
>>> 提示符出现,表示模型已就绪
用三句话解释什么是 token▶ 预期输出(点开对照)
(模型会输出一段回答。0.6B 的回答通常较短、偶有语病——这是正常的,别失望,这正是「规模差距」的实感)
/bye▶ 预期输出(点开对照)
>>> (回到命令行)
✅ 检查点:成功完成一次问答,并亲眼看到小模型的局限。
步骤 4
亲手改温度,看行为变化(10 分钟)
未完成🎯 这一步的目标:理解「同一模型,不同性格」——温度是采样参数,不是模型参数。
ollama run qwen3:0.6b
/set parameter temperature 0
给我讲一个关于火星的小故事▶ 预期输出(点开对照)
(输出通常较短、直接、不太有创意——因为总是选最高概率的词)
/set parameter temperature 1.5
再讲一个▶ 预期输出(点开对照)
(输出会明显更天马行空,甚至开始胡言乱语——因为概率被拉平,随机性变大)
/set parameter temperature 0.7
/bye▶ 预期输出(点开对照)
(温度 0.7 是常见默认值,介于两者之间)
✅ 检查点:你能向别人解释「为什么同一个模型 temperature=0 和 =1.5 输出完全不同」。
🧪 交互实验 · token 可视化(模拟)
下面的模拟器按「中文常用词 + 单字」近似切分 token,让你直观感受「模型读的是碎片不是字符」。真实切分由各模型词表决定(第 04 课展开)。
观察:汉字通常 1 个汉字 = 1~2 token;英文一个词 ≈ 1 token。所以中文语料「token 效率」天然低于英文——这就是为什么中文大模型要专门优化 tokenizer。
🧪 交互实验 · 温度采样模拟
同一个「下一个词的概率分布」,不同温度下采样结果不同。拖动滑块看:低温总是选最可能的词,高温连「小概率词」也可能被选中。
0.7
连续点「再采样」观察:低温输出稳定重复;高温每次都不一样。真实模型也是这个机制——只是概率分布更复杂。
❓ 老师答疑(卡住了先看这里)
❓ 我装 Ollama 装到一半失败了,怎么办?
最常见是网络问题。重试一次;还不行就按步骤 1 的「如果出现」里的换源方法。装软件 90% 的失败是网络,别怀疑自己。
❓ 为什么 0.6B 模型回答这么差?
因为它只有 6 亿参数——大脑只有「核桃」那么大。这恰恰是本课最重要的观察:规模差距是真实的。你以后会训的 1.5B/3B 会好一些,但离旗舰还远——这就是为什么课程第一条铁律是「诚实」。
❓ temperature 到底改的是什么?
改的是采样时的「平滑度」。温度=0 时永远选概率最高的词(确定性输出);温度越高,低概率词越可能被选中(更随机、更有创意、更容易错)。模型权重完全没变。
❓ token 和字、词有什么区别?
字/词是人的概念,token 是模型的「字母表」——由 BPE 算法从语料里自动学出来的碎片。一个中文汉字常是 1~2 个 token,英文一个常见词 ≈ 1 个 token。第 04 课会完整展开。
❓ Ollama 和后面课程用的 MLX、vLLM 是什么关系?
都是「模型运行器」。Ollama = 最简单(本课用);MLX = Apple 原生、还能微调(第 08 课用);vLLM = 高吞吐服务(第 11 课用)。先认识 Ollama 就够本课用了。
📝 自测清单(全勾才算过)
- 本课完成:装好 Ollama 并跑起一个模型
- 亲眼看到 token 切分(第 3 步)
- 亲眼看到温度改变输出(第 4 步)
- 能用自己的话解释「LLM = 概率补全机器」
全勾 → 节点 02 / 14 完成。未勾 → 回看对应步骤,别急着往前走。