先把名字理清楚。今天搜「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-aesthetic | 3B(SDXL 架构 UNet + 双 CLIP 文本编码器) | fp16 单文件 6.94GB/fp32 单文件 13.9GB/仓库全量 62.4GB | 1024×1024 原生,含竖版与横版比例桶;文本侧 CLIP 77 token | 唯一值得部署的版本。默认 EDMDPMSolverMultistepScheduler、guidance_scale 3.0、50 步;换 EDMEulerScheduler 时 guidance_scale 调到 5.0。MJHQ-30K FID 4.48。 |
| playgroundai/playground-v2-1024px-aesthetic | 3B(与 v2.5 同架构) | fp16 约 7GB 量级(同为 SDXL 3B UNet) | 1024×1024 | 上一代美学模型,MJHQ-30K FID 7.07。除非要复现对比实验,否则直接上 v2.5;下载量只有 248 次,社区早已迁移。 |
| playground-v2-512px-base / playground-v2-256px-base | 3B | fp16 约 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 —
四步跑通:从空实例到出第一张图
关键在别拉错文件、别用错采样器
- 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 - 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')" - 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 - 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 —
