Ubuntu 24.04 + NVIDIA L40 部署 Qwen3.8-27B-FP8 私有化推理实战(vLLM + Open-WebUI)

本文记录在单卡 L40(48GB)上,使用 vLLM 将阿里开源的 Qwen3.8-27B-FP8 部署为 OpenAI 兼容 API,并接入 Open-WebUI 的完整流程,涵盖驱动 / CUDA、Python 环境、模型下载、服务启动参数详解与常见排错。全部命令基于实测环境整理,可直接落地。

一、模型与环境说明

Qwen3.8-27B-FP8 是 Qwen3.8 系列的 270 亿参数稠密模型,采用 Apache 2.0 协议开源。与部署强相关的几个特性决定了后面的启动参数:

  • 多模态:内置视觉塔(vision tower),支持图文输入,因此需要 --mm-encoder-tp-mode data
  • 混合注意力:64 层中仅 16 层为全注意力,其余 48 层为线性注意力,恒定循环状态使 KV Cache 占用远低于同规模全注意力模型,对单卡长上下文非常友好。
  • 默认思考模式:推理时默认输出 <think>...</think> 思考内容,因此需要 --reasoning-parser qwen3 进行解析。
  • 原生 262K 上下文,可经 YaRN 扩展至 1M;内置 MTP 草稿头,可开启投机解码降低时延。
  • FP8 量化:官方 Qwen/Qwen3.8-27B-FP8 为 block-size 128 的细粒度 FP8,精度接近原始 BF16 权重,L40(Ada 架构 sm_89)原生支持 FP8 计算。

显存规划

27B 级稠密模型在不同精度下的权重显存(不含 KV Cache)大致如下:

精度 权重显存 单卡 L40(48GB)
BF16 约 56GB 单卡放不下,需 2 卡
FP8 约 28GB  单卡可跑,余量约 16GB 供 KV Cache
4-bit 约 14–16GB 单卡宽裕

结论L40 单卡跑 FP8 权重约 28GB,配合混合注意力带来的低 KV Cache 开销,--max-model-len 32768 下显存非常宽松,实际还可以把上下文往上调。

二、系统准备与 NVIDIA 驱动

sudo apt update && sudo apt upgrade -y
sudo apt install -y alsa-utils

# 查看可用驱动,选择 server 版
ubuntu-drivers list
sudo apt install -y nvidia-driver-595-server
sudo reboot        # 驱动装完务必重启

# 重启后确认驱动就绪
nvidia-smi

注意:避免驱动重复安装下一步安装的 CUDA 本地 .deb 仓库已经打包了 595.45.04 驱动。若你打算用 CUDA 本地包安装驱动,这里可以跳过 nvidia-driver-595-server,避免两套驱动来源冲突。二选一即可,装完统一重启一次。

三、安装 CUDA Toolkit 13.2

# 固定仓库优先级
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600

# 本地仓库包(内含 595.45.04 驱动)
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-ubuntu2404-13-2-local_13.2.0-595.45.04-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-13-2-local_13.2.0-595.45.04-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2404-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-2

配置环境变量(解决 nvcc not found)

若执行 nvcc --version 提示 Command 'nvcc' not found,说明 CUDA 的 bin 目录未加入 PATH。编辑 ~/.bashrc,追加:

export PATH=/usr/local/cuda-13.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-13.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
nvcc --version

正常输出应类似:

nvcc: NVIDIA (R) Cuda compiler driver
Cuda compilation tools, release 13.2, V13.2.51
Build cuda_13.2.r13.2/compiler.37434383_0

四、创建 Python venv 环境

坚持使用独立虚拟环境隔离依赖,不使用 --break-system-packages 污染系统 Python:

sudo apt install -y python3.12-venv python3-pip
python3 -m venv ~/venvs/qwen3
source ~/venvs/qwen3/bin/activate
pip install -U pip setuptools wheel

五、安装 vLLM

版本要求Qwen3.8 系列为新架构,需较新的 vLLM 才能正确加载。若正式版尚未跟进,请使用 nightly 预发布版本。装完用 vllm --version 确认。

# 优先尝试正式版
pip install -U vllm

# 如加载失败 / 报架构不识别,改用 nightly
pip install -U vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

# 下载工具
pip install -U modelscope huggingface_hub

六、下载模型(ModelScope)

国内环境推荐从 ModelScope 拉取,速度更稳定:

mkdir -p /data/models
modelscope download --model Qwen/Qwen3.8-27B-FP8 \
  --local_dir /data/models/Qwen3.8-27B-FP8

七、启动 vLLM 推理服务

vllm serve /data/models/Qwen3.8-27B-FP8 \
  --tensor-parallel-size 1 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --reasoning-parser qwen3 \
  --mm-encoder-tp-mode data \
  --trust-remote-code \
  --served-model-name Qwen3.8-27B \
  --max-num-seqs 16 \
  --max-model-len 32768 \
  --enable-prefix-caching \
  --gpu-memory-utilization 0.92

关键参数说明

参数 作用
--tensor-parallel-size 1 单卡 L40,张量并行度为 1。
--enable-auto-tool-choice + --tool-call-parser qwen3_coder 启用函数调用(Function Calling),使用 Qwen3 Coder 工具调用解析器,供智能体使用。
--reasoning-parser qwen3 解析模型默认输出的 <think> 思考内容。
--mm-encoder-tp-mode data 多模态视觉编码器采用数据并行模式(该模型带视觉塔)。
--enable-prefix-caching 前缀缓存,重复上下文场景显著提升吞吐(官方 recipe 推荐)。
--max-model-len 32768 单卡下的稳妥上下文长度;显存有余量时可上调(模型原生支持 262K)。
--gpu-memory-utilization 0.92 显存利用率上限,48GB 下预留系统余量。

进阶:开启 MTP 投机解码(可选)该模型内置 MTP 草稿头,追加以下参数可降低解码时延:

--speculative-config '{"method":"mtp","num_speculative_tokens":1}'

优化后的参数

vllm serve /data/models/Qwen3.8-27B-FP8 \
--tensor-parallel-size 1 \
--served-model-name Qwen3.8-27B \
--trust-remote-code \
--max-model-len 131072 \
--speculative-config '{"method":"mtp","num_speculative_tokens":3}' \
--kv-cache-dtype fp8 \
--enable-prefix-caching \
--enable-chunked-prefill \
--max-num-batched-tokens 8192 \
--max-num-seqs 2 \
--gpu-memory-utilization 0.90 \
--mm-encoder-tp-mode data \
--limit-mm-per-prompt '{"image": 4, "video": 0}' \
--mm-processor-kwargs '{"min_pixels": 3136, "max_pixels": 1003520}' \
--mm-processor-cache-gb 2 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3

1. --speculative-config MTP 投机解码(最主要,通常 1.7–2.5×)
这是唯一一个直接改变解码算法的参数。原理:

普通解码:每次前向只出 1 个 token,且 decode 阶段是显存带宽瓶颈(要把 27B 的全部权重从 HBM 搬一遍才吐一个 token),GPU 算力利用率往往只有个位数百分比。
MTP(Multi-Token Prediction):模型自带的轻量 draft head 一次猜出后面 3 个 token,然后用一次前向并行验证这 4 个。接受率通常 60%–75%,等于一次权重搬运产出 2–3 个 token。

所以提升的不是算力,而是把「浪费掉的算力」换成了 token。它在小 batch 下收益最大,而你恰好把 max-num-seqs 调成了 2 —— 两者是叠加放大的。

2. --max-num-seqs 16 → 2(对"单请求 tok/s"影响巨大)
这条要看你测的是哪个指标:

指标 16 seqs 2 seqs
单请求速度(tok/s per request) 低 高很多
整机总吞吐(并发满载时) 高 低

batch 越大,每个 token 的显存带宽被更多请求摊薄,单请求就越慢。你调到 2,等于把整块卡的带宽让给 1–2 个请求。如果你是在网页/单会话里体感测速,这一条能贡献很大一部分观感提升。

同时 max-num-seqs 小也让 MTP 的接受收益不被大 batch 稀释(大 batch 下投机解码经常反而变慢,因为验证阶段变成算力瓶颈)。

3. --kv-cache-dtype fp8(两重收益)
容量:KV cache 从 FP16 变 FP8,每 token 显存减半。这是你能把 max-model-len 从 32768 拉到 131072 还不 OOM 的前提。
速度:长上下文下 attention 要扫描全部 KV,读取量减半 → attention kernel 明显加速。上下文越长,这条收益越大。
4. 旧配置很可能在发生 preemption(抢占重算)

旧配置 max-num-seqs 16 + max-model-len 32768 + FP16 KV。27B FP8 权重约 27 GB,剩余 KV 空间有限。一旦并发请求的上下文变长,vLLM 会 preempt(抢占) 部分序列,把它们的 KV 丢弃、之后重新 prefill 一遍。日志里会出现 Sequence group ... is preempted。

这是隐形的性能杀手,重算是纯浪费。新配置 fp8 KV + 只 2 条序列,KV 池极其宽裕,基本不会抢占。

5. --enable-chunked-prefill + --max-num-batched-tokens 8192
把长 prompt 的 prefill 切成 8192 token 的块,与 decode 混合调度。效果是 prefill 不再长时间独占 GPU 阻塞正在解码的请求,token 输出变得平滑、不卡顿。对"体感速度"有帮助,对纯单请求吞吐影响不大。

(注:vLLM V1 引擎里 chunked prefill 默认已开启,显式写上只是明确化。)

6. --mm-processor-cache-gb 2
多模态预处理缓存。同一张图在多轮对话里反复出现时,不再重复跑 ViT 预处理/编码,省掉可观的 TTFT。

逐行详解
vllm serve /data/models/Qwen3.8-27B-FP8
启动 OpenAI 兼容 API 服务,加载本地权重目录。FP8 权重本身要求 Hopper/Ada(H100/H800/L40S/L20,SM≥89)才有原生加速,Ampere 上会走模拟路径而变慢。

--tensor-parallel-size 1
张量并行度 1 = 单卡跑完整模型,不做层内切分。27B FP8 约 27–28 GB 权重,单卡 48/80 GB 放得下。

--served-model-name Qwen3.8-27B
对外暴露的模型名。客户端 "model": "Qwen3.8-27B" 即可,不必写完整路径。

--trust-remote-code
允许执行模型仓库里自带的 Python 建模代码(modeling_*.py、processing_*.py)。多模态/新架构模型通常必需。只对可信来源的权重开启。

--max-model-len 131072
单请求上下文上限(prompt + 输出)128K。这个值直接决定 vLLM 预留的最大 KV 规模和 RoPE 配置,能开到 128K 靠的是 fp8 KV。

--speculative-config '{"method":"mtp","num_speculative_tokens":3}'
启用 MTP 投机解码,每步预测 3 个候选 token。

num_speculative_tokens 调大(如 5)不一定更快:接受率随位置递减,验证成本线性上升,通常 2–4 是甜点。
前提:权重目录里必须含 MTP head 权重,否则启动直接报错。
输出与非投机解码在数值上等价(拒绝采样保证分布一致),不掉质量。

--kv-cache-dtype fp8
KV cache 用 FP8(默认 e4m3)存储。显存减半、attention 读带宽减半。精度影响一般很小,但超长上下文的精确检索类任务(大海捞针、长文档引用)可能有轻微退化。

--enable-prefix-caching
跨请求复用相同前缀的 KV block。对固定 system prompt、多轮对话、RAG 中重复文档块效果显著——命中即跳过该段 prefill,TTFT 大幅下降。新旧配置都开了,不是本次提速的原因。

--enable-chunked-prefill
长 prompt 分块预填充,与 decode 混合调度。见上文第 5 点。

--max-num-batched-tokens 8192
单次调度迭代处理的 token 总数上限(prefill chunk + decode 之和)。

调大 → prefill 更快,但正在解码的请求卡顿更明显。
调小 → 输出更平滑,长 prompt 首 token 变慢。
8192 是长上下文场景比较均衡的取值。

--max-num-seqs 2
并发运行序列数上限。这是延迟/吞吐的核心权衡开关:

2 = 极致低延迟、单请求最快,适合个人使用或对话式场景。
但第 3 个请求到来时会排队等待,多人共用时体验会很差。
如果要服务多人,建议调到 8–16,此时 MTP 收益会缩水,甚至可以考虑关掉投机解码。

--gpu-memory-utilization 0.90
允许 vLLM 占用的显存比例。权重 + 激活 + CUDA graph 之外的部分全部做成 KV pool。从 0.92 降到 0.90 是略微减少 KV,但 fp8 KV 带来的翻倍容量远远抵消了。留 10% 余量对多模态是合理的(ViT 编码器的激活峰值不好预估)。

--mm-encoder-tp-mode data
多模态编码器(ViT)用数据并行而非张量并行切分——多张图分给不同 rank 各自编码。在 TP=1 下此参数实际无效,是为将来多卡准备的。

--limit-mm-per-prompt '{"image": 4, "video": 0}'
单请求最多 4 张图、禁用视频。作用是限制多模态 token 占用上限,防止用户塞几十张图撑爆 KV 导致 OOM。是保护性参数,不影响速度。

--mm-processor-kwargs '{"min_pixels": 3136, "max_pixels": 1003520}'
图像动态分辨率范围。

min_pixels=3136 = 56×56,下限。
max_pixels=1003520 ≈ 1024×980,上限。
直接决定一张图消耗多少 vision token(Qwen 系列约 28×28 像素 → 1 token,再经 2×2 merge)。调低 max_pixels 是加速多图推理最有效的手段,代价是细节/OCR 能力下降。

--mm-processor-cache-gb 2
2 GB 多模态预处理结果缓存,避免重复图片反复跑预处理。

--enable-auto-tool-choice
允许 tool_choice: "auto",由模型自主决定是否调用工具。不开则只能强制指定或禁用。

--tool-call-parser qwen3_xml
把模型输出的工具调用文本解析成 OpenAI 标准的 tool_calls 结构。
这是你另一个实质性改动:qwen3_coder 和 qwen3_xml 的格式不同,必须与模型实际训练的 chat template 匹配。选错的表现是工具调用被当成普通文本吐出来,或解析报错。多模态版 Qwen3 一般用 qwen3_xml。

--reasoning-parser qwen3

... 思考内容从正文剥离,放进响应的 reasoning_content 字段。前端可以折叠显示思维链。

八、部署 Docker + Open-WebUI

# 安装 Docker(阿里云镜像加速)
curl -fsSL https://get.docker.com | sh -s -- --mirror Aliyun
systemctl enable --now docker

# 启动 Open-WebUI,指向 vLLM 的 OpenAI 兼容端点
docker run -itd -p 3000:8080 \
  -e OPENAI_API_BASE_URL=http://10.53.6.222:8000/v1 \
  -e OPENAI_API_KEY=sk-anything \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

安全提示OPENAI_API_KEY=sk-anything 仅为占位符(vLLM 默认不校验 Key)。该服务应限定在内网访问;若需对外,请为 vLLM 配置 --api-key 并在网关层做鉴权与限流。

九、验证与访问

服务启动后可通过 curl 快速验证 API:

curl http://10.53.6.222:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen3.8-27B",
    "messages": [{"role":"user","content":"你好,介绍一下你自己"}]
  }'
用途 地址
智能体 / API 直接调用(OpenAI 兼容) http://10.53.6.222:8000/v1
Open-WebUI 网页端 http://10.53.6.222:3000/

十、常见问题排查

现象 原因与处理
nvcc: command not found CUDA bin 未入 PATH,按第三节配置 ~/.bashrcsource
nvidia-smi 无输出 / 驱动异常 驱动未加载或版本冲突。确认只保留一套驱动来源,重启后再试。
vLLM 报模型架构不识别 vLLM 版本过旧,改用 nightly 预发布版。
启动时 CUDA OOM 下调 --gpu-memory-utilization(如 0.85)或 --max-model-len
Open-WebUI 连不上模型 核对 OPENAI_API_BASE_URL 的 IP / 端口,确认 vLLM 已就绪且防火墙放行 8000。
模型下载中断 ModelScope 支持断点续传,重跑 modelscope download 即可。

环境:Ubuntu 24.04 · NVIDIA L40(48GB, Ada sm_89)· CUDA 13.2 / Driver 595.45.04 · vLLM · Qwen3.8-27B-FP8。命令基于实测环境整理,落地前请结合自身网络与安全策略调整内网 IP、端口与鉴权配置。

如何在Ubuntu 22.04上安装GeForce RTX 4090和GeForce RTX 2080TI驱动程序和CUDA

如何在Ubuntu 22.04上安装GeForce RTX 4090驱动程序和CUDA
How to Install GeForce RTX 4090 Drivers and CUDA on Ubuntu 22.04

如何在Ubuntu 22.04上安装GeForce RTX 2080TI驱动程序和CUD
How to Install GeForce RTX 2080 TI Drivers and CUDA on Ubuntu 22.04

1. 打开终端并更新
使用sudo更新apt软件包列表并使用sudo升级apt软件包

sudo apt update && sudo apt upgrade -y  
sudo apt install build-essential dkms linux-headers-$(uname -r) -y

2. 确定可用驱动
使用sudo命令列出ubuntu驱动程序列表

sudo ubuntu-drivers list
......
nvidia-driver-565, (kernel modules provided by nvidia-dkms-565)
nvidia-driver-535, (kernel modules provided by linux-modules-nvidia-535-generic)
nvidia-driver-575, (kernel modules provided by nvidia-dkms-575)
nvidia-driver-555-open, (kernel modules provided by nvidia-dkms-555-open)
nvidia-driver-575-open, (kernel modules provided by nvidia-dkms-575-open)
nvidia-driver-570-server, (kernel modules provided by linux-modules-nvidia-570-server-generic)
nvidia-driver-555, (kernel modules provided by nvidia-dkms-555)
nvidia-driver-535-server-open, (kernel modules provided by linux-modules-nvidia-535-server-open-generic)
nvidia-driver-560, (kernel modules provided by nvidia-dkms-560)
nvidia-driver-570-server-open, (kernel modules provided by linux-modules-nvidia-570-server-open-generic)
nvidia-driver-570-open, (kernel modules provided by linux-modules-nvidia-570-open-generic)
nvidia-driver-535-server, (kernel modules provided by linux-modules-nvidia-535-server-generic)
nvidia-driver-560-open, (kernel modules provided by nvidia-dkms-560-open)
nvidia-driver-565-open, (kernel modules provided by nvidia-dkms-565-open)
nvidia-driver-550, (kernel modules provided by linux-modules-nvidia-550-generic)
nvidia-driver-550-open, (kernel modules provided by linux-modules-nvidia-550-open-generic)
nvidia-driver-570, (kernel modules provided by linux-modules-nvidia-570-generic)
nvidia-driver-535-open, (kernel modules provided by linux-modules-nvidia-535-open-generic)
open-vm-tools-desktop

3.禁用 Nouveau 驱动:创建配置文件并更新,重启系统

sudo cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nvidia.conf
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist rivafb
EOF
sudo update-initramfs -u
sudo reboot

4.安装驱动

sudo apt install nvidia-driver-570 -y    #sudo apt install nvidia-driver-580 -y

5.验证GeForce RTX 4090驱动是否正常加载

root@lenovo-ThinkStation-PX:~# nvidia-smi 
Fri Jul 18 17:13:35 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.169                Driver Version: 570.169        CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4090        Off |   00000000:2A:00.0 Off |                  Off |
| 32%   42C    P8             34W /  450W |      87MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA GeForce RTX 4090        Off |   00000000:3D:00.0 Off |                  Off |
| 30%   34C    P8             16W /  450W |      15MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   2  NVIDIA GeForce RTX 4090        Off |   00000000:BD:00.0 Off |                  Off |
| 32%   32C    P8              6W /  450W |      15MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   3  NVIDIA GeForce RTX 4090        Off |   00000000:E1:00.0 Off |                  Off |
| 32%   33C    P8             15W /  450W |      15MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            2453      G   /usr/lib/xorg/Xorg                       46MiB |
|    0   N/A  N/A            2564      G   /usr/bin/gnome-shell                     13MiB |
|    1   N/A  N/A            2453      G   /usr/lib/xorg/Xorg                        4MiB |
|    2   N/A  N/A            2453      G   /usr/lib/xorg/Xorg                        4MiB |
|    3   N/A  N/A            2453      G   /usr/lib/xorg/Xorg                        4MiB |
+-----------------------------------------------------------------------------------------+

验证GeForce RTX 2080 TI驱动是否正常加载

root@su:~# nvidia-smi 
Sat Nov  1 12:04:44 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2080 Ti     Off |   00000000:00:0B.0 Off |                  N/A |
| 16%   35C    P0             86W /  250W |       1MiB /  11264MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

6.安装 CUDA

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

用 nvcc --version 确认cuda的版本,如果显示Command nvcc not found,则编辑~/.bashrc

vim ~/.bashrc
export PATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#更新变量
source ~/.bashrc

root@su:~# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

7.锁定驱动版本防止升级冲突

sudo apt-mark hold nvidia-driver-570
sudo apt-mark hold cuda-toolkit-12-8

GeForce RTX 4090

GeForce RTX 2080TI

如何在UUbuntu 24.04 安装 NVIDIA L40 显卡驱动与 CUDA(12.8 / 13.1)

To install the NVIDIA L40 driver and cuda on Ubuntu 24.04
适用于 NVIDIA L40 / L40S 数据中心显卡,在 Ubuntu 24.04 LTS 系统下部署深度学习、AI 推理、CUDA 计算环境。

一、环境说明
操作系统:Ubuntu 24.04 LTS(x86_64 架构)
GPU 型号:NVIDIA L40(数据中心级显卡)
NVIDIA 驱动
nvidia-driver-570-server(推荐,生产环境稳定)
nvidia-driver-590-server(可选,用于支持 CUDA 13.1)
CUDA Toolkit
CUDA 12.8(长期稳定版本,推荐)
CUDA 13.1(新特性版本,测试/验证使用)
BIOS 启动模式:UEFI (不要开启EFI安全引导,Secure Boot 会阻止未签名或非官方签名的内核模块加载,而 NVIDIA 驱动、VFIO 及 DKMS 模块往往不满足 Secure Boot 的签名要求)
Above 4G Decoding:已开启(GPU 透传 / 大显存 BAR 必需)

二、打开终端并更新
使用sudo更新apt软件包列表并使用sudo升级apt软件包

sudo apt update && sudo apt upgrade -y

三、查看 Ubuntu 可用的 NVIDIA 驱动版本
使用sudo命令列出ubuntu驱动程序列表

sudo ubuntu-drivers list
......
nvidia-driver-565, (kernel modules provided by nvidia-dkms-565)
nvidia-driver-535, (kernel modules provided by linux-modules-nvidia-535-generic)
nvidia-driver-575, (kernel modules provided by nvidia-dkms-575)
nvidia-driver-555-open, (kernel modules provided by nvidia-dkms-555-open)
nvidia-driver-575-open, (kernel modules provided by nvidia-dkms-575-open)
nvidia-driver-570-server, (kernel modules provided by linux-modules-nvidia-570-server-generic)
nvidia-driver-590-server, (kernel modules provided by linux-modules-nvidia-590-server-generic)
nvidia-driver-555, (kernel modules provided by nvidia-dkms-555)
nvidia-driver-535-server-open, (kernel modules provided by linux-modules-nvidia-535-server-open-generic)
nvidia-driver-560, (kernel modules provided by nvidia-dkms-560)
nvidia-driver-570-server-open, (kernel modules provided by linux-modules-nvidia-570-server-open-generic)
nvidia-driver-570-open, (kernel modules provided by linux-modules-nvidia-570-open-generic)
nvidia-driver-535-server, (kernel modules provided by linux-modules-nvidia-535-server-generic)
nvidia-driver-560-open, (kernel modules provided by nvidia-dkms-560-open)
nvidia-driver-565-open, (kernel modules provided by nvidia-dkms-565-open)
nvidia-driver-550, (kernel modules provided by linux-modules-nvidia-550-generic)
nvidia-driver-550-open, (kernel modules provided by linux-modules-nvidia-550-open-generic)
nvidia-driver-570, (kernel modules provided by linux-modules-nvidia-570-generic)
nvidia-driver-535-open, (kernel modules provided by linux-modules-nvidia-535-open-generic)
open-vm-tools-desktop

四、安装驱动
L40 / A100 / H100 等数据中心卡,Server 驱动比普通驱动更适合 L40 / 多卡服务器 / 无显示环境

sudo apt install nvidia-driver-570-server    #数据中心卡(如L40)专用驱动,稳定性更好,支持 MIG、多用户多实例等特性

如果需要新版可以安装
sudo apt install nvidia-driver-590-server

五、重启系统

sudo reboot

六、验证驱动是否正常加载

root@su:~# nvidia-smi
Thu Jun 12 06:14:12 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.133.20             Driver Version: 570.133.20     CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA L40                     Off |   00000000:13:00.0 Off |                    0 |
| N/A   29C    P0             79W /  300W |       0MiB /  46068MiB |      3%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

7、安装 CUDA
安装CUDA12.8

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

用 nvcc --version 确认cuda的版本,如果显示Command nvcc not found,则编辑~/.bashrc,配置 CUDA 环境变量(解决 nvcc not found)

vim ~/.bashrc
export PATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#更新变量
source ~/.bashrc

root@su:~# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

安装CUDA 13.1

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/13.1.1/local_installers/cuda-repo-ubuntu2404-13-1-local_13.1.1-590.48.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-13-1-local_13.1.1-590.48.01-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2404-13-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-1


用 nvcc --version 确认cuda的版本,如果显示Command nvcc not found,则编辑~/.bashrc,配置 CUDA 环境变量(解决 nvcc not found)

vim ~/.bashrc
export PATH=/usr/local/cuda-13.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-13.1/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#更新变量
source ~/.bashrc

root@su:~# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

八、锁定驱动版本防止升级冲突

sudo apt-mark hold nvidia-driver-570-server
sudo apt-mark hold cuda-toolkit-12-8



Q1:CUDA 版本一定要和 nvidia-smi 显示一致吗?
不需要完全一致,只要 驱动版本 ≥ CUDA 需求版本 即可。

Q2:可以同时安装多个 CUDA 版本吗?
可以,需手动切换 /usr/local/cuda 软链接或 PATH。

Ubuntu 24.04 LTS如何安装Nvidia显卡驱动、CUDA、NVIDIA Container Toolkit套件

Ubuntu 24.04 LTS如何安装Nvidia显卡驱动、CUDA、NVIDIA Container Toolkit套件

1、安装Nvidia显卡驱动
若有Nvidia显卡,Ubuntu系统会安装开源的nouveau驱动,用指令sudo lshw -C display确认,driver区域会显示"nouveau"。

#卸载自带的驱动
sudo apt update
sudo apt upgrade
sudo apt purge *nvidia*

使用ubuntu-drivers list指令列出目前Nvidia显示卡可用的驱动版本

# 让Ubuntu自动挑选推荐的驱动版本

sudo ubuntu-drivers install

# 或者手动指定版本,填入要安装的Nvidia驱动版本号。
sudo ubuntu-drivers install nvidia:570
安装后nouveau应会自动加入黑名单禁止加载。接着重新启动,用sudo lshw -C display确认是否安装成功,driver区域应会显示"nvidia"。

www.zhangfangzhou.cn

2、双GPU显卡笔记本电脑
像Intel+Nvidia这种的双GPU笔记本电脑,即使装了Nvidia驱动也可能继续用Intel的GPU渲染3D,导致3D性能低下。

此时可以使用prime-select指令,指定用Nvidia显示卡负责渲染。

sudo prime-select nvidia
重开机后再使用指令:vulkaninfo --summary查看主显示卡为何。

3、Ubuntu安装cuda,CUDA Toolkit Installer。

Installation Instructions:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

用 nvcc --version 确认cuda的版本,如果显示Command nvcc not found,则编辑~/.bashrc

vim ~/.bashrc
export PATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#更新变量
source ~/.bashrc

# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

www.zhangfangzhou.cn

4、安装NVIDIA Container Toolkit,这是设计给Docker和Podman容器用的Nvidia工具,使容器可以使用CUDA计算。

即使宿主机没有安装CUDA,容器內照样可以使用CUDA计算,方便你在容器里面跑不同版本的CUDA,不会受到宿主机的CUDA版本影响。

必须先安装Nvidia专有驱动才可以安装NVIDIA Container Toolkit。

(1)在Ubuntu安装Docker
(2)加入NVIDIA Container Toolkit的套件库

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    
安装NVIDIA Container Toolkit
sudo apt update
sudo apt install nvidia-container-toolkit

向Docker注册Nvidia
sudo nvidia-ctk runtime configure --runtime=docker

重新启动Docker
sudo systemctl restart docker

执行Ubuntu容器,测试能否出现Nvidia显卡的信息
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

www.zhangfangzhou.cn
5、安装TensorRT,TensorRT是Nvidia推出的深度学习推理平台。

必须先安装CUDA才能安装TensorRT。 https://developer.nvidia.com/nvidia-tensorrt-download
安装TensorRT的deb档,加入套件库

# 指定系统版本
os="ubuntu2204"

# 指定TensorRT版本
tag="10.5.0.x-1+cuda12.6"

sudo dpkg -i nv-tensorrt-local-repo-${os}-${tag}_1.0-1_amd64.deb
sudo cp /var/nv-tensorrt-local-repo-${os}-${tag}/*-keyring.gpg /usr/share/keyrings/

sudo apt update
安装TensorRT
sudo apt install tensorrt

如何在 Ubuntu 24.04 中使用 Ollama LLM 本地安装 DeepSeek

如何在 Ubuntu 24.04 中使用 Ollama LLM 本地安装 DeepSeek
How to Install DeepSeek Locally with Ollama LLM in Ubuntu 24.04

1、安装 Python 和 Git
在安装任何东西之前,最好先更新系统以确保所有现有软件包都是最新的。

sudo apt update && sudo apt upgrade -y

Ubuntu 可能预装了 Python,但务必确保安装正确的版本(Python 3.8 或更高版本)。

sudo apt install python3
python3 --version
pip 是 Python 的软件包管理器,需要安装 DeepSeek 和 Ollama 的依赖项。

sudo apt install python3-pip
pip3 --version

sudo apt install git
git --version

2、为 DeepSeek 安装 Ollama

现在 Python 和 Git 已安装完毕,可以安装 Ollama 来管理 DeepSeek。

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

接下来,启动并启用 Ollama,使其在系统启动时自动启动。

sudo systemctl start ollama
sudo systemctl enable ollama
现在 Ollama 已安装完毕,我们可以继续安装 DeepSeek。

3、下载并运行 DeepSeek 模型
现在 Ollama 已安装完毕,您可以下载 DeepSeek 模型。

ollama run deepseek-r1:7b

下载完成后,您可以通过运行以下命令来验证模型是否可用:

ollama list

4、在 Web UI 中运行 DeepSeek
虽然 Ollama 允许您通过命令行与 DeepSeek 交互,但您可能更喜欢更用户友好的 Web 界面。为此,我们将使用 Ollama Web UI,这是一个用于与 Ollama 模型交互的简单 Web 界面。

首先,创建一个虚拟环境,将您的 Python 依赖项与系统范围的 Python 安装隔离开来。

sudo apt install python3-venv
python3 -m venv ~/open-webui-venv
source ~/open-webui-venv/bin/activate

PIP设置阿里云镜像源,以加速包的安装。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
Writing to /root/.config/pip/pip.conf

现在您的虚拟环境已激活,您可以使用 pip 安装 Open WebUI。
pip install open-webui

安装后,使用以下命令启动服务器。
open-webui serve
打开您的 Web 浏览器并导航到 http://localhost:8080 – 您应该会看到 Ollama Web UI 界面。

www.zhangfangzhou.cn
5、在系统启动时启用 Open-WebUI
要使 Open-WebUI 在启动时启动,您可以创建一个 systemd 服务,在系统启动时自动启动 Open-WebUI 服务器。

vim nano /etc/systemd/system/open-webui.service

[Unit]
Description=Open WebUI Service
After=network.target

[Service]
User=your_username
WorkingDirectory=/home/your_username/open-webui-venv
ExecStart=/home/your_username/open-webui-venv/bin/open-webui serve
Restart=always
Environment="PATH=/home/your_username/open-webui-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
Replace your_username with your actual username.

现在重新加载 systemd 守护程序以识别新服务:

sudo systemctl daemon-reload
最后,启用并启动服务以在启动时启动:

sudo systemctl enable open-webui.service
sudo systemctl start open-webui.service

检查服务的状态以确保其正常运行:
sudo systemctl status open-webui.service

6、更新 open-webui 包,可以使用以下命令:

pip install --upgrade open-webui

7、open-webui无法链接ollama 报错ERROR:apps.ollama.main:Connection error: Cannot connect
修改启动配置

默认ollama绑定在127.0.0.1的11434端口,修改/etc/systemd/system/ollama.service,在[Service]下添加如下内容,使ollama绑定到0.0.0.0的11434端口
Environment="OLLAMA_HOST=0.0.0.0"

sudo systemctl daemon-reload
sudo systemctl restart ollama

www.zhangfangzhou.cn

8、部署完成后,发下每次登录都会先出现白屏,需要取消api.openai.com
INFO [open_webui.routers.openai] get_all_models()
ERROR [open_webui.routers.openai] Connection error: Cannot connect to host api.openai.com:443 ssl:default [None]
INFO [open_webui.routers.ollama] get_all_models()
登录 http://10.53.122.243:8080/admin/settings
取消 管理OpenAI API连接

9、错误提示
/home/$user/AnythingLLMDesktop/start
su@su:~$ /home/su/AnythingLLMDesktop/start
[10216:0227/083834.604266:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/su/AnythingLLMDesktop/anythingllm-desktop/chrome-sandbox is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped) www.zhangfangzhou.cn

解决办法

sudo chmod 4755 /home/su/AnythingLLMDesktop/anythingllm-desktop/chrome-sandbox

www.zhangfangzhou.cn

本地部署 AI绘图作画工具 stable-diffusion-webui(含多种模型和国内加速)

本地部署 AI绘图作画工具 stable-diffusion-webui(含多种模型和国内加速)
Stable-Diffusion-WebUI是一个基于Gradio库的浏览器界面,用于可视化展示和交互式探索Stable Diffusion模型的结果。
GPU显存大小:GPU显存大小限制了模型可以处理的数据量。较大的显存可以容纳更多的图像信息和模型参数,因此可以支持生成更大尺寸的图片。当生成大尺寸图片时,需要更多的显存来存储中间结果和生成的图像,较小的显存可能会限制生成高分辨率或复杂场景的能力。
GPU主频:GPU主频指的是GPU的工作频率,即每秒处理的指令数。较高的主频能够提供更快的计算速度,从而加快AI生成图片的过程。当需要迅速生成图片时,高主频的GPU可以有效缩短生成时间,提高效率。
显存位宽:显存位宽表示显存每次传输数据的宽度,通常以位为单位。较大的位宽意味着GPU可以更快地读取和写入显存数据。在生成图片过程中,大的位宽可以提高数据传输速度,从而加快模型的训练和推理速度。

部署环境
CPU:Intel(R) Xeon(R) Gold 6246 CPU @ 3.30GHz 3.30 GHz
GPU:NVIDIA GRID V100S-32Q(vGPU)
内存:64GB
磁盘:1TB
OS: Microsoft Windows 10 企业版

部署步骤
1、#安装基础环境
基础环境由Python 3.10.6(安装 Python 3.10.6 与 pip,一定安装3.10.6版本的Python),Git ,CUDA 组成

1.1、#安装Python

访问 Python3.10.6 下载页面 https://www.python.org/downloads/release/python-3106/

找到【Windows installer (64-bit)】点击下载,安装的时候需要勾选 Add Python to PATH。

安装完成后
命令行里输入Python --version,如果返回Python 3.10.6那就是安装成功。
命令行里输入 python -m pip install --upgrade pip安装升级pip到最新版。

1.2、#安装 Git https://git-scm.com/download
访问 Git 下载页面
点击【Download for Windows】,【64-bit Git for Windows Setup】点击下载
命令行运行git --version

1.3、#安装 CUDA (NVIDIA显卡用户)
命令行运行nvidia-smi,看下自己显卡支持的 CUDA版本

C:\Users\Administrator>cd C:\Program Files\NVIDIA Corporation\NVSMI

C:\Program Files\NVIDIA Corporation\NVSMI>nvidia-smi.exe
Thu Aug 17 15:06:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 474.14       Driver Version: 474.14       CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GRID V100S-32Q     WDDM  | 00000000:02:01.0  On |                    0 |
| N/A    0C    P0    N/A /  N/A |   6305MiB / 32768MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1520    C+G   Insufficient Permissions        N/A      |
|    0   N/A  N/A      1540    C+G   Insufficient Permissions        N/A      |
|    0   N/A  N/A      1548    C+G   Insufficient Permissions        N/A      |
|    0   N/A  N/A      2468      C   ...thon\Python310\python.exe    N/A      |


接下来前往英伟达官网,下载对应版本https://developer.nvidia.com/cuda-toolkit-archive
选你自己的操作系统版本,注意下离线安装包【exe [local]】,在线安装的话,速度还是比较慢。

1.4、#为什么NVIDIA显卡安装驱动后,还要安装CUDA驱动
NVIDIA显卡驱动和CUDA是两个不同的软件组件,它们在GPU的功能和应用上发挥不同的作用。

NVIDIA显卡驱动:NVIDIA显卡驱动是操作系统与显卡之间的桥梁,它负责管理和控制显卡的硬件功能,确保显卡能够正常工作并与操作系统进行通信。
安装显卡驱动是使用NVIDIA显卡的基本要求,它提供了对显卡的支持和兼容性。

CUDA(Compute Unified Device Architecture):CUDA是NVIDIA开发的并行计算平台和编程模型,它允许开发者使用显卡的并行计算能力进行高性能计算和加速。
CUDA提供了一组API和工具,使开发者能够在显卡上编写并行计算的程序,并利用GPU的大规模并行计算能力加速各种计算任务,包括机器学习、深度学习、科学计算等。

2、#下载项目源代码

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

D:\>git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Cloning into 'stable-diffusion-webui'...
remote: Enumerating objects: 25982, done.
remote: Counting objects: 100% (369/369), done.
remote: Compressing objects: 100% (160/160), done.
remote: Total 25982 (delta 237), reused 323 (delta 205), pack-reused 25613
Receiving objects: 100% (25982/25982), 31.77 MiB | 12.31 MiB/s, done.
Resolving deltas: 100% (18197/18197), done.
# 切换到项目根目录
cd stable-diffusion-webui

3、#下载模型文件
stable-diffusion-webui只是个工具,需要后端的训练模型来让AI参考建模。

目前比较主流的模型有
Stable-Diffusion (SD) 模型:Stable-Diffusion 是一个基于扩散模型的图像生成模型,主要用于生成偏向真实人物的图像。它采用了稳定扩散过程的方法,通过迭代多次来逐步生成图像,并且具有较好的生成稳定性和细节保留能力。SD 模型通常用于生成逼真的人脸图像或人物形象。
Waifu-Diffusion (WD) 模型:Waifu-Diffusion 是一个专注于生成二次元角色(常称为"waifu")图像的模型。它基于扩散模型的思想,通过迭代生成过程逐渐生成具有艺术风格的二次元角色图像。WD 模型通常用于创作二次元角色形象、插画或动漫风格的图像。
Novel-AI-Leaks (Naifu) 模型:Novel-AI-Leaks 是一个更偏向于二次元角色的图像生成模型。它在生成图像时,更加注重创造出富有想象力和创意的二次元角色形象。Naifu 模型通常用于艺术创作、插画制作和二次元角色设计等领域。

4、#运行
双击运行\stable-diffusion-webui\webui-user.bat
脚本会自己检查依赖,会下载大约几个GB的东西,解压安装到文件夹内(中间可能会失败,失败后需要再次运行webui-user.bat)。


venv "D:\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Version: v1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a
Installing gfpgan

当遇到卡在installing gfpgan时候需要切换成阿里的源

C:\Users\Administrator>pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
Writing to C:\Users\Administrator\AppData\Roaming\pip\pip.ini

5、#复制到浏览器访问
(默认是 http://127.0.0.1:7860 )(注意不要关闭这个窗口,关闭就退出了)

6、#生成第一张AI作图

1、Prompt(提示):在Prompt中填写你想要的特征点,可以作为生成图片的指导。通过提供具体的描述或指令,可以引导AI生成符合你期望的图像。

2、Negative prompt(负面提示):在Negative prompt中填写你不想要的特征点,可以告诉AI避免生成这些特征。负面提示可以帮助你更精确地控制生成图片的内容。

3、Sampling Steps(采样步数):指定AI推演的步数,控制生成图片的细节和精度。较高的步数可以产生更多的细节,但会增加生成时间。一般在20到30之间选择较为合适。

4、Sampling method(采样方法):选择AI推演的算法,常见的有Euler a、Euler和DDIM等。不同的采样方法可能会影响到生成图片的效果和风格。

5、图片分辨率:指定生成图片的分辨率,较高的分辨率可以获得更清晰、更多细节的图像。但需要注意显存的限制,确保分辨率不超过显存能够处理的范围。

扩展选项:
Restore faces(修复人脸):勾选后可以生成更真实的脸部特征。需要下载额外的运行库,并且第一次使用时会占用一定的存储空间。

D:\stable-diffusion-webui\models\Codeformer\codeformer-v0.1.0.pth
D:\stable-diffusion-webui\repositories\CodeFormer\weights\facelib\detection_Resnet50_Final.pth
D:\stable-diffusion-webui\repositories\CodeFormer\weights\facelib\ parsing_parsenet.pth

Tiling(平铺):让生成的图像可以无缝地平铺,类似瓷砖的效果,使图案可以自动衔接。
Highres. fix(超分辨率修复):使用更高的分辨率填充内容,但最终生成的图像仍然是设定的分辨率。
Batch count(批次数):指定一次运行生成图片的次数。
Batch size(批次大小):指定同时生成图片的数量。
CFG Scale(CFG比例):控制AI生成图片时参考你的Prompt和Negative prompt的程度。较高的值会更严格地按照你的设定进行生成,而较低的值则更加自由和创意。
Seed(随机数种子):用于初始化AI生成图片的起始噪声,不同的种子会产生不同的生成结果。
Generate(生成):点击该按钮开始运行AI生成图片的过程。
Stable Diffusion checkpoint(稳定扩散检查点):选择使用的模型,根据你的需求和体验自行选择。

Script X/Y/Z plot
1、使用多种绘画方式
Y type 选择Sampler,然后在Y values 可以全部选择Sampling method,经测试这几种方式效果较好

Euler a
DPM++2S a
DPM++2M
DPM2 a Karras
DPM2++ 2S a Karras
DPM2++ 2M a Karras

2、测试lora权重对绘画的影响
在txt2img填写,在Y type选择Prompt S/R,然后在Y values 填写STRENGTH,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1

7、模型下载
majicMIX realistic 麦橘写实 https://www.liblibai.com/modelinfo/bced6d7ec1460ac7b923fc5bc95c4540
采样器建议: Euler
如果要修复脸部,请使用after detailer.

Pure Beauty https://www.liblibai.com/modelinfo/13bcec1633cd440c9ae986787b733b10
CFG Scale:7
迭代步数:15-120
VAE: 840000
采样器建议: DPM++ 2M SDE Karras
绘制人物图像时请配合启用ADetailer 插件,推荐使用模型:face_yolov8n.pt和face_yolov8s.pt
生成专业摄影图像时,建议在正向提示词中除了Bean_Lab, Pure Beauty, 1 girl, best quality等触发词外,可加入以下词汇:Studio lighting, Canon EOS-1D X Mark II, 70mm ,f2.8,ISO 200,(其中除了工作室灯光外,方位灯光也可以根据需要来选择使用,例如:顺光、前侧光、侧光、顶光、侧逆光等等,相机型号有多种选择,除了上述提到的,还有Canon EOS R5、Canon 1Dx3、SONY A7R III、Nikon D6、 Fujifilm GFX 100S、Fujifilm 50S II等等高清相机型号可选择, 另外推荐使用大光圈F1.4,F2.0,F2.8,人像焦距24-70mm, 感光度:100-200之间),当然,上述仅供参考,这些数据都可根据最终想要呈现的效果来调试
Negative Promts / 负面提示词:ng_deepnegative_v1_75t,EasyNegative

8、提示词下载
a、https://github.com/thisjam/sd-webui-oldsix-prompt
点击页面上的code->DownloadZip 解压以后放在你的sd文件夹下的extensions文件夹后应用并重启

11、在页面上显示 VAE 设置
stable-diffusion-webui 默认页面并没有显示 VAE 设置部分,所以需要先设置一下。首先点击「Settings」,然后点左侧菜单的「User interface」这个 Tab,
拉到下面有个选项叫做Quicksettings list,在输入框里面添加,sd_vae,CLIP_stop_at_last_layers,最后点击上面的「Apply settings」,在点「Reload UI」就会重新刷新页面。
Clip skip选项,默认是 1,需要改成常用的 2,可以简单的理解这个值越高,AI 就会省略越多的分类细项。

下载 VAE 模型(效果不理想)
https://huggingface.co/stabilityai/sd-vae-ft-mse-original/tree/main

12、ADetailer 插件
1、https://github.com/Bing-su/adetailer
2、解压上传到文件夹D:\stable-diffusion-webui\extensions
3、重启Web-UI
4、固定Seed
5、启用ADetailer
Enable ADetailer #启用

1st #第一个ADetailer model模型
mediapipe_face_mesh

2nd #第二个ADetailer model模型

模型说明
Model Target
face_yolov8n.pt 2D / realistic face
face_yolov8s.pt 2D / realistic face
hand_yolov8n.pt 2D / realistic hand
person_yolov8n-seg.pt 2D / realistic person
person_yolov8s-seg.pt 2D / realistic person
mediapipe_face_full realistic face
mediapipe_face_short realistic face
mediapipe_face_mesh realistic face