【vLLM 学习】Distributed

大模型推理:vllm多机多卡分布式本地部署 我是一台机器启动了一个docker,将docker当作一个节点,在docker里面执行ray start --head --port=6379,将另一台机器的docker作为worker节点,并加入到ray cluster中,如果机器间的通信没有问题,worker节点在几秒内就能加入集群。值得注意的是多机多卡部署的推理框架,也适用于单机多卡,单机单卡,这里不过多赘述。确保head节点的IP与指定的通信网卡的IP一致,同时,检查/etc/hosts里面的IP对应的主机名与docker的主机名是一致的。 阅读详情

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

更多 vLLM 中文文档及教程可访问 →go.hyper.ai/Wa62f

本目录包含用于部署 vLLM 应用程序的 Helm 图表。该图表包含部署配置、自动扩缩容、资源管理及其他相关配置项。

*在线运行 vLLM 入门教程:零基础分步指南

源码 examples/offline_inference/distributed.py

# SPDX-License-Identifier: Apache-2.0

"""
此示例显示了如何使用 ray 数据进行离线批处理推断
在多节点群集上分布。
在 https://docs.ray.io/en/latest/data/data.html 中了解有关 ray 数据的更多信息
"""

from typing import Any

import numpy as np
import ray
from packaging.version import Version
from ray.util.scheduling_strategies import PlacementGroupSchedulingStrategy

from vllm import LLM, SamplingParams

assert Version(ray.__version__) >= Version(
    "2.22.0"), "Ray version must be at least 2.22.0"

# 创建一个采样参数对象。
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

# 每个实例设置张量并行性。
tensor_parallel_size = 1

# 设置数量的实例。每个实例都将使用 Tensor_parallel_size GPU。
num_instances = 1


# 创建一个以进行批处理推理的类。
class LLMPredictor:

    def __init__(self):
        # Create an LLM.
        # 创建一个 LLM。
        self.llm = LLM(model="meta-llama/Llama-2-7b-chat-hf",
                       tensor_parallel_size=tensor_parallel_size)

    def __call__(self, batch: dict[str, np.ndarray]) -> dict[str, list]:
        # 从提示中生成文本。
        # 输出是包含提示的 RequestOutput 对象的列表,
        # 生成的文本和其他信息。
        outputs = self.llm.generate(batch["text"], sampling_params)
        prompt: list[str] = []
        generated_text: list[str] = []
        for output in outputs:
            prompt.append(output.prompt)
            generated_text.append(' '.join([o.text for o in output.outputs]))
        return {
            "prompt": prompt,
            "generated_text": generated_text,
        }


# 从 S3读取一个文本文件。 ray 数据支持读取多个文件
# 来自云存储 (例如 JSONL,Parquet,CSV,二进制格式)。
ds = ray.data.read_text("s3://anonymous@air-example-data/prompts.txt")



# 对于 tensor_parallel_size> 1,我们需要为 vLLM 创建放置组
# 要使用。每个演员都必须拥有自己的安置小组。
def scheduling_strategy_fn():
    # One bundle per tensor parallel worker
    # 每张张量的平行工人一捆
    pg = ray.util.placement_group(
        [{
            "GPU": 1,
            "CPU": 1
        }] * tensor_parallel_size,
        strategy="STRICT_PACK",
    )
    return dict(scheduling_strategy=PlacementGroupSchedulingStrategy(
        pg, placement_group_capture_child_tasks=True))


resources_kwarg: dict[str, Any] = {}
if tensor_parallel_size == 1:
    # 对于 tensor_parallel_size == 1,我们只是设置 num_gpus = 1。
    resources_kwarg["num_gpus"] = 1
else:
    # 否则,我们必须设置 num_gpus = 0并提供
    # 一个将创建一个安置组的函数
    # 每个实例。
    resources_kwarg["num_gpus"] = 0
    resources_kwarg["ray_remote_args_fn"] = scheduling_strategy_fn

# 应用所有输入数据的批处理推断。
ds = ds.map_batches(
    LLMPredictor,
    # Set the concurrency to the number of LLM instances.
    # 将并发设置为 LLM 实例的数量。
    concurrency=num_instances,
    # Specify the batch size for inference.
    # 指定推理的批次大小。
    batch_size=32,
    **resources_kwarg,
)

# 窥视前10个结果。
# 注意:这是用于本地测试和调试。对于生产用例,
# 应该写出完整的结果,如下所示。
outputs = ds.take(limit=10)
for output in outputs:
    prompt = output["prompt"]
    generated_text = output["generated_text"]
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

# ds.write_parquet("s3://<your-output-bucket>")
# 将推理输出数据作为 parquet 文件输出到 S3。
# 多个文件将写入输出目标,
# 每个任务将分别编写一个或多个文件。
#
# ds.write_parquet ( "s3:// <your-out-output-bucket>")

vLLM 双 RTX 3090 + WSL2 部署 Qwen AWQ:vLLM 多卡推理 双RTX3090+WSL2部署Qwen AWQ模型实战指南 本文详细介绍了在双RTX3090显卡的Windows11系统上,通过WSL2 Ubuntu环境部署Qwen3.6-35B-A3B-AWQ大模型的全过程。主要内容包括: 环境准备:检查WSL2双显卡识别状态,解决常见识别问题 开发环境配置:使用uv工具创建Python3.11独立环境 模型部署: 下载并校验Qwen AWQ模型 使用vLLM框架实现双显卡张量并行推理 服务化部署: 提供OpenAI兼容API接口 配置systemd服务实现开机自启 解 阅读详情

相关推荐

vLLM Windows 11 原生运行指南:告别WSL与Docker

大语言模型推理框架 vLLM 是面向高性能、低延迟场景的开源服务引擎,其核心依赖 CUDA 加速、GPU 显存管理与原生系统兼容性。随着 vLLM v0.20.0 正式移除实验性标签,Windows 11 已成为首个获得官方原生支持的桌面操作系统——不再需要 WSL2 的 Linux 兼容层,也不再依赖 Docker 容器隔离。这一转变基于 NVIDIA CUDA 12.2+ 对 Windows ABI 的深度加固,以及 PyTorch 静态链接机制的成熟落地,使 vLLM 可直调 cudart64_121

aodan5477的博客 481

vLLM分布式推理:张量、流水线、数据并行全解析

你是否正面临LLM推理时的内存瓶颈?是否因单卡算力不足而无法部署百亿级参数模型?vLLM作为高性能推理引擎,通过精妙的分布式并行策略,将大模型推理效率提升3-10倍。本文将系统解析vLLM的张量并行、流水线并行和数据并行实现,教你如何通过分布式技术突破硬件限制,实现高效大模型部署。 读完本文你将掌握: - 三种并行模式的核心原理与适用场景 - vLLM并行通信原语的底层实现 - 多节点部署的关键...

gitblog_00141的博客 2316

【Bug已解决】[Bug]: vllm 0.22 nccl error: invalid usage 解决方案

下面给出针对 0.22 "invalid usage" 的精确定位与修复。

博客 264

vllm源码解析(五):LLM模型推理

self.model_executor.execute_model,调用与vllm耦合后的LLM模型进行推理。这是本篇要讲解内容,我们先来看下模型输入长什么样,execute_model_req: 从调度系统中获得,可以用于做推理的seq_groups, 对seq_groups及可用到的各种属性做了封装,暂时不必管都是什么意思,用到时再现场分析。8.1中完成了资源调度工作,接下来该送入初始化好的模型进行推理了。不过vllm对具体模型的又做了多层封装:8.1中模型调用指向gpu_executor:

weixin_42479327的博客 8261

别再魔改LWIP了!用STM32CubeMX配置F407的TCP保活(KeepAlive)与自动重连

本文详细介绍了如何通过STM32CubeMX配置STM32F407的LWIP协议栈,实现TCP保活(KeepAlive)与自动重连功能,解决网络异常断开问题。文章提供了从基础环境配置到自动重连架构设计的完整指南,帮助开发者构建高可靠的网络连接机制,适用于工业物联网和嵌入式设备开发。

weixin_27038245的博客 234

使用gsplat进行3D高斯泼溅的方案

gsplat 不是一个软件,而是一个深度优化CUDA的开源Python库。它的作者是 Nerfstudio 团队,这个团队最出名的项目是 Nerfstudio,是对 NeRFs 方法支持最好的一套框架。据其所述,出于对新一代技术的好奇,他们构建了 gsplat 这个库。它支持 Windows/Linux 两个系统,使用前必须准备好 Nvidia 显卡。跑这个项目真是特别费劲,官方的文档支持不够完善,以至于遇到问题,开发者们都只能在issue区里抱团取暖。

兴趣使然的创作者 2106

PHP-- 亚马逊 aws s3 文件上传及获取下载地址

【代码】PHP-- 亚马逊 aws s3 文件上传及获取下载地址。

caicairich的博客 1451

Simulink Test Sequence实战:5步搞定复杂逻辑测试(附Excel模板)

本文详细介绍了如何利用Simulink Test Sequence模块高效完成复杂逻辑测试。通过对比传统Excel方法的不足,阐述了Test Sequence以流程图和自然语言描述测试场景的优势,并提供了从环境搭建、逻辑构建到与Test Manager集成、利用Excel模板进行数据驱动的完整5步实战指南,帮助工程师将复杂的状态机或逻辑流测试从繁琐的‘体力活’转变为高效的‘技术活’。

snow3的博客 250

ELR-SELLM开发报告

启蒙灯塔起源团(ELR) 是以“真实高于完美”信仰在现实冲突中叩问自己也叩问未来,并基于叩问进行真实探索与实践研发,我们只是如实记录与叙事,但我们不输出理论或研究(如果有任何模型是总结分析是理论和定义,是他们视角得出来),我们始终相信路是走出来的,人生是活出来的,再一次次碰壁中实际反馈涌现找到自己。ELR-SELLM研发方向是解决降本增效吗?答案是否定的,ELR-SELLM研发方向是让人类和自己硅基伙伴携手一起走过一段旅程,或跨纪元的文明发展问题

X54先生硅基智能研究 469

空心杯电机在美容仪器中的应用:为什么你的洗脸刷动力这么强?

本文深入解析了空心杯电机如何成为高端美容仪器的核心动力源。通过对比传统电机,揭示了其无铁芯、低惯量、零齿槽效应的技术优势,从而实现了强劲动力、极致静音与细腻震动的用户体验。文章详细阐述了空心杯电机在洁面刷、导入仪等美容仪器中的具体应用与选型考量,并指出了开发中驱动匹配、测试等关键实战要点。

j2k3l4的博客 1013

Python - 多页pdf 合称为一页

尝试使用 ReportLab 来重画 pdf,但探索起来有点麻烦。重要的是解决手头这个问题,所以就算方法蠢,但简单完事。以下生成结果,最有一页 pdf 可能会显示在第一页,手动编辑下 pdf 即可;或者你也可以修改代码逻辑来完善。打印ppt,一页占用A4纸比较浪费,想多页合成一个 A4大小;安装 fitz,单独安装 fitz 使用可能会报错。将 PDF 拆分为 图片来保存。

AI工程化、开源分享、文档翻译、代码笔记 1425

图解大模型计算加速系列:vLLM源码解析1,整体架构

图中左侧是用户使用界面,罗列了上述所说的两种调用方式(注意,如前文所说,做demo用的api server官方已经不再维护了,openai_api_server才是官方推荐的使用方式,user custom server目前还没有实现)。右侧则是开发者界面,不难发现LLMEngine是vLLM的核心逻辑。:该方法将每一个请求包装成vLLM能处理的数据类型(SequenceGroup,后面我们会详细解释),并将其加入调度器(Scheduler)的waiting队列中。

具身机器人和通用AI 3692

【YOLOv8科研级优化】集成YOLOv10的SCDown采样模块,让你的模型下采样更高效更精准

打开确保模型解析器能识别SCDown模块。通过将YOLOv10的SCDown模块集成到YOLOv8中,我们实现了一个“细节保留+高效下采样”的目标检测模型。这个改进不仅在工程上能提升小目标、细粒度场景的检测效果,更在科研上提供了“分阶段下采样”的创新思路——这种思路可以延伸到其他卷积网络(如ResNet、MobileNet)的下采样层改进中,帮你在论文中打造独特的研究点。

m0_71589036的博客 137

distributed serving with vllm

【代码】distributed serving with vllm。

qq_38963393的博客 443

Java接入DeepSeek大模型:从零实现流式对话+多轮会话管理(完整项目实战)

emitter.completeWithError(new RuntimeException("连接DeepSeek服务超时"));private static final Set<String> BLACK_WORDS = Set.of("暴力", "色情", "政治敏感");emitter.onCompletion(() -> log.info("SSE连接完成"));emitter.onTimeout(() -> log.warn("SSE连接超时"));// 每个路由基础连接数。

wjianwei666的专栏 931

英伟达 Jetson AGX Thor 官方入门教程(一)系统U盘安装

NVIDIA Jetson AGX Thor开发套件快速安装指南 本指南详细介绍了NVIDIA Jetson AGX Thor开发套件的安装流程。该套件搭载T5000 SoM,为物理AI和机器人应用提供强大支持。安装过程采用全新的JetPack 7.0方案,通过USB闪存盘即可完成BSP(Jetson Linux)安装,无需依赖Ubuntu主机。指南包含硬件开箱说明、两种配置模式(带显示器/无显示器)、详细的ISO镜像下载和USB制作步骤(推荐使用Balena Etcher工具),以及首次启动后的初始设置流

机器人控制与仿真应用 2868

Nano-vLLM架构介绍

Nano-vLLM是一个轻量级大模型推理框架,核心代码仅约1.2k行,支持单节点张量并行和Qwen3模型运行。框架包含四大核心模块:LLM Engine作为中央调度器,负责请求处理全流程;Block Manager基于PagedAttention管理KV cache显存;Scheduler通过双队列机制实现请求调度;Model Runner完成模型前向计算,支持多进程协作。该框架采用PyTorch、flash_attn等技术实现,具有模块化设计特点,特别适合AI Infra初学者学习大模型推理框架基础架构。

InfraTech 463

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

vLLM镜像是否支持分布式推理集群搭建?

vLLM不仅支持分布式推理集群,还具备PagedAttention、连续批处理和原生分布式架构等核心技术,可实现高并发、低延迟的大模型服务部署,适用于多机多卡场景,显著提升吞吐量与资源利用率。

weixin_42593701的博客 1009

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

VLLM 详细学习笔记 第 7 章 多 GPU 与 MoE:TP / DP / EP / PP 的落地组合

摘要 本文深入探讨了大型语言模型(LLM)在长上下文处理中的挑战与解决方案。首先分析了长上下文面临的三大核心难题:模型质量退化、显存占用过大和首字延迟,并详细介绍了vLLM的应对策略,包括RoPE位置编码扩展技术和分块预填充调度方法。其次,阐述了流式响应技术的重要性及其SSE实现原理,强调其对用户体验的提升作用。最后,探讨了断点续生成与前缀缓存等高级优化技术。文章通过参数配置示例和性能对比表,为实践者提供了实用的技术指导,帮助开发者在保证服务质量的同时有效处理长文本任务。

qq_38334677的博客 1337

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

深入解析vLLM:从架构设计到动态调度策略

本文深入解析vLLM框架的架构设计与动态调度策略,探讨其如何通过PagedAttention技术和动态批处理能力显著提升大模型推理效率。vLLM作为大模型推理的加速引擎,在显存管理和计算优化方面表现出色,特别适合高并发的在线服务场景。

tcp8optimizer的博客 183

vLLM 集群级扩展指南:理解 llm-d 为 vLLM 带来的五大能力与仓库侧验证路径

本文基于 vLLM 仓库中的集成文档 [docs/deployment/integrations/llm-d.md](https://link.gitcode.com/i/804c93f89a86c5b7c3dafa8c01469485),系统梳理 Kubernetes 原生分布式推理框架 llm-d 与 vLLM 的协作关系:它如何在前缀感知路由、分布式 KV cache 管理、Prefill/

gitblog_01081的博客 921

vLLM 与 LangChain 集成实战:从进程内 VLLM 类到 OpenAI 兼容服务

本文介绍如何将 vLLM 接入 LangChain 应用框架。读完后,你将掌握两种集成路径——通过 `langchain_community.llms.VLLM` 类在进程内直接加载 vLLM 引擎,以及通过 `vllm serve` 启动 OpenAI 兼容服务器再以标准客户端接入——并理解示例中 `trust_remote_code`、`top_k`、`temperature`、`tensor

gitblog_01082的博客 301

vLLM 在 RLHF 训练中的角色:权重同步、Pause/Resume 与异步强化学习实战指南

在 RLHF(基于人类反馈的强化学习)等在线强化学习工作流中,推理引擎需要与训练引擎高频协作:策略模型每更新一轮,推理侧的权重就必须同步刷新,同时生成请求不能因此中断。vLLM 为此提供了可插拔的权重传输系统(Weight Transfer)、飞行中安全换权的 Pause/Resume API 以及一批官方 RLHF 示例脚本。读完本文,你将掌握如何在 vLLM 中配置权重传输后端、如何在训练循环

gitblog_00396的博客 534

vLLM 异步强化学习:基于 pause/resume 的生成—训练并行与权重热更新指南

本技术指南讲解 vLLM 仓库 [docs/training/async_rl.md](https://link.gitcode.com/i/7b07bea2396dde74d4658b9113f3f2a5) 中定义的**异步强化学习(Async RL)**支持体系:如何在训练与推理并行运行的同时,通过 `pause_generation` / `resume_generation` 安全地把训练

gitblog_00438的博客 720
上一篇: 【Triton 教程】triton_language.fdiv
下一篇: 覆盖11个学科/60项科研任务,清华/MIT/哈佛等提出ASI-Bench测试AI自主科研能力
HyperAI超神经
博客等级 码龄7年 8873粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值