论文

学习语言

Learning to Learn a Language

模型训练预训练

摘要

我们提出了先验拟合语言模型 (PFLM),这是一个 300M-参数字节级转换器,仅对来自合成非语言先验的样本进行预训练。给定真实文本的前缀,它学会在从未见过任何真实语言的单词的情况下,用冻结的权重来预测上下文中的语言。每个训练序列都是由从此类模型的分布中新鲜提取的循环结构因果模型生成的。该模型在训练期间不会两次看到相同的语言,因此预测延续的唯一方法是从前缀推断语言。先前的样本共享自然文本的统计特征:Zipfian 频率、缓慢的熵率收敛和长程依赖性。在六种语言的维基百科上,在一百万字节的上下文中,每字节的位数从统一的 8 下降到 0.9 到 2.4 之间。给定数字而不是文本,PFLM 学会计数、比较大小以及近似相加。它可以预测 Rudin-Shapiro 或素数指示器等确定性序列,并压缩六个非文本域,从源代码到语音,低于 gzip 和 PPMd。该模型尚未学习语言。它已经学会了学习一个。

学习语言的原论文方法或结果图
图 2:每个预训练序列都是由之前的一个小型循环程序生成的。 (a) 合成语言 $\ell$ 是一种稀疏循环结构因果模型。它的接线、每个节点的结构方程 $f_{i}$ 和激活 $\sigma_{i}$ 以及噪声尺度 $\eta$ 都是采样的,因此没有两个序列共享一种语言。标记一个节点并完整显示其更新(公式 2);这些图块是从表 1 的六个方程组中单独抽取的,每个方程组都绘制在其两个父方程组的平面上,并像动力学一样剪裁为 $[-1,1]$。 (b) 通过量化 $d_{\mathrm{obs}}$ 观察到的坐标并将结果数字读取为一个符号,向前滚动该语言每步发出一个token(等式 3)。为了易读性,绘图使用 $L=2$ 和 $d_{\mathrm{obs}}=2$;本文使用 $L=2$ 和 $d_{\mathrm{obs}}=8$,因此token字母表正是 $256$ 字节值。只有token离开发电机。因为 $\ell$ 永远不会被揭示,也不会被绘制两次,所以预测下一个token的唯一方法是从已经看到的语言中推断出语言。