Ming-lite-omni - Macromodelos multimodales unificados de código abierto del equipo Ant 100

¿Qué es Ming-lite-omni?

Ming-Lite-Omni es un big model multimodal unificado de código abierto creado por el equipo Bailing Big Model de Ant Group y basado en la eficaz arquitectura Mixture of Experts (MoE). Ming-Lite-Omni admite el procesamiento de datos multimodales como texto, imágenes, audio y vídeo, y cuenta con potentes funciones de comprensión y generación. Ming-Lite-Omni está optimizado para ofrecer eficiencia computacional, admite el procesamiento de datos a gran escala y la interacción en tiempo real, y es altamente escalable. Ming-Lite-Omni es altamente escalable y dispone de una amplia gama de escenarios de aplicación, lo que proporciona a los usuarios una solución inteligente integrada con amplias perspectivas de aplicación.

Ming-lite-omni - 蚂蚁百灵团队开源的统一多模态大模型

Principales características de Ming-lite-omni

  • interacción multimodalSoporta múltiples entradas y salidas como texto, imagen, audio, vídeo, etc. para una experiencia de interacción natural y fluida. Admite diálogos de varias rondas para ofrecer una interacción coherente.
  • Comprensión y generaciónPotentes capacidades de comprensión para reconocer y entender con precisión datos en múltiples modalidades. Capacidades de generación eficientes, que admiten la generación de contenidos de texto, imagen, audio y vídeo de alta calidad.
  • Tratamiento eficazLa arquitectura MoE optimiza la eficiencia computacional y admite el procesamiento de datos a gran escala y la interacción en tiempo real.

Dirección del sitio web oficial de Ming-lite-omni

Cómo utilizar Ming-lite-omni

  • Preparación medioambiental::
    • Instalación de PythonSe recomienda Python 3.8 o superior. Descárgalo e instálalo desde el sitio web de Python.
    • Instalación de bibliotecas dependientesInstale las bibliotecas de dependencias necesarias ejecutando el siguiente comando en un terminal o en la línea de comandos.
pip install -r requirements.txt
pip install data/matcha_tts-0.0.5.1-cp38-cp38-linux_x86_64.whl
pip install diffusers==0.33.0
pip install nvidia-cublas-cu12==12.4.5.8  # 如果使用NVIDIA GPU
  • Descargar modelosDescarga el modelo Ming-Lite-Omni de Hugging Face.
git clone https://huggingface.co/inclusionAI/Ming-Lite-Omni
cd Ming-Lite-Omni
  • Modelos de cargaUtiliza el siguiente código para cargar el modelo y el procesador:
import os
import torch
from transformers import AutoProcessor, GenerationConfig
from modeling_bailingmm import BailingMMNativeForConditionalGeneration

# 设置模型路径
model_path = "Ming-Lite-Omni-Preview"

# 加载模型
model = BailingMMNativeForConditionalGeneration.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=True
).to("cuda")

# 加载处理器
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
  • Preparación de la introducción de datosMing-Lite-Omni admite una gran variedad de entradas modales, por ejemplo, entradas de texto e imágenes.
    • entrada de texto::
messages = [
    {
        "role": "HUMAN",
        "content": [
            {"type": "text", "text": "请详细介绍鹦鹉的生活习性。"}
        ],
    },
]
    • entrada de imagen::
messages = [
    {
        "role": "HUMAN",
        "content": [
            {"type": "image", "image": os.path.join("assets", "flowers.jpg")},
            {"type": "text", "text": "What kind of flower is this?"}
        ],
    },
]
  • Preprocesamiento de datosPreprocesamiento de los datos de entrada mediante un procesador:
text = processor.apply_chat_template(messages, add_generation_prompt=True)
image_inputs, video_inputs, audio_inputs = processor.process_vision_info(messages)
inputs = processor(
    text=[text],
    images=image_inputs,
    videos=video_inputs,
    audios=audio_inputs,
    return_tensors="pt",
)
inputs = inputs.to(model.device)
for k in inputs.keys():
    if k == "pixel_values" or k == "pixel_values_videos" or k == "audio_feats":
        inputs[k] = inputs[k].to(dtype=torch.bfloat16)
  • razonamiento modelizado: Invoca el modelo para realizar la inferencia y generar la salida:
generation_config = GenerationConfig.from_dict({'no_repeat_ngram_size': 10})
generated_ids = model.generate(
    **inputs,
    max_new_tokens=512,
    use_cache=True,
    eos_token_id=processor.gen_terminator,
    generation_config=generation_config,
)
generated_ids_trimmed = [
    out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(output_text)
  • resultado de salidaEl modelo genera las salidas adecuadas para procesar o presentar los resultados según sea necesario.

Principales ventajas de Ming-Lite-Omni

  • fusión multimodal: Admite entradas y salidas de texto, imagen, audio y vídeo para una interacción multimodal completa.
  • Arquitectura eficiente: Basado en la arquitectura de Mezcla de Expertos (MoE), el enrutamiento dinámico optimiza la eficiencia computacional y reduce el despilfarro de recursos.
  • Armonización de la comprensión y la generación: La arquitectura codificador-decodificador soporta la comprensión y la generación integradas, proporcionando una experiencia interactiva coherente.
  • Razonamiento optimizadoEl mecanismo híbrido de atención lineal reduce la complejidad computacional, permite la interacción en tiempo real y es adecuado para escenarios de respuesta rápida.
  • ampliamente utilizadoAplicable a diversos campos, como la atención al cliente inteligente, la creación de contenidos, la educación, la sanidad y la oficina inteligente.
  • Código abierto y apoyo comunitarioModelo de código abierto con una comunidad que proporciona una gran cantidad de recursos para que los desarrolladores puedan empezar a trabajar e innovar rápidamente.

Personas para las que Ming-Lite-Omni es adecuado

  • usuario empresarialEmpresas tecnológicas y de creación de contenidos que necesitan soluciones multimodales eficaces.
  • Educadores y estudiantes: Profesores y estudiantes que desean utilizar la IA como ayuda para la enseñanza y el aprendizaje.
  • profesional sanitario: Personal sanitario que necesita ayuda con el análisis de historiales médicos y la interpretación de imágenes médicas.
  • Usuarios de oficina inteligentes: Empleados y directivos de organizaciones que necesitan procesar documentos y mejorar la eficacia de la oficina.
  • consumidor medioUsuarios individuales que utilizan dispositivos inteligentes y necesitan generar contenidos creativos.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...