DeepSeek Janus本地部署与实战

742 阅读7分钟

一、Janus Pro模型介绍

image.png

1.1 Janus Pro大模型简介

Janus-Pro 是此前工作 Janus 的高级版本。具体来说,Janus-Pro 包括以下改进:优化的训练策略、 扩展的训练数据以及更大规模的模型。通过这些改进,Janus-Pro 在多模态理解和文本生成图像的指令跟 随能力上取得了显著进步,同时还提升了文本生成图像的稳定性。

image.png Janus 是一种新颖的自回归框架,旨在统一多模态的理解与生成。它通过将视觉编码解耦为独立的路径来 克服以往方法的局限性,同时仍然使用单一的统一 Transformer 架构进行处理。这种解耦不仅缓解了视 觉编码器在理解和生成任务中的角色冲突,还增强了框架的灵活性。

image.png Janus 超越了以往的统一模型,并且在性能上与任务专用模型持平或超越。其简洁性、高灵活性和高效性 使 Janus 成为下一代统一多模态模型的有力候选者。

image.png

1.2 Janus Pro资料汇总

image.png

1.3 Janus Pro 演示

image.png 这张图片是一个幽默的比较,采用了流行的“buff Doge vs. Cheems”表情包格式,来对比两种视觉编码方法。

1. 解耦视觉编码(Buff Doge):

  • 图片左侧展示了一只肌肉发达的“buff Doge”,代表了一种强大且稳健的视觉编码方法。这可 能象征着一种更强大或更高效的编码视觉信息的方法,比如深度学习模型或能够处理复杂视觉 任务的先进神经网络。

2. 单一视觉编码器(Cheems):

  • 图片右侧展示了一只体型较小、肌肉较少的“Cheems Doge”,代表了一种更简单或较弱的视觉 编码方法。这可能象征着一种传统或不太先进的方法,比如单一的神经网络或一种基础的编码 方法,可能无法像更复杂的系统那样表现出色。

1.4. Janus运行硬件要求

Janus Pro对硬件要求较低,以下是1B模型和7B模型运行的GPU显存占用情况:

任务类型Janus-Pro-1BJanus-Pro-7B
图像识别5G(3060)15G(4080)
图片生成14G(4080)40G(3090/4090*2)

二、Janus模型下载与部署

2.1 安装git与克隆仓库

在新服务器上运行该项目,首先需要更新apt工具并安装Git工具,以Ubuntu操作系统为例:

sudo apt update
sudo apt install git

image.png 然后使用 git 克隆 HunyuanVideo仓库到本地:

cd ~/autodl-tmp
git clone https://github.com/deepseek-ai/Janus.git
cd HunyuanVideo

image.png 下载完成后,当前项目主目录如下:

image.png 打开Janus文件夹,项目文件目录如下:

image.png 当然,也可以在Github官网下载安装包:github.com/deepseek-ai… ,并上传至服务器解压缩:

image.png

2.2 创建虚拟环境&安装项目依赖

准备 Conda 虚拟环境: 使用以下命令创建 Conda 环境:

conda create -n janus python=3.9

image.png 激活环境: 创建环境后,激活它:

conda init
source ~/.bashrc
conda activate janus

安装 pip 依赖: 激活环境后,安装所需的 Python 依赖:

cd /root/autodl-tmp/Janus
pip install -e .

image.png 下载JupyterLab

考虑到后续需要在代码环境中调用Janus,这里还需要下载JupyterLab,并配置kernel:

conda install jupyterlab
conda install ipykernel
python -m ipykernel install --user --name janus --display-name "Python (janus)"

打开Jupyter

jupyter lab --allow-root

并确认可以选择janus环境。

image.png

2.3 下载预训练模型

这里我们考虑在项目主目录下创建models文件夹,用于保存Janus-Pro-1B和7B模型权重。考虑到国内网络环境,这里推荐直接在Modelscope上进行模型权重下载。

Janus-Pro-1B模型权重:www.modelscope.cn/models/deep…

Janus-Pro-7B模型权重:www.modelscope.cn/models/deep…

安装modelscope

pip install modelscope

创建权重保存文件夹

cd /root/autodl-tmp/Janus
mkdir ./Janus-Pro-1B
mkdir ./Janus-Pro-7B

image.png 下载Janus-Pro-1B模型权重

# 下载1B模型
modelscope download --model deepseek-ai/Janus-Pro-1B --local_dir ./Janus-Pro-1B

image.png 下载Janus-Pro-7B模型权重

# 下载7B模型
modelscope download --model deepseek-ai/Janus-Pro-7B --local_dir ./Janus-Pro-7B

image.png

三、Jannus本地调用

本部分内容详见Jupyter代码文件: Janus Pro本地调用指南:

image.png

四、Gradio前端调用

此外,Janus项目中还提供了前端调用脚本,我们可以按照如下流程开启前端并与Janus进行对话。

安装相关依赖

pip install -e .[gradio]

image.png 修改推理脚本

若要调用本地模型进行推理,则需要修改对应的前端脚本。打开 ./demo/app_januspro.py 文件, 并在15行处修改为当前本地模型下载地址:

image.png

保存并退出即可。

  • 上传补充文件【可选】

若需要使用公网IP分享连接,则需要额外手动下载frpc包:

image.png 然后添加至/root/miniconda3/envs/janus/lib/python3.9/site-packages/gradio 文件夹内:

image.png 开启前端服务

#然后即可开启前端服务:
python demo/app_januspro.py

image.png

image.png 然后输入问题进行使用:

image.png 运行得到结果如下:

image.png 图像创建流程如下,下滑至Text-to-Image Generation页面:

image.png 稍等片刻,即可查看最终运行结果:

image.png