压缩下一个token通向超过人类的智能(2)

简介: 压缩下一个token通向超过人类的智能
  • weights 是对 “智能” 的表示

  • 这句话有点民科的感觉 ,但其实想说的是,weights + transformer 计算了数据分布中可解释的部分(后面会展开)。
  • 另外一个角度,“智能” 其实是消耗能源用 Transformer + SGD 做压缩后的副产品 (by-product)
  • 我们继续考虑 8 位数加法的例子,数据是均匀随机生成的,每字符就是一个 token (没有 bpe),并且沿用 auto regressive 的方式来训练。这其实就是一个常见的 GPT 训练的子集。比如我们考虑下面这个例子用来做训练好的模型的验证
  • 17282456+79546852=96829308
  • 当训练完全收敛时,对于这个序列的 loss 应该会长下面这样


  • 因为前面两个数字的每一位都是从 0~9 均匀随机的,所以其实模型对此无法准确预测,进而只能等概率预测是 0~9 是个数字中的某一个,故
  • “+”,“=”,以及最后的答案都是确定性可以预测的,所以 loss = 0
  • 聪明的你应该发现了,这其实就对应这个分布的 aleatoric uncertainty 和 epistemic uncertainty。这个例子里:
  • 选择某一个被加数里的数字是不可学习的 aleatoric uncertainty
  • "+"、"="、8 位数字的答案、以及从无先验的每个字符  的概率变到 0~9 每个字符 的概率的信息差,是可学习的 epistemic uncertainty。而这一部分,就是我们要学习的 “智能”。
  • 自然,前文提到的 其实就是 ,即只剩下了不可解释的随机部分。
  • 这里(https://github.com/yulundu/compression)是一个使用 mingpt 的参考实现, 训练的结果 (wandb) 如下:


  • Loss 曲线



  • Accuracy 曲线



  • 实际实现中
  • 字符集为 0-9,s,e,+,= 共 14 个字符
  • 序列长度为 1(s 开始符)+ 8(数字 a) + 1(+ 号) + 8(数字 b)+ 1(等号)+ 9(答案)+ 1(e 结束符) = 29
  • 但因为是 predict 下一个字符,所以训练长度为 28
  • training 比 validation 还差且 accuracy 没有到底是因为没注意到 mingpt 里训练 默认带 0.1 的 dropout
  • loss 的收敛点大约是 1.31 左右,我们计算 "理论最低" loss



也是可以 match 上观察的。其中

  • 16是两个 8 位数字,因为其随机性而没有办法压缩。
  •  是每个数字都均匀有 10 种可能。之前提到过,pytorch 实现用了自然对数。
  • 是序列 loss 算了平均值。


  • 对数据进行最高效的压缩,即希望能最准确的预测下一个 token。找到了规律,则能把 epistemic uncertainty 降到 0,而剩余的不可压缩部分,便对应剩下的 aleatoric uncertainty。
  • 不过一个令人沮丧的事实是,除非我们能精确描述数据的分布

(如 8 位数加法),我们没有办法知道我们是否收敛到了


  • 等一等,你只是在拟合训练集么?为什么能推导出测试集泛化?

  • Good question from @汪彧之
  • 这里面有个很有趣的角度:是的,没错,训练是在拟合训练集。但在 autoregressive 的场景里,假设数据集里每个 token 都只看过一遍的话,那么 所谓的 "training loss" 其实是 "next token validation loss"。
  • 类似的,在传统的过多遍数据集的场景下(如 ImageNet),第一个 epoch 的 loss 是可以看作和压缩率有线性关系的。但从第二个 epoch 开始,我们 empirically 知道模型的能力还在提高,但我暂时无法用压缩的观点来看 loss 的下降了。
  • 思考题:对数据训练两个及其以上 epoch 时该如何用压缩观点来解释?跳出来看,这个问题的意义有多大?


  • 压缩有限样本可以学习到真的 “智能”

  • 考虑在 有限 但 足够多 的数据的情况下,压缩是 有可能 学习到真的智能的。
  • 在有限在足够多的样本的情况下,如果假设我们的压缩算法(a.k.a, for now, Transformer + SGD) 对于当前的数据做训练时 training (a.k.a, next token validation) loss 能 “比较稳定” 的下降,并且 从某个 step T 开始,training error 都是 0(更精确一点是 epistemic uncertainty =0),能对未来 token 的预测完全准确则该模型就真的 “懂” 了数据的生成规律。



  • 思考题:这里面缺少很多严格的数学定义,该如何严格地 formualte 这个命题?


  • 所以我们知道,有限样本训练也是可以达到最大压缩率的

  • for skeptics: 是的,收敛率的问题没有讨论,可能 “有限” 也大得离谱,但我希望收敛速度尽可能快,也希望有更多人来研究这个事情。

  • 涌现 (emergence) 可以理解为在 loss 下降过程中,数据的某个子集的 epistemic uncertainty 突然快速下降,模型突然开始 “悟” 了。
  • 由于 training dynamics 的复杂性,据我所知还没有办法预测什么时候能力会涌现、在什么时候涌现。我猜测涌现可能只是(我们目前还搞不太懂的) training dynamics 的一种行为;“慢慢学会” 其实到最后也没有太大问题。
  • @Xiangyu Zhang 有个更符合中文语境的说法叫做 “顿悟” 。
  • 涌现得到的人可以理解的智能,是和人没有区别的智能


  • 在训练过程中压缩率越高,模型越 ” 智能 “


  • 我们知道在训练过程中的 loss 其实是 validation loss,且当 loss 下降时,我们对于 next token 的传输压缩率会越高,再考虑到有限样本也是可以达到最高压缩率的,所以模型也就会越来越智能。

  • (empirically)模型越大压缩率越高,从而模型越智能

  • 我们已经知道了,模型训练过程实际上是在对数据集做无损压缩。经验上,我们知道模型越大,模型能力越强。我的理解是,“大模型好” 这个说法实际上是在第三层:
  • 第一层是 机器学习就是压缩,压缩通向智能
  • 第二层是 Transformer + SGD 是一个目前经验主义看起来还挺好的压缩算法
  • “好” 这个算法可以在提供更多的能源的情况下达到更高的压缩率
  • 第三层是 增加模型参数是一个在给定训练能源消耗上限的情况下,一个对压缩率有显著影响的超参数调节方法。

  • 从压缩的角度,我们可以理解为,大模型的 loss curve 一般更低,从而对应更高的压缩率



  • (non-truth) 这和人的智能观察有一些有趣相似之处
  • 在地球上,人比其他生物看起来都明显聪明
  • 人的大脑(weights、神经元数量、皮层细胞数)从统计意义上比绝大部分生物都大(是的,不仅有非洲象、蓝鲸等 outlier,人类自身也有小头症和巨头症)
相关文章
|
9月前
|
数据采集 人工智能 atlas
13万个注释神经元,5300万个突触,普林斯顿大学等发布首个完整「成年果蝇」大脑连接组
13万个注释神经元,5300万个突触,普林斯顿大学等发布首个完整「成年果蝇」大脑连接组
107 1
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
压缩下一个token通向超过人类的智能(3)
压缩下一个token通向超过人类的智能
113 0
|
11月前
|
机器学习/深度学习 存储 人工智能
压缩下一个token通向超过人类的智能(1)
压缩下一个token通向超过人类的智能
129 0
|
11月前
|
人工智能 监控 安全
混合智能作为对混合战争的回应
混合智能作为对混合战争的回应
|
11月前
|
存储 机器学习/深度学习 人工智能
真·量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token
真·量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token
169 0
|
11月前
|
存储 机器学习/深度学习 自然语言处理
彻底解决ChatGPT健忘症!突破Transformer输入限制:实测支持200万个有效token
彻底解决ChatGPT健忘症!突破Transformer输入限制:实测支持200万个有效token
692 0
|
人工智能 机器人
连续拒绝一个AI电话机器人5次,会发生什么?
正常的电话销售,在面临客户连续5次的拒绝,也很难做到从容不迫的继续积极应对转化。那么如果同样的情形发生在机器人身上呢?
|
机器学习/深度学习 人工智能 计算机视觉
阿里AI打破视觉对话识别纪录,机器看图说话能力比肩人类
近日, 在第二届视觉对话竞赛Visual Dialogue Challenge中,阿里AI击败了微软、首尔大学等十支参赛队伍,获得冠军。这是阿里巴巴达摩院城市大脑实验室联合阿里巴巴-南洋理工大学联合学院(JRI)等单位取得的又一项世界级技术突破。
1134 0
|
人工智能 移动开发 算法
如果千百年前有视觉AI算法,世界将会是什么样的光景呢?
视觉 AI 算法在近些年取得了一定的突破,被应用在了越来越多的地方,我相信距离真正的 AI 普及这个大目标也越来越近了。我时常在想假如古代也有视觉 AI 算法,那是不是很多故事的结局都将被改写?《伯乐相马》、《皇帝批红》、《木兰从军》、《精忠岳飞》这些事情又会以什么方式得到解决呢?这个世界将会是什么样子的呢?
574 0
如果千百年前有视觉AI算法,世界将会是什么样的光景呢?
|
人工智能 自然语言处理 搜索推荐

热门文章

最新文章