type
status
date
slug
summary
tags
category
icon
password
这里记录下本人在互联网上看到的or别人发给我的一些好玩的技术分享。
来源我都会署名,如果有不符规定的,请联系我修正。
👀如果有好玩的,也欢迎发给我看看,我的email:muxy0719@163.com
AI世界的基石:Token与Embedding
@lp.Zhang:这视频 示意图做的很直观。 @jupyter.Mou:几分钟小视频,讲得很干货,也容易理解,讲得都是必备知识,可以看下。
- token
- Token:AI输出的最小单位,看懂输入内容的关键。


- Tokenizer:分词器,把输入内容切成一块一块的token。

GPT-4o模型中,常回 基地看看!被切割为7个token。

- Token ID:每一个切割的碎片(token)对应的“身份证号”。

GPT-4o:输入一句话,模型转换为:一串数字,逗号,一串数字…

- 模型生成回答:预测下一个最有可能出现的文字。
- 模型生成token ID,tokenizer通过“词典”翻译为汉字输出。

- 使用词块而非句子:减小词典规模
- 使用词块而非字母/字:减小翻译规模
若不认识语句,切换成最原始的字节模式。

- 分词比较:
- LLaMA-3和Qwen3的分词方式相似:都使用SentencePiece+BPE的分词器
贴一个:HuggingFace上的Transformer简介。

- 分词器的训练:用海量英文语料训练的,擅长处理英文;用代码训练的,擅长处理代码…

- 分词器也分“特化”版本。

模型的进化:将控制python缩进的4个空格看作一个整体,即一个token。

DeepSeek-Coder:将888拆为3个token

ChatGPT:加入”<|user|>”、”<|assistant|>”,加入对话轮次和角色。

- 分词器进化史:成为模型能力的定义者。


- 模型:通过tokenizer把输入的文字变成数字ID

- Embedding嵌入
- Embedding嵌入:AI理解世界的方式

- 给每一个token ID分配一个“坐标”,在多维空间中形成庞大的矩阵。
- 词块越相似,在多维空间中的距离越近。
AI通过“空间距离”来理解词语之间的关系。


- 语境化嵌入contextualized embedding
明确不同语境(“吃苹果”和“苹果公司”)中的词块(“苹果”)含义。

“吃苹果”:大模型将“苹果”的初始固定坐标进行一次瞬间移动,挪到靠近“水果”、“芒果”等概念的区域。

“苹果公司”:大模型将“苹果”的坐标瞬间移动到靠近“手机”、“数码”等概念的区域。
大模型的“理解”:同一个词,在不同句子里拥有了不同的、动态的坐标。

BERT中文模型理解:用分词器切碎句子,并在前后加入[CLS]、[SEP]两个token(开始处理、处理完成)。


模型输出一个的矩阵,经过动态计算后的浮点数,即包含上下文关系的新坐标。

坐标从何而来:大模型经过海量训练、对比学习预测得出。


从数字ID、到空间向量,再到万事万物的关联。

Embedding Projector
@jupyter.Mou:这是Linear Programming&Integer Programming中提到的一个网站,大概是用英文单词embedding向量得到的超高维空间,再降维到二/三维,也添加了relevance,输入英文单词也可以看到相关单词的位置,比较有意思。
Gemini3 prompt指南
@jupyter.Mou:lpZ发我的。
使用过的VPN
如果有好用性价比高的可以推荐给我~
飞连vpn @jupyter.Mou:这是最近开始用的,主要比之前用的便宜点哈哈。教程很详细,如果导入失败可以换个代理APP。我目前用的是ios端Shadowrocket;mac端Clash Verge。用几个月再来写下评价吧。
快塔vpn @jupyter.Mou:这个超级稳定,我从2023年开始用一直都是这个。流量很足,缺点是小贵吧,我有时候用不了那么多。这个使用的代理APP是ios端Shadowrocket;mac端ClashX Pro。
测试IP的网站:https://ip.sb
大模型的训练原理:梯度下降
@jupyter.Mou:梯度下降讲得通俗易懂,这篇视频里没懂的可以看看这篇。
- 介绍
- 最简单的模型:
- 训练目的:确定和的值


- 训练数据:1000组input和output

- 损失函数
- 将模型的参数赋值为一个随机数
;
;
- 将代入模型
;
和 到底差多少?
- Loss Function 损失函数
通过调整 和 的值让 和 的差距()足够小。
- 为了避免折点,更方便计算,更新常用损失函数为:

该损失函数也叫:平方误差 Squared Error.
- 梯度下降
公式右侧已知,已知。
- 调整 的值,让变小
只把 当作变量:
当 增加时,减小;当 减小时,增加(知道该往什么方向调整)
变化趋势:在的斜率,即梯度。


- 梯度:将对 求导
梯度可由Pytorch等函数库计算。
越接近最近点,梯度(斜率)越接近于0.


- 调整
: learning rate,控制 变化多远,不能太大,也不能太小。
取值策略很多,e.g. 指定一个固定的learning rate

参数:有数据训练出的数字。 超参数(Hyper parameter):需要手动设置的数字。
- 改表 b 的值,让Loss变小
把 当作未知量:
和 同时调整, 仍为0.5。
- 将对 求导
- 调整
- 更新 和

- 选取另外训练数据不断重复训练过程,直到变为较小的数值。
因为 , 沿着梯度(斜率)减小,所以叫梯度下降。
- 批量训练
- 同时训练100个 和 b ,得到100个
针对100个数据的新损失函数:
该损失函数:平均平方误差 Mean Square Error(MSE)


- 先把 当成未知量,其他当作已知量,求梯度,再调整
- 再把 当成未知量,其他当作已知量,求梯度,再调整
避免单个数据点导致偏离正确函数的可能。
多个数据点平均下来一定收敛于正确公式。
- batch size(超参数):一次训练的数据量。
梯度下降时,使用损失函数,不是模型本身。
梯度下降时,只有一个未知量(即当前正在调整的参数)。

“只要方向是对的,必将收敛于那个美好的未来。”
- 作者:Jupyter Mou
- 链接:http://jupytermou.com/article/short-notes
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章
















