Qwen2.5-Omni: модель конечных измерений для мультимодального ввода и речевого взаимодействия в реальном времени
Общее введение
Qwen2.5-Omni - это мультимодальная модель ИИ с открытым исходным кодом, разработанная командой Alibaba Cloud Qwen. Она может обрабатывать множество входных данных, таких как текст, изображения, аудио и видео, и генерировать текстовые или естественные речевые ответы в режиме реального времени. Модель была выпущена 26 марта 2025 года, код и файлы модели размещены на GitHub и доступны для скачивания и использования всем желающим. В ней используется архитектура Thinker-Talker и технология TMRoPE для обеспечения эффективной обработки мультимодальных данных. Qwen2.5-Omni отлично справляется с такими задачами, как распознавание речи, понимание изображений и анализ видео, и подходит для таких сценариев, как интеллектуальные помощники и обработка мультимедиа.

Список функций
- Поддерживает мультимодальный ввод: может обрабатывать текст, изображения, аудио и видео одновременно.
- Потоковая реакция в реальном времени: текстовая или голосовая обратная связь генерируется сразу после ввода.
- Синтез естественной речи: генерируйте чистую и естественную речь, поддерживайте несколько тонов.
- Понимание изображений и видео: определение содержания изображений или анализ видеоклипов.
- Выполнение команд из конца в конец: выполнение задач непосредственно на основе голосовых или текстовых команд.
- Открытый исходный код и бесплатность: предоставляется полный код и модели для поддержки пользовательской настройки.
Мы провели комплексную оценку Qwen2.5-Omni. Результаты показывают, что он демонстрирует высокие результаты на всех модальностях, что дает ему преимущество перед аналогичными моделями для одной модальности, а также моделями с закрытым исходным кодом, такими как Qwen2.5-VL-7B, Qwen2-Audio и Gemini-1.5-Pro. В задачах, требующих интеграции нескольких модальностей, таких как OmniBench, Qwen2.5-Omni достигает наилучшей производительности. Кроме того, в одномодальных задачах он превосходит по производительности распознавание речи (Common Voice), перевод (CoVoST2), понимание аудио (MMAU), осмысление изображений (MMMU, MMStar), понимание видео (MVBench) и генерацию речи (Seed-tts-eval и Subjective Naturalness).

Использование помощи
Использование Qwen 2.5-Omni требует определенного уровня технических знаний. Ниже приведено подробное руководство по установке и эксплуатации, которое поможет пользователям быстро приступить к работе.
Процесс установки
- Подготовка среды
- Убедитесь, что установлена версия Python 3.10 или более поздняя.
- Для загрузки кода требуется Git.
- Рекомендуется для систем Linux, для систем, отличных от Linux, может потребоваться дополнительная настройка.
- Код загрузки
- Клонируйте свой репозиторий GitHub, введя команду в терминале:
git clone https://github.com/QwenLM/Qwen2.5-Omni.git
- Перейдите в каталог проектов:
cd Qwen2.5-Omni
- Клонируйте свой репозиторий GitHub, введя команду в терминале:
- Установка зависимостей
- Поскольку код не был полностью объединен с мастер-веткой Hugging Face, необходимо установить определенную версию Transformers:
pip uninstall transformers pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356 pip install accelerate
- Установите инструмент для мультимодальной обработки:
pip install qwen-omni-utils[decord]
- Примечание: Требуется предварительная установка
ffmpeg
Пользователи Linux могут запуститьsudo apt install ffmpeg
. - Пользователи не из Linux, которые не могут установить
decord
, может быть заменен на:pip install qwen-omni-utils
- Примечание: Требуется предварительная установка
- Поскольку код не был полностью объединен с мастер-веткой Hugging Face, необходимо установить определенную версию Transformers:
- Скачать модели
- Загрузите модель Qwen2.5-Omni-7B с сайта Hugging Face (https://huggingface.co/Qwen/Qwen2.5-Omni-7B), сохраните его локально.
- Проверка установки
- Выполните следующую команду, чтобы проверить окружение:
python -c "from transformers import Qwen2_5OmniModel; print('安装成功')"
- Выполните следующую команду, чтобы проверить окружение:
Функции Поток операций
1. обработка текстовых данных
- процедура::
- Модели загрузки и процессоры:
from transformers import Qwen2_5OmniModel, Qwen2_5OmniProcessor model = Qwen2_5OmniModel.from_pretrained("Qwen/Qwen2.5-Omni-7B", device_map="auto") processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")
- Введите текст и сгенерируйте ответ:
text = "今天天气怎么样?" inputs = processor(text=text, return_tensors="pt") outputs = model.generate(**inputs) print(processor.batch_decode(outputs, skip_special_tokens=True))
- Модели загрузки и процессоры:
- в конце концов: Возвращайте текстовые ответы, например "Сегодня солнечный день с хорошей температурой".
2. обработка входных изображений
- процедура::
- Подготовьте файл изображения (например.
image.jpg
). - Измените скрипт, чтобы включить в него изображения:
images = ["image.jpg"] text = "图片里有什么?" inputs = processor(text=text, images=images, return_tensors="pt") outputs = model.generate(**inputs) print(processor.batch_decode(outputs, skip_special_tokens=True))
- Подготовьте файл изображения (например.
- в конце концов: Опишите содержание картинки, например, "На картинке изображена собака, бегущая по траве".
3. обработка аудиовходов
- процедура::
- Подготовьте аудиофайл (например.
audio.wav
). - Измените сценарий, чтобы включить звук:
audios = ["audio.wav"] text = "音频里说了什么?" inputs = processor(text=text, audios=audios, return_tensors="pt") outputs = model.generate(**inputs) print(processor.batch_decode(outputs, skip_special_tokens=True))
- Подготовьте аудиофайл (например.
- в конце концов: Расшифруйте содержание аудиозаписи, например, "В аудиозаписи говорится: "Завтра будет дождь"".
4. обработка видеовходов
- процедура::
- Подготовьте видеофайл (например.
video.mp4
). - Измените сценарий, чтобы включить в него видео:
videos = ["video.mp4"] text = "视频里发生了什么?" inputs = processor(text=text, videos=videos, return_tensors="pt") outputs = model.generate(**inputs) print(processor.batch_decode(outputs, skip_special_tokens=True))
- Подготовьте видеофайл (например.
- в конце концов: Опишите содержание видео, например, "Кто-то на видео рисует".
5. генерация речевого вывода
- процедура::
- Настройте системные подсказки и включите голосовую связь:
conversation = [ {"role": "system", "content": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}, {"role": "user", "content": "请用语音回答:今天天气如何?"} ] text = processor.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True) inputs = processor(text=text, return_tensors="pt") text_ids, audio = model.generate(**inputs, use_audio_in_video=True) import soundfile as sf sf.write("output.wav", audio.reshape(-1).detach().cpu().numpy(), samplerate=24000)
- Настройте системные подсказки и включите голосовую связь:
- в конце концов: Создать
output.wav
файл, содержащий голосовые ответы.
6. настройка тональности голоса
- процедура::
- Укажите тон (например, Chelsie или Ethan) во время генерации:
text_ids, audio = model.generate(**inputs, spk="Ethan") sf.write("output.wav", audio.reshape(-1).detach().cpu().numpy(), samplerate=24000)
- Укажите тон (например, Chelsie или Ethan) во время генерации:
- в конце концов: Генерирует голосовой файл с указанным тембром.
7. Ускорение с помощью FlashAttention-2
- процедура::
- Установите программу FlashAttention-2:
pip install -U flash-attn --no-build-isolation
- Включается при загрузке модели:
model = Qwen2_5OmniModel.from_pretrained("Qwen/Qwen2.5-Omni-7B", device_map="auto", attn_implementation="flash_attention_2")
- Установите программу FlashAttention-2:
- в конце концов: Более быстрая генерация и меньшее потребление памяти.
предостережение
- требования к оборудованиюРекомендуется использовать : GPU с объемом видеопамяти не менее 16 ГБ.
- сетевые требования: Сеть должна быть стабилизирована при загрузке моделей и зависимостей.
- Поддержка отладки: Дополнительную информацию см. на GitHub.
README.md
или общественное обсуждение.
сценарий применения
- Голосовой помощник в режиме реального времени
Пользователи задают вопросы голосом, а модель генерирует голосовые ответы в режиме реального времени, что подходит для обслуживания клиентов или персональных помощников. - Анализ содержания видеоматериалов
Введите видео, и модель извлечет ключевую информацию, чтобы помочь пользователю упорядочить отснятый материал или создать отчет. - Образовательная поддержка
Студенты загружают аудио- или видеозаписи курса, а модели отвечают на вопросы или извлекают ключевые моменты для повышения эффективности обучения.
QA
- Какие языки поддерживаются?
В основном он поддерживает китайский и английский языки, а для синтеза речи предоставляет мелодии Chelsie, Ethan и другие. - Сколько места требуется для хранения?
Модель Qwen2.5-Omni-7B занимает около 14 ГБ, поэтому рекомендуется резервировать более 20 ГБ. - Есть ли он в продаже?
Да, на основе лицензии Apache 2.0, свободной для коммерческого использования в соответствии с условиями.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие посты
Нет комментариев...