突发!DeepSeek深夜再开源图像模型Janus Pro,全面超越ChatGPT!

人工智能前沿 LLMQuant 2025年01月28日 03:03

 

图片

DeepSeek 这家最近爆火的AI公司,再度惊艳业界!他们刚刚宣布了一系列多模态AI模型,号称可在图像生成和分析上全面超越OpenAI的DALL-E 3。这些模型现已在Hugging Face平台公开下载,隶属新的“Janus Pro”家族,模型大小从1亿到7亿参数不等。要知道,参数量大多意味着更强的推理与生成能力,而Janus Pro的参数规模虽小,却已在各大指标上拔得头筹。

DeepSeek:一家用实力“做空”美国科技股的量化背景初创

重磅! Quant-Wiki.com 打造中文的量化百科,量化策略全开源!

开源!MIT许可证,商业可用

值得注意的是,Janus Pro 采用MIT开源协议,这意味着可无限制用于商业场景。DeepSeek官方强调,在 GenEval 和 DPG-Bench 这两大评测中,Janus Pro 7B 版本不但超过了 DALL-E 3,还击败了 PixArt-alpha、Emu3-Gen、Stable Diffusion XL 等热门模型。

图片
Janus Pro与其他模型表现比较

虽然Janus Pro暂时只能处理384×384分辨率的小图,但考虑到模型如此“紧凑”却能达到如此水准,足以令人惊艳。

“Janus Pro在多模态统一模型领域达到了新高度,简单、高效又灵活,足以成为下一代多模态模型的强力竞争者。” ——摘自DeepSeek在Hugging Face上的说明


DeepSeek的爆红与高频上新

DeepSeek由知名私募幻方量化注资,近期凭借其对话式AI应用在App Store排名飙升,引发投资人和科技人士的广泛讨论。加之其独特的计算效率领先的模型训练技巧,让不少华尔街分析师开始质疑美国在AI领域的优势能否继续保持,以及硬件芯片的需求热潮是否会降温。

官方最新动态:

  • • 2025.01.27:Janus-Pro发布,进一步改进多模态理解与图像生成

  • • 2024.11.13:JanusFlow上线,结合autoregression与rectified flow

  • • 2024.10.23:开源VLMEvalKit评测代码

  • • 2024.10.20:修复若干tokenizer问题并发布在线/本地Gradio Demo

图片

一、Janus家族模型简介

1.1 Janus-Pro:融合了数据与模型扩容

Janus-Pro是对Janus的升级版本,通过:

  1. 1. 优化训练策略

  2. 2. 扩充数据规模

  3. 3. 更大模型规模

使其在多模态理解和图像生成两方面取得重大进展,特别强化了稳定性。其背后的autoregressive框架令Janus-Pro既能分析图像,又能生成图像,被DeepSeek视为下一代多模态统一模型的潜力代表。

1.2 Janus:专注“视觉编码解耦”

Janus本身是一种“解耦式”自回归框架,让同一Transformer既能做图像理解又能做图像生成,并通过单独处理视觉编码部分来避免编码冲突。官方指出,Janus针对视觉通路做了分离,却依旧保留了统一Transformer架构的优势,不仅超越了许多同类模型,还简化了整体结构。

1.3 JanusFlow:Flow与大模型的创新结合

JanusFlow则进一步把autoregressive语言模型与rectified flow巧妙融合,为统一多模态模型提供新思路。通过最小化改动将rectified flow整合进大语言模型中,JanusFlow在多模态理解和生成上再度拉高了上限,可与其它专业模型抗衡。

图片


二、模型下载与开源协议

Janus-Pro采用MIT License,任何个人与企业均可商用。官方提供了模型下载EvalKit评测脚本Demo示例。具体可在Hugging Face搜索“deepseek-ai/Janus-Pro-7B”等仓库。


三、快速上手

以下摘取官方给出的关键步骤,演示如何进行图像理解文本生图等场景。

3.1 安装依赖

pip install -e .

确保环境 Python >= 3.8 及必要的依赖已装好。


3.2 多模态理解示例

下面的示例,利用Janus-Pro-7B来回答图像相关问题:

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
)
vl_gpt = vl_gpt.to(torch.bfloat16).cuda().eval()

conversation = [
    {
        "role""<|User|>",
        "content"f"<image_placeholder>\n请帮我描述一下这张图片的场景",
        "images": ["your_image_path.jpg"],
    },
    {"role""<|Assistant|>""content"""},
]

pil_images = load_pil_images(conversation)
prepare_inputs = vl_chat_processor(
    conversations=conversation, images=pil_images, force_batchify=True
).to(vl_gpt.device)

inputs_embeds = vl_gpt.prepare_inputs_embeds(**prepare_inputs)
outputs = vl_gpt.language_model.generate(
    inputs_embeds=inputs_embeds,
    attention_mask=prepare_inputs.attention_mask,
    pad_token_id=tokenizer.eos_token_id,
    max_new_tokens=512,
    do_sample=False,
    use_cache=True,
)

answer = tokenizer.decode(outputs[0].cpu().tolist(), skip_special_tokens=True)
print(answer)

3.3 文本生成图像示例

import os
import PIL.Image
import torch
import numpy as np
from transformers import AutoModelForCausalLM
from janus.models import MultiModalityCausalLM, VLChatProcessor

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
)
vl_gpt = vl_gpt.to(torch.bfloat16).cuda().eval()

conversation = [
    {
        "role""<|User|>",
        "content""A stunning princess from kabul in red, white traditional clothing, blue eyes, brown hair",
    },
    {"role""<|Assistant|>""content"""},
]

sft_format = vl_chat_processor.apply_sft_template_for_multi_turn_prompts(
    conversations=conversation,
    sft_format=vl_chat_processor.sft_format,
    system_prompt="",
)
prompt = sft_format + vl_chat_processor.image_start_tag

@torch.inference_mode()
def generate(...):
    # 略:生成过程见官方脚本
    pass

generate(vl_gpt, vl_chat_processor, prompt)

之后可在 generated_samples 文件夹下查看合成的图像。
如果需要在线体验,可访问官方在Hugging Face的 Gradio Demo。本地也可直接运行:

pip install -e .[gradio]
python demo/app_januspro.py

四、结语

Janus Pro再次证明DeepSeek在多模态AI上的进展已来到全球领先行列:

  • • 不仅在图像生成上逼近甚至超越DALL-E 3,

  • • 在图像理解和小分辨率场景中也表现突出,

  • • 还能通过开放式MIT协议让更多开发者、企业一起探索商业化落地。

有人认为,在DeepSeek的带动下,AI商业与模型技术的迭代会越来越迅猛,“AI争霸战”可能重新洗牌。未来,随着“JanusFlow”等方案继续完善,相信多模态统一模型会在更多场景中大放异彩。

想第一时间体验Janus Pro强大的多模态能力,赶快到Hugging Face下载或试用官方Demo吧!