x
This commit is contained in:
+5
-17
@@ -15,7 +15,7 @@ ARG ROCM_MAJOR_VER=7
|
|||||||
ARG GFX=gfx120X-all
|
ARG GFX=gfx120X-all
|
||||||
RUN set -euo pipefail; \
|
RUN set -euo pipefail; \
|
||||||
BASE="https://therock-nightly-tarball.s3.amazonaws.com"; \
|
BASE="https://therock-nightly-tarball.s3.amazonaws.com"; \
|
||||||
PREFIX="therock-dist-linux-${GFX}-${ROCM_MAJOR_VER}"; \
|
PREFIX="therock-dist-linux-${GFX}-${ROCM_MAJOR_VER}-${ROCM_MAJOR_VER}"; \
|
||||||
KEY="$(curl -s "${BASE}?list-type=2&prefix=${PREFIX}" \
|
KEY="$(curl -s "${BASE}?list-type=2&prefix=${PREFIX}" \
|
||||||
| tr '<' '\n' \
|
| tr '<' '\n' \
|
||||||
| grep -o "therock-dist-linux-${GFX}-${ROCM_MAJOR_VER}\..*\.tar\.gz" \
|
| grep -o "therock-dist-linux-${GFX}-${ROCM_MAJOR_VER}\..*\.tar\.gz" \
|
||||||
@@ -80,7 +80,7 @@ RUN echo "import sys, re" > patch_vllm.py && \
|
|||||||
echo "p = Path('vllm/platforms/__init__.py')" >> patch_vllm.py && \
|
echo "p = Path('vllm/platforms/__init__.py')" >> patch_vllm.py && \
|
||||||
echo "txt = p.read_text()" >> patch_vllm.py && \
|
echo "txt = p.read_text()" >> patch_vllm.py && \
|
||||||
echo "txt = txt.replace('import amdsmi', '# import amdsmi')" >> patch_vllm.py && \
|
echo "txt = txt.replace('import amdsmi', '# import amdsmi')" >> patch_vllm.py && \
|
||||||
echo "txt = re.sub(r'is_rocm = .*', 'is_rocm = True', txt)" >> patch_vllm.py && \
|
echo "txt = re.sub(r'import is_rocm = .*', 'is_rocm = True', txt)" >> patch_vllm.py && \
|
||||||
echo "txt = re.sub(r'if len\(amdsmi\.amdsmi_get_processor_handles\(\)\) > 0:', 'if True:', txt)" >> patch_vllm.py && \
|
echo "txt = re.sub(r'if len\(amdsmi\.amdsmi_get_processor_handles\(\)\) > 0:', 'if True:', txt)" >> patch_vllm.py && \
|
||||||
echo "txt = txt.replace('amdsmi.amdsmi_init()', 'pass')" >> patch_vllm.py && \
|
echo "txt = txt.replace('amdsmi.amdsmi_init()', 'pass')" >> patch_vllm.py && \
|
||||||
echo "txt = txt.replace('amdsmi.amdsmi_shut_down()', 'pass')" >> patch_vllm.py && \
|
echo "txt = txt.replace('amdsmi.amdsmi_shut_down()', 'pass')" >> patch_vllm.py && \
|
||||||
@@ -145,21 +145,9 @@ RUN chmod -R a+rwX /opt && \
|
|||||||
rm -rf /root/.cache/pip || true && \
|
rm -rf /root/.cache/pip || true && \
|
||||||
dnf clean all && rm -rf /var/cache/dnf/*
|
dnf clean all && rm -rf /var/cache/dnf/*
|
||||||
|
|
||||||
# Create vLLM configuration directory
|
# Create vLLM configuration directory and model directory
|
||||||
RUN mkdir -p /etc/vllm
|
RUN mkdir -p /etc/vllm && \
|
||||||
|
mkdir -p /model
|
||||||
# Create default YAML configuration file
|
|
||||||
RUN printf '# model_config.yaml - 多模型配置\n# 默认启动的模型\ndefault: "deepseek_r1_distill_qwen_32b_awq"\n\n# 模型配置\nmodels:\n deepseek_r1_distill_qwen_14b:\n path: "/app/vllm/models/DeepSeek-R1-Distill-Qwen-14B"\n name: "DeepSeek-R1-Distill-Qwen-14B"\n max_model_len: 8192\n gpu_memory_utilization: 0.9\n port: 2001\n dtype: "float16"\n quantization: "awq"\n tensor_parallel_size: 1\n enforce_eager: true\n api_key: "sk-14b-20240101-abcdef123456"\n \n deepseek_r1_distill_qwen_32b_awq:\n path: "/app/vllm/models/DeepSeek-R1-Distill-Qwen-32B-AWQ"\n name: "DeepSeek-R1-Distill-Qwen-32B-AWQ"\n \n # 模型性能参数\n max_model_len: 32768\n gpu_memory_utilization: 0.95\n enforce_eager: true\n max_num_seqs: 2\n max_num_batched_tokens: 1024\n block_size: 16\n tensor_parallel_size: 1\n swap_space: 0\n \n # 新增:采样参数默认值\n sampling_defaults:\n temperature: 0.6\n max_tokens: 4096\n top_p: 0.9\n frequency_penalty: 0.0\n presence_penalty: 0.0\n stop:\n - "用户:"
|
|
||||||
- "助手:"
|
|
||||||
- "###"
|
|
||||||
- "问题:"
|
|
||||||
- "回答:"
|
|
||||||
\n # 其他配置\n dtype: "auto"\n quantization: "awq"\n port: 2001\n api_key: "sk-32b-20240101-ghijk789012"\n \n glm_4_7_flash_awq:\n path: "/app/vllm/models/GLM-4.7-Flash-AWQ"\n name: "GLM-4.7-Flash-AWQ"\n \n # 模型性能参数\n max_model_len: 32768\n gpu_memory_utilization: 0.9\n enforce_eager: false\n max_num_seqs: 2\n max_num_batched_tokens: 1024\n block_size: 16\n tensor_parallel_size: 1\n swap_space: 0\n \n # 新增:采样参数默认值\n sampling_defaults:\n temperature: 0.6\n max_tokens: 4096\n top_p: 0.9\n frequency_penalty: 0.0\n presence_penalty: 0.0\n stop:\n - "用户:"
|
|
||||||
- "助手:"
|
|
||||||
- "###"
|
|
||||||
- "问题:"
|
|
||||||
- "回答:"
|
|
||||||
\n # 其他配置\n dtype: "auto"\n quantization: "awq"\n port: 2001\n api_key: "sk-32b-20240101-ghijk789012"\n \n qwen3_vl_32b_instruct_awq:\n path: "/app/vllm/models/Qwen3-VL-32B-Instruct-AWQ"\n name: "Qwen3-VL-32B-Instruct-AWQ"\n max_model_len: 32768\n gpu_memory_utilization: 0.7\n port: 2001\n dtype: "auto"\n quantization: "awq"\n tensor_parallel_size: 1\n enforce_eager: true\n api_key: "sk-glm-20240101-lmnop345678"\n\n# 服务器通用设置\nserver:\n host: "0.0.0.0"\n log_level: "info"\n # 全局管理员密钥(拥有所有模型的访问权限)\n admin_key: "sk-admin-20240101-xyz789"\n # 允许的请求头名称(支持多个,按顺序检查)\n api_key_headers: ["Authorization", "X-API-Key", "api-key"]\n # 是否允许通过查询参数传递密钥\n allow_query_param: true\n # 查询参数名称\n api_key_param: "api_key"' > /etc/vllm/model_config.yaml
|
|
||||||
|
|
||||||
# Copy necessary scripts
|
# Copy necessary scripts
|
||||||
COPY scripts/01-rocm-envs.sh /etc/profile.d/01-rocm-envs.sh
|
COPY scripts/01-rocm-envs.sh /etc/profile.d/01-rocm-envs.sh
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ docker build -t custom-vllm-r9700:latest .
|
|||||||
# 运行容器
|
# 运行容器
|
||||||
docker run -it --device /dev/dri --device /dev/kfd \
|
docker run -it --device /dev/dri --device /dev/kfd \
|
||||||
--group-add video --group-add render --security-opt seccomp=unconfined \
|
--group-add video --group-add render --security-opt seccomp=unconfined \
|
||||||
-v /path/to/models:/models \
|
-v /opt/models:/models \
|
||||||
-v /path/to/model_config.yaml:/etc/vllm/model_config.yaml \
|
-v /opt/model_config.yaml:/etc/vllm/model_config.yaml \
|
||||||
-e LOCAL_MODEL_DIR=/models \
|
-e LOCAL_MODEL_DIR=/models \
|
||||||
custom-vllm-r9700:latest
|
custom-vllm-r9700:latest
|
||||||
```
|
```
|
||||||
@@ -57,8 +57,8 @@ docker build -t custom-vllm-r9700:latest .
|
|||||||
```bash
|
```bash
|
||||||
docker run -it --device /dev/dri --device /dev/kfd \
|
docker run -it --device /dev/dri --device /dev/kfd \
|
||||||
--group-add video --group-add render --security-opt seccomp=unconfined \
|
--group-add video --group-add render --security-opt seccomp=unconfined \
|
||||||
-v /path/to/models:/models \
|
-v /opt/models:/models \
|
||||||
-v /path/to/model_config.yaml:/etc/vllm/model_config.yaml \
|
-v /opt/model_config.yaml:/etc/vllm/model_config.yaml \
|
||||||
-e LOCAL_MODEL_DIR=/models \
|
-e LOCAL_MODEL_DIR=/models \
|
||||||
custom-vllm-r9700:latest
|
custom-vllm-r9700:latest
|
||||||
```
|
```
|
||||||
@@ -86,7 +86,7 @@ distrobox enter vllm-custom
|
|||||||
|
|
||||||
## 配置文件
|
## 配置文件
|
||||||
|
|
||||||
容器使用 YAML 格式的配置文件来设置 vLLM 服务器参数。默认配置文件位于 `/etc/vllm/model_config.yaml`。项目根目录中提供了配置文件示例 `model_config.yaml.example`,您可以参考它来创建自己的配置文件。
|
容器使用 YAML 格式的配置文件来设置 vLLM 服务器参数。配置文件需要挂载到 `/etc/vllm/model_config.yaml`。项目根目录中提供了配置文件示例 `model_config.yaml.example`,您可以参考它来创建自己的配置文件。
|
||||||
|
|
||||||
### 配置文件示例
|
### 配置文件示例
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ default: "deepseek_r1_distill_qwen_32b_awq"
|
|||||||
# 模型配置
|
# 模型配置
|
||||||
models:
|
models:
|
||||||
deepseek_r1_distill_qwen_14b:
|
deepseek_r1_distill_qwen_14b:
|
||||||
path: "/app/vllm/models/DeepSeek-R1-Distill-Qwen-14B"
|
path: "/models/DeepSeek-R1-Distill-Qwen-14B"
|
||||||
name: "DeepSeek-R1-Distill-Qwen-14B"
|
name: "DeepSeek-R1-Distill-Qwen-14B"
|
||||||
max_model_len: 8192
|
max_model_len: 8192
|
||||||
gpu_memory_utilization: 0.9
|
gpu_memory_utilization: 0.9
|
||||||
@@ -110,7 +110,7 @@ models:
|
|||||||
api_key: "sk-14b-20240101-abcdef123456"
|
api_key: "sk-14b-20240101-abcdef123456"
|
||||||
|
|
||||||
deepseek_r1_distill_qwen_32b_awq:
|
deepseek_r1_distill_qwen_32b_awq:
|
||||||
path: "/app/vllm/models/DeepSeek-R1-Distill-Qwen-32B-AWQ"
|
path: "/models/DeepSeek-R1-Distill-Qwen-32B-AWQ"
|
||||||
name: "DeepSeek-R1-Distill-Qwen-32B-AWQ"
|
name: "DeepSeek-R1-Distill-Qwen-32B-AWQ"
|
||||||
|
|
||||||
# 模型性能参数
|
# 模型性能参数
|
||||||
@@ -144,7 +144,7 @@ models:
|
|||||||
api_key: "sk-32b-20240101-ghijk789012"
|
api_key: "sk-32b-20240101-ghijk789012"
|
||||||
|
|
||||||
glm_4_7_flash_awq:
|
glm_4_7_flash_awq:
|
||||||
path: "/app/vllm/models/GLM-4.7-Flash-AWQ"
|
path: "/models/GLM-4.7-Flash-AWQ"
|
||||||
name: "GLM-4.7-Flash-AWQ"
|
name: "GLM-4.7-Flash-AWQ"
|
||||||
|
|
||||||
# 模型性能参数
|
# 模型性能参数
|
||||||
@@ -178,7 +178,7 @@ models:
|
|||||||
api_key: "sk-32b-20240101-ghijk789012"
|
api_key: "sk-32b-20240101-ghijk789012"
|
||||||
|
|
||||||
qwen3_vl_32b_instruct_awq:
|
qwen3_vl_32b_instruct_awq:
|
||||||
path: "/app/vllm/models/Qwen3-VL-32B-Instruct-AWQ"
|
path: "/models/Qwen3-VL-32B-Instruct-AWQ"
|
||||||
name: "Qwen3-VL-32B-Instruct-AWQ"
|
name: "Qwen3-VL-32B-Instruct-AWQ"
|
||||||
max_model_len: 32768
|
max_model_len: 32768
|
||||||
gpu_memory_utilization: 0.7
|
gpu_memory_utilization: 0.7
|
||||||
@@ -208,7 +208,7 @@ server:
|
|||||||
- `default`:默认启动的模型名称
|
- `default`:默认启动的模型名称
|
||||||
- `models`:模型配置列表
|
- `models`:模型配置列表
|
||||||
- 每个模型包含:
|
- 每个模型包含:
|
||||||
- `path`:模型路径
|
- `path`:模型路径(相对于 LOCAL_MODEL_DIR)
|
||||||
- `name`:模型名称
|
- `name`:模型名称
|
||||||
- `max_model_len`:最大模型上下文长度
|
- `max_model_len`:最大模型上下文长度
|
||||||
- `gpu_memory_utilization`:GPU 内存利用率
|
- `gpu_memory_utilization`:GPU 内存利用率
|
||||||
@@ -233,7 +233,7 @@ server:
|
|||||||
|
|
||||||
## 环境变量
|
## 环境变量
|
||||||
|
|
||||||
- `LOCAL_MODEL_DIR`:本地模型目录路径(必须设置)
|
- `LOCAL_MODEL_DIR`:本地模型目录路径(必须设置,默认:/models)
|
||||||
- `VLLM_CONFIG_FILE`:配置文件路径(默认:/etc/vllm/model_config.yaml)
|
- `VLLM_CONFIG_FILE`:配置文件路径(默认:/etc/vllm/model_config.yaml)
|
||||||
|
|
||||||
## 启动 vLLM 服务器
|
## 启动 vLLM 服务器
|
||||||
@@ -276,7 +276,7 @@ chmod +x build_and_run.sh
|
|||||||
./build_and_run.sh -p 8080
|
./build_and_run.sh -p 8080
|
||||||
|
|
||||||
# 指定配置文件和模型目录
|
# 指定配置文件和模型目录
|
||||||
./build_and_run.sh -c /path/to/config.yaml -m /path/to/models
|
./build_and_run.sh -c /opt/model_config.yaml -m /opt/models
|
||||||
|
|
||||||
# 交互式运行(前台运行)
|
# 交互式运行(前台运行)
|
||||||
./build_and_run.sh -i
|
./build_and_run.sh -i
|
||||||
@@ -313,8 +313,8 @@ docker build -t custom-vllm-r9700:latest .
|
|||||||
# 2. 运行容器
|
# 2. 运行容器
|
||||||
docker run -it --device /dev/dri --device /dev/kfd \
|
docker run -it --device /dev/dri --device /dev/kfd \
|
||||||
--group-add video --group-add render --security-opt seccomp=unconfined \
|
--group-add video --group-add render --security-opt seccomp=unconfined \
|
||||||
-v /path/to/models:/models \
|
-v /opt/models:/models \
|
||||||
-v /path/to/model_config.yaml:/etc/vllm/model_config.yaml \
|
-v /opt/model_config.yaml:/etc/vllm/model_config.yaml \
|
||||||
-e LOCAL_MODEL_DIR=/models \
|
-e LOCAL_MODEL_DIR=/models \
|
||||||
custom-vllm-r9700:latest
|
custom-vllm-r9700:latest
|
||||||
```
|
```
|
||||||
@@ -425,7 +425,7 @@ print(response.choices[0].text)
|
|||||||
正确的目录结构示例:
|
正确的目录结构示例:
|
||||||
|
|
||||||
```
|
```
|
||||||
/models/
|
/opt/models/
|
||||||
├── deepseek_r1_distill_qwen_14b/
|
├── deepseek_r1_distill_qwen_14b/
|
||||||
│ ├── config.json
|
│ ├── config.json
|
||||||
│ └── model.safetensors
|
│ └── model.safetensors
|
||||||
@@ -463,7 +463,28 @@ print(response.choices[0].text)
|
|||||||
|
|
||||||
- `Dockerfile` - Docker 镜像构建文件
|
- `Dockerfile` - Docker 镜像构建文件
|
||||||
- `README.md` - 项目说明文档
|
- `README.md` - 项目说明文档
|
||||||
- `model_config.yaml.example` - 配置文件示例
|
- `model_config.yaml.example` - 配置文件示例(包含所有模型配置参数)
|
||||||
- `params_config.yaml` - 参数配置文件(定义各类参数的类型和验证规则)
|
|
||||||
- `build_and_run.sh` - 智能部署脚本(自动检测 Git 更新)
|
- `build_and_run.sh` - 智能部署脚本(自动检测 Git 更新)
|
||||||
- `scripts/start_vllm.py` - vLLM 启动脚本
|
- `scripts/` - 脚本目录
|
||||||
|
- `start_vllm.py` - vLLM 启动脚本
|
||||||
|
- `01-rocm-envs.sh` - ROCm 环境配置
|
||||||
|
- `99-toolbox-banner.sh` - Toolbox 横幅
|
||||||
|
- `zz-venv-last.sh` - 虚拟环境配置
|
||||||
|
|
||||||
|
## 部署说明
|
||||||
|
|
||||||
|
### Docker 运行命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -it --device /dev/dri --device /dev/kfd \
|
||||||
|
--group-add video --group-add render --security-opt seccomp=unconfined \
|
||||||
|
-v /opt/models:/models \
|
||||||
|
-v /opt/model_config.yaml:/etc/vllm/model_config.yaml \
|
||||||
|
-e LOCAL_MODEL_DIR=/models \
|
||||||
|
custom-vllm-r9700:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
**挂载说明:**
|
||||||
|
- `/opt/models` - 本地模型目录,挂载到容器的 `/models`
|
||||||
|
- `/opt/model_config.yaml` - 本地配置文件,挂载到容器的 `/etc/vllm/model_config.yaml`
|
||||||
|
- `LOCAL_MODEL_DIR=/models` - 指定模型目录环境变量
|
||||||
|
|||||||
+18
-7
@@ -5,15 +5,26 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# 配置变量
|
# ============== 配置变量(可修改) ==============
|
||||||
|
# 项目目录
|
||||||
|
PROJECT_DIR="/opt/project/vllm-r9700-container"
|
||||||
|
|
||||||
|
# 挂载配置
|
||||||
|
MODEL_DIR="${MODEL_DIR:-/opt/model}" # 本地模型目录(独立于项目目录)
|
||||||
|
CONFIG_FILE="${CONFIG_FILE:-${PROJECT_DIR}/model_config.yaml}" # 本地配置文件(项目根目录下)
|
||||||
|
|
||||||
|
# 容器内配置
|
||||||
|
LOCAL_MODEL_DIR="${LOCAL_MODEL_DIR:-/model}" # 容器内模型目录(与 Dockerfile 保持一致)
|
||||||
|
CONFIG_FILE_IN_CONTAINER="/etc/vllm/model_config.yaml" # 容器内配置文件路径
|
||||||
|
|
||||||
|
# Docker 镜像配置
|
||||||
IMAGE_NAME="custom-vllm-r9700"
|
IMAGE_NAME="custom-vllm-r9700"
|
||||||
IMAGE_TAG="latest"
|
IMAGE_TAG="latest"
|
||||||
CONTAINER_NAME="custom-vllm-r9700"
|
CONTAINER_NAME="custom-vllm-r9700"
|
||||||
PROJECT_DIR="/opt/project/vllm-r9700-container"
|
|
||||||
MODEL_DIR="${MODEL_DIR:-/opt/models}"
|
# Git 配置
|
||||||
CONFIG_FILE="${CONFIG_FILE:-/opt/model_config.yaml}"
|
|
||||||
LOCAL_MODEL_DIR="${LOCAL_MODEL_DIR:-/models}"
|
|
||||||
GIT_BRANCH="${GIT_BRANCH:-main}"
|
GIT_BRANCH="${GIT_BRANCH:-main}"
|
||||||
|
# ================================================
|
||||||
|
|
||||||
# 颜色定义
|
# 颜色定义
|
||||||
RED='\033[0;31m'
|
RED='\033[0;31m'
|
||||||
@@ -286,8 +297,8 @@ run_container() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$CONFIG_FILE" ]; then
|
if [ -f "$CONFIG_FILE" ]; then
|
||||||
VOLUME_ARGS="$VOLUME_ARGS -v ${CONFIG_FILE}:/etc/vllm/model_config.yaml"
|
VOLUME_ARGS="$VOLUME_ARGS -v ${CONFIG_FILE}:${CONFIG_FILE_IN_CONTAINER}"
|
||||||
print_info "配置文件:${CONFIG_FILE}"
|
print_info "配置文件:${CONFIG_FILE} -> ${CONFIG_FILE_IN_CONTAINER}"
|
||||||
else
|
else
|
||||||
print_warning "配置文件不存在:${CONFIG_FILE}"
|
print_warning "配置文件不存在:${CONFIG_FILE}"
|
||||||
print_info "将使用容器内默认配置"
|
print_info "将使用容器内默认配置"
|
||||||
|
|||||||
@@ -1,269 +0,0 @@
|
|||||||
# vLLM 参数配置文件
|
|
||||||
# 用于定义和识别 vLLM 服务器的各类参数
|
|
||||||
|
|
||||||
# 模型参数配置
|
|
||||||
model_params:
|
|
||||||
# 必需参数
|
|
||||||
required:
|
|
||||||
- path # 模型路径
|
|
||||||
|
|
||||||
# 可选参数
|
|
||||||
optional:
|
|
||||||
- name # 模型名称
|
|
||||||
- dtype # 数据类型 (auto, float16, float32, bfloat16)
|
|
||||||
- quantization # 量化方式 (awq, gptq, squeezellm)
|
|
||||||
- trust_remote # 是否信任远程代码
|
|
||||||
|
|
||||||
# 性能参数配置
|
|
||||||
performance_params:
|
|
||||||
# GPU 相关
|
|
||||||
gpu:
|
|
||||||
- tensor_parallel_size # 张量并行度
|
|
||||||
- pipeline_parallel_size # 流水线并行度
|
|
||||||
- gpu_memory_utilization # GPU 内存利用率 (0.0-1.0)
|
|
||||||
- swap_space # CPU 交换空间大小 (GB)
|
|
||||||
- max_num_batched_tokens # 最大批量 tokens 数
|
|
||||||
- max_num_seqs # 最大并发请求数
|
|
||||||
- num_scheduler_steps # 调度器步数
|
|
||||||
|
|
||||||
# 内存管理
|
|
||||||
memory:
|
|
||||||
- block_size # 块大小 (8, 16, 32)
|
|
||||||
- max_model_len # 最大模型上下文长度
|
|
||||||
- max_logprobs # 最大 logprobs 数
|
|
||||||
- disable_sliding_window # 禁用滑动窗口
|
|
||||||
|
|
||||||
# 服务参数配置
|
|
||||||
server_params:
|
|
||||||
# 网络配置
|
|
||||||
network:
|
|
||||||
- host # 服务器主机地址
|
|
||||||
- port # 服务器端口
|
|
||||||
- ssl_keyfile # SSL 密钥文件
|
|
||||||
- ssl_certfile # SSL 证书文件
|
|
||||||
- ssl_ca_certs # SSL CA 证书
|
|
||||||
- ssl_keyfile_password # SSL 密钥密码
|
|
||||||
|
|
||||||
# API 配置
|
|
||||||
api:
|
|
||||||
- api_key # API 密钥
|
|
||||||
- allowed_origins # 允许的源
|
|
||||||
- timeout_keep_alive # 保持连接超时时间
|
|
||||||
|
|
||||||
# 采样参数配置
|
|
||||||
sampling_params:
|
|
||||||
# 温度控制
|
|
||||||
- temperature # 温度 (0.0-2.0)
|
|
||||||
- top_p # 核采样参数 (0.0-1.0)
|
|
||||||
- top_k # Top-K 采样
|
|
||||||
- min_p # 最小概率
|
|
||||||
|
|
||||||
# 惩罚参数
|
|
||||||
- frequency_penalty # 频率惩罚 (-2.0 到 2.0)
|
|
||||||
- presence_penalty # 存在惩罚 (-2.0 到 2.0)
|
|
||||||
- repetition_penalty # 重复惩罚
|
|
||||||
|
|
||||||
# 生成长度
|
|
||||||
- max_tokens # 最大生成 tokens 数
|
|
||||||
- min_tokens # 最小生成 tokens 数
|
|
||||||
- stop # 停止词列表
|
|
||||||
- stop_token_ids # 停止 token IDs
|
|
||||||
|
|
||||||
# 其他采样选项
|
|
||||||
- seed # 随机种子
|
|
||||||
- use_beam_search # 使用束搜索
|
|
||||||
- best_of # 束搜索的最佳候选数
|
|
||||||
- length_penalty # 长度惩罚
|
|
||||||
- early_stopping # 早期停止
|
|
||||||
- ignore_eos # 忽略 EOS token
|
|
||||||
- skip_special_tokens # 跳过特殊 tokens
|
|
||||||
- spaces_between_special_tokens # 特殊 tokens 之间的空格
|
|
||||||
|
|
||||||
# 日志参数配置
|
|
||||||
logging_params:
|
|
||||||
- log_level # 日志级别 (debug, info, warning, error)
|
|
||||||
- log_requests # 是否记录请求
|
|
||||||
- log_responses # 是否记录响应
|
|
||||||
|
|
||||||
# 高级参数配置
|
|
||||||
advanced_params:
|
|
||||||
# 执行模式
|
|
||||||
- enforce_eager # 强制使用 eager 模式
|
|
||||||
- cuda_graphs # CUDA 图
|
|
||||||
- use_v2_block_manager # 使用 V2 块管理器
|
|
||||||
|
|
||||||
# 注意力后端
|
|
||||||
- use_rocm_attn # 使用 ROCm 注意力后端
|
|
||||||
- attention_backend # 注意力后端类型
|
|
||||||
|
|
||||||
# 分布式
|
|
||||||
- distributed_executor_backend # 分布式执行器后端
|
|
||||||
- ray_workers_use_nsight # Ray workers 使用 nsight
|
|
||||||
|
|
||||||
# 其他
|
|
||||||
- load_format # 加载格式
|
|
||||||
- download_dir # 下载目录
|
|
||||||
- revision # 模型版本
|
|
||||||
- code_revision # 代码版本
|
|
||||||
- tokenizer_revision # tokenizer 版本
|
|
||||||
|
|
||||||
# 参数类型映射
|
|
||||||
param_types:
|
|
||||||
# 整数类型
|
|
||||||
integer:
|
|
||||||
- tensor_parallel_size
|
|
||||||
- pipeline_parallel_size
|
|
||||||
- max_num_batched_tokens
|
|
||||||
- max_num_seqs
|
|
||||||
- block_size
|
|
||||||
- max_model_len
|
|
||||||
- max_tokens
|
|
||||||
- min_tokens
|
|
||||||
- top_k
|
|
||||||
- best_of
|
|
||||||
- seed
|
|
||||||
- num_scheduler_steps
|
|
||||||
- max_logprobs
|
|
||||||
- swap_space
|
|
||||||
- timeout_keep_alive
|
|
||||||
|
|
||||||
# 浮点数类型
|
|
||||||
float:
|
|
||||||
- gpu_memory_utilization
|
|
||||||
- temperature
|
|
||||||
- top_p
|
|
||||||
- min_p
|
|
||||||
- frequency_penalty
|
|
||||||
- presence_penalty
|
|
||||||
- repetition_penalty
|
|
||||||
- length_penalty
|
|
||||||
|
|
||||||
# 布尔类型
|
|
||||||
boolean:
|
|
||||||
- trust_remote
|
|
||||||
- enforce_eager
|
|
||||||
- use_rocm_attn
|
|
||||||
- use_beam_search
|
|
||||||
- early_stopping
|
|
||||||
- ignore_eos
|
|
||||||
- skip_special_tokens
|
|
||||||
- spaces_between_special_tokens
|
|
||||||
- log_requests
|
|
||||||
- log_responses
|
|
||||||
- disable_sliding_window
|
|
||||||
- use_v2_block_manager
|
|
||||||
|
|
||||||
# 字符串类型
|
|
||||||
string:
|
|
||||||
- path
|
|
||||||
- name
|
|
||||||
- dtype
|
|
||||||
- quantization
|
|
||||||
- host
|
|
||||||
- port
|
|
||||||
- api_key
|
|
||||||
- ssl_keyfile
|
|
||||||
- ssl_certfile
|
|
||||||
- ssl_ca_certs
|
|
||||||
- ssl_keyfile_password
|
|
||||||
- log_level
|
|
||||||
- attention_backend
|
|
||||||
- load_format
|
|
||||||
- download_dir
|
|
||||||
- revision
|
|
||||||
- code_revision
|
|
||||||
- tokenizer_revision
|
|
||||||
|
|
||||||
# 列表类型
|
|
||||||
list:
|
|
||||||
- stop
|
|
||||||
- stop_token_ids
|
|
||||||
- allowed_origins
|
|
||||||
|
|
||||||
# 参数默认值
|
|
||||||
param_defaults:
|
|
||||||
host: "0.0.0.0"
|
|
||||||
port: 8000
|
|
||||||
dtype: "auto"
|
|
||||||
gpu_memory_utilization: 0.9
|
|
||||||
max_model_len: 8192
|
|
||||||
tensor_parallel_size: 1
|
|
||||||
max_num_seqs: 256
|
|
||||||
block_size: 16
|
|
||||||
temperature: 0.7
|
|
||||||
top_p: 0.9
|
|
||||||
max_tokens: 256
|
|
||||||
enforce_eager: false
|
|
||||||
trust_remote: false
|
|
||||||
log_level: "info"
|
|
||||||
|
|
||||||
# 参数验证规则
|
|
||||||
param_validation:
|
|
||||||
gpu_memory_utilization:
|
|
||||||
min: 0.0
|
|
||||||
max: 1.0
|
|
||||||
|
|
||||||
temperature:
|
|
||||||
min: 0.0
|
|
||||||
max: 2.0
|
|
||||||
|
|
||||||
top_p:
|
|
||||||
min: 0.0
|
|
||||||
max: 1.0
|
|
||||||
|
|
||||||
min_p:
|
|
||||||
min: 0.0
|
|
||||||
max: 1.0
|
|
||||||
|
|
||||||
frequency_penalty:
|
|
||||||
min: -2.0
|
|
||||||
max: 2.0
|
|
||||||
|
|
||||||
presence_penalty:
|
|
||||||
min: -2.0
|
|
||||||
max: 2.0
|
|
||||||
|
|
||||||
tensor_parallel_size:
|
|
||||||
min: 1
|
|
||||||
max: 8
|
|
||||||
|
|
||||||
block_size:
|
|
||||||
allowed_values: [8, 16, 32]
|
|
||||||
|
|
||||||
# 参数分组(用于配置文件组织)
|
|
||||||
param_groups:
|
|
||||||
basic:
|
|
||||||
name: "基础配置"
|
|
||||||
params:
|
|
||||||
- path
|
|
||||||
- name
|
|
||||||
- port
|
|
||||||
- api_key
|
|
||||||
|
|
||||||
performance:
|
|
||||||
name: "性能配置"
|
|
||||||
params:
|
|
||||||
- tensor_parallel_size
|
|
||||||
- gpu_memory_utilization
|
|
||||||
- max_model_len
|
|
||||||
- max_num_seqs
|
|
||||||
- block_size
|
|
||||||
|
|
||||||
sampling:
|
|
||||||
name: "采样配置"
|
|
||||||
params:
|
|
||||||
- temperature
|
|
||||||
- top_p
|
|
||||||
- max_tokens
|
|
||||||
- frequency_penalty
|
|
||||||
- presence_penalty
|
|
||||||
- stop
|
|
||||||
|
|
||||||
advanced:
|
|
||||||
name: "高级配置"
|
|
||||||
params:
|
|
||||||
- dtype
|
|
||||||
- quantization
|
|
||||||
- enforce_eager
|
|
||||||
- trust_remote
|
|
||||||
- swap_space
|
|
||||||
Reference in New Issue
Block a user