21 Mar

RoFormerV2:自然语言理解的极限探索

大概在1年前,我们提出了旋转位置编码(RoPE),并发布了对应的预训练模型RoFormer。随着时间的推移,RoFormer非常幸运地得到了越来越多的关注和认可,比如EleutherAI新发布的60亿200亿参数的GPT模型中就用上了RoPE位置编码,Google新提出的FLASH模型论文中则明确指出了RoPE对Transformer效果有明显的提升作用。

与此同时,我们也一直在尝试继续加强RoFormer模型,试图让RoFormer的性能“更上一层楼”。经过近半年的努力,我们自认为取得了还不错的成果,因此将其作为“RoFormerV2”正式发布:

点击阅读全文...

26 Jan

Transformer升级之路:16、“复盘”长度外推技术

回过头来看,才发现从第7篇《Transformer升级之路:7、长度外推性与局部注意力》开始,“Transformer升级之路”这个系列就跟长度外推“杠”上了,接连9篇文章(不算本文)都是围绕长度外推展开的。如今,距离第7篇文章刚好是一年多一点,在这一年间,开源社区关于长度外推的研究有了显著进展,笔者也逐渐有了一些自己的理解,比如其实这个问题远不像一开始想象那么简单,以往很多基于局部注意力的工作也不总是有效,这暗示着很多旧的分析工作并没触及问题的核心。

在这篇文章中,笔者尝试结合自己的发现和认识,去“复盘”一下主流的长度外推结果,并试图从中发现免训练长度外推的关键之处。

问题定义

顾名思义,免训练长度外推,就是不需要用长序列数据进行额外的训练,只用短序列语料对模型进行训练,就可以得到一个能够处理和预测长序列的模型,即“Train Short, Test Long”。那么如何判断一个模型能否用于长序列呢?最基本的指标就是模型的长序列Loss或者PPL不会爆炸,更加符合实践的评测则是输入足够长的Context,让模型去预测答案,然后跟真实答案做对比,算BLEU、ROUGE等,LongBench就是就属于这类榜单。

点击阅读全文...

29 May

Transformer升级之路:18、RoPE的底数选择原则

我们知道,在RoPE中频率的计算公式为$\theta_i = b^{-2i/d}$,底数$b$默认值为10000。目前Long Context的主流做法之一是,先在$b=10000$上用短文本预训练,然后调大$b$并在长文本微调,其出发点是《Transformer升级之路:10、RoPE是一种β进制编码》里介绍的NTK-RoPE,它本身有较好长度外推性,换用更大的$b$再微调相比不加改动的微调,起始损失更小,收敛也更快。该过程给人的感觉是:调大$b$完全是因为“先短后长”的训练策略,如果一直都用长文本训练似乎就没必要调大$b$了?

上周的论文《Base of RoPE Bounds Context Length》试图回答这个问题,它基于一个期望性质研究了$b$的下界,由此指出更大的训练长度本身就应该选择更大的底数,与训练策略无关。整个分析思路颇有启发性,接下来我们一起来品鉴一番。

点击阅读全文...

15 Jul

《向量》系列——1.向心力公式证明

向量在几何和物理中都有极其重要的作用,现在就让我们来看如何用向量研究物理中的圆周运动。

首先我们必须了解一些基础:

1.在向量中,只要一条“向径”($\vec{r}$)就可以描述出物体的运动,而不需要建立坐标系。这就是向量应用于物理的原因:物理定律不应该依赖于坐标系,而向量恰恰也不依赖于坐标系!
2.牛顿第二定律:$\vec{F}=m\vec{a}$
3.以及一些向量的微积分运算等(可以查阅维基百科或者相关资料)

在下面及以后的文章描述中,为了大家的阅读方便,把向量写成$\vec{r}$的形式,而非把字母加粗。一般情况下,在本站的描述中,有$|\vec{r}|=r,|\dot{\vec{r}}|=v,|\ddot{\vec{r}}|=a$。但是,$\dot{r}=\frac{d|\vec{r}|}{dt} != |\dot{\vec{r}}|$

点击阅读全文...

18 Jul

《向量》系列——2.曲率半径

圆周是如此地和谐与完美,致使数学家和物理学家对它钟爱有加。几何上可以把一条曲线的局部看做一个圆弧,利用圆的性质去研究它(在数学上,曲率半径的倒数就是曲率,曲率越大,曲线越弯曲);物理学家喜欢把一个质点的曲线运动轨迹的局部看做圆周运动,利用圆周运动的方法来描述这种运动。这两种研究方法都告诉了我们,两种不同的“线”在极小的范围内可以等效的,这也为我们对科学进行探究提供了一点指导思想:把未知变已知,以已知看未知。物理学和数学的两种处理方法中,有一点是殊途同归的:那就是看轨迹看成一个圆后,圆的半径是多少?我们首先得求出它。

在数学分析上可以利用微积分的相关知识来推导曲率半径公式,而BoJone则更偏爱物理方法,通过物理和向量知识的结合,推导出曲率半径公式,让BoJone感到“别有一番风味”。

点击阅读全文...

23 Aug

《向量》系列——4.天旋地转(向量,复数,极坐标)

坐标旋转

坐标旋转

如图,坐标(x,y)绕点(p,q)逆时针旋转θ角后得到坐标(x',y'),求x',y'关于x,y的表达式。

点击阅读全文...

3 Oct

《向量》系列——5.平面向量微分方程与复数

首先我们考虑一个复微分方程
$$\dot{z}=f(z,t)\tag{1}$$如果令$z=x+yi,f(z,t)=f(x+yi,t)=g(x,y,t)+i*h(x,y,t)$,则方程对应于
$$\begin{aligned}\dot{x}=g(x,y,t) \\ \dot{y}=h(x,y,t)\end{aligned}$$
这说明,二元微分方程在一定程度上等价于复微分方程。

点击阅读全文...

27 Nov

《自然极值》系列——1.前言

附:期中考过后,课程紧了,自由时间少了,因此科学空间的更新也放缓了。不过BoJone也会尽量地更新一些内容,和大家一同分享学习的乐趣。

闭区间[a,b]上的连续函数?(x),其最大值为红色点,最小值为蓝色点

闭区间[a,b]上的连续函数?(x),其最大值为红色点,最小值为蓝色点

上一周和这一周的时间里,BoJone将自己学习物理和极值的一些内容进行了总结和整合,写成了《自然极值》一文。因此从今天起,到十二月的大多数时间里,科学空间将和大家讲述并讨论关于“极值”的问题,希望读者会喜欢这部分内容。当然,我不是专业的研究人员,更不是经验丰富的物理和数学教师,甚至可以说是一个“乳臭未干的小子”,因此,错误在所难免,只希望同好不吝指出,更希冀能够起到我抛出的这一块“砖”能够引出美妙的“玉”。

点击阅读全文...