开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

modelscope里这段代码是不是都可以模型分割并行呢?

https://github.com/modelscope/modelscope/blob/master/examples/pytorch/llama/run_train_lora.sh代码和https://github.com/modelscope/swift/blob/main/examples/pytorch/llm/scripts/llama2_70b_chat/qlora/sft.sh
modelscope里这段代码是不是都可以模型分割并行呢?除了用torchrun、swift方面和qlora、lora方面有区别,在数据并行方面有什么区别呀,前一个可以设置per_device_train_batch_size会不会每个gpu都可以跑batch_size更快些呢

展开
收起
LLLA 2023-09-19 22:14:49 81 0
1 条回答
写回答
取消 提交回答
  • 在 ModelScope 中,可以通过 strategy 参数指定分布式训练策略。如果不指定分布式训练策略,则代码默认使用单机训练策略。

    以下是一个使用 ModelScope 进行模型分割并行训练的示例代码:

    import tensorflow as tf

    创建一个 ModelScope

    with tf.distribute.ModelScope(strategy='multi_worker_mirrored') as scope:

    创建一个模型

    model = tf.keras.Sequential([
    tf.keras.layers.Dense(10),
    tf.keras.layers.Dense(10)
    ])

    训练模型

    model.fit(data)
    通过这种方式,可以将模型分割为多个部分,并在多个设备上并行训练。这样可以加快模型训练速度。

    2023-10-19 10:11:27
    赞同 展开评论 打赏

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载