重要提示

您正在查看 NeMo 2.0 文档。此版本对 API 和新库 NeMo Run 进行了重大更改。我们目前正在将 NeMo 1.0 的所有功能移植到 2.0。有关先前版本或 2.0 中尚未提供的功能的文档,请参阅 NeMo 24.07 文档

Megatron 模型的 ONNX 导出#

本指南演示了 Megatron 模型的 ONNX 导出功能的使用方法。

要求#

通过启动最新的 NeMo 容器 来设置开发环境

NeMo 和 TransformerEngine 的最低版本要求如下

nemo > 1.19
transformer_engine > 0.10

导出到 ONNX#

导出脚本支持导出扩展名为 .nemo 和 .ckpt 的模型的 ONNX。该脚本还支持导出以下类型的模型:GPT、T5、BERT、BART、NMT、RETRO。以下章节讨论了两种文件格式的命令。示例中使用的模型类型为 GPT。

使用 .nemo 文件导出#

可以使用以下命令导出扩展名为 .nemo 文件的模型

python3 examples/nlp/language_modeling/megatron_export.py \
    model_type=gpt \
    onnx_model_file=gpt_126m.onnx \
    gpt_model_file=gpt_126m.nemo

使用 .ckpt 文件导出#

可以使用以下命令导出扩展名为 .ckpt 文件的模型

python3 examples/nlp/language_modeling/megatron_export.py \
    model_type=gpt \
    onnx_model_file=gpt_126m.onnx \
    checkpoint_dir=./gpt_126m/ \
    checkpoint_name=model_weights.ckpt \
    hparams_file=./gpt_126m/hparams.yaml