AWS Trainium & Inferentia 文档

用于 Neuron 导出模型的配置类

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

用于 Neuron 导出模型的配置类

将 PyTorch 模型导出到 Neuron 编译后的模型涉及指定以下内容:

  1. 输入名称。
  2. 输出名称。
  3. 用于跟踪模型的虚拟输入。这是 Neuron-Compiler 记录计算图并将其转换为 TorchScript 模块所必需的。
  4. 用于控制硬件效率(延迟、吞吐量)和精度之间的权衡的编译参数。

根据模型和任务的选择,我们使用配置类来表示上述数据。每个配置类都与特定模型架构相关联,并遵循命名约定 ArchitectureNameNeuronConfig。例如,指定 BERT 模型的 Neuron 导出的配置是 BertNeuronConfig

由于许多架构在 Neuron 配置方面共享相似的属性,因此 🤗 Optimum 采用了 3 层类层次结构:

  1. 抽象和通用的基类。这些类处理所有基本功能,同时与模态无关(文本、图像、音频等)。
  2. 中间类。这些类知道模态,但多个类可以针对同一模态存在,具体取决于它们支持的输入。它们指定应为虚拟输入使用哪些输入生成器,但与模型无关。
  3. 模型特定的类,如上面提到的 BertNeuronConfig。这些类是实际用于导出模型的类。

支持的架构

架构 任务
ALBERT 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
BERT 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
CamemBERT 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
ConvBERT 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
DeBERTa(仅 INF2) 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
DeBERTa-v2(仅 INF2) 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
DistilBERT 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
ELECTRA 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
FlauBERT 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
GPT2 文本生成
MobileBERT 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
MPNet 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
RoBERTa 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
RoFormer 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
XLM 特征提取、填充掩码、多项选择、问答、文本分类、词语标记
XLM-RoBERTa 特征提取、填充掩码、多项选择、问答、文本分类、词语标记

有关支持任务的更多详细信息,请点击 这里

更多架构即将推出,敬请关注! 🚀