最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker安裝分布式vLLM的實(shí)現(xiàn)步驟

 更新時(shí)間:2025年03月10日 11:40:34   作者:MasonYyp  
本文主要介紹了Docker使用vLLM庫進(jìn)行分布式推理和服務(wù)部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1 介紹

vLLM是一個(gè)快速且易于使用的LLM推理和服務(wù)庫,適合用于生產(chǎn)環(huán)境。單主機(jī)部署會(huì)遇到顯存不足的問題,因此需要分布式部署。

分布式安裝方法

https://docs.vllm.ai/en/latest/serving/distributed_serving.html

2 安裝方法

?? 注意:前期一定要把docker環(huán)境、運(yùn)行時(shí)和GPU安裝好。

CUDA Version: 12.4

vllm:v0.7.2

2.1 下載鏡像

# 下載鏡像,鏡像比較大
docker pull vllm/vllm-openai:v0.7.2

下載分布式部署的腳本

https://github.com/vllm-project/vllm/blob/main/examples/online_serving/run_cluster.sh

run_cluster.sh文件

#!/bin/bash

# Check for minimum number of required arguments
if [ $# -lt 4 ]; then
    echo "Usage: $0 docker_image head_node_address --head|--worker path_to_hf_home [additional_args...]"
    exit 1
fi

# Assign the first three arguments and shift them away
DOCKER_IMAGE="$1"
HEAD_NODE_ADDRESS="$2"
NODE_TYPE="$3"  # Should be --head or --worker
PATH_TO_HF_HOME="$4"
shift 4

# Additional arguments are passed directly to the Docker command
ADDITIONAL_ARGS=("$@")

# Validate node type
if [ "${NODE_TYPE}" != "--head" ] && [ "${NODE_TYPE}" != "--worker" ]; then
    echo "Error: Node type must be --head or --worker"
    exit 1
fi

# Define a function to cleanup on EXIT signal
cleanup() {
    docker stop node
    docker rm node
}
trap cleanup EXIT

# Command setup for head or worker node
RAY_START_CMD="ray start --block"
if [ "${NODE_TYPE}" == "--head" ]; then
    RAY_START_CMD+=" --head --port=6379"
else
    RAY_START_CMD+=" --address=${HEAD_NODE_ADDRESS}:6379"
fi

# Run the docker command with the user specified parameters and additional arguments
docker run \
    --entrypoint /bin/bash \
    --network host \
    --name node \
    --shm-size 10.24g \
    --gpus all \
    -v "${PATH_TO_HF_HOME}:/root/.cache/huggingface" \
    "${ADDITIONAL_ARGS[@]}" \
    "${DOCKER_IMAGE}" -c "${RAY_START_CMD}"

2.2 創(chuàng)建容器

兩臺(tái)主機(jī)的IP如下,主節(jié)點(diǎn)宿主機(jī)IP:192.168.108.100,工作節(jié)點(diǎn)宿主機(jī)IP:192.168.108.101。

主節(jié)點(diǎn)(head節(jié)點(diǎn))運(yùn)行分布式vLLM腳本

官網(wǎng)的說明

# ip_of_head_node:主節(jié)點(diǎn)容器所在宿主機(jī)的IP地址
# /path/to/the/huggingface/home/in/this/node: 映射到到容器中的路徑
# ip_of_this_node:當(dāng)前節(jié)點(diǎn)所在宿主機(jī)的IP地址
# --head:表示主節(jié)點(diǎn)
bash run_cluster.sh \
                vllm/vllm-openai \
                ip_of_head_node \
                --head \
                /path/to/the/huggingface/home/in/this/node \
                -e VLLM_HOST_IP=ip_of_this_node

本機(jī)執(zhí)行

bash run_cluster.sh \
    vllm/vllm-openai:v0.7.2 \
    192.168.108.100 \
    --head \
    /home/vllm \
    -e VLLM_HOST_IP=192.168.108.100 \
    > nohup.log 2>&1 &

工作節(jié)點(diǎn)(worker節(jié)點(diǎn))運(yùn)行分布式vLLM腳本

官網(wǎng)的說明

# ip_of_head_node:主節(jié)點(diǎn)容器所在宿主機(jī)的IP地址
# /path/to/the/huggingface/home/in/this/node: 映射到到容器中的路徑
# ip_of_this_node:當(dāng)前節(jié)點(diǎn)所在宿主機(jī)的IP地址
# --worker:表示工作節(jié)點(diǎn)
bash run_cluster.sh \
                vllm/vllm-openai \
                ip_of_head_node \
                --worker \
                /path/to/the/huggingface/home/in/this/node \
                -e VLLM_HOST_IP=ip_of_this_node

本機(jī)執(zhí)行

bash run_cluster.sh \
    vllm/vllm-openai:v0.7.2 \
    192.168.108.100 \
    --worker \
    /home/vllm \
    -e VLLM_HOST_IP192.168.108.101 \
    > nohup.log 2>&1 &

查看集群的信息

# 進(jìn)入容器
docker exec -it node /bin/bash

# 查看集群信息
ray status
# 返回值中有GPU數(shù)量、CPU配置和內(nèi)存大小等
======== Autoscaler status: 2025-02-13 20:18:13.886242 ========
Node status
---------------------------------------------------------------
Active:
 1 node_89c804d654976b3c606850c461e8dc5c6366de5e0ccdb360fcaa1b1c
 1 node_4b794efd101bc393da41f0a45bd72eeb3fb78e8e507d72b5fdfb4c1b
Pending:
 (no pending nodes)
Recent failures:
 (no failures)

Resources
---------------------------------------------------------------
Usage:
 0.0/128.0 CPU
 0.0/4.0 GPU
 0B/20 GiB memory
 0B/19.46GiB object_store_memory

Demands:
 (no resource demands)

3 安裝模型

?? 本地有4張GPU卡。

官網(wǎng)說明

# 啟動(dòng)模型服務(wù),可根據(jù)情況設(shè)置模型參數(shù)
# /path/to/the/model/in/the/container:模型路徑
# tensor-parallel-size:張量并行數(shù)量,模型層內(nèi)拆分后并行計(jì)算;
# pipeline-parallel-size:管道并行數(shù)量,模型不同層拆分后并行計(jì)算,在單個(gè)顯存不夠時(shí)可以設(shè)置此參數(shù)
vllm serve /path/to/the/model/in/the/container \
     --tensor-parallel-size 8 \
     --pipeline-parallel-size 2

本機(jī)執(zhí)行

將下載好的Qwen2.5-7B-Instruct模型,放在“/home/vllm”目錄下

# 進(jìn)入節(jié)點(diǎn),主節(jié)點(diǎn)和工作節(jié)點(diǎn)都可以
docker exec -it node /bin/bash

# 執(zhí)行命令參數(shù)
nohup vllm serve /root/.cache/huggingface/Qwen2.5-7B-Instruct \
    --served-model-name qwen2.5-7b \
    --tensor-parallel-size 2 \
    --pipeline-parallel-size 2 \
    > nohup.log 2>&1 &

在宿主機(jī)上調(diào)用參數(shù)

curl http://localhost:8000/v1/chat/completions \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen2.5-7b",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "介紹一下中國(guó),不少于10000字"}
    ],
    "stream": true
}'

 到此這篇關(guān)于Docker安裝分布式vLLM的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker安裝分布式vLLM內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 完美解決Windows10下無法對(duì)docker容器進(jìn)行端口訪問的操作

    完美解決Windows10下無法對(duì)docker容器進(jìn)行端口訪問的操作

    這篇文章主要介紹了完美解決Windows10下無法對(duì)docker容器進(jìn)行端口訪問的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 從零搭建docker私有倉庫的步驟

    從零搭建docker私有倉庫的步驟

    這篇文章主要介紹了從零搭建docker私有倉庫的步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • Docker實(shí)現(xiàn)掛載的方式匯總

    Docker實(shí)現(xiàn)掛載的方式匯總

    Docker實(shí)現(xiàn)掛載有多種方式,下面給大家分享Docker實(shí)現(xiàn)掛載常見方式,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • 使用Docker部署Spring Boot的方法示例

    使用Docker部署Spring Boot的方法示例

    這篇文章主要介紹了使用Docker部署Spring Boot的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺談Docker 容器數(shù)據(jù)卷掛載小結(jié)

    淺談Docker 容器數(shù)據(jù)卷掛載小結(jié)

    本篇文章主要介紹了淺談Docker 容器數(shù)據(jù)卷掛載小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Docker容器搭建運(yùn)行python的深度學(xué)習(xí)環(huán)境的方法

    Docker容器搭建運(yùn)行python的深度學(xué)習(xí)環(huán)境的方法

    本文主要介紹了Docker容器搭建運(yùn)行python的深度學(xué)習(xí)環(huán)境的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • docker部署Trilium?Notes和cpolar,實(shí)現(xiàn)遠(yuǎn)程在線協(xié)作(圖文教程)

    docker部署Trilium?Notes和cpolar,實(shí)現(xiàn)遠(yuǎn)程在線協(xié)作(圖文教程)

    Trilium?Notes?是一款層次化筆記工具,能構(gòu)建大型個(gè)人知識(shí)庫,支持樹形結(jié)構(gòu)、Markdown?編輯、雙向鏈接和加密等功能,本文講述Trilium?Notes的中文版如何在Linux環(huán)境使用docker本地部署,并結(jié)合cpolar內(nèi)網(wǎng)穿透工具配置公網(wǎng)地址,輕松實(shí)現(xiàn)遠(yuǎn)程在線協(xié)作的詳細(xì)教程
    2026-01-01
  • Docker快速入門以及環(huán)境配置詳解

    Docker快速入門以及環(huán)境配置詳解

    Docker應(yīng)該算是很熱門的技術(shù)了,之前一直沒怎么真正地去了解、接觸。通過翻譯這篇簡(jiǎn)單的教程,我同時(shí)也對(duì)Dcoker有了入門的了解。Docker確實(shí)是跨平臺(tái)開發(fā)的利器。有需要的朋友們下面跟著小編一起來看看吧。
    2016-10-10
  • 詳解Docker中安裝配置Oracle數(shù)據(jù)庫

    詳解Docker中安裝配置Oracle數(shù)據(jù)庫

    本篇文章主要介紹了詳解Docker中安裝配置Oracle數(shù)據(jù)庫,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • Docker使用、容器遷移的方案詳解

    Docker使用、容器遷移的方案詳解

    Docker 是一個(gè)開源的容器化平臺(tái),用于打包、部署和運(yùn)行應(yīng)用程序及其依賴環(huán)境,本文給大家介紹Docker使用、容器遷移的方案,感興趣的朋友一起看看吧
    2025-04-04

最新評(píng)論

屯门区| 雅江县| 玉屏| 新巴尔虎左旗| 土默特右旗| 石景山区| 宜黄县| 宁阳县| 蓝山县| 伊吾县| 安康市| 安乡县| 寿光市| 仙桃市| 陆河县| 石柱| 吉木萨尔县| 集贤县| 长治县| 新乐市| 盐津县| 中阳县| 棋牌| 宁都县| 隆子县| 南昌市| 行唐县| 宁化县| 丹凤县| 修水县| 岐山县| 天祝| 阿勒泰市| 仙游县| 临沧市| 大埔区| 三穗县| 崇义县| 彩票| 新平| 马尔康县|