【AIGC魔童】DeepSeek v3推理部署:vLLM/SGLang/LMDeploy

【AIGC魔童】DeepSeek v3推理部署:vLLM/SGLang/LMDeploy

(1)使用vLLM推理部署DeepSeek

GitHub地址https://github.com/vllm-project/vllm

vLLMv0.6.6 支持在 NVIDIA 和 AMD GPU 上对 FP8 和 BF16 模式进行 DeepSeek-V3 推理。除了标准技术之外,vLLM 还提供管道并行性,允许您在通过网络连接的多台机器上运行此模型。

有关详细指导,请参阅 vLLM 说明。也请随时遵循增强计划

shell 复制代码
pip install vllm

DeepSeek R1调用

目前vLLM已支持DeepSeek R1模型调用,可以在模型支持列表中查看模型关键字:https://docs.vllm.ai/en/latest/models/supported_models.html

使用python调用DeepSeek:

python 复制代码
from vllm import LLM

llm = LLM(model=deepseek-ai/DeepSeek-V3, task="generate")
output = llm.generate("Hello, my name is")
print(output)

(2)使用SGLang推理部署DeepSeek

GitHub地址https://github.com/sgl-project/sglang

SGLang 目前支持 MLA 优化、DP Attention、FP8 (W8A8)、FP8 KV Cache 和 Torch Compile,在开源框架中提供最先进的延迟和吞吐量性能。

值得注意的是,SGLang v0.4.1 完全支持在 NVIDIA 和 AMD GPU 上运行 DeepSeek-V3,使其成为一个高度通用且强大的解决方案。

SGLang 还支持多节点张量并行性,使您能够在多台联网的计算机上运行此模型。

多Token预测 (MTP) 正在开发中,可以在优化计划中跟踪进度。

以下是 SGLang 团队的启动说明:https://github.com/sgl-project/sglang/tree/main/benchmark/deepseek_v3

安装SGLang

shell 复制代码
pip install "sglang[all]>=0.4.1.post5" --find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer

调用DeepSeek R1

shell 复制代码
python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-R1 --tp 8 --trust remote-code

此时服务将在30000端口启动。接下来即可使用OpenAI风格API来调用DeepSeek R1模型了:

python 复制代码
import openai
client = openai.Client(base_url="http://127.0.0.1:30000/v1", api_key="EMPTY")

# Chat completion
response = client.chat.completions.create(
    model="default",
    messages=[
        {"role": "system", "content": "You are a helpful AI assistant"},
        {"role": "user", "content": "List 3 countries and their capitals."},],
    temperature=0,
    max_tokens=64,)
print(response)

(3)使用LMDeploy推理部署DeepSeek

GitHub地址https://github.com/InternLM/lmdeploy

LMDeploy 是一个为大型语言模型量身定制的灵活、高性能的推理和服务框架,现在支持 DeepSeek-V3。它提供离线管道处理和在线部署功能,与基于 PyTorch 的工作流无缝集成。

有关使用 LMDeploy 运行 DeepSeek-V3 的全面分步说明,请参阅此处:InternLM/lmdeploy#2960

安装LMDeploy

shell 复制代码
git clone -b support-dsv3 https://github.com/InternLM/lmdeploy.git
cd lmdeploy
pip install -e .

单任务推理,编写Python脚本执行

python 复制代码
from lmdeploy import pipeline, PytorchEngineConfig

if __name__ == "__main__":
    pipe = pipeline("deepseek-ai/DeepSeek-R1-FP8",
                    backend_config=PytorchEngineConfig(tp=8))
    messages_list = [
        [{"role": "user", "content": "Who are you?"}],
        [{"role": "user", "content": "Translate the following content into Chinese directly: DeepSeek-V3 adopts innovative architectures to guarantee economical training and efficient inference."}],
        [{"role": "user", "content": "Write a piece of quicksort code in C++."}],]
    output = pipe(messages_list)
    print(output)

在线服务调用

shell 复制代码
# run
lmdeploy serve api_server deepseek-ai/DeepSeek-R1-FP8 --tp 8 --backend pytorch

接下来即可在23333端口调用DeepSeek R1模型:

python 复制代码
from openai import OpenAI
client = OpenAI(
    api_key='YOUR_API_KEY',
    base_url="http://0.0.0.0:23333/v1")

model_name = client.models.list().data[0].id
response = client.chat.completions.create(
    model=model_name,
    messages=[
        {"role": "user", "content": "Write a piece of quicksort code in C++."}],
    temperature=0.8,
    top_p=0.8)
print(response)
相关推荐
ThisIsClark7 分钟前
【后端面试总结】ES的_template与_index_template技术详解
elasticsearch·面试·jenkins
帅次42 分钟前
高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案
人工智能·深度学习·生成对抗网络·语言模型·文心一言·ollama·deepseek
程序员勋勋11 小时前
【GoLang】切片的面试知识点
面试·职场和发展
web130933203981 小时前
JAVA面试之容器
java·开发语言·面试
倔强的石头1061 小时前
蓝耘智算平台搭载DeepSeek R1模型:高效环境配置全攻略
人工智能·aigc·deepseek
从前,有个傻子........1 小时前
openCV函数使用(一)
人工智能·opencv·计算机视觉
马拉AI1 小时前
CVPR | CNN融合注意力机制,芜湖起飞!
人工智能·神经网络·cnn
伊一大数据&人工智能学习日志1 小时前
深度学习01 神经网络
人工智能·深度学习·神经网络·学习·机器学习
华清远见IT开放实验室2 小时前
【每天学点AI】实战仿射变换在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·仿射变换
企鹅侠客2 小时前
DeepSeek Window本地私有化部署
人工智能·深度学习·机器学习·tensorflow