Transformers Can Achieve Length Generalization But Not Robustly

828 篇文章

已下架不支持订阅

本文研究了Transformer在长度泛化上的表现,即从短序列训练到长序列测试的能力。尽管发现适当的配置下Transformer可以实现2.5倍输入长度的泛化,但这种泛化并不稳健,易受权重初始化和训练顺序影响。研究强调了数据格式和位置编码在提升泛化能力中的关键作用,同时指出鲁棒的长度泛化仍然是一个挑战。

本文是LLM系列文章,针对《Transformers Can Achieve Length Generalization But Not Robustly》的翻译。

摘要

长度泛化,定义为从较短的训练序列外推到较长的测试序列的能力,对语言模型来说是一个重大挑战。即使大型Transformers处理相对简单的任务,这个问题仍然存在。在本文中,我们使用两个整数相加的任务来测试Transformer的长度泛化能力。我们表明,长度泛化的成功与数据格式和位置编码的类型密切相关。使用数据格式和位置编码的正确组合,我们首次展示了标准Transformers可以外推到2.5×输入长度的序列长度。然而,与分布泛化不同,长度泛化仍然很脆弱,受到随机权重初始化和训练数据顺序等因素的显著影响,导致不同随机种子之间的差异很大。

1 引言

2 位置编码和数据格式

3 十进制加法中的长度泛化公式

4 实验

5 分析

6 相关工作

7 结论

Transformers中的长度泛化一直是一个长期的挑战。我们使用十进制加法任务来评估Transformers推广到更长测试序列的能力。通过大量的实验,我们发现Transformers的设计不存在阻碍有效长度泛化的固有限制。相反,缺少的是数据格式和位置编码的正确组合。我们

已下架不支持订阅

在安装 PEFT 0.3.0 时提示缺少依赖库 `transformers`,通常是因为当前环境中未正确安装 Hugging Face 的 `transformers` 库。要解决这一问题,可以通过以下方式确保所有必要的依赖项被正确安装。 ### 安装 `transformers` 解决依赖问题 1. **使用 pip 安装 transformers** 确保 `transformers` 被安装到当前 Python 环境中。可以运行以下命令: ```bash pip install transformers ``` 这会安装最新版本的 `transformers`。如果希望安装特定版本以与 PEFT 兼容,请指定版本号: ```bash pip install transformers==4.28.0 ``` 2. **安装 PEFT 并自动处理依赖** 如果手动安装 `transformers` 后仍然存在问题,可以直接通过 pip 安装 PEFT,并让它自动尝试解析和安装缺失的依赖: ```bash pip install peft==0.3.0 ``` 在此过程中,pip 会自动检查并安装所有缺失的依赖项,包括 `transformers` [^2]。 3. **使用虚拟环境管理依赖** 若系统中存在多个项目或不同版本需求,推荐使用虚拟环境(如 `venv` 或 `conda`)来隔离依赖。例如: ```bash python -m venv peft_env source peft_env/bin/activate # Linux/macOS peft_env\Scripts\activate # Windows pip install peft==0.3.0 ``` 这样可以避免与其他项目的依赖冲突,并确保 `transformers` 正确安装。 4. **验证安装** 安装完成后,可通过以下代码验证 `transformers` 和 `peft` 是否成功导入: ```python import transformers import peft print(transformers.__version__) print(peft.__version__) ``` 5. **升级 pip 以避免兼容性问题** 某些情况下,旧版本的 pip 可能无法正确解析依赖关系。可以通过以下命令更新 pip: ```bash pip install --upgrade pip ``` 6. **从源码安装 PEFT(可选)** 如果需要更复杂的配置,或者想确保所有依赖都被正确处理,可以从源码安装 PEFT: ```bash git clone https://github.com/huggingface/peft.git cd peft pip install -e . ``` 这种方式将确保所有依赖项(包括 `transformers`)被正确解析并安装 [^2]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值