-
Notifications
You must be signed in to change notification settings - Fork 508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
讨论个人GPU的训练时间 #60
Comments
补充: 本人设备为单机双卡3090,≈3小时训练1 epoch pretrain +1 epoch full_sft
|
4卡 2080ti 22G
|
可以使用这个脚本测试算力 import torch
import torch.cuda.amp as amp
def benchmark_with_cuda_events(size, dtype=torch.float16, iterations=100):
torch.cuda.init()
torch.backends.cudnn.benchmark = True
# 创建 CUDA events
start_event = torch.cuda.Event(enable_timing=True)
end_event = torch.cuda.Event(enable_timing=True)
a = torch.randn(size, size, dtype=dtype, device='cuda').contiguous()
b = torch.randn(size, size, dtype=dtype, device='cuda').contiguous()
# 预热
with amp.autocast():
for _ in range(10):
c = torch.matmul(a, b)
# 测试
start_event.record()
with amp.autocast():
for _ in range(iterations):
c = torch.matmul(a, b)
end_event.record()
# 等待完成
torch.cuda.synchronize()
# 获取时间(毫秒)
elapsed = start_event.elapsed_time(end_event) / 1000.0 # 转换为秒
flops = 2 * size * size * size * iterations
tflops = flops / (elapsed * 1e12)
return tflops
def main():
print(f"Testing on: {torch.cuda.get_device_name()}\n")
print("Running optimized benchmark with CUDA events...")
sizes = [1024, 2048, 4096, 8192,16384]
for size in sizes:
try:
tflops = benchmark_with_cuda_events(size)
print(f"Matrix size: {size}x{size}, TFLOPS: {tflops:.2f}")
except RuntimeError as e:
print(f"Size {size} failed: {e}")
if __name__ == "__main__":
main() 某云平台的B1.gpu.large GPU算力和3090差不多: 最近刷到篇关于估算训练时间的文章模型计算量估计,训练时间预测 ,于是对B1.gpu.large4090的FP16算力进行了估算,并尝试根据训练时间的公式 (6ND/S) 来计算训练时间。以下是计算过程和结果:
实际上的结果和估计结果有出入,可能是GPU利用率的不同导致的。 |
在某平台上租了2台机器,控制内存CPU等变量的一致性,测试不同GPU的训练时间
个人认为
[3060~2080Ti~3090~4090]
这个区间包含了大部分AI从业者手头的显卡规格,具有很强的代表性其它桌面GPU,例如3060的算力略弱于2080Ti,可以参考上图换算
2080Ti单卡(11G显存)
4090单卡(24G显存)
如果您手头的机器 < 3060算力/纯CPU/Intel显卡/MAC等等,当然同样可以训练
minimind
,这没什么问题。但是 时间开销「也许」需要几十个小时乃至数天时间,这背离了您上手
minimind
的初衷,恐难以接受。因此,更推荐这部分朋友在云平台上租用GPU服务器完成训练任务。
如果需要训练更多轮次获得更佳效果,一杯奶茶钱同样可以cover,同时容器化实例省去了配置环境的繁琐步骤
算力平台推荐(无任何推广和商业目的,仅个人分享):
如果您有其他型号的显卡参与MiniMind训练,欢迎分享训练时长,以便为他人提供参考,这将非常有意义,谢谢。
此外,如果您有其他更优算力平台的推荐,也欢迎在评论区补充,谢谢。
The text was updated successfully, but these errors were encountered: