项目介绍:ViT模型在Habana Gaudi处理器上的配置
该项目主要介绍了如何在Habana的Gaudi处理器(HPU)上配置和运行ViT(Vision Transformer)模型。Optimum Habana作为Hugging Face Transformers和Diffusers库与Habana Gaudi处理器之间的接口,提供了一组工具,使得在单个或多个HPU设置下,更加简单快捷地加载、训练和推理模型。
ViT模型的Gaudi配置
此项目的模型只包含了用于在Habana Gaudi处理器上运行ViT模型的GaudiConfig
文件。
注意:这个模型不包括任何模型权重,仅包含GaudiConfig文件。
通过这个配置文件,用户可以指定以下选项:
use_fused_adam
:是否使用Habana定制的AdamW优化算法。use_fused_clip_norm
:是否使用Habana的融合梯度范数裁剪操作。use_torch_autocast
:是否使用Torch Autocast来管理混合精度。
使用方法
模型的实例化方式与在Transformers库中的方式相同。唯一的区别在于,针对HPU有一些新的训练参数。强烈建议使用bf16混合精度训练,以获得最佳的性能和精度。
这里有一个图像分类的示例脚本用于微调模型。可以通过以下命令使用ViT模型运行该脚本:
python run_image_classification.py \
--model_name_or_path google/vit-base-patch16-224-in21k \
--dataset_name cifar10 \
--output_dir /tmp/outputs/ \
--remove_unused_columns False \
--do_train \
--do_eval \
--learning_rate 2e-5 \
--num_train_epochs 5 \
--per_device_train_batch_size 64 \
--per_device_eval_batch_size 64 \
--evaluation_strategy epoch \
--save_strategy epoch \
--load_best_model_at_end True \
--save_total_limit 3 \
--seed 1337 \
--use_habana \
--use_lazy_mode \
--gaudi_config_name Habana/vit \
--throughput_warmup_steps 3 \
--bf16
要了解更多高级用法和示例,用户可以查阅文档。