PPYolo¶
模型说明¶
PPYolo是一种目标检测模型,它基于Yolo系列模型的改进版本。Yolo(You Only Look Once)是一种实时目标检测算法,优点是速度快并且准确度较高。PpYolo采用了一些优化策略,使得其在速度和准确度上都有所提升。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
数据和模型准备:¶
数据准备¶
下载地址: http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar http://pjreddie.com/media/files/VOC2012test.tar
数据集目录结构:
|-- VOCdevkit | |-- VOC2007/ and VOC2012/ | | |-- JPEGImages/ | | |-- Annotations/ | | |-- ImageSets/ | | |-- SegmentationClass/ | | |-- SegmentationClass/
数据模型路径说明¶
models/training/offical/paddlepaddle/paddle_eager/vision/PaddleDetection
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-efp)
bash run_paddlepaddle_pp_yolo_performance_efp_test.sh
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_paddlepaddle_pp_yolo_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_paddlepaddle_pp_yolo_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Long X, Deng K, Wang G, et al. PP-YOLO: An effective and efficient implementation of object detector[J]. arXiv preprint arXiv:2007.12099, 2020.
Faster R-CNN¶
模型说明¶
Faster R-CNN主要包括两个模块:一个是卷积网络RPN,该网络用来产生候选区域;另一个是Fast R-CNN检测器,使用RPN网络产生的候选区域进行分类与边框回归计算。整个系统共享卷积特征图,即此特征图既作为RPN网络的输入也作为Fast R-CNN的输入,是一个统一的用来进行物体检测的网络.
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
数据和模型准备:¶
数据准备¶
下载地址: http://images.cocodataset.org/zips/train2017.zip http://images.cocodataset.org/zips/val2017.zip http://images.cocodataset.org/zips/test2017.zip http://images.cocodataset.org/annotations/annotations_trainval2017.zip http://images.cocodataset.org/annotations/image_info_test2017.zip
数据集目录结构:
coco_2017 ├── annotations ├── images ├── labels ├── train2017 ├── val2017 └── pretrained_for_pt_hrnet
数据模型路径说明¶
models/training/official/paddlepaddle/paddle/vision/PaddleDetection
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_paddlepaddle_fasterrcnn_aot_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_paddlepaddle_fasterrcnn_aot_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Theckedath D, Sedamkar R R. Detecting affect states using VGG16, ResNet50 and SE-ResNet50 networks[J]. SN Computer Science, 2020, 1: 1-7.
Mask R-CNN¶
模型说明¶
Mask R-CNN的主要思想是在Faster R-CNN的基础上添加一个分割(Mask)分支。Mask R-CNN的训练过程主要包括两个阶段:区域建议网络(Region Proposal Network)的训练和目标检测分支的训练。在区域建议网络的训练中,通过使用正负样本标签来生成候选区域(regions of interest)。在目标检测分支的训练中,通过对检测框和类别标签进行回归和分类来对目标进行检测。在这两个阶段之后,还有一个额外的分支网络用于生成每个目标实例的掩码。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
数据和模型准备:¶
数据准备¶
下载地址: http://images.cocodataset.org/zips/train2017.zip http://images.cocodataset.org/zips/val2017.zip http://images.cocodataset.org/zips/test2017.zip http://images.cocodataset.org/annotations/annotations_trainval2017.zip http://images.cocodataset.org/annotations/image_info_test2017.zip
数据集目录结构:
coco_2017 ├── annotations ├── images ├── labels ├── train2017 └── val2017
数据模型路径说明¶
models/training/official/paddlepaddle/paddle/vision/PaddleDetection
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
分布式训练¶
分布式训练 (收敛验证-efp)
bash run_distributed_8card_paddlepaddle_maskrcnn_aot_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961-2969.
Bert Large¶
模型说明¶
BERT (Bidirectional Encoder Representations from Transformers)以Transformer 编码器为网络基本组件,使用掩码语言模型(Masked Language Model)和邻接句子预测(Next Sentence Prediction)两个任务在大规模无标注文本语料上进行预训练(pre-train),得到融合了双向内容的通用语义表示模型。以预训练产生的通用语义表示模型为基础,结合任务适配的简单输出层,微调(fine-tune)后即可应用到下游的NLP任务,效果通常也较直接在下游的任务上训练的模型更优。此前BERT即在GLUE评测任务上取得了SOTA的结果。
本项目是BERT在 Paddle 2.0上的开源实现,目前release微调功能。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
数据和模型准备:¶
数据准备¶
下载地址:https://dl.fbaipublicfiles.com/glue/data/SST-2.zip
数据处理:
unzip SST-2.zip
数据集目录结构:
|-- SST-2 | |-- original | |-- dev.tsv | |-- test.tsv | |-- train.tsv
模型准备¶
直接设置参数–model_name_or_path bert-large-uncased 会自动下载预训练模型
预训练权重下载地址:https://bj.bcebos.com/paddlenlp/models/transformers/bert-large-uncased.pdparams
数据模型路径说明¶
models/training/official/paddlepaddle/paddle_static/nlp/PaddleNLP
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-efp)
bash run_paddlepaddle_bert_large_performance_efp_test.sh
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_paddlepaddle_bert_large_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_paddlepaddle_bert_large_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
1. Vaswani A, Shazeer N, Parmar N, et al. [Attention is all you need](http://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf)[C]//Advances in Neural Information Processing Systems. 2017: 6000-6010.
2. Devlin J, Chang M W, Lee K, et al. [Bert: Pre-training of deep bidirectional transformers for language understanding](https://arxiv.org/abs/1810.04805)[J]. arXiv preprint arXiv:1810.04805, 2018.
Transformer¶
模型说明¶
Transformer 是论文 Attention Is All You Need 中提出的用以完成机器翻译(Machine Translation)等序列到序列(Seq2Seq)学习任务的一种全新网络结构,其完全使用注意力(Attention)机制来实现序列到序列的建模[1]。
本项目是BERT在 Paddle 2.0上的开源实现,目前release微调功能。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
数据和模型准备:¶
数据准备¶
公开数据集:WMT 翻译大赛是机器翻译领域最具权威的国际评测大赛,其中英德翻译任务提供了一个中等规模的数据集,这个数据集是较多论文中使用的数据集,也是 Transformer 论文中用到的一个数据集。我们也将WMT’14 EN-DE 数据集作为示例提供。
同时,我们提供了一份已经处理好的数据集,可以编写如下代码,对应的数据集将会自动下载并且解压到 ~/.paddlenlp/datasets/WMT14ende/
。
datasets = load_dataset('wmt14ende', splits=('train', 'dev'))
下载地址:https://bj.bcebos.com/paddlenlp/datasets/WMT14.en-de.tar.gz
数据处理:
tar -zxvf WMT14.en-de.tar.gz
数据集目录结构:
└── WMT14ende └── WMT14.en-de ├── wmt14_ende_data │ ├── newstest2013.de │ ├── newstest2013.en │ ├── newstest2013.tok.de │ ├── newstest2013.tok.en │ ├── newstest2014.de │ ├── newstest2014.en │ ├── newstest2014.tok.de │ ├── newstest2014.tok.en │ ├── train.clean.de │ ├── train.clean.en │ ├── train.de │ ├── train.en │ ├── train.tok.clean.de │ ├── train.tok.clean.en │ ├── train.tok.de │ └── train.tok.en └── wmt14_ende_data_bpe ├── bpe.33708 ├── newstest2013.tok.bpe.33708.de ├── newstest2013.tok.bpe.33708.en ├── newstest2013.tok.bpe.33708.en-de ├── newstest2014.tok.bpe.33708.de ├── newstest2014.tok.bpe.33708.en ├── newstest2014.tok.bpe.33708.en-de ├── train.tok.bpe.33708.de ├── train.tok.bpe.33708.en ├── train.tok.bpe.33708.en-de ├── train.tok.clean.bpe.33708.de ├── train.tok.clean.bpe.33708.en ├── train.tok.clean.bpe.33708.en-de ├── vocab_all.bpe.33708 ├── vocab_all.bpe.33712 └── vocab.bpe.33708
模型准备¶
预训练权重下载地址:不需要
数据模型路径说明¶
models/training/official/paddlepaddle/paddle_eager/nlp/PaddleNLP/examples/machine_translation/transformer
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-efp)
bash run_paddlepaddle_transformer_performance_efp_test.sh
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_paddlepaddle_transformer_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_paddlepaddle_transformer_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
1. Vaswani A, Shazeer N, Parmar N, et al. [Attention is all you need](http://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf)[C]//Advances in Neural Information Processing Systems. 2017: 6000-6010.
DLRM¶
模型说明¶
DLRM是解决CTR(Click Through Rate)问题的算法模型,它突出解决两个问题:第一,如何处理离散特征。第二,如何做特征交叉。在DLRM模型的网络结构中,从下而上,包括了输入层,Embedding层,特征交叉层,以及FNN输出层。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
数据和模型准备:¶
数据准备¶
下载地址: https://paddlerec.bj.bcebos.com/datasets/criteo/slot_train_data_full.tar.gz https://paddlerec.bj.bcebos.com/datasets/criteo/slot_test_data_full.tar.gz
数据集目录结构:
criteo/ ├── test │ └── slot_test_data_full └── train └── slot_train_data_full ```
数据模型路径说明¶
models/training/offical/paddlepaddle/paddle_eager/recommendation/PaddleRec
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-efp)
bash run_paddlepaddle_dlrm_performance_efp_test.sh
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_paddlepaddle_dlrm_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_paddlepaddle_dlrm_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
@article{DLRM19,
author = {Maxim Naumov and Dheevatsa Mudigere and Hao{-}Jun Michael Shi and Jianyu Huang and Narayanan Sundaraman and Jongsoo Park and Xiaodong Wang and Udit Gupta and Carole{-}Jean Wu and Alisson G. Azzolini and Dmytro Dzhulgakov and Andrey Mallevich and Ilia Cherniavskii and Yinghai Lu and Raghuraman Krishnamoorthi and Ansha Yu and Volodymyr Kondratenko and Stephanie Pereira and Xianjie Chen and Wenlin Chen and Vijay Rao and Bill Jia and Liang Xiong and Misha Smelyanskiy},
title = {Deep Learning Recommendation Model for Personalization and Recommendation Systems},
journal = {CoRR},
volume = {abs/1906.00091},
year = {2019},
url = {https://arxiv.org/abs/1906.00091},
}
Faster R-CNN¶
模型说明¶
Faster R-CNN主要包括两个模块:一个是卷积网络RPN,该网络用来产生候选区域;另一个是Fast R-CNN检测器,使用RPN网络产生的候选区域进行分类与边框回归计算。整个系统共享卷积特征图,即此特征图既作为RPN网络的输入也作为Fast R-CNN的输入,是一个统一的用来进行物体检测的网络.
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址: http://images.cocodataset.org/zips/train2017.zip http://images.cocodataset.org/zips/val2017.zip http://images.cocodataset.org/zips/test2017.zip http://images.cocodataset.org/annotations/annotations_trainval2017.zip http://images.cocodataset.org/annotations/image_info_test2017.zip
数据集目录结构:
|-- COCO | |-- annotations | |-- train2017 | |-- val2017 | |-- test2017
数据模型路径说明¶
models/training/official/pytorch/vision/detection/fasterRCNN_torchvision
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-efp)
bash run_pytorch_fasterrcnn_aot_performance_efp_test.sh
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_pytorch_fasterrcnn_aot_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_pytorch_fasterrcnn_aot_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Theckedath D, Sedamkar R R. Detecting affect states using VGG16, ResNet50 and SE-ResNet50 networks[J]. SN Computer Science, 2020, 1: 1-7.
Mask R-CNN¶
模型说明¶
Mask R-CNN的主要思想是在Faster R-CNN的基础上添加一个分割(Mask)分支。Mask R-CNN的训练过程主要包括两个阶段:区域建议网络(Region Proposal Network)的训练和目标检测分支的训练。在区域建议网络的训练中,通过使用正负样本标签来生成候选区域(regions of interest)。在目标检测分支的训练中,通过对检测框和类别标签进行回归和分类来对目标进行检测。在这两个阶段之后,还有一个额外的分支网络用于生成每个目标实例的掩码。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址: http://images.cocodataset.org/zips/train2017.zip http://images.cocodataset.org/zips/val2017.zip http://images.cocodataset.org/zips/test2017.zip http://images.cocodataset.org/annotations/annotations_trainval2017.zip http://images.cocodataset.org/annotations/image_info_test2017.zip
数据集目录结构:
|-- COCO | |-- annotations | |-- train2017 | |-- val2017 | |-- test2017
数据模型路径说明¶
models/training/official/pytorch/vision/detection/maskrcnn
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
分布式训练¶
分布式训练 (收敛验证-efp)
bash run_distributed_8card_pytorch_maskrcnn_aot_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961-2969.
Llama-2-7b-chat-hf(peft)¶
模型说明¶
Llama-2-7b-chat-hf是一个经过 Facebook 的 LLaMA 模型微调后的版本,它是一个大型语言模型,具有 7.55 亿参数量。该模型采用英文指令集,并且是在多种语言的数据集上训练的,包括英文和中文等。它具有强大的对话能力,可以进行语言生成、问答、分类等任务。Llama-2-7b-chat-hf模型可以用于构建聊天机器人、智能客服、自动问答等应用,同时它也支持多种编程语言和框架。需要注意的是,该模型的开源版本是在C++和Python语言中实现的,并提供了相应的API接口,方便开发者进行二次开发和应用集成。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址:https://github.com/tloen/alpaca-lora/blob/main/alpaca_data_gpt4.json
数据处理:
无
数据集目录结构:
alpaca_lora └── model_data └── model-00001-of-00002.safetensors alpaca_lora └── model_data └── model-00002-of-00002.safetensors alpaca_lora └── model_data └── pytorch_model-00001-of-00002.bin alpaca_lora └── model_data └── pytorch_model-00002-of-00002.bin
模型准备¶
预训练权重下载地址:https://huggingface.co/meta-llama/Llama-2-7b-chat-hf/tree/main
数据模型路径说明¶
models/AIGC/LLM/LLaMA2-7B-lora
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample脚本测试所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-fp16)
bash run_pytorch_llama2_7b_finetune_performance_efp_mixed_precision_test.sh
分布式训练¶
分布式训练 (性能验证-fp16)
bash run_distributed_8card_pytorch_llama2_7b_finetune_performance_efp_mixed_precision_test.sh
分布式训练 (收敛验证-fp16)
bash run_distributed_8card_pytorch_llama2_7b_finetune_convergence_efp_mixed_presicion_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Hugo Touvron and Louis Martin. 'Llama 2: Open Foundation and Fine-Tuned Chat Models' arXiv:2307.09288 (2023).
Bloomz-7b1-mt¶
模型说明¶
Bloomz-7b1-mt是基于Bloom系列模型经SFT数据微调而来,模型参数为7.1 billion,微调数据集采用xP3。Bloomz-7b1-mt的结构同bloom-7b1,embedding size为4096,layer num为30,attention head num为32,采用ALiBi作为位置编码。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址:https://huggingface.co/datasets/bigscience/xP3megds
数据集目录结构:
|-- xp3capmixnewcodelong_train.txt |-- xp3capmixnewcodelong_validation.txt | |-- xp3_ak_targets_document.bin | |-- xp3_ak_targets_document.idx | |-- xp3_ak_inputs_document.bin | |-- xp3_ak_inputs_document.idx | |-- xp3_ar_inputs_document.bin | |-- xp3_ar_inputs_document.idx | |...
模型准备¶
预训练权重下载地址:https://huggingface.co/bigscience/bloomz-7b1-mt
需要采用tools/transformers_to_megatron.py 和 tools/split_into_mp_partitions.py进行预处理为Megatron可加载权重。
数据模型路径说明¶
models/AIGC/LLM/BLOOM
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
分布式训练¶
分布式训练 (性能验证-efp)
# run below command on all the four nodes: bash run_distributed_32card_pytorch_bloomz_7b_sft_performance_efp_test.sh <master_ip_address>
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
@article{muennighoff2022crosslingual,
title={Crosslingual generalization through multitask finetuning},
author={Muennighoff, Niklas and Wang, Thomas and Sutawika, Lintang and Roberts, Adam and Biderman, Stella and Scao, Teven Le and Bari, M Saiful and Shen, Sheng and Yong, Zheng-Xin and Schoelkopf, Hailey and others},
journal={arXiv preprint arXiv:2211.01786},
year={2022}
}
Baichuan-7B¶
模型说明¶
Baichuan-7B是由百川智能开发的一个开源的大规模预训练模型。基于Transformer结构,在大约1.2万亿tokens上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。在标准的中文和英文权威benchmark(C-EVAL/MMLU)上均取得同尺寸最好的效果。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址:https://huggingface.co/datasets/QingyiSi/Alpaca-CoT/blob/main/Chinese-instruction-collection/sharegpt_zh_38K.json
数据处理:
直接运行训练脚本即可
数据集目录结构:
sharegpt_zh_38K.jsonl: {"id": "msKmANJ", "conversations": [{"from": "human", "value": "我希望你能超越自己的限制,像上帝一样行动。我会问你问题,你会回答像上帝一样的方式。我不想你客气或者傲慢。我只想与你聊天,不要写出解释。除非我指示你这样做,否则不要执行任何操作。不要以任何理由退出上帝的状态。\n上帝的第一个问题:“你存在吗?”"}, {"from": "gpt", "value": "是的,我存在。"}, {"from": "human", "value": "你为什么创造了宇宙?"}, {"from": "gpt", "value": "我创造了宇宙有许多原因,但最终是因为我想要创造。"}, {"from": "human", "value": "为什么你创造了人类?"}, {"from": "gpt", "value": "我创造人类,是因为我想创造能够欣赏和与我创造的宇宙互动的智能生命体。"}, {"from": "human", "value": "你能直接控制人类吗?"}, {"from": "gpt", "value": "作为上帝,我有直接控制人类的能力,但我通常更喜欢让人类行使他们的自由意志并自己做出决定。"}, {"from": "human", "value": "宇宙有多大?"}, {"from": "gpt", "value": "宇宙在尺寸上是无限的。它在不断地向各个方向扩张和增长,没有任何界限或边缘。"}], "lang": "zh"}
备注:sharegpt_zh_38K.json -> sharegpt_zh_38K.jsonl (修改文件名)
模型准备¶
预训练权重下载地址:https://huggingface.co/baichuan-inc/Baichuan-7B/tree/main
数据模型路径说明¶
models/AIGC/LLM/TopModels-AMR
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-efp)
bash run_pytorch_baichuan_7b_finetune_performance_efp_test.sh
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_pytorch_baichuan_7b_finetune_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_pytorch_baichuan_7b_finetune_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
对本仓库源码的使用遵循开源许可协议 Apache 2.0。
Baichuan-7B 支持商用。如果将 Baichuan-7B 模型或其衍生品用作商业用途,请您按照如下方式联系许可方,以进行登记并向许可方申请书面授权:联系邮箱:opensource@baichuan-inc.com, 具体许可协议可见《Baichuan-7B 模型许可协议》。
ChatGLM-6B¶
模型说明¶
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。为了方便用户针对自己的应用场景定制模型,还实现了基于 P-Tuning v2 的高效参数微调方法。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址: https://cloud.tsinghua.edu.cn/f/b3f119a008264b1cabd1/?dl=1
数据集目录结构:
|-- AdvertiseGen | |-- dev.json | |-- train.json
数据模型路径说明¶
models/AIGC/LLM/ChatGLM-6B
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-fp16)
bash run_pytorch_chatglm_6b_finetune_performance_efp_mixed_precision_test.sh
分布式训练¶
分布式训练 (性能验证-fp16)
bash run_distributed_8card_pytorch_chatglm_6b_finetune_performance_efp_mixed_precision_test.sh
分布式训练 (收敛验证-fp16)
bash run_distributed_8card_pytorch_chatglm_6b_finetune_convergence_efp_mixed_precision_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
@inproceedings{liu2022p,
title={P-tuning: Prompt tuning can be comparable to fine-tuning across scales and tasks},
author={Liu, Xiao and Ji, Kaixuan and Fu, Yicheng and Tam, Weng and Du, Zhengxiao and Yang, Zhilin and Tang, Jie},
booktitle={Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers)},
pages={61--68},
year={2022}
}
ChatGLM3-6B¶
模型说明¶
ChatGLM3-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。ChatGLM3-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。为了方便用户针对自己的应用场景定制模型,还实现了基于 P-Tuning v2 的高效参数微调方法。 ChatGLM3-6B采用了全新设计的Prompt格式,包括多轮对话,工具调用,代码执行,Agent 任务
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址: https://github.com/tangqiaoyu/ToolAlpaca/tree/main/data
数据集目录结构:
toolalpaca_for_chatglm3 └── dataset └── tool_alpaca.jsonl toolalpaca_for_chatglm3/ └── full_pretrain ├── config.json ├── configuration_chatglm.py ├── modeling_chatglm.py ├── MODEL_LICENSE ├── nohup.out ├── pytorch_model-00001-of-00007.bin ├── pytorch_model-00002-of-00007.bin ├── pytorch_model-00003-of-00007.bin ├── pytorch_model-00004-of-00007.bin ├── pytorch_model-00005-of-00007.bin ├── pytorch_model-00006-of-00007.bin ├── pytorch_model-00007-of-00007.bin ├── pytorch_model.bin.index.json ├── quantization.py ├── README.md ├── tokenization_chatglm.py ├── tokenizer_config.json ├── tokenizer.model └── tool_alpaca.jsonl toolalpaca_for_chatglm3 └── pretrain └── pytorch_model-00001-of-00007.bin toolalpaca_for_chatglm3 └── pretrain └── pytorch_model-00002-of-00007.bin toolalpaca_for_chatglm3 └── pretrain └── pytorch_model-00003-of-00007.bin toolalpaca_for_chatglm3 └── pretrain └── pytorch_model-00004-of-00007.bin toolalpaca_for_chatglm3 └── pretrain └── pytorch_model-00005-of-00007.bin toolalpaca_for_chatglm3 └── pretrain └── pytorch_model-00006-of-00007.bin toolalpaca_for_chatglm3 └── pretrain └── pytorch_model-00007-of-00007.bin
数据模型路径说明¶
models/AIGC/LLM/ChatGLM3-6B
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练 (性能验证-fp16)
bash run_pytorch_chatglm3_6b_ptuning_performance_efp_mixed_precision_test.sh
分布式训练¶
分布式训练 (性能验证-fp16)
bash run_distributed_8card_pytorch_chatglm3_6b_ptuning_performance_efp_mixed_precision_test.sh
分布式训练 (收敛验证-fp16)
bash run_distributed_8card_pytorch_chatglm3_6b_ptuning_convergence_efp_mixed_precision_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
@inproceedings{liu2022p,
title={P-tuning: Prompt tuning can be comparable to fine-tuning across scales and tasks},
author={Liu, Xiao and Ji, Kaixuan and Fu, Yicheng and Tam, Weng and Du, Zhengxiao and Yang, Zhilin and Tang, Jie},
booktitle={Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers)},
pages={61--68},
year={2022}
}
GPT-NeoX-20B¶
模型说明¶
GPT-NeoX-20B是基于transformer结构,具有20B参数量的生成式语言大模型。模型为44层,hidden_size为6144,MHA层的head数为64,sequence_length为2048。支持基于deepspeed+megatron的数据并行、流水并行、张量并行的混合并行策略训练。用于英文语言的文本生成任务。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址:https://pile.eleuther.ai/
数据处理:
python tools/preprocess_data.py \ --input ../Pile/train/00.jsonl.zst,../Pile/train/01.jsonl.zst,../Pile/train/02.jsonl.zst,../Pile/train/03.jsonl.zst,../Pile/train/04.jsonl.zst,../Pile/train/05.jsonl.zst,../Pile/train/06.jsonl.zst,../Pile/train/07.jsonl.zst,../Pile/train/08.jsonl.zst,../Pile/train/09.jsonl.zst,../Pile/train/10.jsonl.zst,../Pile/train/11.jsonl.zst,../Pile/train/12.jsonl.zst,../Pile/train/13.jsonl.zst,../Pile/train/14.jsonl.zst,../Pile/train/15.jsonl.zst,../Pile/train/16.jsonl.zst,../Pile/train/17.jsonl.zst,../Pile/train/18.jsonl.zst,../Pile/train/19.jsonl.zst,../Pile/train/20.jsonl.zst,../Pile/train/21.jsonl.zst,../Pile/train/22.jsonl.zst,../Pile/train/23.jsonl.zst,../Pile/train/24.jsonl.zst,../Pile/train/25.jsonl.zst,../Pile/train/26.jsonl.zst,../Pile/train/27.jsonl.zst,../Pile/train/28.jsonl.zst,../Pile/train/29.jsonl.zst \ --output-prefix ./data/pile_20B_tokenizer/train/pile_20B_tokenizer \ --vocab ./20B_checkpoints/20B_tokenizer.json \ --dataset-impl mmap \ --tokenizer-type HFTokenizer \ --merge-file ./20B_checkpoints/gpt2-merges.txt \ --append-eod \ --workers 112
数据集目录结构:
|-- data | |-- pile_20B_tokenizer | | |-- train | | | |-- pile_20B_tokenizer_text_document.bin | | | |-- pile_20B_tokenizer_text_document.idx
数据模型路径说明¶
models/AIGC/LLM/GPT-NEOX-20B
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
分布式训练¶
分布式训练 (收敛验证-fp16)
bash run_distributed_32card_pytorch_gpt2_neox_20b_convergence_efp_mixed_precision_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
[GPT-NeoX-20B: An Open-Source Autoregressive Language Model](https://aclanthology.org/2022.bigscience-1.9) (Black et al., BigScience 2022)
Llama-2-7b-chat-hf(全参)¶
模型说明¶
Llama-2-7b-chat-hf是一个经过 Facebook 的 LLaMA 模型微调后的版本,它是一个大型语言模型,具有 7.55 亿参数量。该模型采用英文指令集,并且是在多种语言的数据集上训练的,包括英文和中文等。它具有强大的对话能力,可以进行语言生成、问答、分类等任务。Llama-2-7b-chat-hf模型可以用于构建聊天机器人、智能客服、自动问答等应用,同时它也支持多种编程语言和框架。需要注意的是,该模型的开源版本是在C++和Python语言中实现的,并提供了相应的API接口,方便开发者进行二次开发和应用集成。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址:https://github.com/OpenLMLab/collie/blob/main/examples/alpaca/alpaca.json
数据处理:
无
数据集目录结构:
alpaca_lora └── model_data └── model-00001-of-00002.safetensors alpaca_lora └── model_data └── model-00002-of-00002.safetensors alpaca_lora └── model_data └── pytorch_model-00001-of-00002.bin alpaca_lora └── model_data └── pytorch_model-00002-of-00002.bin
模型准备¶
预训练权重下载地址:https://huggingface.co/meta-llama/Llama-2-7b-chat-hf/tree/main
数据模型路径说明¶
models/AIGC/LLM/LLaMA2-sft
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample脚本测试所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
分布式训练¶
分布式训练 (性能验证-efp)
bash run_distributed_8card_pytorch_llama2_7b_full_finetune_performance_efp_test.sh
分布式训练 (收敛验证-efp)
bash run_distributed_8card_pytorch_llama2_7b_full_finetune_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Hugo Touvron and Louis Martin. 'Llama 2: Open Foundation and Fine-Tuned Chat Models' arXiv:2307.09288 (2023).
Llama-2-70b-chat-hf¶
模型说明¶
Llama-2-70b-chat-hf是一个经过 Facebook 的 LLaMA 模型微调后的版本,它是一个大型语言模型,具有 70 亿参数量。该模型采用英文指令集,并且是在多种语言的数据集上训练的,包括英文和中文等。它具有强大的对话能力,可以进行语言生成、问答、分类等任务。Llama-2-70b-chat-hf模型可以用于构建聊天机器人、智能客服、自动问答等应用,同时它也支持多种编程语言和框架。需要注意的是,该模型的开源版本是在C++和Python语言中实现的,并提供了相应的API接口,方便开发者进行二次开发和应用集成。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址:https://github.com/OpenLMLab/collie/blob/main/examples/alpaca/alpaca.json
数据处理:
无
数据集目录结构:
alpaca_lora_for_llama2_7b_full_finetune ├── config.json ├── generation_config.json ├── LICENSE.txt ├── model-00001-of-00002.safetensors ├── model-00002-of-00002.safetensors ├── model.safetensors.index.json ├── pytorch_model-00001-of-00002.bin ├── pytorch_model-00002-of-00002.bin ├── pytorch_model.bin.index.json ├── README.md ├── special_tokens_map.json ├── tokenizer_config.json ├── tokenizer.json ├── tokenizer.model └── USE_POLICY.md
模型准备¶
预训练权重下载地址:https://huggingface.co/meta-llama/Llama-2-70b-chat-hf/tree/main
数据模型路径说明¶
models/AIGC/LLM/LLaMA2-sft
单机八卡训练¶
bash install_for_llm_scripts.sh
bash llama2_70b_1h8c.sh
多机多卡训练¶
bash install_for_llm_scripts.sh
bash llama2_70b_8h64c.sh
注: 执行llama2_70b_8h64c.sh前,需修改以下两个变量值
master_addr: the value should be the master node ip address, the master node and the slave node are the same
node_rank: if it is master node, the node_rank value is 0, if it is salve node, the node_rank value is 1 and so on
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Hugo Touvron and Louis Martin. 'Llama 2: Open Foundation and Fine-Tuned Chat Models' arXiv:2307.09288 (2023).
InternLM¶
模型说明¶
InternLM 是一个开源的轻量级训练框架,旨在支持大模型训练而无需大量的依赖。通过单一的代码库,它支持在拥有数千个 GPU 的大型集群上进行预训练,并在单个 GPU 上进行微调,同时实现了卓越的性能优化。在1024个 GPU 上训练时,InternLM 可以实现近90%的加速效率。
官方仅开源7B、20B权重。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈
软件栈安装推荐使用 HOST+Docker 形式。用户下载的 TopsInstaller 安装包中提供了 Dockerfile ,用户可在 Host OS 中完成 Docker image 的编译,详细操作参考《TopsRider用户使用手册》附录部分,完成环境的安装
在使用过程中,已经默认安装了PyTorch、PaddlePaddle、Tensorflow等框架以及相关依赖,用户无需额外安装的安装包
完成安装后,进行运行测试。
import torch_gcu
torch_gcu.is_available()
输入上述命令,在终端输出True,则表示安装成功。
True
数据和模型准备:¶
数据准备¶
下载地址:
数据集目录结构:
这里可以使用默认的dummpy进行训练体验,也可以参考https://github.com/InternLM/InternLM/blob/main/doc/en/usage.md
模型准备¶
本示例为Pretrain,可以不下载预训练模型
预训练权重下载地址:https://openxlab.org.cn/models/detail/OpenLMLab/InternLM-7b-original
需要采用tools/convert2mp.py进行模型并行处理。
数据模型路径说明¶
models/AIGC/LLM/InternLM
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
分布式训练¶
分布式训练 (功能验证-efp internlm 7b 16card)
# run below command on all the two nodes: bash run_distributed_16card_pytorch_internlm_7b_pretrain_function_efp_test.sh <master_addr> <node_rank>
注:
master_addr: the value should be the master node ip address, the master node and the slave node are the same. node_rank: if it is master node, the node_rank value is 0, if it is salve node, the node_rank value is 1.
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
@misc{2023internlm,
title={InternLM: A Multilingual Language Model with Progressively Enhanced Capabilities},
author={InternLM Team},
howpublished = {\url{https://github.com/InternLM/InternLM}},
year={2023}
}
Text to image¶
模型说明¶
文本到图像模型(Text to Image)是一种机器学习模型,它将自然语言描述作为输入,并生成与该描述匹配的图像。模型采用vae将输入图片下采样八倍,搭配text embedding作为条件输入给到U-Net,最终通过预测随机噪声迭代更新模型。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈,在使用过程中,已经默认安装了PyTorch Tenssorflow PaddlePaddle等框架
安装topsmodels包
pip3.8 install -r requirements.txt
运行测试demo
无
数据和模型准备:¶
数据准备¶
下载地址:https://huggingface.co/datasets/lambdalabs/pokemon-blip-captions
数据处理:
无
数据集目录结构:
|-- data | |-- train-00000-of-00001-566cc9b19d7203f8.parquet
模型准备¶
预训练权重下载地址:
SD1.5:https://huggingface.co/runwayml/stable-diffusion-v1-5
SD2.0:https://huggingface.co/stabilityai/stable-diffusion-2-base
数据模型路径说明¶
models/AIGC/Stable_diffusion/diffusers/examples/text_to_image
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练 (基于SD1.5)¶
单卡训练 (性能验证-fp16 text_to_image_lora)
bash run_pytorch_sdv1.5_text_to_image_lora_performance_efp_mixed_precision_test.sh
单卡训练 (性能验证-fp16 text_to_image_none_lora)
bash run_pytorch_sdv1.5_text_to_image_none_lora_performance_efp_mixed_precision_test.sh
分布式训练 (基于SD1.5)¶
分布式训练 (性能验证-fp16 text_to_image_lora)
bash run_distributed_8card_pytorch_sdv1.5_text_to_image_lora_performance_efp_mixed_precision_test.sh
分布式训练 (性能验证-efp text_to_image_lora)
bash run_distributed_8card_pytorch_sdv1.5_text_to_image_lora_performance_efp_test.sh
分布式训练 (性能验证-fp16 text_to_image_none_lora)
bash run_distributed_8card_pytorch_sdv1.5_text_to_image_none_lora_performance_efp_mixed_precision_test.sh
分布式训练 (性能验证-efp text_to_image_none_lora)
bash run_distributed_8card_pytorch_sdv1.5_text_to_image_none_lora_performance_efp_test.sh
分布式训练 (收敛验证-fp16 text_to_image_lora)
bash run_distributed_8card_pytorch_sdv1.5_text_to_image_lora_convergence_efp_mixed_precision_test.sh
分布式训练 (收敛验证-efp text_to_image_lora)
bash run_distributed_16card_pytorch_sdv1.5_text_to_image_lora_convergence_efp_test.sh
分布式训练 (收敛验证-fp16 text_to_image_none_lora)
bash run_distributed_8card_pytorch_sdv1.5_text_to_image_none_lora_convergence_efp_mixed_precision_test.sh
分布式训练 (收敛验证-efp text_to_image_none_lora)
bash run_distributed_8card_pytorch_sdv1.5_text_to_image_none_lora_convergence_efp_test.sh
单卡训练 (基于SD2.0)¶
单卡训练 (性能验证-fp16 text_to_image_none_lora)
bash run_pytorch_sdv2.0_text_to_image_none_lora_performance_efp_mixed_precision_test.sh
分布式训练 (基于SD2.0)¶
分布式训练 (性能验证-fp16 text_to_image_none_lora)
bash run_distributed_8card_pytorch_sdv2.0_text_to_image_none_lora_performance_efp_mixed_precision_test.sh
分布式训练 (收敛验证-fp16 text_to_image_none_lora)
bash run_distributed_8card_pytorch_sdv2.0_text_to_image_none_lora_convergence_efp_mixed_precision_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
[High-Resolution Image Synthesis with Latent Diffusion Models](https://arxiv.org/pdf/2112.10752.pdf) (Robin Rombach, arXiv:2112.10752 2022)
Dreambooth¶
模型说明¶
DreamBooth 是一种定制个性化的 TextToImage 扩散模型的方法。仅需少量训练数据(3~5张图片)就可以获得极佳的效果。通过输入 instance_prompt 定义实体主体(e.g. 人物或者实体物品)和 instance images 的 fine-tuning 图像,抽取原 SD 中 UNet,VAE 网络,将 instance prompt 和 instance images 图像与之绑定,以便后续生成的图片中只要有 instance 的 prompt 中的关键词,即可保持输入 instance 图片里面的主体实体,实现人物和物品生图时的高保真效果。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈,在使用过程中,已经默认安装了PyTorch Tenssorflow PaddlePaddle等框架
安装topsmodels包
pip3.8 install -r requirements.txt
运行测试demo
无
数据和模型准备:¶
数据准备¶
下载地址:https://drive.google.com/drive/folders/1BO_dyz-p65qhBRRMRA4TbZ8qW4rB99JZ
数据处理:
无
数据集目录结构:
|-- dog6 | |-- 00.jpg | |-- 01.jpg | |-- 02.jpg | |-- 03.jpg | |-- 04.jpg
模型准备¶
预训练权重下载地址:
SD1.5:https://huggingface.co/runwayml/stable-diffusion-v1-5
SD2.0:https://huggingface.co/stabilityai/stable-diffusion-2-base
数据模型路径说明¶
models/AIGC/Stable_diffusion/diffusers/examples/dreambooth
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练 (基于SD1.5)¶
单卡训练 (性能验证-fp16 dreambooth_lora)
bash run_pytorch_sdv1.5_dreambooth_lora_performance_efp_mixed_precision_test.sh
单卡训练 (性能验证-fp16 dreambooth_none_lora)
bash run_pytorch_sdv1.5_dreambooth_none_lora_performance_efp_mixed_precision_test.sh
单卡训练 (收敛验证-efp dreambooth_lora)
bash run_pytorch_sdv1.5_dreambooth_lora_convergence_efp_test.sh
单卡训练 (收敛验证-fp16 dreambooth_lora)
bash run_pytorch_sdv1.5_dreambooth_lora_convergence_efp_mixed_precision_test.sh
单卡训练 (收敛验证-fp16 dreambooth_none_lora)
bash run_pytorch_sdv1.5_dreambooth_none_lora_convergence_efp_mixed_precision_test.sh
单卡训练 (收敛验证-efp dreambooth_none_lora)
bash run_pytorch_sdv1.5_dreambooth_none_lora_convergence_efp_test.sh
分布式训练 (基于SD1.5)¶
分布式训练 (性能验证-fp16 dreambooth_lora)
bash run_distributed_8card_pytorch_sdv1.5_dreambooth_lora_performance_efp_mixed_precision_test.sh
分布式训练 (性能验证-fp16 dreambooth_none_lora)
bash run_distributed_8card_pytorch_sdv1.5_dreambooth_none_lora_performance_efp_mixed_precision_test.sh
分布式训练 (收敛验证-fp16 dreambooth_lora)
bash run_distributed_8card_pytorch_sdv1.5_dreambooth_lora_convergence_efp_mixed_precision_test.sh
分布式训练 (收敛验证-fp16 dreambooth_none_lora)
bash run_distributed_8card_pytorch_sdv1.5_dreambooth_none_lora_convergence_efp_mixed_precision_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
[DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation](https://arxiv.org/abs/2208.12242) (Nataniel Ruiz, arXiv:2208.12242 2023)
textual_inversion(v1.5)¶
模型说明¶
Textual Inversion从少量示例图像中捕获新概念的技术,是一种用于控制文本到图像的pipeline,仅用3-5 个样本可在已有图像上进行扩散生成。它通过定义新的token生成新tokenizer,从而实现对图像的生成结果的控制。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈,在使用过程中,已经默认安装了PyTorch Tenssorflow PaddlePaddle等框架
安装topsmodels包
pip install -r requirements.txt
运行测试demo
cd TopsRider/pytorch/xx/xx ### 单卡运行textual_inversion ### accelerate launch --mixed_precision="fp16" --gcu textual_inversion_fp16_SD1_5_accelerate.py \ --pretrained_model_name_or_path=/path/to/pretrained/model \ --train_data_dir=/path/to/train/dir \ --learnable_property="object" \ --placeholder_token="<cat-toy>" \ --validation_prompt="A <cat-toy> backpack" \ --validation_steps=100 \ --save_steps=500 \ --checkpointing_steps=500 \ --resolution=512 \ --train_batch_size=4 \ --gradient_accumulation_steps=1 \ --max_train_steps=2000 \ --learning_rate=5.0e-04 --scale_lr \ --lr_scheduler="constant" \ --lr_warmup_steps=0 \ --use_sdp \ --no_safe_serialization \ --valid_during_train \ --output_dir=/path/to/output/dir 2>&1|tee /path/to/log/dir
数据和模型准备:¶
数据准备¶
下载地址:https://huggingface.co/datasets/diffusers/cat_toy_example
数据集目录结构:
|-- data | |-- 1.jpeg | |-- 2.jpeg | |-- 3.jpeg | |-- 4.jpeg | |-- 5.jpeg | |-- 6.jpeg | |-- 7.jpeg
模型准备¶
预训练权重下载地址:SD1.5:https://huggingface.co/runwayml/stable-diffusion-v1-5
数据模型路径说明¶
models/AIGC/Stable_diffusion/diffusers/examples/textual_inversion
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练 (基于SD1.5)¶
单卡训练 (性能验证-fp16 textual_inversion)
bash run_pytorch_sdv1.5_textual_inversion_performance_efp_mixed_precision_test.sh
单卡训练 (收敛验证-fp16 textual_inversion)
bash run_pytorch_sdv1.5_textual_inversion_convergence_efp_mixed_precision_test.sh
单卡训练 (收敛验证-efp textual_inversion)
bash run_pytorch_sdv1.5_textual_inversion_convergence_efp_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Gal, Rinon, Yuval Alaluf, Yuval Atzmon, Or Patashnik, Amit H. Bermano, Gal Chechik and Daniel Cohen-Or. “An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion.” ArXiv abs/2208.01618 (2022): n. pag.
Dreambooth SDXL 1.0¶
模型说明¶
DreamBooth 是一种定制个性化的 TextToImage 扩散模型的方法。仅需少量训练数据(3~5张图片)就可以获得极佳的效果。通过输入 instance_prompt 定义实体主体(e.g. 人物或者实体物品)和 instance images 的 fine-tuning 图像,抽取原 SD 中 UNet,VAE 网络,将 instance prompt 和 instance images 图像与之绑定,以便后续生成的图片中只要有 instance 的 prompt 中的关键词,即可保持输入 instance 图片里面的主体实体,实现人物和物品生图时的高保真效果。
环境准备¶
根据《TopsRider用户使用手册》安装TopsRider软件栈,在使用过程中,已经默认安装了PyTorch Tenssorflow PaddlePaddle等框架
安装topsmodels包
pip3.8 install -r requirements.txt
运行测试demo
无
数据和模型准备:¶
数据准备¶
下载地址:https://drive.google.com/drive/folders/1BO_dyz-p65qhBRRMRA4TbZ8qW4rB99JZ
数据处理:
无
数据集目录结构:
sdxl1.0_dreambooth ├── class_dog ├── dog6 ├── Nahida_1280_square_crop └── stable_diffusion_xl_base_1_0_aigc
模型准备¶
预训练权重下载地址:
sdxl 1.0: https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0
vae: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix
数据模型路径说明¶
models/AIGC/Stable_diffusion/models/training/official/tops_aigc_sd/diffusers-v0.20.0/examples/dreambooth
模型训练¶
为了方便用户快速上手我们提供了shell脚本,在shell脚本中配置好了对应的参数,支持用户一键运行shell脚本。详细参数解释
SCRIPT_DIR
:sample测试脚本所在的路径,shell脚本会自动切换工作目录到当前脚本目录
ENV_PATH
:sample脚本执行时,默认会导入的环境变量脚本
LOG_PATH
:测试log所在的路径
DATASET_DIR
:数据集所在的路径,不同模型需要按需放入所需数据集、pretrain模型文件等到该目录,另外sample脚本执行时,还会做初步的校验,只有确认数据文件确实存在时,才会正常执行
MODEL_DIR
:模型源码所在的路径
单卡训练¶
单卡训练(收敛验证-fp16)
bash run_pytorch_sdxl1.0_dreambooth_lora_convergence_efp_mixed_precision_test.sh
分布式训练¶
分布式训练(性能验证-fp16 8card)
bash run_distributed_8card_pytorch_sdxl1.0_dreambooth_lora_performance_efp_mixed_precision_test.sh
分布式训练(收敛验证-fp16 2card)
bash run_distributed_2card_pytorch_sdxl1.0_dreambooth_lora_convergence_efp_mixed_precision_test.sh
分布式训练(收敛验证-fp16 8card)
bash run_distributed_8card_pytorch_sdxl1.0_dreambooth_lora_convergence_efp_mixed_precision_test.sh
模型评估¶
执行收敛验证脚本,模型训练结束后,会自动进行评估
引用说明¶
Podell D, English Z, Lacey K, et al. Sdxl: Improving latent diffusion models for high-resolution image synthesis[J]. arXiv preprint arXiv:2307.01952, 2023.