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