LLM Server 选型,部署
2025-04-09 16:21:39 1 举报
AI智能生成
LLM(Language Learning Management)服务涉及多个因素,如模型选型,模型大小,服务资源,模型加载,模型效率,多卡多节点协助。 实战使用transformers,vllm 快速一条命令开启大模型之路
作者其他创作
大纲/内容
LLM选型
需求分析
业务场景
自然语言处理
文本分类
classify
机器翻译
generate
文本生成
generate
对话,问答场景
chat
技术需求
模型性能
推理速度
准确率
召回率
F1分数
模型性能
训练时间
推理时间
技术评估
模型类型
预训练模型
GPT系列
BERT系列
T5系列
模型架构
RNN
LSTM
GRU
双向RNN
Transformer
编码器
解码器
自注意力机制
自定义模型
微调模型
从头训练
混合模型
模型规模
小型模型
参数数量<1亿
推理速度快
资源消耗低
中等模型
参数在1B这个数量级
10亿
大型模型
参数数量>100亿
推理速度慢
资源消耗高
资源限制
计算资源
GPU数量
内存大小
存储空间
预算限制
硬件成本
软件成本
实施策略
部署方式
云端部署
本地部署
服务器
使用vllm
使用transformers
边缘设备
嵌入式系统
监控与维护
性能监控
响应时间
错误率
吞吐量
模型更新
模型规模确定
性价比高,速度快小模型
Bart-Base-139M
Qwen2-1.5B
工业生产,性价比平衡,知识丰富模型
Qwen2-7B
百亿参数,满血量模型
Qwen2-72B
DeepSeek-V3
DeepSeek-R1
计算精度
FP32(单精度浮点)
1. 设计核心
位结构:32位(1位符号位 + 8位指数位 + 23位尾数位)。
数值范围:±1.18×10⁻³⁸ ~ ±3.4×10³⁸,精度约为7位有效小数。
核心思想:提供高精度计算,确保科学计算和传统算法的数值稳定性。
位结构:32位(1位符号位 + 8位指数位 + 23位尾数位)。
数值范围:±1.18×10⁻³⁸ ~ ±3.4×10³⁸,精度约为7位有效小数。
核心思想:提供高精度计算,确保科学计算和传统算法的数值稳定性。
2. 技术意义
通用性:IEEE 754标准定义,所有CPU/GPU均支持,是科学计算和传统HPC的基准。
稳定性:在迭代计算(如流体力学、有限元分析)中避免误差累积。
局限性:计算和存储开销大,AI训练中效率低。
通用性:IEEE 754标准定义,所有CPU/GPU均支持,是科学计算和传统HPC的基准。
稳定性:在迭代计算(如流体力学、有限元分析)中避免误差累积。
局限性:计算和存储开销大,AI训练中效率低。
3. 典型应用
传统科学模拟(如气候模型、分子动力学)。
需要高精度的金融计算或工程仿真。
传统科学模拟(如气候模型、分子动力学)。
需要高精度的金融计算或工程仿真。
FP16 (16位浮点)
16位浮点通常被称为半精度浮点数(Half Precision)。
FP16的结构
符号位(Sign Bit, 1位):用来表示数值的正负,0表示正数,1表示负数。
指数位(Exponent, 5位):用来表示指数部分,范围为-14到15(偏移量为15)。
尾数位(Mantissa/Fraction, 10位):用来表示有效数字部分。
符号位(Sign Bit, 1位):用来表示数值的正负,0表示正数,1表示负数。
指数位(Exponent, 5位):用来表示指数部分,范围为-14到15(偏移量为15)。
尾数位(Mantissa/Fraction, 10位):用来表示有效数字部分。
FP16相比于32位浮点数(FP32)和64位浮点数(FP64)具有更小的存储空间需求
FP16有更快的计算速度,但精度较低。
FP16有更快的计算速度,但精度较低。
FP8(8位浮点)
1. 设计核心
位结构:灵活配置(如E5M2或E4M3):
E5M2:5位指数 + 2位尾数 → 范围广,精度低。
E4M3:4位指数 + 3位尾数 → 范围小,精度稍高。
核心思想:极致量化,针对AI推理和训练中的低功耗、高吞吐需求。
位结构:灵活配置(如E5M2或E4M3):
E5M2:5位指数 + 2位尾数 → 范围广,精度低。
E4M3:4位指数 + 3位尾数 → 范围小,精度稍高。
核心思想:极致量化,针对AI推理和训练中的低功耗、高吞吐需求。
2. 技术意义
显存与带宽优化:相比FP16,显存占用减少75%,带宽需求大幅降低。
能效比:H100的FP8计算性能达4,000 TFLOPS,是FP16的4倍。
动态适应:NVIDIA Transformer引擎自动切换FP8/FP16,保持模型收敛性。
显存与带宽优化:相比FP16,显存占用减少75%,带宽需求大幅降低。
能效比:H100的FP8计算性能达4,000 TFLOPS,是FP16的4倍。
动态适应:NVIDIA Transformer引擎自动切换FP8/FP16,保持模型收敛性。
3. 典型应用
边缘计算设备(如自动驾驶、无人机)的低功耗推理。
训练后期微调(结合高精度格式)。
边缘计算设备(如自动驾驶、无人机)的低功耗推理。
训练后期微调(结合高精度格式)。
TF32(Tensor Float 32)
1. 设计核心
位结构:19位(1位符号位 + 8位指数位 + 10位尾数位),复用FP32的硬件单元。
数值范围:与FP32相同(指数位保留8位),但尾数精度降低至10位。
核心思想:在AI训练中平衡精度与性能,利用硬件兼容性加速计算。
位结构:19位(1位符号位 + 8位指数位 + 10位尾数位),复用FP32的硬件单元。
数值范围:与FP32相同(指数位保留8位),但尾数精度降低至10位。
核心思想:在AI训练中平衡精度与性能,利用硬件兼容性加速计算。
2. 技术意义
硬件优化:NVIDIA Ampere架构(如A100)的Tensor Core原生支持,无需修改代码即可加速训练。
精度保留:保持与FP32相同的数值范围,避免梯度爆炸/消失(相比FP16更稳定)。
性能提升:TF32计算吞吐量是FP32的8倍,显存占用减少50%。
硬件优化:NVIDIA Ampere架构(如A100)的Tensor Core原生支持,无需修改代码即可加速训练。
精度保留:保持与FP32相同的数值范围,避免梯度爆炸/消失(相比FP16更稳定)。
性能提升:TF32计算吞吐量是FP32的8倍,显存占用减少50%。
3. 典型应用
AI模型训练(如ResNet、Transformer),替代FP32作为默认训练精度。
混合精度训练的中间步骤(结合FP16/FP8)。
AI模型训练(如ResNet、Transformer),替代FP32作为默认训练精度。
混合精度训练的中间步骤(结合FP16/FP8)。
显卡资源
NVIDIA GeForce RTX 系列
1. 旗舰级:RTX 4090
显存:24GB GDDR6X
带宽:1TB/s(基于384-bit位宽)
显存:24GB GDDR6X
带宽:1TB/s(基于384-bit位宽)
2. 高端:RTX 4080 Super
显存:16GB GDDR6X
带宽:736GB/s(256-bit位宽)
显存:16GB GDDR6X
带宽:736GB/s(256-bit位宽)
3. 中端:RTX 4070 Ti Super
显存:16GB GDDR6X
带宽:672GB/s(256-bit位宽)
显存:16GB GDDR6X
带宽:672GB/s(256-bit位宽)
4. 入门:RTX 4060
显存:8GB GDDR6
带宽:272GB/s(128-bit位宽)
显存:8GB GDDR6
带宽:272GB/s(128-bit位宽)
NVIDIA 服务器级显卡
系列定位与架构演进
V系列(Volta架构,2017年)
代表型号:Tesla V100
定位:首款引入Tensor Core的GPU,奠定AI计算基础,但已逐渐被取代。
A系列(Ampere架构,2020年)
代表型号:A100、A30、A800
定位:全面支持多精度计算,成为数据中心主流选择。
H系列(Hopper架构,2022年)
代表型号:H100、H800
定位:面向千亿参数模型和超算,性能较前代大幅提升。
V系列(Volta架构,2017年)
代表型号:Tesla V100
定位:首款引入Tensor Core的GPU,奠定AI计算基础,但已逐渐被取代。
A系列(Ampere架构,2020年)
代表型号:A100、A30、A800
定位:全面支持多精度计算,成为数据中心主流选择。
H系列(Hopper架构,2022年)
代表型号:H100、H800
定位:面向千亿参数模型和超算,性能较前代大幅提升。
1. NVIDIA A30
关键特性:
GDDR6显存:24GB显存,成本低于HBM,但带宽和容量受限。
低功耗设计:165W TDP,适合高密度部署。
MIG支持:单卡分割为4个实例,优化推理吞吐。
应用场景:
边缘计算、实时AI推理(推荐系统、语音识别)。
中小规模模型微调。
关键特性:
GDDR6显存:24GB显存,成本低于HBM,但带宽和容量受限。
低功耗设计:165W TDP,适合高密度部署。
MIG支持:单卡分割为4个实例,优化推理吞吐。
应用场景:
边缘计算、实时AI推理(推荐系统、语音识别)。
中小规模模型微调。
2. NVIDIA A100
关键特性:
HBM2e显存:80GB版本提供超高容量,适合大模型训练(如GPT-3)。
支持TF32精度:19.5TFLOPS,AI训练速度比V100快20倍。
Multi-Instance GPU (MIG):单卡分割为7个独立实例,提升资源利用率。
应用场景:
大规模AI训练(如自然语言处理、图像生成)。
科学计算(气候模拟、分子动力学)。
关键特性:
HBM2e显存:80GB版本提供超高容量,适合大模型训练(如GPT-3)。
支持TF32精度:19.5TFLOPS,AI训练速度比V100快20倍。
Multi-Instance GPU (MIG):单卡分割为7个独立实例,提升资源利用率。
应用场景:
大规模AI训练(如自然语言处理、图像生成)。
科学计算(气候模拟、分子动力学)。
4. NVIDIA A800
关键特性:
针对中国市场的“阉割版”:NVLink互联带宽从A100的600GB/s降至400GB/s,规避美国出口限制。
其他参数与A100一致,但多卡互联性能下降约30%。
应用场景:
中国境内的大模型训练(需多卡协作时性能受限)。
替代A100的合规方案。
关键特性:
针对中国市场的“阉割版”:NVLink互联带宽从A100的600GB/s降至400GB/s,规避美国出口限制。
其他参数与A100一致,但多卡互联性能下降约30%。
应用场景:
中国境内的大模型训练(需多卡协作时性能受限)。
替代A100的合规方案。
3. NVIDIA H100
关键特性:
HBM3显存:80GB显存,带宽较A100翻倍,支持3TB/s以上传输速率。
支持TF32精度:60TFLOPS,AI训练速度比A100快。
FP8精度:新的精度方案,使得AI推理性能较A100提升30倍,显存效率提升4倍。
Transformer引擎:针对大语言模型优化,训练速度提升6-9倍。
应用场景:
千亿参数级模型训练(如GPT-4、LLaMA-2)。
实时量子计算模拟、超大规模HPC。
关键特性:
HBM3显存:80GB显存,带宽较A100翻倍,支持3TB/s以上传输速率。
支持TF32精度:60TFLOPS,AI训练速度比A100快。
FP8精度:新的精度方案,使得AI推理性能较A100提升30倍,显存效率提升4倍。
Transformer引擎:针对大语言模型优化,训练速度提升6-9倍。
应用场景:
千亿参数级模型训练(如GPT-4、LLaMA-2)。
实时量子计算模拟、超大规模HPC。
AMD Radeon RX 系列
1. 旗舰级:RX 7900 XTX
显存:24GB GDDR6
带宽:960GB/s(384-bit位宽)
显存:24GB GDDR6
带宽:960GB/s(384-bit位宽)
2. 中高端:RX 7900 GRE
显存:16GB GDDR6
带宽:576GB/s(256-bit位宽)
显存:16GB GDDR6
带宽:576GB/s(256-bit位宽)
3. 中端:RX 7700 XT
显存:12GB GDDR6
带宽:432GB/s(192-bit位宽)
显存:12GB GDDR6
带宽:432GB/s(192-bit位宽)
4. 中端:RX 7600
显存:8GB GDDR6
带宽:288GB/s(128-bit位宽)
显存:8GB GDDR6
带宽:288GB/s(128-bit位宽)
模型框架效率vs
实现 generative, pooling, models across various tasks.
If a model supports more than one task, you can set the task via the --task argument.
Qwen2-1.5B
Transformer
Vllm
Qwen2-7B
Transformer
Vllm
模型框架运行
基于transformer运行
快速启动
self.tokenizer = AutoTokenizer.from_pretrained(model_path)
self.model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype="auto", device_map="auto" )
self.model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype="auto", device_map="auto" )
选择某张卡加载启动
案例
基于vllm的运行
快速启动
vllm serve /models/Qwen/Qwen2.5-7B-Instruct --host 0.0.0.0 --port 18011
curl -i -X POST 'http://0.0.0.0:18011/v1/chat/completions' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{
"messages": [{"content": "Hi", "role": "user"}],
"model": "/models/Qwen/Qwen2.5-7B-Instruct",
"temperature": 0.5
}'
"messages": [{"content": "Hi", "role": "user"}],
"model": "/models/Qwen/Qwen2.5-7B-Instruct",
"temperature": 0.5
}'
使用多卡性能
vllm serve /models/Qwen/Qwen2.5-7B-Instruct --host 0.0.0.0 --port 18011 --tensor-parallel-size 2 --gpu-memory-utilization 0.8 > log_Qwen2.5-7B-Instruct.log &
使用多节点多卡
vllm serve /root/.cache/modelscope/hub/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --tensor-parallel-size 4 --gpu-memory-utilization 0.9 --host 0.0.0.0 --port 18012 --dtype float16 --max-model-len 32768 --enforce-eager --enable-reasoning --reasoning-parser deepseek_r1
Increase pipeline_parallel_size. This approach distributes model layers across GPUs, reducing the memory needed for model weights on each GPU, which indirectly leaves more memory available for KV cache.
使用docker启动
docker run -p 8000:8000 --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
--ipc=host vllm/vllm-openai:latest --model mistralai/Mistral-7B-v0.1
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
--ipc=host vllm/vllm-openai:latest --model mistralai/Mistral-7B-v0.1
使用 --ipc是一种高效的进程间通信机制,允许多个进程访问同一块内存区域以交换数据。
使用 --shm-size为容器分配指定大小的共享内存空间。
使用 --runtime nvidia 使用其硬件计算资源
docker run --runtime nvidia --gpus all -v /models/Qwen/Qwen2.5-7B-Instruct:/models/Qwen/Qwen2.5-7B-Instruct -p 18011:8000 --ipc=host vllm/vllm-openai:latest --model /models/Qwen/Qwen2.5-7B-Instruct --tensor-parallel-size 2 --gpu-memory-utilization 0.9
LangChain的设计
LangChain
概念
特点
多种llm库桥梁

收藏

收藏
0 条评论
下一页