文档
注册

Transformers

功能简介

Hugging Face核心套件transformers提供了便于快速下载和使用的API,用户可以对预训练模型进行微调,已原生支持昇腾NPU。现已支持在昇腾NPU上对Transformers进行单机单卡、单机多卡的BF16、FP16格式训练、APEX模块下的混合精度进行训练。

安装方法

python需为3.8版本及以上, PyTroch需为1.11.0版本及以上。

执行以下代码进行安装。

pip3 install -U transformers

使用样例

这里以 text-classification任务为例说明如何在昇腾NPU微调bert模型。

  1. 获取text-classification训练脚本并安装相关依赖。
    git clone https://github.com/huggingface/transformers.git 
    cd examples/pytorch/text-classification 
    pip install -r requirements.txt
  2. 执行训练任务,具体参数说明请参考表1
    • 单卡FP16训练示例
      python run_glue.py \
        --model_name_or_path bert-base-cased \
        --task_name $TASK_NAME \
        --do_train \
        --do_eval \
        --max_seq_length 128 \
        --per_device_train_batch_size 32 \
        --learning_rate 2e-5 \
        --num_train_epochs 3 \
        --fp16 \
        --output_dir /tmp/$TASK_NAME/
    • 多卡FP16训练示例
      python -m torch.distributed.launch --nproc_per_node=8 run_glue.py \
        --model_name_or_path bert-base-cased \
        --task_name $TASK_NAME \
        --do_train \
        --do_eval \
        --max_seq_length 128 \
        --per_device_train_batch_size 32 \
        --learning_rate 2e-5 \
        --num_train_epochs 3 \
        --fp16 \
        --output_dir /tmp/$TASK_NAME/
    • APEX混合精度训练示例
      使用APEX进行混合精度训练,请先确保安装支持昇腾NPU的APEX包,然后传入 --fp16 和 --half_precision_backend apex。
      python run_glue.py \
        --model_name_or_path bert-base-cased \
        --task_name $TASK_NAME \
        --do_train \
        --do_eval \
        --max_seq_length 128 \
        --per_device_train_batch_size 32 \
        --learning_rate 2e-5 \
        --num_train_epochs 3 \
        --fp16 \
        --half_precision_backend apex \
        --output_dir /tmp/$TASK_NAME/
    表1 参数说明

    参数

    说明

    model_name_or_path

    与训练模型文件夹路径相同

    task_name

    数据集任务名称

    do_train

    执行训练

    do_eval

    执行评估

    max_seq_length

    最大序列长度

    per_device_train_batch_size

    单张卡训练batch size

    learning_rate

    初始学习率

    num_train_epochs

    训练的epoch次数

    fp16

    使用fp16格式的混合精度训练

    half_precision_backend apex

    使用APEX模式的混合精度训练

    output_dir

    训练结果和checkpoint保存路径

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词