Made In Heaven,LLM要加速了

借鉴了荒木老师笔下的普奇神父的台词

玩LLM的多数用的是Huggingface框架,而它本身提供的是accelerate库来提升模型的训练推理速度。这些都离不开Nvidia 的 Cuda 计算,而目前适配这一驱动的只有Windows和Linux。于是我就尝试在这两个系统上进行加速实验,尝试Huggingface Doc中推荐的 Flash Attention 2以及 vLLM的 Page Attention。

原理参考

LM(十七):从 FlashAttention 到 PagedAttention, 如何进一步优化 Attention 性能

Windows

显卡:RTX 2070 模型:Phi2

我首先尝试通过pip安装 flashattn, 结果发现需要git submodule,只好VPN和Proxy怼上去,一直卡在build状态。放弃后尝试git clone 源码,走 python setup.py install, 过程很坑,让我回想起被Gentoo支配的日子。一直没成功说rule有问题,难道是我的CUDA上12.4导致的,可是在Arch这里成功了。 既然WSL 2不行,我就尝试从TensorRT LLM的经验安装容器,一顿Ops,说WSL的cuda路径识别不了。(吐槽:当初忽悠我WSL有多好,方便Windows和Linux无差别生态,结果Blog几乎在2023年停止了,shit,我还要尝试很多底层,比如ebpf、wifi、蓝牙。。。)

最后用原生的 msvc 来build,和wsl一样。2070难道不是安倍架构吗?吐槽:微软为什么要集成在Visual Studio里,不能单独领出来。

换vllm走pip安装,顺利,速度明显,快了一倍。

建议windows尝试vllm加速。

Arch

显卡:RTX 4090 模型:zephyr-7b-beta

我首先尝试通过pip安装 flashattn, 结果发现需要git submodule,只好VPN和Proxy怼上去,一直卡在build状态。也放弃后尝试git clone 源码,走 python setup.py install, 直接顺利make,但是编译很慢。

用time库随便测试一下,快了一倍。

接着 按照windows安装vllm(pip就可以了),也很顺利,就是 运行报了

vbnet 复制代码
ValueError: The model's max seq len (32768) is larger than the maximum number of tokens that can be stored in KV cache (28912). Try increasing `gpu_memory_utilization` or decreasing `max_model_len` when initializing the engine.

搜 Bing,都是在Issue里提问,还是没有准确的答案。没办法,这种小问题,我只好看看源码,发现可以 gpu_memory_utilization(default)是0.9,我就试了1.0.运行就通过了。估计90%不够,用95%(0.95)也可以。

但是vllm在Linux上不算理想。这个模型速度变慢了,估计是GPU使用增加了导致的。但是在Phi 2上又加快,但貌似只有4%左右。

总之还是推荐用 Flash Attention 2。

最后

之前,我就说过目前是大算力时代,对于算力开发是一场前所未有的较量。未来对于AI模型地训练和推理可不止英伟达的GPU一家,比如Groq TPU,Google TPU,Intel APU等等都可能成为替代。但同时,现主流算力维持在互联网上,但是迟早会向物联网倾斜。安波里欧们,紧跟加速吧!

相关推荐
OpenCSG11 分钟前
CSGHub开源版本v1.2.0更新
人工智能
weixin_5152024911 分钟前
第R3周:RNN-心脏病预测
人工智能·rnn·深度学习
Altair澳汰尔14 分钟前
数据分析和AI丨知识图谱,AI革命中数据集成和模型构建的关键推动者
人工智能·算法·机器学习·数据分析·知识图谱
AI视觉网奇35 分钟前
人脸生成3d模型 Era3D
人工智能·计算机视觉
call me by ur name38 分钟前
VLM--CLIP作分类任务的损失函数
人工智能·机器学习·分类
吃个糖糖1 小时前
34 Opencv 自定义角点检测
人工智能·opencv·计算机视觉
禁默1 小时前
2024年图像处理、多媒体技术与机器学习
图像处理·人工智能·microsoft
KeepThinking!1 小时前
YOLO-World:Real-Time Open-Vocabulary Object Detection
人工智能·yolo·目标检测·多模态
AIGCmagic社区1 小时前
AI多模态技术介绍:理解多模态大语言模型的原理
人工智能·语言模型·自然语言处理
图王大胜1 小时前
模型 双螺旋(通俗解读)
人工智能·管理·系统科学·认知科学·生命科学·战略规划·通识科学