Qwen2.5-Omni: un modelo de medición final para entrada multimodal e interacción verbal en tiempo real
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 2.5K 00
Introducción general
Qwen2.5-Omni es un modelo de IA multimodal de código abierto desarrollado por el equipo Qwen de Alibaba Cloud. Puede procesar múltiples entradas, como texto, imágenes, audio y vídeo, y generar respuestas de texto o voz natural en tiempo real. El modelo se publicó el 26 de marzo de 2025, y el código y los archivos del modelo están alojados en GitHub y son de libre descarga y uso. Utiliza la arquitectura Thinker-Talker y la tecnología TMRoPE para garantizar un procesamiento eficiente de los datos multimodales.Qwen2.5-Omni obtiene buenos resultados en tareas como el reconocimiento del habla, la comprensión de imágenes y el análisis de vídeo, y es adecuado para escenarios como los asistentes inteligentes y el procesamiento multimedia.

Lista de funciones
- Admite entradas multimodales: puede procesar texto, imágenes, audio y vídeo simultáneamente.
- Respuesta en tiempo real: la respuesta de texto o voz se genera inmediatamente después de la entrada.
- Síntesis de voz natural: Genera voz clara y natural, admite varios tonos.
- Comprensión de imágenes y vídeos: identificar el contenido de imágenes o analizar videoclips.
- Seguimiento de comandos de extremo a extremo: complete tareas directamente a partir de comandos de voz o texto.
- Código abierto y gratuito: se proporcionan el código y los modelos completos para facilitar la personalización por parte del usuario.
Hemos llevado a cabo una evaluación exhaustiva de Qwen2.5-Omni. Los resultados muestran que su rendimiento es excelente en todas las modalidades, lo que le da ventaja sobre modelos de una sola modalidad de igual tamaño y sobre modelos de código cerrado como Qwen2.5-VL-7B, Qwen2-Audio y Gemini-1.5-Pro. En tareas que requieren la integración de múltiples modalidades, como OmniBench, Qwen2.5-Omni alcanza un rendimiento puntero. Además, en tareas monomodales, destaca en las áreas de reconocimiento de voz (Common Voice), traducción (CoVoST2), comprensión de audio (MMAU), razonamiento de imágenes (MMMU, MMStar), comprensión de vídeo (MVBench) y generación de voz (Seed-tts-eval y Subjective Naturalness).

Utilizar la ayuda
El uso de Qwen 2.5-Omni requiere un cierto nivel de conocimientos técnicos. A continuación se ofrece una guía detallada de instalación y funcionamiento para ayudar a los usuarios a empezar a utilizarlo rápidamente.
Proceso de instalación
- Preparar el entorno
- Asegúrese de que Python 3.10 o posterior está instalado.
- Se requiere Git para descargar el código.
- Recomendado para sistemas Linux, los sistemas no Linux pueden requerir una configuración adicional.
- Descargar código
- Clona tu repositorio de GitHub escribiendo el comando en el terminal:
git clone https://github.com/QwenLM/Qwen2.5-Omni.git
- Vaya al catálogo de proyectos:
cd Qwen2.5-Omni
- Clona tu repositorio de GitHub escribiendo el comando en el terminal:
- Instalación de dependencias
- Debido a que el código no se ha fusionado completamente en la rama maestra Hugging Face, es necesario instalar una versión específica de Transformers:
pip uninstall transformers pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356 pip install accelerate
- Instale la herramienta de tratamiento multimodal:
pip install qwen-omni-utils[decord]
- Nota: Se requiere preinstalación
ffmpeg
Los usuarios de Linux pueden ejecutarsudo apt install ffmpeg
. - Los usuarios no Linux que no puedan instalar
decord
puede ser sustituido por:pip install qwen-omni-utils
- Nota: Se requiere preinstalación
- Debido a que el código no se ha fusionado completamente en la rama maestra Hugging Face, es necesario instalar una versión específica de Transformers:
- Descargar modelos
- Descargue el modelo Qwen2.5-Omni-7B de Hugging Face (https://huggingface.co/Qwen/Qwen2.5-Omni-7B), guárdelo localmente.
- Verificar la instalación
- Ejecute el siguiente comando para comprobar el entorno:
python -c "from transformers import Qwen2_5OmniModel; print('安装成功')"
- Ejecute el siguiente comando para comprobar el entorno:
Función Flujo de operaciones
1. Tratamiento de entradas de texto
- procedimiento::
- Modelos de carga y procesadores:
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")
- Introduzca texto y genere una respuesta:
text = "今天天气怎么样?" inputs = processor(text=text, return_tensors="pt") outputs = model.generate(**inputs) print(processor.batch_decode(outputs, skip_special_tokens=True))
- Modelos de carga y procesadores:
- al final: Devuelve respuestas de texto como "Hace un día soleado con una temperatura agradable".
2. Tratamiento de las entradas de imágenes
- procedimiento::
- Prepare el archivo de imagen (por ejemplo
image.jpg
). - Modifica el script para incluir imágenes:
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))
- Prepare el archivo de imagen (por ejemplo
- al finalDescribe el contenido de la imagen, por ejemplo: "La imagen muestra un perro corriendo sobre la hierba".
3. Tratamiento de las entradas de audio
- procedimiento::
- Prepare el archivo de audio (por ejemplo
audio.wav
). - Modifica el guión para incluir audio:
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))
- Prepare el archivo de audio (por ejemplo
- al finalTranscribe el contenido del audio, por ejemplo: "El audio dice 'Va a llover mañana'".
4. Tratamiento de las entradas de vídeo
- procedimiento::
- Prepare el archivo de vídeo (por ejemplo
video.mp4
). - Modifica el guión para incluir vídeo:
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))
- Prepare el archivo de vídeo (por ejemplo
- al finalDescribe el contenido del vídeo, por ejemplo: "Alguien en el vídeo está dibujando".
5. Generación de voz
- procedimiento::
- Configurar los avisos del sistema y activar la voz:
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)
- Configurar los avisos del sistema y activar la voz:
- al final: Generar
output.wav
que contiene las respuestas vocales.
6. Ajuste de los tonos de voz
- procedimiento::
- Especifique el tono (por ejemplo, Chelsie o Ethan) en el momento de la generación:
text_ids, audio = model.generate(**inputs, spk="Ethan") sf.write("output.wav", audio.reshape(-1).detach().cpu().numpy(), samplerate=24000)
- Especifique el tono (por ejemplo, Chelsie o Ethan) en el momento de la generación:
- al final: Genera un archivo de voz con el timbre especificado.
7. Aceleración con FlashAttention-2
- procedimiento::
- Instale FlashAttention-2:
pip install -U flash-attn --no-build-isolation
- Se activa al cargar el modelo:
model = Qwen2_5OmniModel.from_pretrained("Qwen/Qwen2.5-Omni-7B", device_map="auto", attn_implementation="flash_attention_2")
- Instale FlashAttention-2:
- al finalGeneración más rápida y menor consumo de memoria.
advertencia
- requisitos de hardwareGPU recomendadas, con al menos 16 GB de memoria de vídeo.
- requisitos de la red: Es necesario estabilizar la red al descargar modelos y dependencias.
- Soporte de depuraciónConsulte GitHub para obtener más información.
README.md
o debate comunitario.
escenario de aplicación
- Asistente de voz en tiempo real
Los usuarios formulan preguntas por voz y el modelo genera respuestas vocales en tiempo real, idóneas para servicios de atención al cliente o asistentes personales. - Análisis del contenido de los vídeos
Introduce el vídeo y el modelo extrae información clave para ayudar al usuario a organizar las secuencias o generar un informe. - Apoyo educativo
Los estudiantes suben audio o vídeo del curso, y los modelos responden a preguntas o extraen puntos clave para mejorar el aprendizaje.
CONTROL DE CALIDAD
- ¿Qué idiomas se admiten?
Soporta principalmente chino e inglés, y ofrece Chelsie, Ethan y otros tonos para la síntesis de voz. - ¿Cuánto espacio de almacenamiento se necesita?
El modelo Qwen2.5-Omni-7B tiene aproximadamente 14 GB y se recomienda reservar más de 20 GB. - ¿Está disponible en el mercado?
Sí, basado en la licencia Apache 2.0, libre para uso comercial sujeto a condiciones.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...