当前位置: 首页> 文旅> 酒店 > 网页设计个人介绍_重庆公司社保最低档每月多少钱_免费推广平台有哪些_网站排名查询站长之家

网页设计个人介绍_重庆公司社保最低档每月多少钱_免费推广平台有哪些_网站排名查询站长之家

时间:2025/7/12 23:27:09来源:https://blog.csdn.net/a1920993165/article/details/144003862 浏览次数:0次
网页设计个人介绍_重庆公司社保最低档每月多少钱_免费推广平台有哪些_网站排名查询站长之家

加快训练LLM速度的技巧笔记

1.使用bfloat.16

解释:
如下图,相比fp32,bf16的表示范围不变(还是e8),但精度从m23降到了m7,但在大模型训练时,这种精度损失是可接受的。
需要注意,有些老的gpu不支持这个操作。一些新一点的4090,A100,H100等均支持。
在这里插入图片描述
使用方式如下:

with torch.autocast(device_type=device, dtype=torch.bfloat16):logits, loss = model(x,y)

2.使用torch.compile

解释:
python的gcc编译优化(优化代码底层执行指令,主要优化了代码中对gpu的读写操作,不影响任何性能),在训练前会花费时间进行编译,但大大加快训练时速度。
需要注意,windows用不了。
使用方式如下:

model = GPT(GPTConfig())
model.to(device)
model = torch.compile(model)#after load model, before training

3.使用torch.set_float32_matmul_precision

解释:
即使使用了bfloat,有些操作仍然在float32精度下进行,例如softmax等,我们考虑使用torch.set_float32_matmul_precision(‘high’)进一步加快
使用方式如下:

torch.set_float32_matmul_precision('high')#before load model commonlymodel = GPT(GPTConfig())
model.to(device)
model = torch.compile(model)

4.使用flash attention

解释:
思路是在attention计算时,保证attent矩阵(qk然后softmax的那个矩阵)一直在GPU的高速SRAM中。使用online softmax实现。
需要注意,在某些gpu上,模型下,效果不明显,但速度至少不会变慢。
在这里插入图片描述
使用方式如下,把计算attention地方换成F.scaled_dot_product_attention(q,k,v,is_causal=True),pytorch会使用flash attention计算注意力部分:

from torch.nn import functional as F# att = (q @ k.transpose(-2, -1))*(1.0/ math.sqrt(k.size(-1)))
# att = att.masked_fill(self.bias[:,:,:T,:T] == 0, float('-inf'))
# att = F.softmax(att, dim=-1)
# y = att@vy = F.scaled_dot_product_attention(q,k,v,is_causal=True)

5.使用good的数字

解释:
model参数,tokenizer参数,训练参数最好是4的倍数,8的倍数,等等,会发现速度就上去了。最起码是2的倍数!
使用方式,一些例子如下:

#注意力头25换掉
#n_head=25———>24———>32———>16#词汇表大小vocab_size50257换掉,50304能整除64!
vocab_size=50257———>50304#batchsize17换掉
batchsize=17———>16
关键字:网页设计个人介绍_重庆公司社保最低档每月多少钱_免费推广平台有哪些_网站排名查询站长之家

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: