Modelos y plataformas de IA
Mistral 2 y Mistral NeMo: Una guía completa sobre los últimos modelos LLM procedentes de París

Fundada por exalumnos de Google’s DeepMind y Meta, la startup con sede en París Mistral AI ha generado olas en la comunidad de inteligencia artificial desde 2023.
Mistral AI primero llamó la atención del mundo con su modelo debut, Mistral 7B, lanzado en 2023. Este modelo de 7 mil millones de parámetros rápidamente ganó tracción por su impresionante rendimiento, superando a modelos más grandes como Llama 2 13B en varios benchmarks y incluso rivalizando con Llama 1 34B en muchas métricas. Lo que distinguió a Mistral 7B no fue solo su rendimiento, sino también su accesibilidad: el modelo podía descargarse fácilmente desde GitHub o incluso a través de un torrent de 13,4 gigabytes, lo que lo hizo fácilmente accesible para investigadores y desarrolladores de todo el mundo.
El enfoque no convencional de la empresa para los lanzamientos, a menudo prescindiendo de papers tradicionales, blogs o comunicados de prensa, ha demostrado ser notablemente efectivo para captar la atención de la comunidad de inteligencia artificial. Esta estrategia, combinada con su compromiso con los principios de código abierto, ha posicionado a Mistral AI como un jugador formidable en el panorama de la inteligencia artificial.
El rápido ascenso de Mistral AI en la industria se ve aún más respaldado por su reciente éxito en la recaudación de fondos. La empresa logró una valoración de $2 mil millones después de una ronda de financiación liderada por Andreessen Horowitz. Esto siguió a una ronda de semilla histórica de $118 millones, la más grande en la historia de Europa, lo que demuestra la gran fe que los inversores tienen en la visión y las capacidades de Mistral AI.
Más allá de sus avances tecnológicos, Mistral AI también ha estado activamente involucrada en la configuración de las políticas de inteligencia artificial, particularmente en las discusiones en torno a la Ley de Inteligencia Artificial de la UE, donde han abogado por una regulación reducida en la inteligencia artificial de código abierto.
Ahora, en 2024, Mistral AI ha vuelto a elevar el listón con dos modelos innovadores: Mistral Large 2 (también conocido como Mistral-Large-Instruct-2407) y Mistral NeMo. En esta guía completa, profundizaremos en las características, el rendimiento y las posibles aplicaciones de estos impresionantes modelos de inteligencia artificial.
Las especificaciones clave de Mistral Large 2 incluyen:
- 123 mil millones de parámetros
- 128k ventana de contexto
- Soporte para decenas de lenguajes
- Proficiencia en 80+ lenguajes de codificación
- Capacidades avanzadas de llamada a funciones
El modelo está diseñado para empujar los límites de la eficiencia de costos, la velocidad y el rendimiento, lo que lo convierte en una opción atractiva tanto para investigadores como para empresas que buscan aprovechar la inteligencia artificial de vanguardia.
Mistral NeMo: El nuevo modelo más pequeño
Mientras que Mistral Large 2 representa lo mejor de los modelos a gran escala de Mistral AI, Mistral NeMo, lanzado en julio de 2024, adopta un enfoque diferente. Desarrollado en colaboración con NVIDIA (NVDA ), Mistral NeMo es un modelo más compacto de 12 mil millones de parámetros que aún ofrece capacidades impresionantes:
- 12 mil millones de parámetros
- 128k contexto ventana
- Rendimiento de vanguardia en su categoría de tamaño
- Licencia Apache 2.0 para uso abierto
- Entrenamiento con conciencia de cuantización para inferencia eficiente
Mistral NeMo se posiciona como un reemplazo para sistemas que actualmente utilizan Mistral 7B, ofreciendo un rendimiento mejorado mientras mantiene la facilidad de uso y la compatibilidad.
Características y capacidades clave
Tanto Mistral Large 2 como Mistral NeMo comparten varias características clave que los distinguen en el panorama de la inteligencia artificial:
- Ventanas de contexto grandes: Con longitudes de contexto de 128k tokens, ambos modelos pueden procesar y entender piezas de texto mucho más largas, lo que permite salidas más coherentes y relevantes contextualmente.
- Soporte multilingüe: Los modelos destacan en una amplia gama de lenguajes, incluyendo inglés, francés, alemán, español, italiano, chino, japonés, coreano, árabe e hindi.
- Capacidades de codificación avanzadas: Ambos modelos demuestran una proficiencia excepcional en la generación de código en numerosos lenguajes de programación.
- Seguimiento de instrucciones: Se han realizado mejoras significativas en la capacidad de los modelos para seguir instrucciones precisas y manejar conversaciones de múltiples giros.
- Llamada a funciones: El soporte nativo para la llamada a funciones permite que estos modelos interactúen dinámicamente con herramientas y servicios externos.
- Razonamiento y resolución de problemas: Capacidades mejoradas en razonamiento matemático y tareas de resolución de problemas complejos.
Exploraremos algunas de estas características y examinaremos cómo se desempeñan en la práctica.
Benchmarks de rendimiento
Para comprender las verdaderas capacidades de Mistral Large 2 y Mistral NeMo, es esencial examinar su rendimiento en varios benchmarks. Veamos algunas métricas clave:
Benchmarks de Mistral Large 2
Esta tabla presenta la competencia de varios LLM en diferentes lenguajes de programación. Modelos como Mistral Large 2 (24.07), Llama 3.1 (405B) y GPT-4o se evalúan en su capacidad para entender y generar código en lenguajes como Python, C++, Bash, Java, TypeScript, PHP y C#.
Llama 3.1 405B muestra un rendimiento sólido en múltiples lenguajes, con puntuaciones particularmente altas en Python y Java. Esta competencia es crucial para aplicaciones que involucran generación de código, depuración y desarrollo de software, lo que hace que estos modelos sean herramientas valiosas para los desarrolladores.
Benchmarks de Mistral NeMo
Aunque no se proporcionan puntuaciones de benchmark específicas para Mistral NeMo en la información dada, se describe como ofreciendo un rendimiento de vanguardia en su categoría de tamaño. El modelo supera a otros modelos de código abierto recientes como Gemma 2 9B y Llama 3 8B en varias tareas.
Habilidad multilingüe y de codificación
Una de las características destacadas de ambos Mistral Large 2 y Mistral NeMo es su capacidad multilingüe excepcional. Esto es particularmente importante en nuestro mundo cada vez más globalizado, donde los modelos de inteligencia artificial necesitan entender y generar contenido en múltiples lenguajes.
Mistral Large 2, por ejemplo, soporta decenas de lenguajes, incluyendo francés, alemán, español, italiano, portugués, árabe, hindi, ruso, chino, japonés y coreano. Esta proficiencia multilingüe se extiende más allá de la mera traducción, abarcando una comprensión y generación matizada en estos lenguajes.
Para ilustrar esto, veamos un ejemplo de Mistral Large 2 generando texto en múltiples lenguajes:
[INST] Genera un saludo corto en inglés, francés, alemán, español y japonés. [/INST]
Estos son saludos cortos en los lenguajes solicitados:
Inglés: ¡Hola! ¿Cómo estás hoy?
Francés: Bonjour ! Comment allez-vous aujourd’hui ?
Alemán: Hallo! Wie geht es Ihnen heute?
Español: ¡Hola! ¿Cómo estás hoy?
Japonés: こんにちは!今日はお元気ですか?
[INST]
Ahora, escribe un programa “Hola, Mundo” simple en Python, Java y JavaScript. [/INST]
Estos ejemplos muestran tanto la generación de texto multilingüe como las capacidades de codificación del modelo.
Ambos modelos están disponibles en varias plataformas, como Hugging Face, la plataforma de Mistral AI y proveedores de servicios en la nube como Google Cloud Platform, Azure AI Studio, Amazon Bedrock e IBM watsonx.ai (Mistral AI | Inteligencia artificial de vanguardia en tus manos).
El paradigma agente y la llamada a funciones
Tanto Mistral Large 2 como Mistral NeMo adoptan un diseño centrado en el agente, lo que representa un cambio de paradigma en la forma en que interactuamos con los modelos de inteligencia artificial. Este enfoque se centra en construir modelos capaces de interactuar con su entorno, tomar decisiones y realizar acciones para lograr objetivos específicos.
Una característica clave que permite este paradigma es el soporte nativo para la llamada a funciones. Esto permite a los modelos interactuar dinámicamente con herramientas y servicios externos, efectivamente expandiendo sus capacidades más allá de la simple generación de texto.
Veamos un ejemplo de cómo la llamada a funciones podría funcionar con Mistral Large 2:
from mistral_common.protocol.instruct.tool_calls import Function, Tool
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest
<p># Inicializa el tokenizador y el modelo
mistral_models_path = "ruta/al/modelo/mistral" # Asegúrate de que esta ruta sea correcta
tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tokenizer.model.v3")
model = Transformer.from_folder(mistral_models_path)</p>
<p># Define una función para obtener información del clima
weather_function = Function(
name="get_current_weather",
description="Obtener el clima actual",
parameters={
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "La ciudad y el estado, por ejemplo, San Francisco, CA",
},
"format": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "La unidad de temperatura a utilizar. Inferir esto de la ubicación del usuario.",
},
},
"required": ["location", "format"],
},
)</p>
<p># Crea una solicitud de finalización de chat con la función
completion_request = ChatCompletionRequest(
tools=[Tool(function=weather_function)],
messages=[
UserMessage(content="¿Cuál es el clima hoy en París?"),
],
)</p>
<p># Codifica la solicitud
tokens = tokenizer.encode_chat_completion(completion_request).tokens</p>
<p># Genera una respuesta
out_tokens, _ = generate([tokens], model, max_tokens=256, temperature=0.7, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id)
result = tokenizer.decode(out_tokens[0])</p>
print(result)
En este ejemplo, definimos una función para obtener información del clima y la incluimos en nuestra solicitud de finalización de chat. El modelo puede utilizar esta función para recuperar datos del clima en tiempo real, demostrando cómo puede interactuar con sistemas externos para proporcionar información más precisa y actualizada.
Tekken: Un tokenizador más eficiente
Mistral NeMo introduce un nuevo tokenizador llamado Tekken, que se basa en Tiktoken y se entrenó en más de 100 lenguajes. Este nuevo tokenizador ofrece mejoras significativas en la eficiencia de compresión de texto en comparación con tokenizadores anteriores como SentencePiece.
Características clave de Tekken incluyen:
- 30% más eficiente en la compresión para código fuente, chino, italiano, francés, alemán, español y ruso
- 2 veces más eficiente en la compresión para coreano
- 3 veces más eficiente en la compresión para árabe
- Supera al tokenizador Llama 3 en la compresión de texto para aproximadamente el 85% de todos los lenguajes
Esta mayor eficiencia en la tokenización se traduce en un mejor rendimiento del modelo, especialmente al tratar con texto multilingüe y código fuente. Permite que el modelo procese más información dentro de la misma ventana de contexto, lo que conduce a salidas más coherentes y relevantes contextualmente.
Licencia y disponibilidad
Mistral Large 2 y Mistral NeMo tienen diferentes modelos de licencia, que reflejan sus casos de uso previstos:
Mistral Large 2
- Lanzado bajo la Licencia de Investigación de Mistral
- Permite el uso y la modificación para fines de investigación y no comerciales
- El uso comercial requiere una Licencia Comercial de Mistral
Mistral NeMo
- Lanzado bajo la licencia Apache 2.0
- Permite el uso abierto, incluyendo aplicaciones comerciales
Ambos modelos están disponibles a través de varias plataformas:
- Hugging Face: Los pesos para los modelos base e instruct están alojados aquí
- Mistral AI: Disponible como
mistral-large-2407(Mistral Large 2) yopen-mistral-nemo-2407(Mistral NeMo) - Proveedores de servicios en la nube: Disponible en Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock y IBM watsonx.ai
Para los desarrolladores que buscan utilizar estos modelos, aquí hay un ejemplo rápido de cómo cargar y utilizar Mistral Large 2 con Hugging Face transformers:
from transformers import AutoModelForCausalLM, AutoTokenizer
<p>model_name = "mistralai/Mistral-Large-Instruct-2407"
device = "cuda" # Utiliza GPU si está disponible</p>
<p># Carga el modelo y el tokenizador
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)</p>
<p># Mueve el modelo al dispositivo adecuado
model.to(device)</p>
<p># Prepara la entrada
messages = [
{"role": "system", "content": "Eres un asistente de inteligencia artificial útil."},
{"role": "user", "content": "Explica el concepto de redes neuronales en términos simples."}
]</p>
<p># Codifica la entrada
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)</p>
<p># Genera una respuesta
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)</p>
<p># Decodifica y imprime la respuesta
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)</p>
Este código demuestra cómo cargar el modelo, preparar la entrada en formato de chat, generar una respuesta y decodificar la salida.
















