使用autodl服务器,在A40显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度18 words/s

1,演示视频

https://www.bilibili.com/video/BV1gu4y1c7KL/

使用autodl服务器,在A40显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度18 words/s

2,关于A40显卡,48GB 显存,安培架构

2020年,英伟达发布 A40 专业显卡,配备 48GB 显存。

采用了 GA102 GPU,拥有 10752 个 CUDA 核心。而 A40 是用于服务器的。A40 都配备了四个 DP 1.4 接口,都搭载了 48GB 的 GDDR6 显存,最大带宽为 696 GB/s。显卡的功耗为 300W,采用了全新的 8 pin 接口。

环境使用:

CPU :15 核心

内存:80 GB

GPU :NVIDIA A40, 1个

3,关于 Yi-34B 模型

11月24日,零一万物基正式发布并开源微调模型 Yi-34B-Chat,可申请免费商用。同时,零一万物还为开发者提供了 4bit/8bit 量化版模型,Yi-34B-Chat 4bit 量化版模型可以直接在消费级显卡(如RTX3090)上使用。

官方网站:
https://www.lingyiwanwu.com/

模型下载地址:
https://huggingface.co/01-ai/Yi-34B-Chat-8bits

github地址:
https://github.com/01-ai/Yi

下载后占空间:

68G Yi-34B-Chat-8bits

经测试:Yi-34B-Chat-4bits 没有启动成功,8bits启动成功了。

下模型文件花费时间比较多。

3,安装相关依赖,先安装最新的torch版本

bash 复制代码
apt update && apt install -y git-lfs net-tools
#
git clone https://www.modelscope.cn/01ai/Yi-34B-Chat-4bits.git


# 1,安装 torch 模块,防止依赖多次下载
pip3 install torch==2.1.0

# 2,安装 vllm 模块:
pip3 install vllm

# 最后安装 
pip3 install "fschat[model_worker,webui]" auto-gptq optimum

安装完成之后就可以使用fastchat启动了。

4,使用 vllm 进行加速,可以加速 Yi-34B-Chat-4bits 模型

https://docs.vllm.ai/en/latest/getting_started/installation.html

官方网站:https://github.com/vllm-project/vllm

说明模型不支持这个 vllm ,需要切换成 Yi-34B-Chat-4bits 可以启动

复制代码
ValueError: Unknown quantization method: gptq. Must be one of ['awq', 'squeezellm'].

增加参数:fastchat.serve.vllm_worker --quantization awq

就可以切换成 fastchat 的 vllm 模式:

bash 复制代码
# run_all_vllm_yi.sh

# 清除全部 fastchat 服务
ps -ef | grep fastchat.serve | awk '{print$2}' | xargs kill -9
sleep 3

rm -f *.log

# 首先启动 controller :
nohup python3 -m fastchat.serve.controller --host 0.0.0.0 --port 21001 > controller.log 2>&1 &

# 启动 openapi的 兼容服务 地址 8000
nohup python3 -m fastchat.serve.openai_api_server --controller-address http://127.0.0.1:21001 \
  --host 0.0.0.0 --port 8000 > api_server.log 2>&1 &

# 启动 web ui
nohup python -m fastchat.serve.gradio_web_server --controller-address http://127.0.0.1:21001 \
 --host 0.0.0.0 --port 8000 > web_server.log 2>&1 &


# 然后启动模型: 说明,必须是本地ip --load-8bit 本身已经是int4了
# nohup python3 -m fastchat.serve.model_worker  --model-names yi-34b \
#   --model-path ./Yi-34B-Chat-8bits --controller-address http://${IP_ADDR}:21001 \
#   --worker-address http://${IP_ADDR}:8080 --host 0.0.0.0 --port 8080 > model_worker.log 2>&1 &

## 
nohup python3 -m fastchat.serve.vllm_worker --quantization awq --model-names yi-34b \
  --model-path ./Yi-34B-Chat-4bits --controller-address http://127.0.0.1:21001 \
  --worker-address http://127.0.0.1:8080 --host 0.0.0.0 --port 8080 > model_worker.log 2>&1 &

然后在测试下 token 效果:

bash 复制代码
python3 -m fastchat.serve.test_throughput --controller-address http://127.0.0.1:21001 --model-name yi-34b --n-thread 1

throughput: 18.678158839922936 words/s.

5,总结

测试效果还可以,但是偶尔出现英文,需要说明强制转换成中文:

bash 复制代码
curl http://localhost:6006/v1/chat/completions   -H "Content-Type: application/json"   -d '{
     "model": "chatglm3-6b",
     "messages": [{"role": "user", "content": "北京景点,使用中文回答"}],
     "temperature": 0.7
   }'
相关推荐
SoaringPigeon1 分钟前
从深度学习的角度看自动驾驶
人工智能·深度学习·自动驾驶
产品经理独孤虾4 分钟前
如何利用AI大模型对已有创意进行评估,打造杀手级的广告创意
人工智能·大模型·aigc·产品经理·数字营销·智能营销·智能创意生成
MobotStone18 分钟前
无代码+AI时代,为什么你仍然需要像个开发者一样思考
人工智能·算法
张较瘦_44 分钟前
[论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
论文阅读·人工智能·软件工程
whabc1001 小时前
和鲸社区深度学习基础训练营2025年关卡3_Q1(1)
人工智能·深度学习
勤奋的知更鸟1 小时前
标准化模型格式ONNX介绍:打通AI模型从训练到部署的环节
人工智能·语言模型
盼小辉丶1 小时前
Transoformer实战——Transformer模型性能评估
人工智能·深度学习·transformer
极限实验室2 小时前
Coco AI 实战(二):摄入MongoDB 数据
人工智能·mongodb
AIGC包拥它2 小时前
AI教学设计助手:生成好教案的Prompt技术实战(一)
人工智能·prompt
SoFlu软件机器人3 小时前
Cursor、飞算JavaAI、GitHub Copilot、Gemini CLI 等热门 AI 开发工具合集
人工智能·github·copilot