DeepSeek Janus系列多模态模型

DeepSeek 的 Janus 系列是一种先进的开源多模态 AI 模型,它将图像理解、文本到图像生成和视觉语言推理统一到一个系统中。

DeepSeek Janus系列多模态模型

AI 正在迅速发展,多模态模型正在彻底改变机器理解和生成内容的方式。DeepSeek 的 Janus 系列是一种先进的开源多模态 AI 模型,它将图像理解、文本到图像生成和视觉语言推理统一到一个系统中。

1、什么是 DeepSeek 的 Janus?

DeepSeek 的 Janus是一系列统一的多模态模型,结合了视觉和语言功能。与专注于文本到图像合成或视觉语言任务的传统模型不同,Janus-Series 无缝集成了这两种功能。

主要特点:

  • 多模态理解:可以处理文本和图像,实现深度上下文理解。
  • 文本到图像生成:类似于 OpenAI 的 DALL-E 3,但开源且针对效率进行了优化。
  • 统一 Transformer 架构:使用单个 Transformer 执行文本和视觉任务。
  • 可扩展性:支持针对不同硬件功能量身定制的多种模型大小。
  • 开源可访问性:根据 MIT 许可提供,允许不受限制地使用和定制。

2、Janus系列的工作原理

DeepSeek 的 Janus-Pro 7B 使用自回归框架运行,该框架根据过去的标记预测下一个标记,从而生成连贯且具有上下文感知的输出。

它还利用了 SigLIP(Sigmoid 对比语言-图像预训练),这种方法通过在庞大的网络规模数据集上进行训练来增强视觉语言对齐。这可以实现卓越的文本到图像合成和基于视觉的推理。

3、Janus vs. 其他多模态 AI 模型

Janus与其他多模态模型(例如 OpenAI 的 DALL-E 3、Meta 的 ImageBind 和 Stability AI 的 Stable Diffusion)相比如何?

Janus-Series 以其开源可访问性、双多模态功能和高效的训练过程脱颖而出,使其成为 OpenAI 的 DALL-E 3 等专有模型的强大替代品。

4、在本地运行 Janus

我们可以使用 DeepSeek 的官方存储库和自定义推理框架(如 Hugging Face 的 transformers 库)在本地运行它。

首先确保你已安装必要的依赖项:

pip install torch torchvision transformers diffusers gradio

然后克隆存储库并安装先决条件

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

Janus-Series 带有基于 Gradio 的 Web UI,可轻松进行交互。要启动它,请运行:

python app.py

这将在 http://localhost:7860/ 启动本地 Gradio 演示,你可以在其中测试模型的图像理解和生成功能。

5、使用 Janus 进行图像理解

示例:从图像中提取信息

注意:请确保安装了最新版本的 Transformers 库,以使这些示例代码正常工作。如果您遇到任何问题,请参阅此处的官方讨论主题

from PIL import Image
import requests
from transformers import AutoModel, AutoProcessor

model = AutoModel.from_pretrained("deepseek-ai/Janus-Pro-7B")
processor = AutoProcessor.from_pretrained("deepseek-ai/Janus-Pro-7B")
image = Image.open("example.jpg")
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
print(outputs)
示例:图像中的对象识别
question = "What objects are present in the image?"
inputs = processor(text=question, images=image, return_tensors="pt")
outputs = model.generate(**inputs)
print(outputs)

6、使用 Janus进行文本到图像生成

示例:从文本生成图像
prompt = "A futuristic city at sunset, cyberpunk style."
inputs = processor(text=prompt, return_tensors="pt")
outputs = model.generate(**inputs)
print(outputs)
示例:增强图像细节
prompt = "Enhance the details of this image."
inputs = processor(text=prompt, images=image, return_tensors="pt")
outputs = model.generate(**inputs)
print(outputs)

7、性能洞察和观察

VRAM 消耗:

  • 运行 Janus-Pro-7B 需要 15GB+ VRAM 进行推理。
  • 图像生成任务消耗 24GB+ VRAM。

准确度和幻觉:

  • 视觉任务(物体识别、图像描述)表现良好,但 OCR(光学字符识别)较弱。
  • 文本到图像生成准确遵循指令,但可能难以实现照片级真实感。

多语言能力:

  • 英语 OCR 可用,但阿拉伯语和中文 OCR 则难以实现。
  • 适用于基于位置的图像识别(例如识别古迹和地标)。

8、结束语

DeepSeek 的 Janus系列是一种创新的多模态 AI 模型,将视觉和文本处理统一到一个系统中。它提供开源可访问性、高效的性能和强大的文本到图像功能。虽然在 OCR 和多语言支持方面仍在改进,但它在图像生成和视觉语言任务方面表现出色。

为什么要使用 Janus?

  • 将视觉和语言结合起来用于高级 AI 应用
  • 开源且完全可定制
  • 针对本地部署进行了优化
  • 与专有模型相比具有竞争力的性能

原文链接:DeepSeek’s Janus-Series: A Unified Multimodal AI for Image Understanding and Generation

汇智网翻译整理,转载请标明出处