Как развернуть DeepSeek Janus Pro локально?
DeepSeek выпустил Janus-Pro-7B — мультимодальную модель с открытым исходным кодом, поддерживающую распознавание и генерацию изображений, по производительности превосходящую DALL·E 3 от Openai. Ниже приведены подробные шаги, приёмы и注意事项 для локального развёртывания DeepSeek Janus Pro-7B:
I. Подготовка среды
Требования к оборудованию
GPU: видеопамять ≥24 ГБ (рекомендуется NVIDIA RTX A6000 или более производительная видеокарта); при нехватке видеопамяти можно попробовать режим низкой точности (model.half()) или уменьшить параметры генерации.
Место на диске: ≥30 ГБ свободного пространства (файлы модели занимают около 20 ГБ+).
Операционная система: рекомендуется Ubuntu 20.04+ или Windows (требуется поддержка CUDA).
Python: 3.8+, рекомендуется использовать Conda для управления виртуальной средой.
Программные зависимости
CUDA: 11.7+ (должна совпадать с версией PyTorch).
PyTorch: указанная версия torch==2.0.1+cu117 (необходимо устанавливать через официальный индекс).
Прочие инструменты: Git, утилита загрузки HuggingFace Hub (huggingface-cli).
II. Шаги развёртывания
1. Клонирование репозитория
git clone https://github.com/deepseek-ai/Janus.git cd Janus
2. Создание виртуальной среды
conda create -n janus python=3.8 -y conda activate janus
3. Установка зависимостей
pip install torch==2.0.1+cu117 --index-url https://download.pytorch.org/whl/cu117 pip install -r requirements.txt pip install -e .[gradio] # 安装 Gradio 扩展
4. Загрузка модели
Способ 1: загрузка полной модели через huggingface-cli (для пользователей из Китая рекомендуется использовать зеркало для ускорения):
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
Способ 2: вручную загрузить файлы модели из репозитория HuggingFace и распаковать их в ./models/Janus-Pro-7B.
5. Запуск приложения
Текстовый интерфейс:
python demo/app_text.py --model-path ./models/Janus-Pro-7B
Мультимодальный интерфейс (поддерживает генерацию изображений и вопросы-ответы):
python demo/app_multimodal.py --model-path ./models/Janus-Pro-7B --port 7860
Перейдите по адресу http://localhost:7860 или http://127.0.0.1:7860, чтобы воспользоваться интерактивным интерфейсом.
III. Примеры использования функций
Генерация изображений по тексту (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张图)
Мультимодальные вопросы-ответы (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. Распространённые проблемы и оптимизация
Нехватка видеопамяти
Уменьшите параметры генерации: max_new_tokens=256.
Включите режим низкой точности: model = model.half().
Медленная загрузка
Используйте китайское зеркало: HF_ENDPOINT=https://hf-mirror.com.
Включите многопоточную загрузку: --workers 8.
Конфликты зависимостей
Строго устанавливайте указанные версии:
pip install transformers==4.33.2
Оптимизация качества генерации изображений
Настройте вес CFG (в диапазоне 5–7).
Увеличьте количество параллельных выборок: parallel_size=16.
Здесь также делюсь методом локального развёртывания от одного технического специалиста, на которого я подписан в X:

Маленькие хитрости:
Совет 1: если у вас уже установлена среда pytorch через conda, можно клонировать её командой conda create --name myenv --clone base, иначе каждый раз придётся заново скачивать pytorch, что очень медленно и затратно по времени.
Совет 2: обязательно установите flash-attention — без неё модель тоже запустится, но видеопамять переполнится; владельцы A100 могут это игнорировать.
С помощью описанных выше шагов вы сможете быстро развернуть Janus-Pro-7B локально и оценить его мультимодальные возможности. Для дальнейшей оптимизации или了解更多 о деталях модели обратитесь к репозиторию на GitHub и технической документации.
Помощник сценариста▸
AI Приложения
AI Новости 