DeepSeek 是一家中国 AI 创业公司,已撼动全球 AI 行业,令美国股市蒸发 1 万亿美元市值,并令 Nvidia 和 OpenAI 等科技巨头为之震动。它迅速在文本生成、推理、视觉模型和图像生成等领域崭露头角。DeepSeek 近期发布了多款最前沿的模型,其中包括 Janus ,这是一种能够理解视觉数据并将文本生成图像的多模态模型。
图片作者自制
在本教程中,我们将了解 Janus 系列,设置 Janus 项目,构建一个用于本地运行模型的 Docker 容器,并使用多种图像与文本提示来测试其能力。
了解正在颠覆全球 AI 行业的 DeepSeek 模型:
什么是 DeepSeek Janus 系列?
DeepSeek Janus 系列是一条全新的多模态模型产品线,采用创新框架统一视觉理解与生成任务。该系列包括 Janus 、 JanusFlow ,以及更先进的 Janus-Pro 。每一代都在效率、性能和多模态能力上相较前一代有显著提升。
1. Janus
Janus 是一种创新的自回归框架,在统一的 Transformer 架构下,将视觉编码为理解与生成任务分离为不同路径。此方法化解了两种角色之间的冲突,提升了灵活性与有效性。Janus 的表现可与任务特定模型持平或更优,使其成为下一代多模态系统的有力竞争者。
2. JanusFlow
JanusFlow 将自回归语言建模与 rectified flow(先进的生成建模技术)相结合。其极简设计便于在大语言模型框架内进行训练,无需复杂修改。与专用或统一方法相比,JanusFlow 在多项基准上展现出更优性能,有效推动了视觉-语言建模的边界。
3. Janus-Pro
Janus-Pro 通过引入优化的训练策略、扩充训练数据集并扩展更大模型规模,对前代模型进行增强。这些改进显著提升了多模态理解与文本到图像的指令跟随能力,同时确保文本到图像的生成更加稳定。
来源: deepseek-ai/Janus
参阅 DeepSeek 的 Janus-Pro:功能、与 DALL-E 3 对比及更多 ,进一步了解 Janus 系列、获取方式以及与 OpenAI 的 DALL-E 3 的比较。
设置 Janus 项目
Janus 属于相对较新的模型,目前还没有量化版本或可在笔记本或台式机上轻松使用的本地 AI 应用。
不过,GitHub 上的 Janus 仓库提供了一个优秀的 Gradio Web 应用演示,任何人都可以尝试。但问题在于,该演示经常因多个软件包冲突而运行失败。
为解决这一问题,在本项目中,我们将修改原始代码,构建自己的 Docker 镜像,并通过 Docker Desktop 应用在本地运行容器。
1. 安装 Docker Desktop
首先,从Docker 官方网站 下载并安装最新版本的 Docker Desktop。
Windows 用户注意:
如果您使用的是 Windows,还需要安装适用于 Linux 的 Windows 子系统(WSL)。打开终端并运行以下命令安装 WSL:
wsl --install技术支持
2. 克隆 Janus 仓库
接着,从 GitHub 克隆 Janus 仓库并进入项目目录:
git clone https://github.com/deepseek-ai/Janus.git
cd Janus技术支持
3. 修改演示代码
进入 demo 文件夹,在您偏好的代码编辑器中打开 app_januspro.py 文件。进行以下修改:
更改模型名称:将 deepseek-ai/Janus-Pro-7B 替换为 deepseek-ai/Janus-Pro-1B。
这将加载更轻量的模型版本,大小仅为 4.1 GB,更适合本地使用。
更新脚本最后一行:将 demo.queue 函数修改为如下所示:
demo.queue(concurrency_count=1, max_size=10).launch(
server_name="0.0.0.0", server_port=7860
)技术支持
此更改可确保与 Docker 的 URL 和端口兼容。
4. 创建 Docker 镜像
要将应用容器化,请在项目根目录创建 Dockerfile。在 Dockerfile 中使用以下内容:
FROM pytorch/ pytorch: latest
WORKDIR / app
COPY . / app
RUN pip install - e . [ gradio]
CMD [ "python" , "demo/app_januspro.py" ] 技术支持
Dockerfile 将:
基于 PyTorch 基础镜像创建 Docker 镜像。
在容器中设置工作目录。
将本机的所有必要文件复制到 Docker 容器内的 /app 目录。
安装应用所需的全部依赖。
最后,在容器内启动 Gradio 应用。
构建并运行 Docker 镜像
当 Dockerfile 就绪后,我们将构建 Docker 镜像并运行容器。
您可以学习 Introduction to Docker 课程,了解构建与部署 Docker 镜像的基础知识。
在终端中输入以下命令创建 Docker 镜像。该命令会使用位于根文件夹的 Dockerfile,并将镜像命名为 janus:
docker build -t janus . 技术支持
从零开始构建镜像大约需要 10 到 15 分钟,具体取决于您的网络速度。
以下命令将为 Janus 应用启动一个 Docker 容器。它启用 GPU 支持,映射端口 7860 以访问 Gradio 应用,并为 Hugging Face 模型文件提供持久化存储。
docker run -it -p 7860:7860 -d -v huggingface:/root/.cache/huggingface -w /app --gpus all --name janus janus:latest技术支持
如果您打开 Docker Desktop 应用并进入“Containers”选项卡,您会看到 janus 容器正在运行。不过,它尚未可以使用。
要查看进度,请点击 janus 容器,然后转到“Logs”选项卡。在这里,您会注意到容器正在从 Hugging Face Hub 下载模型文件。
模型成功下载后,日志会显示应用已在运行的消息。
随后,您可以在浏览器中访问以下 URL 来使用该应用:http://localhost:7860/。
如果您遇到问题,请查看更新版 Janus 项目: kingabzpro/Janus: Janus-Series 。
测试 Janus Pro 模型
该 Web 应用界面简洁,一切运行顺畅。在本节中,我们将测试 Janus Pro 的多模态理解与文本到图像生成能力。
测试多模态理解
为评估模型的多模态理解,我们首先从 DataCamp 教程中加载一张图片,并请模型进行解释。结果令人印象深刻——即便是较小的 1B 模型,输出也高度准确且细节到位。
接着,我们加载另一张图片,请模型概述一幅信息图的内容。模型成功识别了图中的文本,并给出高度准确、连贯的回答。这表明其在处理与理解视觉和文本元素方面具有很强能力。
测试文本到图像生成
向下滚动应用,您会看到“文本到图像生成”部分。在这里,您可以输入任意提示词并点击“Generate Images”按钮。模型会生成五个变体,可能需要几分钟时间。
效果相当出色,生成质量与细节水平可与 Stable Diffusion XL 相媲美。
您还可以学习如何在个人图片上 使用 DreamBooth 和 LoRA 微调 Stable Diffusion XL 。
我们再试一个提示词:
提示词:
“这幅图呈现一只设计精巧的眼睛,置于环形背景之上,背景装饰着华美的旋纹图案,兼具写实与超现实气息。视觉中心是一只格外鲜明的蓝色虹膜,细致的纹理自瞳孔向外放射,营造出深度与张力。睫毛修长黝黑,在其周围皮肤上投下细微阴影;肌理平滑却略带岁月痕迹与风化质感。
眼睛上方是一处仿石材的结构,类似古典建筑的一部分,为画面增添神秘与永恒的优雅层次。该建筑元素与周围的有机曲线形成强烈却和谐的对比。眼睛下方则有另一处装饰性图案,带有巴洛克艺术的韵味,进一步强化了作品在每个精雕细琢的细节中所蕴含的永恒感。
整体氛围散发出神秘气息,并与象征永恒的元素无缝交织;这通过真实质感与超现实笔触的并置得以实现。从框架眼睛的繁复纹样,到上方仿古的石质构件,每个组成部分都独具贡献,共同塑造出一幅极具吸引力且充满谜样魅力的画面。”
结果再次令人惊艳。生成的图像很好地捕捉了提示词所描述的繁复细节与超现实艺术元素。
结语
为全面测试模型能力,DeepSeek 已在 Hugging Face Spaces 部署了同款 Web 应用。您可访问 Chat With Janus-Pro-7B 。Janus Pro 的一大亮点是在较小变体(如 1B 模型)下也能保持很高的准确性。
在本教程中,我们探索了 Janus Pro ,这是一款既能理解图像、又能将文本提示生成图像的多模态模型。此外,我们还在笔记本电脑 GPU 上构建了私有本地方案。该方案快速高效,可在有限资源下自由试验。
查看我们的最新指南: 微调 DeepSeek R1(推理模型) 。您将学习如何在医疗推理链数据集上训练该推理模型,为未来构建更优秀的 AI 医生。
DeepSeek 是一家中国 AI 创业公司,已撼动全球 AI 行业,令美国股市蒸发 1 万亿美元市值,并令 Nvidia 和 OpenAI 等科技巨头为之震动。它迅速在文本生成、推理、视觉模型和图像生成等领域崭露头角。DeepSeek 近期发布了多款最前沿的模型,其中包括 Janus,这是一种能够理解视觉数据并将文本生成图像的多模态模型。
图片作者自制
在本教程中,我们将了解 Janus 系列,设置 Janus 项目,构建一个用于本地运行模型的 Docker 容器,并使用多种图像与文本提示来测试其能力。
了解正在颠覆全球 AI 行业的 DeepSeek 模型:
什么是 DeepSeek Janus 系列?
DeepSeek Janus 系列是一条全新的多模态模型产品线,采用创新框架统一视觉理解与生成任务。该系列包括 Janus、JanusFlow,以及更先进的 Janus-Pro。每一代都在效率、性能和多模态能力上相较前一代有显著提升。
1. Janus
Janus 是一种创新的自回归框架,在统一的 Transformer 架构下,将视觉编码为理解与生成任务分离为不同路径。此方法化解了两种角色之间的冲突,提升了灵活性与有效性。Janus 的表现可与任务特定模型持平或更优,使其成为下一代多模态系统的有力竞争者。
2. JanusFlow
JanusFlow 将自回归语言建模与 rectified flow(先进的生成建模技术)相结合。其极简设计便于在大语言模型框架内进行训练,无需复杂修改。与专用或统一方法相比,JanusFlow 在多项基准上展现出更优性能,有效推动了视觉-语言建模的边界。
3. Janus-Pro
Janus-Pro 通过引入优化的训练策略、扩充训练数据集并扩展更大模型规模,对前代模型进行增强。这些改进显著提升了多模态理解与文本到图像的指令跟随能力,同时确保文本到图像的生成更加稳定。
来源:deepseek-ai/Janus
参阅 DeepSeek 的 Janus-Pro:功能、与 DALL-E 3 对比及更多,进一步了解 Janus 系列、获取方式以及与 OpenAI 的 DALL-E 3 的比较。
设置 Janus 项目
Janus 属于相对较新的模型,目前还没有量化版本或可在笔记本或台式机上轻松使用的本地 AI 应用。
不过,GitHub 上的 Janus 仓库提供了一个优秀的 Gradio Web 应用演示,任何人都可以尝试。但问题在于,该演示经常因多个软件包冲突而运行失败。
为解决这一问题,在本项目中,我们将修改原始代码,构建自己的 Docker 镜像,并通过 Docker Desktop 应用在本地运行容器。
1. 安装 Docker Desktop
首先,从Docker 官方网站下载并安装最新版本的 Docker Desktop。
Windows 用户注意:
如果您使用的是 Windows,还需要安装适用于 Linux 的 Windows 子系统(WSL)。打开终端并运行以下命令安装 WSL:
2. 克隆 Janus 仓库
接着,从 GitHub 克隆 Janus 仓库并进入项目目录:
3. 修改演示代码
进入 demo 文件夹,在您偏好的代码编辑器中打开
app_januspro.py文件。进行以下修改:deepseek-ai/Janus-Pro-7B替换为deepseek-ai/Janus-Pro-1B。这将加载更轻量的模型版本,大小仅为 4.1 GB,更适合本地使用。
demo.queue函数修改为如下所示:此更改可确保与 Docker 的 URL 和端口兼容。
4. 创建 Docker 镜像
要将应用容器化,请在项目根目录创建
Dockerfile。在Dockerfile中使用以下内容:Dockerfile将:构建并运行 Docker 镜像
当
Dockerfile就绪后,我们将构建 Docker 镜像并运行容器。您可以学习Introduction to Docker 课程,了解构建与部署 Docker 镜像的基础知识。
在终端中输入以下命令创建 Docker 镜像。该命令会使用位于根文件夹的
Dockerfile,并将镜像命名为janus:从零开始构建镜像大约需要 10 到 15 分钟,具体取决于您的网络速度。
以下命令将为 Janus 应用启动一个
Docker容器。它启用 GPU 支持,映射端口 7860 以访问 Gradio 应用,并为 Hugging Face 模型文件提供持久化存储。如果您打开 Docker Desktop 应用并进入“Containers”选项卡,您会看到
janus容器正在运行。不过,它尚未可以使用。要查看进度,请点击
janus容器,然后转到“Logs”选项卡。在这里,您会注意到容器正在从 Hugging Face Hub 下载模型文件。模型成功下载后,日志会显示应用已在运行的消息。
随后,您可以在浏览器中访问以下 URL 来使用该应用:http://localhost:7860/。
如果您遇到问题,请查看更新版 Janus 项目:kingabzpro/Janus: Janus-Series。
测试 Janus Pro 模型
该 Web 应用界面简洁,一切运行顺畅。在本节中,我们将测试 Janus Pro 的多模态理解与文本到图像生成能力。
测试多模态理解
为评估模型的多模态理解,我们首先从 DataCamp 教程中加载一张图片,并请模型进行解释。结果令人印象深刻——即便是较小的 1B 模型,输出也高度准确且细节到位。
接着,我们加载另一张图片,请模型概述一幅信息图的内容。模型成功识别了图中的文本,并给出高度准确、连贯的回答。这表明其在处理与理解视觉和文本元素方面具有很强能力。
测试文本到图像生成
向下滚动应用,您会看到“文本到图像生成”部分。在这里,您可以输入任意提示词并点击“Generate Images”按钮。模型会生成五个变体,可能需要几分钟时间。
效果相当出色,生成质量与细节水平可与 Stable Diffusion XL 相媲美。
您还可以学习如何在个人图片上使用 DreamBooth 和 LoRA 微调 Stable Diffusion XL。
我们再试一个提示词:
提示词:
“这幅图呈现一只设计精巧的眼睛,置于环形背景之上,背景装饰着华美的旋纹图案,兼具写实与超现实气息。视觉中心是一只格外鲜明的蓝色虹膜,细致的纹理自瞳孔向外放射,营造出深度与张力。睫毛修长黝黑,在其周围皮肤上投下细微阴影;肌理平滑却略带岁月痕迹与风化质感。
眼睛上方是一处仿石材的结构,类似古典建筑的一部分,为画面增添神秘与永恒的优雅层次。该建筑元素与周围的有机曲线形成强烈却和谐的对比。眼睛下方则有另一处装饰性图案,带有巴洛克艺术的韵味,进一步强化了作品在每个精雕细琢的细节中所蕴含的永恒感。
整体氛围散发出神秘气息,并与象征永恒的元素无缝交织;这通过真实质感与超现实笔触的并置得以实现。从框架眼睛的繁复纹样,到上方仿古的石质构件,每个组成部分都独具贡献,共同塑造出一幅极具吸引力且充满谜样魅力的画面。”
结果再次令人惊艳。生成的图像很好地捕捉了提示词所描述的繁复细节与超现实艺术元素。
结语
为全面测试模型能力,DeepSeek 已在 Hugging Face Spaces 部署了同款 Web 应用。您可访问 Chat With Janus-Pro-7B。Janus Pro 的一大亮点是在较小变体(如 1B 模型)下也能保持很高的准确性。
在本教程中,我们探索了 Janus Pro,这是一款既能理解图像、又能将文本提示生成图像的多模态模型。此外,我们还在笔记本电脑 GPU 上构建了私有本地方案。该方案快速高效,可在有限资源下自由试验。
查看我们的最新指南:微调 DeepSeek R1(推理模型)。您将学习如何在医疗推理链数据集上训练该推理模型,为未来构建更优秀的 AI 医生。