人工智能是怎么造出来的呢?
不懂也没关系。输入数据,就能亲眼看到经过 分词 → 化 → → 生成 被造出来的过程。如果愿意,也可以用真正的 代码来做。
这是只看前一个词来挑下一个词的教学用(词语)。它没有嵌入和,也不学习事实。分词方法也只是教学用的,不是真正的 。
- 数据准备
- ① 分词
- ② ID 与独热向量
- ③ 训练(学习)
- ④ 生成
数据准备
收集几句简短的例句。同一句话重复放入会让计数增加,但数据不是越多越好,而是越符合目的越有用。每当一句话结束,也会计一次“句子结束”。
① 分词
这里把句子切成接近词的片段。真实 LLM 的 可以是词、词的一部分、字符或。把文本切成 token 是为了能把它当作数字来处理,而不是因为文本太长。
② ID 与独热向量
ID 是像名牌一样使用的编号。只有自己的位置是 1,其余都是 0。两者都不能告诉我们哪些词意思相近。承载这种信息的是另一种——学习得到的嵌入,本实验不它。
③ 训练(学习)
统计前一个词后面出现了哪个词、出现了几次(“句子结束”也计入)。候选的等于它出现的次数除以前一个词后面出现的总次数。神经不存储这样的小表格,而是学习。
④ 生成
比较总是选概率最高的词的,和按概率抽取的。抽到“句子结束”就停止生成。即使用采样,也可能再次得到同一句话。生成的句子没有经过事实核查。
| 词 | 编号 | 数字向量(one-hot) |
|---|---|---|
选择一个词,就能看到学到的下一个词最可能是什么:
百分比经过四舍五入,显示总和可能略偏离 100%。
这个词只出现在句子末尾,所以没有下一个词。请换一个词试试。
表中的百分比是为 1 时的值。温度只改变每个词被抽中的可能性,不改变计数,也不改变内容是否真实。
你的AI生成的句子
正在准备 Python 运行环境…
0 XP
我的代码
运行结果
按[运行],结果就会显示在这里。