Transformers 文档
BORT
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
BORT
此模型仅处于维护模式,我们不接受任何更改其代码的新 PR。
如果您在运行此模型时遇到任何问题,请重新安装支持此模型的最后一个版本:v4.30.0。您可以通过运行以下命令来执行此操作:pip install -U transformers==4.30.0
。
概述
BORT 模型由 Adrian de Wynter 和 Daniel J. Perry 在Optimal Subarchitecture Extraction for BERT 中提出。 它是 BERT 的架构参数的最佳子集,作者称之为 “Bort”。
论文摘要如下
我们通过应用神经架构搜索算法的最新突破,从 Devlin 等人 (2018) 的 BERT 架构中提取了架构参数的最佳子集。 这个最佳子集,我们称之为 “Bort”,显然更小,有效大小(即,不包括嵌入层)是原始 BERT-large 架构的 5.5%,以及网络大小的 16%。 Bort 还能够在 288 个 GPU 小时内完成预训练,这仅占预训练性能最高的 BERT 参数架构变体 RoBERTa-large (Liu et al., 2019) 所需时间的 1.2%,以及在相同硬件上训练 BERT-large 的世界纪录 GPU 小时数的大约 33%。 它在 CPU 上的速度也快 7.9 倍,并且比架构的其他压缩变体和一些非压缩变体性能更好:在多个公共自然语言理解 (NLU) 基准测试中,相对于 BERT-large,它获得了 0.3% 到 31% 的绝对性能提升。
此模型由 stefan-it 贡献。 原始代码可以在这里找到。
使用技巧
- BORT 的模型架构基于 BERT,有关模型的 API 参考以及使用示例,请参阅 BERT 的文档页面。
- BORT 使用 RoBERTa tokenizer 而不是 BERT tokenizer,有关 tokenizer 的 API 参考以及使用示例,请参阅 RoBERTa 的文档页面。
- BORT 需要一种特定的微调算法,称为 Agora,但遗憾的是尚未开源。如果有人尝试实现该算法以使 BORT 微调工作,这将对社区非常有益。