Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • models
  • Issue
  • #4080

M
models
  • 项目概览

PaddlePaddle / models
大约 2 年 前同步成功

通知 232
Star 6828
Fork 2962
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 602
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 255
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
M
models
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 602
    • Issue 602
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 255
    • 合并请求 255
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板
已关闭
开放中
Opened 12月 17, 2019 by saxon_zh@saxon_zhGuest

从bert pretrain打印的结果如何计算吞吐率性能?

Created by: mir-of

跑单机单卡, batch_size: 16, 打印的结果如下:

epoch: 1, progress: 1/64, step: 2, loss: 11.409644, ppl: 14829.729492, next_sent_acc: 0.562500, speed: 5.488533 steps/s, file: part-00012-01b065c2-8e4a-442b-9920-d986845ab3d2-c000.txt.gz

跑单机4卡, batch_size: 64, 打印的结果如下: epoch: 1, progress: 1/64, step: 3, loss: 8.647623, ppl: 2778.657471, next_sent_acc: 0.433594, speed: 1.436274 steps/s, file: part-00035-01b065c2-8e4a-442b-9920-d986845ab3d2-c000.txt.gz

我的问题是: 单机单卡的速度是5.488533 steps/s, 换算成吞吐率是:5.488533 * 16 = 87.816528 sample/s。

单机4卡的速度是1.436274 steps/s, 换算成吞吐率是:1.436274 * 64 = 91.921536 samples/s。

那么,4卡相对于单卡,加速比是 91.921536/87.816528 = 1.046。

1)请问这样计算吞吐率和加速比的方法是正确的吗? 2)如果计算方式是正确的,请问加速比很低的原因是什么? 3)如果计算方式是错误的,请问正确的计算方法是什么?

附上我的运行命令: 仓库:https://github.com/PaddlePaddle/models.git commit: 4ffbe264

单机单卡:

CUDA_VISIBLE_DEVICES=0 \
python3 -u PaddleNLP/PaddleLARK/BERT/train.py \
	--is_distributed false \
        --use_cuda true \
        --weight_sharing true \
        --batch_size 16 \
        --in_tokens False \
        --data_dir $PADDLE_BERT_DATA_DIR \
        --validation_set_dir $PADDLE_BERT_DATA_DIR \
        --bert_config_path $CONFIG_PATH \
        --vocab_path $VOCAB_PATH \
        --num_train_steps 120 \
        --warmup_steps 0 \
        --epoch 1 \
        --max_seq_len 128 \
        --skip_steps 1 \
        --generate_neg_sample=False

单机4卡:

CUDA_VISIBLE_DEVICES=0,1,2,3 \
python3 -u PaddleNLP/PaddleLARK/BERT/train.py \
	--is_distributed false \
        --use_cuda true \
        --weight_sharing true \
        --batch_size 64 \
        --in_tokens False \
        --data_dir $PADDLE_BERT_DATA_DIR \
        --validation_set_dir $PADDLE_BERT_DATA_DIR \
        --bert_config_path $CONFIG_PATH \
        --vocab_path $VOCAB_PATH \
        --num_train_steps 120 \
        --warmup_steps 0 \
        --epoch 1 \
        --max_seq_len 128 \
        --skip_steps 1 \
        --generate_neg_sample=False
指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: paddlepaddle/models#4080
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7