注册后,我们会记住你学到了哪里。
现在,让我们打造属于你自己的人工智能吧。
这是只看前一个词的教学用二元模型,不学习嵌入、注意力或事实。词语分割也是教学示例,不是 LLM 分词器。
通向亲手开发的计划
一开始像玩具一样做得小小的,理解原理之后再逐步做大。
1
收集词语
收集你想学习的主题的句子。一开始只有 10 个句子也可以。
2
统计下一个词的次数
制作一张表,记录某个词后面各个词出现了多少次。
3
计算概率分数
统计每种转移,包括句子结束。候选概率等于其次数除以所选词后所有转移的总次数。神经语言模型学习权重,而不只是存储这张小表。
4
比较两种选择方法
比较贪心选择最高概率候选与按概率采样。选到句子结束就停止。采样也可能重复相同结果,生成文本未经事实核查。
5
按自己的标准改进
加入更好的句子、更多的数据和不同的选择规则,把它培养成属于自己的人工智能。
小小的概率计算器
表格显示温度为 1 时的观测频率。温度改变采样概率,不改变计数,也不是事实准确性的控制器。
生成的句子 选择方式并点击再次生成。
前一个词 小 下一个词 鸟 3 接在后面的次数 5 后面出现的总次数 = 60% 概率
观察到 20 个词语词元
| 前一个词 下一个词 | 鸟 | 会 | 飞 | 唱歌 | 鱼 | 游泳 | 句子结束 |
|---|---|---|---|---|---|---|---|
| 小 | 3 | 0 | 0 | 0 | 2 | 0 | 0 |
| 鸟 | 0 | 3 | 0 | 0 | 0 | 0 | 0 |
| 会 | 0 | 0 | 1 | 2 | 0 | 2 | 0 |
| 飞 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 唱歌 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 鱼 | 0 | 2 | 0 | 0 | 0 | 0 | 0 |
| 游泳 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
核心概念
统计每种转移,包括句子结束。候选概率等于其次数除以所选词后所有转移的总次数。神经语言模型学习权重,而不只是存储这张小表。
神经语言模型从训练样例中学习数值权重,生成时用权重和当前上下文计算候选词元分数。它并非简单查出存储的互联网句子,也不是只统计紧邻前词的次数。
本实验与真正的语言模型对比
| 本实验(二元模型) | 神经语言模型 | |
|---|---|---|
| 看的范围 | 只看前一个词 | 给定的长上下文 |
| 学的是什么 | 接续次数表 | 数值权重 |
| 嵌入与注意力 | 否 | 是 |
| 自己核实事实 | 否 | 否 |
交给 Laria 的开发请求
将请求发给 Laria,讨论如何用代码实现教学二元模型。这是小型教学模型,不是完整的现代语言模型。
请帮我理解这个教学用二元模型。训练文本:小鸟会飞。小鸟会唱歌。小鸟会唱歌。小鱼会游泳。小鱼会游泳。。开头:。展示计算前先让我预测下一个词的概率,并解释它与神经语言模型的区别。