更新时间:2024-04-11 GMT+08:00
分享

背景信息

AI Gallery的Transformers库支持部分开源的模型结构框架,并对昇腾系列显卡进行了训练/推理性能优化,可以做到开箱即用。如果你有自己从头进行预训练的模型,AI Gallery也支持使用SDK构建自定义模型接入AI Gallery。

Transformers库介绍

AI Gallery使用的Transformers机器学习库是一个开源的基于Transformer模型结构提供的预训练语言库。Transformers库注重易用性,屏蔽了大量AI模型开发使用过程中的技术细节,并制定了统一合理的规范。使用者可以便捷地使用、下载模型。同时支持用户上传自己的预训练模型到在线模型资产仓库中,并发布上架给其他用户使用。AI Gallery在原有Transformers库的基础上,融入了对于昇腾硬件的适配与支持。对AI有使用诉求的企业、NLP领域开发者,可以借助这个库,便捷地使用昇腾算力进行自然语言理解(NLU)和自然语言生成(NLG)任务的SOTA模型开发与应用。

支持的模型结构框架

AI Gallery的Transformers库支持的开源模型结构框架如表1所示。

表1 支持的模型结构框架

模型结构

PyTorch

MindSpore

GPU

昇腾

Llama

支持

不支持

支持

支持

Bloom

支持

不支持

支持

不支持

Falcon

支持

不支持

支持

不支持

BERT

支持

不支持

支持

不支持

MPT

支持

不支持

支持

不支持

ChatGLM

支持

不支持

支持

支持

核心基础类介绍

使用AI Gallery SDK构建自定义模型,需要了解2个核心基础类“PretrainedModel”“PretrainedConfig”之间的交互。

  • “PretrainedConfig”:预训练模型的配置基类

    提供模型配置的通用属性和两个主要方法,用于序列化和反序列化配置文件。

    PretrainedConfig.from_pretrained(dir) # 从目录中加载序列化对象(本地或者是url),配置文件为dir/config.json
    PretrainedConfig.save_pretrained(dir) # 将配置实例序列化到dir/config.json
  • “PretrainedModel”:预训练模型的基类

    包含一个配置实例“config”,提供两个主要方法,用来加载和保存预训练模型。

    # 1. 调用 init_weights() 来初始化所有模型权重
    # 2. 从目录中(本地或者是url)中导入序列化的模型
    # 3. 使用导入的模型权重覆盖所有初始化的权重
    # 4. 调用 PretrainedConfig.from_pretrained(dir)来将配置设置到self.config中
    PretrainedModel.from_pretrained(dir)
    
    # 将模型实例序列化到 dir/pytorch_model.bin 中
    PretrainedModel.save_pretrained(dir)
    
    # 给定input_ids,生成 output_ids,在循环中调用 PretrainedModel.forward() 来做前向推理
    PretrainedModel.generate()
分享:

    相关文档

    相关产品