跳到主要内容

文生图模型

Playground v2.5 本地部署:一张 24GB 卡就能跑的美学模型

fp16 单文件权重 6.94GB,1024×1024 原生出图,MJHQ-30K FID 4.48。从 $0.193/卡·时的 RTX 3090 起步,把这条美学基线握在自己手里。

先把名字理清楚。今天搜「Playground」会撞见两样完全不同的东西:一条可下载的开放权重扩散模型线(v1 → v2 → v2.5),和一个已经转型成 AI 设计工作台的网页产品——后者现在把 GPT Image 2、Nano Banana Pro、Seedream 这些第三方模型摆在前台,跟你能不能本地部署毫无关系。真正能拉下来自己跑的,是 Hugging Face 上的 playgroundai/playground-v2.5-1024px-aesthetic,累计下载 40.4 万次,也是该组织最后一次更新的权重(2024 年 3 月)。

技术上它是一个 3B 参数、沿用 Stable Diffusion XL 架构的隐扩散模型:同样的 UNet2DConditionModel(sample_size 128、cross_attention_dim 2048、block_out_channels [320, 640, 1280]),同样两个冻结文本编码器 OpenCLIP-ViT/G 与 CLIP-ViT/L。差别全在训练配方上——论文《Playground v2.5: Three Insights towards Enhancing Aesthetic Quality》(arXiv:2402.17245)给出三条:改用 EDM 噪声调度拿回色彩与对比度、按比例做平衡分桶让竖版横版都稳、再用人类偏好对齐收人物细节。结果是 MJHQ-30K 上 FID 4.48,同基准下 Playground v2 是 7.07、SDXL-1.0-refiner 是 9.55。

那 Playground v3 呢?论文(arXiv:2409.10695)确实存在,把模型放大到 24B,把 Llama3-8B 逐层深度融合进图像 Transformer——每个图像 block 与 LLM 对应层一一对齐,取该层隐状态做条件,图像 query 直接注意到图像 key 与文本 key 的拼接,彻底不要 T5、不要 CLIP,外加自研 16 通道 VAE,并顺手发布了 CapsBench(200 张图、2471 个问题)。但权重从未公开,playgroundai 的 GitHub 组织至今没有任何公开仓库。所以「Playground v3 本地部署」这条路暂时走不通,能落地的目标只有 v2.5——这不是坏消息,3B 的体量意味着一张消费级 24GB 卡就够,成本比追新低得多。

01 —

版本与变体:哪个能下、哪个下不了

开放权重停在 v2.5,v3 只有论文和产品

版本参数量显存上下文说明
playgroundai/playground-v2.5-1024px-aesthetic3B(SDXL 架构 UNet + 双 CLIP 文本编码器)fp16 单文件 6.94GB/fp32 单文件 13.9GB/仓库全量 62.4GB1024×1024 原生,含竖版与横版比例桶;文本侧 CLIP 77 token唯一值得部署的版本。默认 EDMDPMSolverMultistepScheduler、guidance_scale 3.0、50 步;换 EDMEulerScheduler 时 guidance_scale 调到 5.0。MJHQ-30K FID 4.48。
playgroundai/playground-v2-1024px-aesthetic3B(与 v2.5 同架构)fp16 约 7GB 量级(同为 SDXL 3B UNet)1024×1024上一代美学模型,MJHQ-30K FID 7.07。除非要复现对比实验,否则直接上 v2.5;下载量只有 248 次,社区早已迁移。
playground-v2-512px-base / playground-v2-256px-base3Bfp16 约 7GB 量级512×512 / 256×256没有做美学对齐的基座权重,给继续预训练和消融实验用。下载量个位到两位数,属于研究口味,不适合直接出图。
Playground v3(PG-v3)24B(深度融合 Llama3-8B)权重未公开,无法本地部署文本条件全部来自 Llama3-8B,原生 8K 上下文;训练走 256/512/1024 三级分桶论文 arXiv:2409.10695,弃用 T5 与 CLIP、自研 16 通道 VAE、随论文发布 CapsBench。Hugging Face 无仓库、GitHub 无公开代码,只在 Playground 自家产品里可用。

02 —

选卡:3B 模型不需要你为它破产

6.94GB 的 fp16 权重加上 1024px 激活,24GB 是甜点区

  • 单卡 1024×1024 出图、跑通流程与批量评估

    RTX 3090 24GB$0.193/卡·时

    fp16 权重 6.94GB 装完还剩十几 GB 给激活和 VAE 解码,24GB 全网最便宜的一档,试模型阶段没有理由花更多。

  • 并发出图、ComfyUI 批处理、对外提供接口

    RTX 4090 24GB$0.540/卡·时

    同样 24GB 但吞吐显著更高,50 步 EDM 采样是纯算力活,出图节奏直接决定单张成本。

  • 1024px LoRA/DreamBooth 微调,带梯度检查点与缓存 latent

    RTX 5090 32GB$0.723/卡·时

    SDXL 同架构的 1024px LoRA 在 24GB 上要靠 8-bit 优化器精打细算,32GB 能开更大 batch 和分辨率桶,少一半调参时间。

  • 全量微调 UNet、多分辨率分桶训练、大批量数据预处理

    RTX A6000 48GB$0.817/卡·时

    3B UNet 全参训练要同时放权重、梯度、优化器状态与 EMA,48GB 是不用做激进切分的最低档;再往上可直接换 A100 SXM4 80GB($1.088/卡·时)。

03 —

四步跑通:从空实例到出第一张图

关键在别拉错文件、别用错采样器

  1. 01

    开实例,只拉 fp16 那一份

    选 PyTorch 预置镜像开机,装依赖后用 --include 精确过滤。整个仓库 62.4GB,里面有 fp32 分支和重复的组件权重;你要的只有 6.94GB 的 fp16 单文件加配置。EDM 系列调度器是 diffusers 0.27.0 才进的,版本卡低了会直接 ImportError。

    pip install "diffusers>=0.27.0" transformers accelerate safetensors && hf download playgroundai/playground-v2.5-1024px-aesthetic --include "*.fp16.safetensors" "*.json" "*.txt" --local-dir pgv25
  2. 02

    diffusers 最小推理:variant="fp16" 不能省

    不写 variant="fp16" 会去下 fp32 权重,显存和带宽双倍消耗。模型自带 EDMDPMSolverMultistepScheduler,配 guidance_scale=3.0、50 步是官方给的组合;如果你把调度器换成 EDMEulerScheduler,记得把 guidance_scale 提到 5.0,否则画面会明显发灰。

    python -c "import torch;from diffusers import DiffusionPipeline;p=DiffusionPipeline.from_pretrained('playgroundai/playground-v2.5-1024px-aesthetic',torch_dtype=torch.float16,variant='fp16').to('cuda');p('cinematic portrait, muted colors, detailed, 8k',num_inference_steps=50,guidance_scale=3.0).images[0].save('out.png')"
  3. 03

    走 ComfyUI 的话,必须挂 EDM 采样节点

    这是最多人踩的坑。Playground v2.5 的 latent 归一化跟 SDXL 不一样:SDXL 只做 latent × 0.13025,而 v2.5 走 (latent − mean) × 0.5 / std,mean 是 [-1.6574, 1.886, -1.383, 2.5155],std 是 [8.4927, 5.9022, 6.5498, 5.2299]。当成普通 SDXL 加载就会得到发白发灰、对比度全丢的图。ComfyUI 已经内置对应支持:Load Checkpoint 之后接 ModelSamplingContinuousEDM 节点,sampling 选 edm_playground_v2.5,sigma_max 120.0、sigma_min 0.002,它会自动切到 SDXL_Playground_2_5 latent 格式。

    python main.py --listen 0.0.0.0 --port 8188
  4. 04

    压显存与提吞吐

    显存吃紧时用模型级 CPU offload 加 VAE 分块解码,能把峰值压到 16GB 以内且速度损失可控(顺序 offload 也能用,但慢到不实用)。要做服务化就反过来:社区已有针对 A10G/A100/H100 的 TensorRT 引擎构建实践,固定分辨率场景下延迟收益最明显。别忘了 ComfyUI 和 Jupyter 都需要在实例上放开端口后从公网访问。

    pipe.enable_model_cpu_offload(); pipe.vae.enable_tiling()

算笔账:这个模型便宜到不该犹豫

试模型:RTX 3090 24GB $0.193/卡·时,拉权重加跑通首批图按 3 小时算,0.193 × 3 = $0.579。存储要算清楚——只留 fp16 权重是 6.94 × $0.414 = $2.87/月;图省事整仓库 clone 下来就是 62.4 × $0.414 = $25.83/月,差出九倍,所以第一步的 --include 过滤值这个钱。一轮 1024px LoRA 微调放 RTX 5090 32GB,6 小时 = 0.723 × 6 = $4.34;真要全参微调 UNet,RTX A6000 48GB 跑满一天 = 0.817 × 24 = $19.61。产出 2GB 图片下行 2 × $0.0081 = $0.02。算力按秒计量、按小时定价,实例一停算力立刻停止计费,存储则持续到你销毁为止——训练完记得把 62.4GB 的临时目录清掉。无最低消费、无开通费、无需申请配额。

04 —

常见问题

Playground v3 能本地部署吗?在哪下权重?

不能,任何地方都下不到。PG-v3 只有论文 arXiv:2409.10695,24B 参数、深度融合 Llama3-8B,Hugging Face 上没有仓库,playgroundai 的 GitHub 组织也没有任何公开代码。想私有化跑 Playground 血统的模型,现实目标就是 v2.5。它只有 3B,在 NexGPU 上一张 RTX 3090 24GB($0.193/卡·时)就能开工,几分钟内出第一张图。

Playground v2.5 到底需要多大显存?16GB 够不够?

fp16 权重是明确的 6.94GB,1024×1024 单张推理再叠上注意力激活和 VAE 解码,16GB 卡在开启 VAE 分块后可以跑,但没什么余量;24GB 才是舒服的档位,能开 batch、能挂 LoRA、能顺手做高分辨率修复。NexGPU 上 Tesla T4 16GB 是 $0.298/卡·时,而 RTX 3090 24GB 只要 $0.193/卡·时——更大显存反而更便宜,没必要委屈自己。

为什么我加载 Playground v2.5 出的图发白发灰、完全没有对比度?

因为把它当成普通 SDXL 检查点加载了。v2.5 用 EDM 训练,latent 归一化方式不同:SDXL 是 latent × 0.13025,它是 (latent − mean) × 0.5 / std。在 ComfyUI 里接 ModelSamplingContinuousEDM 节点、sampling 选 edm_playground_v2.5 即可;在 diffusers 里保持自带的 EDMDPMSolverMultistepScheduler 并用 guidance_scale=3.0。想快速验证配置对不对,在 NexGPU 的 ComfyUI 预置镜像上开台 RTX 4090($0.540/卡·时),跑两组对比图,十分钟就能定论。

Playground v2.5 有 GGUF 或 INT4 量化版吗?

没有官方量化版,社区也基本没做。GGUF 那套生态主要围绕 DiT 类模型(Flux、SD3 等),而 v2.5 是 UNet 架构的 SDXL 亲戚,真实的省显存路径是 fp16 权重 + ComfyUI 的 fp8 权重存储 + VAE 分块,或者直接编 TensorRT 引擎(社区已有面向 A10G/A100/H100 的构建)。反正 fp16 才 6.94GB,量化的收益本来就不大。要编 TensorRT 引擎,NexGPU 的 A100 PCIE 80GB 是 $0.824/卡·时。

Playground v2.5 可以商用吗?授权是什么?

用的是 Playground v2.5 Community License,不是 OSI 认可的开源许可证。月独立用户数(MUU)在 100 万以下可以免费用于研究和商业用途,超过就必须向 Playground 申请商业授权;分发时要保留「Playground v2.5 is licensed under the Playground v2.5 Community License」的声明,另外附件 A 列了一串禁止用途。合规判断请以许可证原文为准。跑在 NexGPU 上的实例完全归你控制,权重和产出不经过我们。

微调 Playground v2.5 需要什么卡?和微调 SDXL 一样吗?

基本一样——UNet 结构完全相同,绝大多数 SDXL 的 LoRA/DreamBooth 训练脚本改个模型 ID 就能用,唯一要小心的是采样与 latent 归一化要按 EDM 那一套配。1024px LoRA 建议 RTX 5090 32GB($0.723/卡·时);全参微调建议 RTX A6000 48GB($0.817/卡·时)起,数据量大就上 A100 SXM4 80GB($1.088/卡·时)。NexGPU 覆盖 51 个国家和地区、1,175 个已验证节点、2,498 张 GPU,单节点最多 14 卡、最大节点显存 2,152GB,需要多卡分桶训练也接得住;Telegram 上有中英双语支持,不用排工单。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。