【发布时间】:2020-09-29 19:19:13
【问题描述】:
我正在与 Bert 和图书馆 https://huggingface.co/models hugginface 合作。 我想知道您会选择哪些可用模型进行调试?
换句话说,哪些模型可以在我的 GPU 上快速训练/加载,以尽可能快地运行? 阿尔伯特、迪尔伯特还是?
【问题讨论】:
标签: machine-learning nlp huggingface-transformers bert-language-model
我正在与 Bert 和图书馆 https://huggingface.co/models hugginface 合作。 我想知道您会选择哪些可用模型进行调试?
换句话说,哪些模型可以在我的 GPU 上快速训练/加载,以尽可能快地运行? 阿尔伯特、迪尔伯特还是?
【问题讨论】:
标签: machine-learning nlp huggingface-transformers bert-language-model
我认为通常使用特定模型进行调试可能很关键,并且完全取决于您要执行的调试类型。
具体来说,考虑标记化方面:因为每个模型还带有自己的 BaseTokenizer 类派生。因此,只有当您还使用 此特定标记器 时,相应模型的任何细节才会显示出来;例如,您想通过使用 DistilBert 进行调试来调试(以后的)RoBERTa 实现。在 uses BERT's tokenizer 的 DistilBERT 中,任何特定于 RoBERTa 标记化的东西都不会相同。
同样,培训过程的任何细节都可能完全搞砸培训。从轶事证据来看,我使用 RoBERTa 训练模型完成(和收敛),但在 BERT 上没有,这使得使用不同模型进行“调试”的提议解决方案成为潜在危险的替代方案。
ALBERT 再次具有与上述任何模型不同的属性,但类似地,上述方面仍然成立。
如果您想对服务进行原型设计并且只需要一个模型,我认为您建议的两种模型都可以,并且加载/保存应该只有微小的差异,具体取决于确切的数量模型参数。但请记住,应用程序的推理时间也是值得考虑的事情。除非您绝对确定执行时间不会有任何明显差异,否则至少要确保您也在使用完整模型进行测试。
【讨论】: