Loading...

文章背景图

Janus:统一多模态理解与文生图模型部署指南

2026-10-27
0
- 字
- 分钟
|

Janus 是 DeepSeek 的统一多模态理解与生成系列模型,包含三代:Janus(解耦视觉编码)、JanusFlow(自回归 + 整流流)、Janus-Pro(2025/01 升级版,理解与文生图均大幅提升)。一个模型同时做图像理解与文生图。

一、项目官方信息

项目 信息
GitHub 仓库 https://github.com/deepseek-ai/Janus
官方网站 https://www.deepseek.com
Hugging Face https://huggingface.co/deepseek-ai
论文(Janus-Pro) 见仓库 janus_pro_tech_report.pdf
论文(Janus) https://arxiv.org/abs/2410.13848
论文(JanusFlow) https://arxiv.org/abs/2411.07975
开源协议 代码 MIT;模型遵循 Model License(支持商用)
主要语言 Python(约 98.5%)
Star 数 约 18k

二、官方图片

Janus-Pro 统一多模态理解与生成:

Janus-Pro

三、环境要求

  • Python ≥ 3.8;
  • PyTorch、transformers;
  • 1.3B 模型单卡 16GB 可跑;
  • Janus-Pro-7B 建议 24GB+ 显存。

四、完整部署步骤

1. 克隆并安装

git clone https://github.com/deepseek-ai/Janus.git
cd Janus
pip install -e .

2. 选择模型

模型 序列长度 下载
Janus-1.3B 4096 https://huggingface.co/deepseek-ai/Janus-1.3B
JanusFlow-1.3B 4096 https://huggingface.co/deepseek-ai/JanusFlow-1.3B
Janus-Pro-1B 4096 https://huggingface.co/deepseek-ai/Janus-Pro-1B
Janus-Pro-7B 4096 https://huggingface.co/deepseek-ai/Janus-Pro-7B

3. Janus-Pro 多模态理解示例

import torch
from transformers import AutoModelForCausalLM
from janus.models import MultiModalityCausalLM, VLChatProcessor
from janus.utils.io import load_pil_images

model_path = "deepseek-ai/Janus-Pro-7B"
vl_chat_processor = VLChatProcessor.from_pretrained(model_path)
tokenizer = vl_chat_processor.tokenizer
vl_gpt = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True)

4. 文生图

Janus-Pro 内置文生图 pipeline,调用 vl_gpt.generate_image(...) 即可。

5. 在线 Demo

五、使用方法

三代区别

  • Janus:解耦视觉编码,一个 transformer 同时做理解与生成;
  • JanusFlow:在 LLM 框架内直接训练整流流(rectified flow),无需复杂架构改动;
  • Janus-Pro:优化训练策略、扩数据、扩到 7B,理解与文生图指令跟随显著提升。

评估

VLMEvalKit 已集成 Janus 评估,见 https://github.com/open-compass/VLMEvalKit/pull/541 。

Gradio 本地 Demo

仓库提供 Gradio 脚本,本地启动可视化界面。

六、常见问题 FAQ

1. 一个模型既能看图又能画图? 是,Janus 系列是统一多模态模型。

2. 7B 单卡能跑吗? 建议 24GB 以上显存。

3. tokenizer 有 bug? 2024/10/20 修复了 classifier-free guidance 失效问题,用最新权重。

4. 支持商用吗? 代码 MIT;模型遵循 Model License,允许商用。

5. 与 JanusFlow 区别? JanusFlow 用整流流做生成,Janus 用自回归。

6. 在线 Demo 用哪个? 推荐 Janus-Pro-7B,效果最好。

七、跳转链接

评论交流

文章目录