CogView4

GitHub
1.1k 82 中等 1 次阅读 6天前Apache-2.0图像
AI 解读 由 AI 自动生成,仅供参考

CogView4 是由智谱 AI 开源的新一代文生图模型,能够根据用户输入的文字描述生成高质量图像。它主要解决了传统模型在中文语境下理解能力不足、长文本提示词支持有限以及生成分辨率受限等痛点,实现了原生支持中英文双语输入,并能处理长达 1024 个 Token 的复杂指令。

该工具特别适合开发者、AI 研究人员以及需要高精度视觉内容创作的设计师使用。开发者可利用其适配的 Diffusers 版本和即将推出的 CogKit 工具包进行微调与集成;研究人员可深入探究其基于级联扩散与 Relay Diffusion 框架的技术细节;设计师则能借助其对 512 至 2048 分辨率的灵活支持,快速产出符合需求的创意素材。

CogView4 的核心亮点在于其强大的语言编码器 GLM-4-9B,这不仅大幅提升了对中文语义的理解深度,还显著增强了画面细节的还原度。相比前代仅支持英文的模型,CogView4 让中文用户也能轻松通过自然语言驾驭 AI 绘画,同时支持 BF16 精度推理,兼顾了生成质量与运行效率。无论是构建本地应用还是探索多模态生成前沿,CogView4 都提供了一个开放且高效的技术基座。

使用场景

某本土电商公司的设计团队正急需为“国潮中秋”营销活动准备一系列具有复杂中文意境的商品海报背景图。

没有 CogView4 时

  • 语言理解障碍:主流模型对“月满西楼,桂香浮动”等富含文化隐喻的中文提示词理解偏差大,常生成西式建筑或无关元素,需反复翻译成英文尝试。
  • 描述长度受限:受限于 200 余词的提示词长度上限,设计师无法详细描述画面中的光影层次、材质纹理及构图细节,导致图片精致度不足。
  • 人工修图耗时:因生成的文字乱码且主体结构错误,后期美工需花费数小时进行 PS 重绘和字体替换,严重拖慢上线节奏。
  • 分辨率适配困难:难以直接生成符合电商大屏展示的自定义高分辨率图像,放大后细节模糊,无法满足印刷级需求。

使用 CogView4 后

  • 原生中文精准掌控:CogView4 内置 GLM-4-9B 编码器,能直接深度理解长句中文提示词,准确还原“琉璃瓦反光”与“桂花飘落”的动态意境。
  • 超长细节描述支持:依托 1024 Tokens 的上下文窗口,设计师可输入包含灯光色温、布料质感在内的数百字详细指令,一次性生成高完成度草图。
  • 文生图直出可用:生成的图像中汉字渲染准确,构图逻辑严密,大幅减少后期修图工作量,设计效率提升 3 倍以上。
  • 灵活高清输出:支持 512 至 2048 范围内的任意分辨率定制,直接输出适合网页 Banner 和线下海报的高清素材,无需二次超分处理。

CogView4 通过原生中文长文本理解与高分辨率生成能力,将创意从“翻译磨合”解放为“所想即所得”,彻底重塑了本土化视觉内容的生产流。

运行环境要求

操作系统
  • 未说明
GPU
  • 必需 NVIDIA GPU
  • 运行精度仅支持 BF16/FP32
  • 显存需求:关闭 CPU 卸载需 33GB-39GB (取决于分辨率)
  • 开启 CPU 卸载需 20GB
  • 若文本编码器使用 4bit 量化,显存需求可降至 13GB-14GB
内存

最低 32GB (官方建议至少 32GB 以防进程被杀)

依赖
notes1. 模型推理精度仅支持 BF16 和 FP32。2. 强烈建议使用大语言模型(如 GLM-4)在生成前优化提示词以提升质量。3. 可通过开启 enable_model_cpu_offload 或将文本编码器量化为 4bit (BNB 或 TorchAO) 来显著降低显存占用。4. 官方提供了 CogKit 用于微调,本仓库主要包含推理代码。5. 输入图像分辨率需满足:512 <= H, W <= 2048,H*W <= 2^21,且长宽均为 32 的倍数。
python未说明
diffusers
torch
transformers (GLM-4-9B, T5-XXL)
accelerate (隐含,用于 enable_model_cpu_offload)
CogView4 hero image

快速开始

CogView4 & CogView3 & CogView-3Plus

阅读中文版 日本語で読む

🤗 HuggingFace Space 🤖ModelScope Space 🛠️ZhipuAI MaaS(Faster)
👋 WeChat Community 📚 CogView3 Paper

showcase.png

Project Updates

  • 🔥🔥 2025/03/24: 我们正在推出 CogKit,这是一款功能强大的工具包,用于微调和推理 CogView4CogVideoX 系列模型,使您能够充分探索我们的多模态生成模型。
  • 2025/03/04: 我们已适配并开源了 CogView-4 模型的 diffusers 版本,该模型拥有6B参数,支持原生中文输入及中文文生图任务。您可前往 线上体验
  • 2024/10/13: 我们已适配并开源了 CogView-3Plus-3B 模型的 diffusers 版本。您可前往 线上试用
  • 2024/9/29: 我们已开源了 CogView3CogView-3Plus-3BCogView3 是一个基于级联扩散、采用接力扩散框架的文生图系统。而 CogView-3Plus 则是一系列新近开发的基于扩散Transformer的文生图模型。

Project Plan

  • Diffusers 工作流适配
  • Cog系列微调工具包(即将发布)
  • ControlNet模型及训练代码

Community Contributions

我们在此收集了一些与本仓库相关的社区项目。这些项目由社区成员维护,我们非常感谢他们的贡献。

Model Introduction

Model Comparison

Model Name CogView4 CogView3-Plus-3B
Resolution 512 <= H, W <= 2048
H * W <= 2^{21}
H, W \mod 32 = 0
Inference Precision Only supports BF16, FP32
Encoder GLM-4-9B T5-XXL
Prompt Language Chinese, English English
Prompt Length Limit 1024 Tokens 224 Tokens
Download Links 🤗 HuggingFace
🤖 ModelScope
🟣 WiseModel
🤗 HuggingFace
🤖 ModelScope
🟣 WiseModel

Memory Usage

DIT模型在BF16精度和batchsize=4条件下进行测试,结果如下表所示:

Resolution enable_model_cpu_offload OFF enable_model_cpu_offload ON enable_model_cpu_offload ON
Text Encoder 4bit
512 * 512 33GB 20GB 13G
1280 * 720 35GB 20GB 13G
1024 * 1024 35GB 20GB 13G
1920 * 1280 39GB 20GB 14G

此外,我们建议您的设备至少配备32GB内存,以防止进程被杀掉。

模型指标

我们在多个基准测试上进行了测试,取得了以下成绩:

DPG-Bench

模型 总体 全局 实体 属性 关系 其他
SDXL 74.65 83.27 82.43 80.91 86.76 80.41
PixArt-alpha 71.11 74.97 79.32 78.60 82.57 76.96
SD3-Medium 84.08 87.90 91.01 88.83 80.70 88.68
DALL-E 3 83.50 90.97 89.61 88.39 90.58 89.83
Flux.1-dev 83.79 85.80 86.79 89.98 90.04 89.90
Janus-Pro-7B 84.19 86.90 88.90 89.40 89.32 89.48
CogView4-6B 85.13 83.85 90.35 91.17 91.14 87.29

GenEval

模型 总体 单对象 两对象 计数 颜色 位置 颜色归属
SDXL 0.55 0.98 0.74 0.39 0.85 0.15 0.23
PixArt-alpha 0.48 0.98 0.50 0.44 0.80 0.08 0.07
SD3-Medium 0.74 0.99 0.94 0.72 0.89 0.33 0.60
DALL-E 3 0.67 0.96 0.87 0.47 0.83 0.43 0.45
Flux.1-dev 0.66 0.98 0.79 0.73 0.77 0.22 0.45
Janus-Pro-7B 0.80 0.99 0.89 0.59 0.90 0.79 0.66
CogView4-6B 0.73 0.99 0.86 0.66 0.79 0.48 0.58

T2I-CompBench

模型 颜色 形状 纹理 2D空间 3D空间 数量感 非空间剪辑 复杂3合1
SDXL 0.5879 0.4687 0.5299 0.2133 0.3566 0.4988 0.3119 0.3237
PixArt-alpha 0.6690 0.4927 0.6477 0.2064 0.3901 0.5058 0.3197 0.3433
SD3-Medium 0.8132 0.5885 0.7334 0.3200 0.4084 0.6174 0.3140 0.3771
DALL-E 3 0.7785 0.6205 0.7036 0.2865 0.3744 0.5880 0.3003 0.3773
Flux.1-dev 0.7572 0.5066 0.6300 0.2700 0.3992 0.6165 0.3065 0.3628
Janus-Pro-7B 0.5145 0.3323 0.4069 0.1566 0.2753 0.4406 0.3137 0.3806
CogView4-6B 0.7786 0.5880 0.6983 0.3075 0.3708 0.6626 0.3056 0.3869

中文文本准确性评估

模型 精确率 召回率 F1分数 Pick@4
Kolors 0.6094 0.1886 0.2880 0.1633
CogView4-6B 0.6969 0.5532 0.6168 0.3265

推理模型

提示优化

尽管 CogView4 系列模型是使用冗长的合成图像描述进行训练的,但我们强烈建议在进行文生图之前,使用大型语言模型来重写提示词,这将大大提升生成质量。

我们提供了一个示例脚本。建议运行此脚本以优化您的提示词。请注意,CogView4CogView3 模型用于提示优化的少样本示例不同,需要加以区分。

cd inference
python prompt_optimize.py --api_key "Zhipu AI API Key" --prompt {your prompt} --base_url "https://open.bigmodel.cn/api/paas/v4" --model "glm-4-plus" --cogview_version "cogview4"

推理模型

使用 BF16 精度运行 CogView4-6B 模型:

from diffusers import CogView4Pipeline
import torch

pipe = CogView4Pipeline.from_pretrained("THUDM/CogView4-6B", torch_dtype=torch.bfloat16).to("cuda")

# 打开以减少 GPU 内存占用
pipe.enable_model_cpu_offload()
pipe.vae.enable_slicing()
pipe.vae.enable_tiling()

prompt = "一辆鲜艳的樱桃红色跑车在耀眼的阳光下傲然矗立,其抛光的车身光滑无瑕,映出如镜般的倒影。这款车拥有低矮、流线型的车身,棱角分明的前大灯如同掠食者般锐利地注视前方,黑色高光泽的赛车轮毂与红色形成鲜明对比。格栅和排气管上点缀着微妙的镀铬装饰,而深色的车窗则暗示着奢华而私密的内部空间。整个场景充满了速度与优雅的气息,仿佛这辆车即将沿着海岸公路疾驰而去,背景中是蔚蓝的大海波涛汹涌。"
image = pipe(
    prompt=prompt,
    guidance_scale=3.5,
    num_images_per_prompt=1,
    num_inference_steps=50,
    width=1024,
    height=1024,
).images[0]

image.save("cogview4.png")

更多推理代码,请查看:

  1. 使用 BNB int4 加载 text encoder 并完成推理代码注释,请参阅 这里
  2. 使用 TorchAO int8 或 int4 加载 text encoder & transformer 并完成推理代码注释,请参阅 这里
  3. 设置 gradio GUI DEMO,请参阅 这里

微调

本仓库不包含微调代码,但您可以采用以下两种方法进行微调,包括 LoRA 和 SFT:

  1. CogKit,我们官方维护的系统级微调框架,支持 CogView4 和 CogVideoX。
  2. finetrainers,一种低内存解决方案,可在单台 RTX 4090 上进行微调。
  3. 如果您想直接训练 ControlNet 模型,可以参考 训练代码,并训练您自己的模型。

许可证

本仓库中的代码以及 CogView3 模型均采用 Apache 2.0 许可证。

我们欢迎并感谢您的代码贡献。您可以查看贡献指南 这里

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

tesseract

Tesseract 是一款历史悠久且备受推崇的开源光学字符识别(OCR)引擎,最初由惠普实验室开发,后由 Google 维护,目前由全球社区共同贡献。它的核心功能是将图片中的文字转化为可编辑、可搜索的文本数据,有效解决了从扫描件、照片或 PDF 文档中提取文字信息的难题,是数字化归档和信息自动化的重要基础工具。 在技术层面,Tesseract 展现了强大的适应能力。从版本 4 开始,它引入了基于长短期记忆网络(LSTM)的神经网络 OCR 引擎,显著提升了行识别的准确率;同时,为了兼顾旧有需求,它依然支持传统的字符模式识别引擎。Tesseract 原生支持 UTF-8 编码,开箱即用即可识别超过 100 种语言,并兼容 PNG、JPEG、TIFF 等多种常见图像格式。输出方面,它灵活支持纯文本、hOCR、PDF、TSV 等多种格式,方便后续数据处理。 Tesseract 主要面向开发者、研究人员以及需要构建文档处理流程的企业用户。由于它本身是一个命令行工具和库(libtesseract),不包含图形用户界面(GUI),因此最适合具备一定编程能力的技术人员集成到自动化脚本或应用程序中

73.3k|★★☆☆☆|3天前
开发框架图像