Comment déployer DeepSeek Janus Pro en local ?
Janus-Pro-7B publié par DeepSeek est un grand modèle multimodal open source qui prend en charge la reconnaissance et la génération d'images, avec des performances surpassant DALL·E 3 d'Openai. Voici les étapes détaillées, astuces et précautions pour déployer localement DeepSeek Janus Pro-7B :
I. Préparation de l'environnement
Exigences matérielles
GPU : mémoire vidéo ≥ 24 Go (recommandé NVIDIA RTX A6000 ou carte graphique plus performante) ; si la mémoire vidéo est insuffisante, essayez le mode basse précision (model.half()) ou réduisez les paramètres de génération.
Espace de stockage : ≥ 30 Go d'espace disponible (les fichiers du modèle pèsent environ 20 Go+).
Système d'exploitation : Ubuntu 20.04+ ou Windows recommandé (nécessite l'adaptation de CUDA).
Python : 3.8+, il est conseillé d'utiliser Conda pour gérer les environnements virtuels.
Dépendances logicielles
CUDA : 11.7+ (doit correspondre à la version de PyTorch).
PyTorch : version spécifiée torch==2.0.1+cu117 (à installer via l'index officiel).
Autres outils : Git, outil de téléchargement HuggingFace Hub (huggingface-cli).
II. Étapes de déploiement
1. Cloner le dépôt de code
git clone https://github.com/deepseek-ai/Janus.git cd Janus
2. Créer un environnement virtuel
conda create -n janus python=3.8 -y conda activate janus
3. Installer les dépendances
pip install torch==2.0.1+cu117 --index-url https://download.pytorch.org/whl/cu117 pip install -r requirements.txt pip install -e .[gradio] # Installer l'extension Gradio
4. Télécharger le modèle
Méthode 1 : télécharger le modèle complet via huggingface-cli (recommandé pour les utilisateurs en Chine continentale afin d'accélérer via un miroir) :
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download deepseek-ai/Janus-Pro-7B \ --local-dir ./models/Janus-Pro-7B \ --resume-download --cache-dir ./cache
Méthode 2 : télécharger manuellement les fichiers du modèle depuis le dépôt HuggingFace et les décompresser dans ./models/Janus-Pro-7B.
5. Démarrer l'application
Interface d'interaction textuelle :
python demo/app_text.py --model-path ./models/Janus-Pro-7B
Interface multimodale (prenant en charge la génération d'images et les questions-réponses) :
python demo/app_multimodal.py --model-path ./models/Janus-Pro-7B --port 7860
Accédez à http://localhost:7860 ou http://127.0.0.1:7860 pour utiliser l'interface interactive.
III. Exemples d'utilisation des fonctionnalités
Texte vers image (Text-to-Image)
from janus.utils import generate_image
generate_image(
model_path="./models/Janus-Pro-7B",
prompt="夕阳下的雪山,山脚下有蓝色的湖泊",
output_dir="./outputs",
num_images=4 # 生成4张图)Questions-réponses multimodales (Visual QA)
from janus.models import MultiModalityCausalLM, VLChatProcessor
processor = VLChatProcessor.from_pretrained("./models/Janus-Pro-7B")
model = MultiModalityCausalLM.from_pretrained("./models/Janus-Pro-7B").to("cuda")
# 输入对话与图片路径
conversation = [
{"role": "", "content": "描述这张图片的内容", "images": ["sample.jpg"]},
{"role": "", "content": ""}
]
inputs = processor(conversations=conversation)
outputs = model.generate(**inputs)
print(processor.decode(outputs[0]))IV. Problèmes courants et optimisations
Mémoire vidéo insuffisante
Réduisez les paramètres de génération : max_new_tokens=256.
Activez le mode basse précision : model = model.half().
Vitesse de téléchargement lente
Utilisez un miroir en Chine continentale : HF_ENDPOINT=https://hf-mirror.com.
Activez le téléchargement multi-thread : --workers 8.
Conflits de dépendances
Installez strictement les versions spécifiées :
pip install transformers==4.33.2
Optimisation de la qualité de génération d'images
Ajustez le poids CFG (dans la plage 5-7).
Augmentez le nombre d'échantillonnages parallèles : parallel_size=16.
Je partage également ici la méthode de déploiement local d'un technicien que je suis sur X :

Petites astuces :
Astuce 1 : si vous avez déjà installé l'environnement pytorch de conda auparavant, vous pouvez utiliser conda create --name myenv --clone base pour le cloner directement, sinon chaque nouveau téléchargement de pytorch sera très lent et fera perdre du temps.
Astuce 2 : il faut absolument installer flash-attention, cela peut fonctionner sans, mais la mémoire vidéo explosera ; ceux qui ont un A100 peuvent ignorer.
Grâce aux étapes ci-dessus, vous pouvez déployer et expérimenter rapidement localement les capacités multimodales de Janus-Pro-7B. Pour une optimisation plus poussée ou pour comprendre les détails du modèle, vous pouvez consulter le dépôt GitHub et la documentation technique.
Assistant scénario▸
Apps AI
Actualités AI 