目前我正致力于在 Spark 上生产一个 NER 模型。我目前有一个使用 Huggingface DISTILBERT 和 TokenClassification 头的实现,但是由于性能有点慢且成本高,我正在尝试寻找优化的方法。
我检查了 SPARKNLP 实现,它缺少预训练的 DISTILBERT,并且我认为有不同的方法,因此出现了一些关于此的问题:
- Huggingface 使用了整个 BERT 模型,并为 token 分类添加了一个 head。这与获取 BERT 嵌入并将它们馈送到另一个 NN 是否相同?
- 我问这个是因为这是 SPARKNLP 方法,一个有助于获取这些嵌入并将其用作另一个复杂 NN 的特征的类。这不会丢失BERT内部的一些知识吗?
- SPARKNLP 是否对 SPARK 进行了任何优化以帮助缩短推理时间,或者它只是另一种 BERT 实现。