H20对决4090:大规模模型部署中的性能巅峰之战
创作时间:
作者:
@小白创作中心
H20对决4090:大规模模型部署中的性能巅峰之战
引用
1
来源
1.
https://www.53ai.com/news/finetuning/2024090773925.html
在当前的大模型部署与应用中,计算资源的选择与优化至关重要。本报告通过在H20算力设备上的部署与测试,详细探讨了H20与4090在大型语言模型推理中的性能表现。通过对吞吐量、响应时间、token生成时间等关键指标的评估,旨在为高效部署提供有力的数据支撑和优化建议。
环境配置
软件环境
Ubuntu 22.04,配备miniconda和pytorch,cuda版本12.4,vLLM框架
vLLM简介
vLLM是一个开源且易于使用的大模型(LLM)推理加速框架,我们用vLLM部署训练好的大模型。vLLM通过PagedAttention高效地管理attention中缓存的张量,实现了比HuggingFace Transformers高14-24倍的吞吐量。
vLLM具有以下特点:
- 先进的服务吞吐量;
- PagedAttention对注意力Keys和Values存储的有效管理;
- 连续批处理传入请求,即continous batching,而不是static batching;
- 使用CUDA/HIP图快速执行模型;
- 支持张量并行推理和流式输出;
- 兼容 OpenAI 的接口服务;
- 与 HuggingFace 模型无缝集成。
目的与方法
目的
测试大模型在H20上的表现,包括吞吐量,单个token花费的时间,以及token之间的延迟和响应速度等。
预期结果
与4090相比,H20的吞吐量更高,延迟更低,响应更快。
测试方法
用vllm的benchmark,测试8B,15B和34B的模型在4090和H20上的性能。
测试流程
- 申请H20 8卡算力 24小时的实例;
- 下载llama3.1-8B-instruct、llama3-15B-stocktest、Yi-34B-Chat;
- 用vllm host不同的模型后,运行vllm benchmark脚本进行评测,记录结果;
- 在4090上重复步骤2、3,记录结果。
过程
安装vLLM
pip install vllm
更新cuda驱动版本
安装vllm后,nvidia-cublas-cu12版本为12.1.3.1。这一版本在4090上没有问题,但是在H20上会报错,升级后解决。
pip install nvidia-cublas-cu12==12.4.5.8
下载模型
从huggingface上下载模型,没有代理可以从mirror上下载,或者下载到本地再scp传上去:
- https://hf-mirror.com/meta-llama/Meta-Llama-3.1-8B-Instruct
- https://huggingface.co/athirdpath/Llama-3-15b-StockTest
- https://huggingface.co/01-ai/Yi-1.5-34B-Chat
- https://huggingface.co/01-ai/Yi-34B-Chat-8bits
运行vllm server
修改tp、pp、--enable-prefix-caching 等参数:
vllm serve /root/data/Meta-Llama-3.1-8B-Instruct --dtype auto \
--host 0.0.0.0 --port 8007 --tensor-parallel-size 1 --pipeline-parallel-size 1 --disable-log-requests \
Testing
用sharegpt的数据集测试
python benchmarks/benchmark_serving.py \
--host 0.0.0.0 \
--port 8000 \
--backend vllm \
--model Meta-Llama-3.1-8B-Instruct \
--dataset-name sharegpt \
--dataset-path /home/cuiyuxin/scripts/vllm/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json
记录结果
记录不同设置下的实验结果。
结果
4090与H20对比
内存大小
- 4090:24G。
- H20:96G。
对于34B的模型,4张4090才可以跑起来,1张H20就足够。
yi34b模型,4卡,tp=4
- 吞吐量(throughputs):H20的吞吐量约为4090的一倍。
- 响应时间(time to first token):H20处理并发的能力更强。
- 输出每个token的时间(time per output token):H20输出单个token的时间比4090少7倍左右。
- Token间的延迟(inter-token latency):H20输出多个token时,token之间的延迟比4090少7倍左右。
- 整体评测时间(benchmark duration):
- 4090:496.97 s;
- H20: 233.22 s。
H20整体花费的时间约为4090的1/2。
不同参数设置下表现
H20 8卡,修改tp和pp
- tp越小,整体花费的时间越长,吞吐量越低,响应速度越慢,输出单个token以及token之间的延迟越长。
<< 左右滑动或点击放大查看全图 >>
H20 8卡,tp=8,pp=1
测试vllm的其他参数:
- use-v2-block-manager:响应速度快了一点,token间延迟低了一点(P99 ITL降低10ms左右),但吞吐量稍微降低(3个token左右)。
- enable-prefix-caching:吞吐量变高(25个token左右),响应速度降低,延迟变长。
- disable-custom-all-reduce:吞吐量变高,响应速度降低,延迟变长。
- enable-chunked-prefill:吞吐量没有明显变化,响应速度变高,延迟降低(P99 ITL降低一半)。
- max-num-batched-tokens:值为32768时吞吐量最高,对响应速度和延迟没有明显影响。
<< 左右滑动或点击放大查看全图 >>
热门推荐
济南三大夜游打卡地:大明湖、泉城广场、方特东方神画
济南最美夜景打卡地:大明湖&超然楼
首批宁夏著名品牌如何提升市场竞争力?
春节饮食需要注意什么?这几类特殊人群建议这样吃
探秘秘境:泸沽湖至稻城亚丁自驾路途详解与路况指南
流感防治全攻略:从症状识别到疫苗接种
如何应对宠物分离焦虑:有效的方法与建议
猫咪吃塑料袋怎么办?原因分析与科学应对指南
每天舔舔舔,猫猫是怎么处理那么多吃下去的毛毛?处理不完怎么办?
万和燃气热水器E1故障怎么办?这份安全使用指南请收好
广府文化中的饮食方面
双十一剁手后,如何避免陷入债务危机?
地方债:经济高质量发展的助推器与风险挑战
2025西岭雪山大飞水风景区攻略(附门票+地址+简介)
四川十大必去景点:从九寨沟到稻城亚丁,绝美风光让你流连忘返
探秘廿八都古镇:免费5A景区里的“文化飞地”
沪苏湖高铁带你畅游湖州免费景区
惠州西湖:新晋5A级景区必游指南
春节到,快来学学古人拜年的吉祥话!
索罗斯教你如何拥有交易高手的好心态
SWOT分析助你成为顶级交易员
广州到岳阳自驾游,这些景点你不能错过!
天目湖&中华恐龙园:常州必打卡摄影圣地
“光谷光子号”空轨:中国首列“飞行”列车来了
漳州古城和云水谣古镇二日游攻略:省钱又好玩
维生素B2美食地图:探索每日摄取量与食用技巧
富含维生素B族的食物
冬日大明湖摄影指南:从取景到拍摄技巧全攻略
大明湖四季美如画,《还珠格格》打卡地不容错过!
大明湖自驾游船攻略:150元/小时,这些细节你要知道