优化 Albert HuggingFace 模型

Optimize Albert HuggingFace model

目标:修改此 Notebook 以使用 albert-base-v2 模型

内核:conda_pytorch_p36.

第 2.1 节导出最终模型。它也使用了 BERT 特定的功能。但是,我找不到 Albert 的等价物。

到这一部分为止,我已经成功地为 Albert 实施了替代方案。

代码:

# optimize transformer-based models with onnxruntime-tools
from onnxruntime_tools import optimizer
from onnxruntime_tools.transformers.onnx_model_bert import BertOptimizationOptions

# disable embedding layer norm optimization for better model size reduction
opt_options = BertOptimizationOptions('bert')
opt_options.enable_embed_layer_norm = False
...

是否存在用于优化和量化 Albert 模型的函数?

更新:您可以在笔记本中 运行 量化,无需 运行ning 优化。您只需要删除“.opt”。从代码中,这是优化文件名的指示。

优化任何 PyTorch 模型,使用 torch_optimizer

安装:

pip install torch_optimizer

实施:

import torch_optimizer as optim

# model = ...
optimizer = optim.DiffGrad(model.parameters(), lr=0.001)
optimizer.step()

Source

torch.save(model.state_dict(), PATH)

Source