# Config配置说明
## 配置项顺序
configs统一在run_xxx.yaml中,排序按照修改频率的顺序和一般的模型训练流程顺序(数据集->模型->训练、评估、推理),具体顺序如下
- 非模块参数:seed、run_mode、output_dir、load_checkpoint、resume_training、auto_trans_ckpt
- 环境参数:context
- AICC:remote_save_url
- 运行参数:runner_config、runner_wrapper
- 并行设置:use_parallel、parallel、parallel_config
- MOE:moe_config
- 重计算:recompute_config
- 算子调优:auto_tune
- 性能工具:profile
- Trainer:trainer
- 数据集:train_dataset、train_dataset_task、eval_dataset、eval_dataset_task
- 模型:model
- 学习率:lr_schedule、layer_scale、layer_decay、lr_scale、lr_scale_factor
- 优化器:optimizer
- 回调函数:callbacks
- 评估函数:metric
- Processor:processor
## 详细配置说明
- seed: 随机种子,可以参考[mindspore.set_seed](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/mindspore.set_seed.html)
- run_mode: 运行模式,可选"train"、"finetune"、"eval"或"predict"
- output_dir: './output' 保存checkpoint、strategy的路径
- load_checkpoint: 加载权重的模型名或权重路径,若进行全参微调/推理,支持传入完整权重路径或离线切分完成的权重文件夹;对于Lora微调/推理,在支持上述传入方式以外,还支持同时传入Base、Lora权重,传入格式为`load_checkpoint=path/to/dir/`,其中dir路径下包含`{BASE_MODEL}.ckpt`、`{LORA_MODEL}.ckpt`。
- auto_trans_ckpt: 是否开启自动在线权重切分或转换
- resume_training: 加载方式,为True时会加载训练过程信息,如优化器、epochs数等
- context: 环境配置,可以参考: [mindspore.set_context](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/mindspore.set_context.html)
- mode: 0代表Graph Mode, 1代表Pynative Mode
- device_target: 设备类型,Ascend、CPU或GPU,默认为Ascend
- enable_graph_kernel: 是否开启图算融合
- max_call_depth: 函数调用的最大深度
- max_device_memory: 设置设备可用的最大内存。运行多机任务时需要适当减小,为设备间通信留出更多内存空间。
- save_graphs: 是否保存图
- device_id: 默认设备id
- remote_save_url: 使用AICC训练作业时的,目标桶的回传文件夹路径
- runner_config: 运行配置
- epochs: 迭代次数
- batch_size: 数据批次大小,当前在使用yaml初始化训练时,会覆盖数据集配置中的batch_size,后面会删除改配置
- sink_mode: 是否开启数据下沉模式
- sink_size: 每次下沉数据大小,-1代表全量下沉
- gradient_accumulation_steps: 梯度累积步数,表示训练经过多少step后对模型权重进行一次优化更新;未设置时默认值为1,不开启梯度累积;可参考[特性文档](../docs/feature_cards/Training_Algorithms.md)
- runner_wrapper: wrapper配置
- type: wrapper类
- scale_sense: 梯度缩放配置
- type: 梯度缩放类
- use_clip_grad: 是否开启梯度裁剪
- loss_scale_value: 缩放系数
- use_parallel: 是否开启并行
- parallel: 自动并行配置,可以参考:[mindspore.set_auto_parallel_context](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/mindspore.set_auto_parallel_context.html)
- parallel_mode: 并行模式,0-dataset数据并行, 1-semi半自动并行, 2-auto自动并行, 3-hybrid手工实现并行。auto自动并行相关说明参考[自动并行](../docs/feature_cards/Auto_Parallel.md)
- gradients_mean: 是否在梯度AllReduce后执行平均算子。通常半自动并行模式下为False,数据并行模式下为True
- enable_alltoall: 允许在通信期间生成AllToAll通信算子的开关。通常仅在MOE场景下打开,默认False
- full_batch: 在auto_parallel模式下加载整个batch数据集时为True。半自动并行模式通常设置为True,数据并行模式必须设置为False,否则会报错
- search_mode: 策略搜索模式,有三种,分别是recursive_programming,dynamic_programming和sharding_propagation。仅在全自动并行模式下生效,其他模式不生效,实验性接口,谨慎使用
- enable_parallel_optimizer: 数据并行训练时对权重更新计算进行分片。优化器并行开关,在数据并行训练时默认会将模型权重参数切分成device_num份;半自动并行时默认将模型权重参数切份data_parallel份
- strategy_ckpt_save_file: 保存并行切分策略的路径。
- strategy_ckpt_config: 策略文件相关配置项
- only_trainable_params: 仅保存/加载可训练参数的策略信息,默认为True,当网络中存在冻结的参数但又需要切分时(例如微调场景下)将其设为False
- parallel_optimizer_config: 用于开启优化器并行后的行为配置。仅在enable_parallel_optimizer=True的时候生效。
- gradient_accumulation_shard: 设置累加梯度变量是否在数据并行维度上进行切分。
- parallel_optimizer_threshold: 设置参数切分的阈值。
- optimizer_weight_shard_size: 设置指定优化器权重切分通信域的大小。多机训练dp数较大时可以适当设置为一个较小的值(需要能整除dp值)。
- parallel_config: 并行策略配置,可以参考`mindformers.modules.transformer.TransformerOpParallelConfig`,并行配置涉及**算子级并行**,可参考[文档](https://www.mindspore.cn/tutorials/experts/zh-CN/r2.3.0rc2/parallel/operator_parallel.html)。
- data_parallel: 数据并行,自动并行双递归策略搜索算法下无需配置
- model_parallel: 模型并行,自动并行双递归策略搜索算法下无需配置
- context_parallel: 序列并行,在序列维度进行切分,每台设备只负责1/context_parallel的Q和KV进行自注意力值计算,不再需要单个设备来保存整个序列,使注意力矩阵与序列长度由平方关系变成线性关系,有效降低每台计算设备显存压力,context_parallel代表序列并行数,此处为1表示不开启,此处为2表示2卡并行。
- mem_coeff: 自动并行双递归策略搜索算法下需配置,控制策略生成更倾向于数据并行或者模型并行,数值越大,模型并行数越大。配置值范围为[0.125, 1024], 配置值为0.125时,生成纯数据并行策略;配置值为2014时,生成纯模型并行策略;
- pipeline_stage: 流水线并行
> 需要满足实际运行的卡数 device_num = data_parallel × model_parallel × context_parallel × pipeline_stage。自动并行下无此约束,但要保证stage内的卡数`stage_device_num`是2的幂
- use_seq_parallel: 是否开启序列并行,开启后将Transformer层中的LayerNorm以及Dropout的输入按序列维度进行切分,使各设备只需处理部分的LayerNorm和Dropout,减少模型显存占用。注意当context_parallel开启后,该参数不生效。
- micro_batch_num: 流水线并行的微批次大小。pipeline_satge大于1时,开启流水并行时使用,此处需满足micro_batch_num >= pipeline_satge
- gradient_aggregation_group: 梯度通信算子融合组的大小
- micro_batch_interleave_num: batch_size的拆分份数,多副本并行开关,通常在模型并行时使用,用于优化model_parallel时产生的通信损耗,纯流水并行时不建议使用。可以参考[mindspore.nn.MicroBatchInterleaved](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/nn/mindspore.nn.MicroBatchInterleaved.html)
- moe_config: 混合专家配置,当前大部分仓上模型不支持,实验性接口,谨慎使用。可以参考mindformers.modules.transformer.moe.MoEConfig
- expert_num: 专家数量
- capacity_factor: 专家能力因子
- aux_loss_factor: loss贡献因子
- num_expert
没有合适的资源?快使用搜索试试~ 我知道了~
构建一个大模型训练、微调、评估、推理、部署的全流程开发套件,基于MindSpore内置的并行技术和组件化设计
共1530个文件
py:1004个
yaml:208个
rst:112个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 125 浏览量
2024-11-16
16:18:25
上传
评论
收藏 7.07MB ZIP 举报
温馨提示
MindSpore Transformers套件的目标是构建一个大模型训练、微调、评估、推理、部署的全流程开发套件,提供业内主流的Transformer类预训练模型和SOTA下游任务应用,涵盖丰富的并行特性。期望帮助用户轻松的实现大模型训练和创新研发。MindSpore Transformers套件基于MindSpore内置的并行技术和组件化设计,具备如下特点:一行代码实现从单卡到大规模集群训练的无缝切换;提供灵活易用的个性化并行配置;能够自动进行拓扑感知,高效地融合数据并行和模型并行策略;一键启动任意任务的单卡/多卡训练、微调、评估、推理流程;支持用户进行组件化配置任意模块,如优化器、学习策略、网络组装等;提供Trainer、pipeline、AutoClass等高阶易用性接口;提供预置SOTA权重自动下载及加载功能;支持人工智能计算中心无缝迁移部署;
资源推荐
资源详情
资源评论
收起资源包目录
构建一个大模型训练、微调、评估、推理、部署的全流程开发套件,基于MindSpore内置的并行技术和组件化设计 (1530个子文件)
golden_moe.ckpt 48KB
golden_moe.ckpt 48KB
strategy_8_npus.ckpt 14KB
strategy_4_npus.ckpt 14KB
golden_sequential_mlp.ckpt 3KB
golden_router.ckpt 293B
my_theme.css 54B
.gitignore 2KB
inference_process.jpg 116KB
inference_framework.JPG 47KB
LICENSE 11KB
Makefile 650B
security_statement.md 87KB
gpt2_example.md 61KB
llama_example.md 37KB
Transform_Ckpt.md 30KB
Chat_Web.md 28KB
llama2.md 25KB
qwen1_5.md 23KB
Text_Generator.md 22KB
Using_Api.md 20KB
gpt2.md 20KB
Config_Design.md 18KB
mixtral.md 18KB
llama3_1.md 18KB
README.md 17KB
codellama.md 17KB
Training_Algorithms.md 16KB
glm2.md 16KB
model_support_list.md 16KB
README.md 16KB
Resume_Training.md 16KB
Parallel_Design.md 15KB
qwenvl.md 15KB
qwen.md 14KB
AICC.md 14KB
baichuan2.md 14KB
yi.md 13KB
transformer仓Python编程规范.md 13KB
llama3.md 13KB
Develop_With_Api.md 13KB
LLM_DataLoader.md 13KB
Performance_Tuning.md 13KB
internlm.md 12KB
qwen2.md 12KB
deepseek.md 11KB
glm4.md 11KB
glm3.md 11KB
PFA_IFA.md 10KB
Use_Dataset.md 9KB
deepseek1_5.md 9KB
Auto_Parallel.md 9KB
cogvlm2_video.md 9KB
internlm2.md 8KB
glm32k.md 8KB
Harness_Eval.md 7KB
Environment.md 7KB
RELEASE_CN.md 7KB
Offset_Recompute.md 7KB
deepseek2.md 7KB
RELEASE.md 7KB
text_classification.md 6KB
image_classification.md 6KB
Eval_While_Training.md 5KB
Precision_Optimization.md 5KB
token_classification.md 5KB
VLMEvalKit_Eval.md 5KB
llm_boost.md 5KB
cogvlm2_image.md 5KB
Pet_Tuners.md 5KB
question_answering.md 5KB
FAQ.md 5KB
whisper.md 5KB
README.md 5KB
Long_Sequence_Training.md 5KB
benchmark.md 4KB
Transform_Lorackpt.md 4KB
zero_shot_image_classification.md 4KB
Dynamic_Shape.md 4KB
Convert_Weight.md 3KB
Pet_Tuners_Design.md 3KB
masked_image_modeling.md 3KB
benchmark.md 3KB
contrastive_language_image_pretrain.md 2KB
Dynamic_Cluster.md 2KB
AutoClass_Design.md 1KB
Pipeline_Design.md 485B
PULL_REQUEST_TEMPLATE.zh-CN.md 461B
Trainer_Design.md 366B
text_generation.md 265B
ISSUE_TEMPLATE.zh-CN.md 79B
README.md 0B
tokenizer.model 488KB
golden_moe_input_and_loss.npy 10KB
golden_moe_input_and_loss.npy 10KB
golden_router_input_and_loss.npy 2KB
golden_sequential_mlp_input_and_loss.npy 767B
golden_mixtral_input_and_loss.npy 547B
OWNERS 112B
OWNERS 22B
共 1530 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 7447
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于c语言的线性链表的实现和应用
- 艾利和iriver Astell&Kern SP3000 V1.20升级固件
- 律师事务所网站建设与管理功能概述
- Python 端口访问邮件提醒工具
- 基于springboot的抗疫物资管理系统
- 基于C语言的二叉树构建及遍历
- 587833617736230KEY_C0091 STM32简易交通灯仿真设计.zip
- 垃圾废物检测19-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 专项资金申报平台需求规范文档解析及关键技术要求
- TMS320F28377原理图
- Docker以及Docker-Compose的安装与卸载
- 艾利和iriver Astell&Kern SP3000 V1.31升级固件
- 基于C语言的图的实现和遍历
- 周勤富恒升职业学校网络安全渗透测试及解决方案第2版.doc
- images(5).zip
- 计算机程序设计员三级(选择题)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功