DeepSeek 这家最近爆火的AI公司,再度惊艳业界!他们刚刚宣布了一系列多模态AI模型,号称可在图像生成和分析上全面超越OpenAI的DALL-E 3。这些模型现已在Hugging Face平台公开下载,隶属新的“Janus Pro”家族,模型大小从1亿到7亿参数不等。要知道,参数量大多意味着更强的推理与生成能力,而Janus Pro的参数规模虽小,却已在各大指标上拔得头筹。
DeepSeek:一家用实力“做空”美国科技股的量化背景初创
重磅! Quant-Wiki.com 打造中文的量化百科,量化策略全开源!
值得注意的是,Janus Pro 采用MIT开源协议,这意味着可无限制用于商业场景。DeepSeek官方强调,在 GenEval 和 DPG-Bench 这两大评测中,Janus Pro 7B 版本不但超过了 DALL-E 3,还击败了 PixArt-alpha、Emu3-Gen、Stable Diffusion XL 等热门模型。
虽然Janus Pro暂时只能处理384×384分辨率的小图,但考虑到模型如此“紧凑”却能达到如此水准,足以令人惊艳。
“Janus Pro在多模态统一模型领域达到了新高度,简单、高效又灵活,足以成为下一代多模态模型的强力竞争者。” ——摘自DeepSeek在Hugging Face上的说明
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-Pro是对Janus的升级版本,通过:
1. 优化训练策略
2. 扩充数据规模
3. 更大模型规模
使其在多模态理解和图像生成两方面取得重大进展,特别强化了稳定性。其背后的autoregressive框架令Janus-Pro既能分析图像,又能生成图像,被DeepSeek视为下一代多模态统一模型的潜力代表。
Janus本身是一种“解耦式”自回归框架,让同一Transformer既能做图像理解又能做图像生成,并通过单独处理视觉编码部分来避免编码冲突。官方指出,Janus针对视觉通路做了分离,却依旧保留了统一Transformer架构的优势,不仅超越了许多同类模型,还简化了整体结构。
JanusFlow则进一步把autoregressive语言模型与rectified flow巧妙融合,为统一多模态模型提供新思路。通过最小化改动将rectified flow整合进大语言模型中,JanusFlow在多模态理解和生成上再度拉高了上限,可与其它专业模型抗衡。
Janus-Pro采用MIT License,任何个人与企业均可商用。官方提供了模型下载、EvalKit评测脚本及Demo示例。具体可在Hugging Face搜索“deepseek-ai/Janus-Pro-7B”等仓库。
以下摘取官方给出的关键步骤,演示如何进行图像理解与文本生图等场景。
pip install -e .
确保环境 Python >= 3.8 及必要的依赖已装好。
下面的示例,利用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)
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吧!