AI大模型与多线程

1. 背景

从几年前开始,随着人工智能、神经网络的兴起,大模型得到了越来越广泛的应用,与此同时,计算机算力不足的问题也逐渐凸显,大模型的训练和使用非常耗时。于是,在技术圈便出现了一种现象——几乎百分百的企事业单位都在招聘速度优化人员,要求使用多线程技术优化大模型的训练和调用响应速度。

2. 分析

大模型的训练非常消耗时间,这源于两点:其一,训练过程中需要对以亿计的参数做很多的计算;其二,训练使用的输入数据数量非常庞大。由此可以看出,要想优化训练速度,主要的方向就是优化训练算法、减少训练数据。

优化训练算法包括减少运算量、调整运算顺序以适应硬件加速。这两点都能对整体优化效果起到决定性的作用,也是优化过程中最难的部分,尤其是前者。只可惜,目前中国市场上针对这两方面的优化少之又少。

减少训练数据包括减少训练数据量、降低数据维度。减少数据量很容易理解,顾名思义,就是除去大量冗杂、错误、歧义数据,只保留高质量数据进行训练,此方法也能有效加快训练速度,不过,高质量数据集建立的难度也不小。而降低数据维度,也是目前国内最常见的优化方向,譬如图像数据的训练,将1920*1080的图像降维成320*240,然后用于训练,效果方面可以看实际产品或研发总结,从理论上来看的话,有效果但又不能尽如人意。

多线程技术是在计算机软件开发过程中引入的编程技术,旨在提高CPU利用率,降低外部硬件速度、单个软件模块的条件等待、用户输入和指令等待等造成的CPU空闲率,以便更快向用户给出反馈或尽快完成用户任务。

由上可知,大模型速度优化中与多线程相匹配的部分少之又少,只有训练数据降维部分可能产生交集。因此,想用多线程实现大模型训练过程中的速度提升,结果差强人意,即便能看到的效果,也只是边边角角的提升。

3. 总结

多线程在很多常规场景下都能提高硬件利用率,进而缩短软件任务工作周期。但是,对于运算密集型任务,CPU大部分都已用于该任务,此时,再使用多线程也无法提高速度。从本质上讲,多线程只是提高CPU的利用率,减少CPU空闲时间,所以,多线程对于CPU几乎满负荷工作的场景是无效的。多线程技术的使用也将趋于理性。对于大模型训练之类的应用场景,要想加快任务速度,除了增加硬件配置、优化训练算法之外,能做的也就剩下消除操作系统和其它软件的干扰了,比如使用“元神操作系统”这种支持单任务的OS,它能将所有硬件资源都用于训练任务,过程中没有其它应用会产生干扰。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

De-Chang Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值