Qwen2.5-Omni: модель конечных измерений для мультимодального ввода и речевого взаимодействия в реальном времени

Общее введение

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

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).

Qwen2.5-Omni:多模态输入和实时语音交互的端测模型

 

Использование помощи

Использование Qwen 2.5-Omni требует определенного уровня технических знаний. Ниже приведено подробное руководство по установке и эксплуатации, которое поможет пользователям быстро приступить к работе.

Процесс установки

  1. Подготовка среды
    • Убедитесь, что установлена версия Python 3.10 или более поздняя.
    • Для загрузки кода требуется Git.
    • Рекомендуется для систем Linux, для систем, отличных от Linux, может потребоваться дополнительная настройка.
  2. Код загрузки
    • Клонируйте свой репозиторий GitHub, введя команду в терминале:
      git clone https://github.com/QwenLM/Qwen2.5-Omni.git
      
    • Перейдите в каталог проектов:
      cd Qwen2.5-Omni
      
  3. Установка зависимостей
    • Поскольку код не был полностью объединен с мастер-веткой 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
        
  4. Скачать модели
  5. Проверка установки
    • Выполните следующую команду, чтобы проверить окружение:
      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)
      
  • в конце концов: Генерирует голосовой файл с указанным тембром.

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")
      
  • в конце концов: Более быстрая генерация и меньшее потребление памяти.

предостережение

  • требования к оборудованиюРекомендуется использовать : GPU с объемом видеопамяти не менее 16 ГБ.
  • сетевые требования: Сеть должна быть стабилизирована при загрузке моделей и зависимостей.
  • Поддержка отладки: Дополнительную информацию см. на GitHub. README.md или общественное обсуждение.

 

сценарий применения

  1. Голосовой помощник в режиме реального времени
    Пользователи задают вопросы голосом, а модель генерирует голосовые ответы в режиме реального времени, что подходит для обслуживания клиентов или персональных помощников.
  2. Анализ содержания видеоматериалов
    Введите видео, и модель извлечет ключевую информацию, чтобы помочь пользователю упорядочить отснятый материал или создать отчет.
  3. Образовательная поддержка
    Студенты загружают аудио- или видеозаписи курса, а модели отвечают на вопросы или извлекают ключевые моменты для повышения эффективности обучения.

 

QA

  1. Какие языки поддерживаются?
    В основном он поддерживает китайский и английский языки, а для синтеза речи предоставляет мелодии Chelsie, Ethan и другие.
  2. Сколько места требуется для хранения?
    Модель Qwen2.5-Omni-7B занимает около 14 ГБ, поэтому рекомендуется резервировать более 20 ГБ.
  3. Есть ли он в продаже?
    Да, на основе лицензии Apache 2.0, свободной для коммерческого использования в соответствии с условиями.
© заявление об авторских правах

Похожие посты

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...