Inteligencia Artificial
Mistral 2 y Mistral NeMo: una guía completa del último LLM procedente de París

Fundada por exalumnos de DeepMind y Meta de Google, la startup con sede en París Mistral IA ha causado sensación constantemente en la comunidad de IA desde 2023.
Mistral AI llamó la atención del mundo por primera vez con su modelo debut, Mistral 7B, lanzado en 2023. Este modelo de 7 mil millones de parámetros rápidamente ganó fuerza por su impresionante rendimiento, superando a modelos más grandes como Llama 2 13B en varios puntos de referencia e incluso rivalizando. Llama 1 34B en muchas métricas. que conjunto Mistral 7B Lo que destaca no fue sólo su rendimiento, sino también su accesibilidad: el modelo podría ser fácilmente descargado de GitHub o incluso a través de un torrent de 13.4 gigabytes, lo que lo hace disponible para investigadores y desarrolladores de todo el mundo.
El enfoque poco convencional de la compañía para sus lanzamientos, que a menudo prescinde de los artículos, blogs o comunicados de prensa tradicionales, ha demostrado ser notablemente eficaz para captar la atención de la comunidad de IA. Esta estrategia, sumada a su compromiso con los principios de código abierto, ha posicionado a Mistral AI como un actor clave en el panorama de la IA.
El rápido ascenso de Mistral AI en la industria se evidencia aún más en su reciente éxito de financiación. La compañía alcanzó una asombrosa valoración de 2 millones de dólares tras una ronda de financiación liderada por Andreessen Horowitz. Esto se produjo tras una histórica ronda de capital semilla de 118 millones de dólares, la mayor en la historia europea, lo que demuestra la enorme confianza de los inversores en la visión y las capacidades de Mistral AI.
Más allá de sus avances tecnológicos, Mistral AI también ha participado activamente en la formulación de políticas de IA, en particular en los debates en torno a la Ley de IA de la UE, donde ha abogado por una menor regulación de la IA de código abierto.
Ahora, en 2024, Mistral AI ha vuelto a subir el listón con dos modelos rompedores: Mistral Grande 2 (también conocido como Mistral-Large-Instruct-2407) y Mistral NemoEn esta guía completa, profundizaremos en las características, el rendimiento y las posibles aplicaciones de estos impresionantes modelos de IA.
Las especificaciones clave de Mistral Large 2 incluyen:
- 123 mil millones parámetros
- 128k ventana de contexto
- Soporte para docenas de idiomas
- Competencia en 80+ codificación idiomas
- Capacidades avanzadas de llamada de funciones
El modelo está diseñado para superar los límites de la rentabilidad, la velocidad y el rendimiento, lo que lo convierte en una opción atractiva tanto para investigadores como para empresas que buscan aprovechar la IA de vanguardia.
Mistral NeMo: el nuevo modelo más pequeño
Si bien 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, Mistral NeMo es un modelo más compacto de 12 mil millones de parámetros que aún ofrece capacidades impresionantes:
- 12 mil millones parámetros
- contexto 128k ventana
- Rendimiento de última generación en su categoría de tamaño
- Licencia de Apache 2.0 para uso abierto
- Consciente de la cuantificación entrenamiento para la inferencia eficiente
Mistral NeMo se posiciona como un reemplazo directo para los sistemas que actualmente usan Mistral 7B, ofreciendo un rendimiento mejorado manteniendo la facilidad de uso y la compatibilidad.
Funciones y capacidades clave
Tanto Mistral Large 2 como Mistral NeMo comparten varias características clave que los distinguen en el panorama de la IA:
- Ventanas de contexto grandes: Con longitudes de contexto de token de 128k, ambos modelos pueden procesar y comprender fragmentos de texto mucho más largos, lo que permite resultados más coherentes y contextualmente relevantes.
- Soporte multilingüe: Los modelos destacan en una amplia gama de idiomas, incluidos 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 competencia excepcional en la generación de código en numerosos lenguajes de programación.
- Instrucciones siguientesSe han realizado mejoras significativas en la capacidad de los modelos para seguir instrucciones precisas y manejar conversaciones de múltiples turnos.
- Llamada de función: El soporte nativo para llamadas de 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 complejas de resolución de problemas.
Exploremos algunas de estas características y examinemos cómo funcionan en la práctica.
Puntos de referencia de rendimiento
Para comprender las verdaderas capacidades de Mistral Large 2 y Mistral NeMo, es fundamental analizar su rendimiento en diversas pruebas de referencia. Examinemos algunas métricas clave:
Mistral Grande 2 Puntos de Referencia
Esta tabla presenta el dominio 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 según su capacidad para comprender y generar código en lenguajes como Python, C++, Bash, Java, TypeScript, PHP y C#.
Llama 3.1 405B muestra un sólido rendimiento en múltiples lenguajes, con puntuaciones particularmente altas en Python y Java. Esta competencia es fundamental para aplicaciones que implican generación de código, depuración y desarrollo de software, lo que hace que estos modelos sean herramientas valiosas para los desarrolladores.
Puntos de referencia Mistral NeMo
Si bien la información proporcionada no proporciona puntuaciones de referencia específicas para Mistral NeMo, se describe como un modelo con un rendimiento de vanguardia en su categoría de tamaño. El modelo supera a otros modelos preentrenados de código abierto recientes, como Gemma 2 9B y Llama 3 8B, en diversas tareas.
Destreza multilingüe y de codificación
Una de las características más destacadas de Mistral Large 2 y Mistral NeMo es su excepcional capacidad multilingüe. Esto es particularmente importante en nuestro mundo cada vez más globalizado, donde los modelos de IA necesitan comprender y generar contenido en múltiples idiomas.
Mistral Large 2, por ejemplo, admite docenas de idiomas, incluidos francés, alemán, español, italiano, portugués, árabe, hindi, ruso, chino, japonés y coreano. Este dominio multilingüe se extiende más allá de la mera traducción, y abarca la comprensión y generación de matices en estos idiomas.
Para ilustrar esto, veamos un ejemplo de Mistral Large 2 generando texto en varios idiomas:
[INST] Generate a short greeting in English, French, German, Spanish, and Japanese. [/INST]
Aquí hay saludos breves en los idiomas solicitados:
Español: ¡Hola! ¿Cómo estás hoy?
Francés: ¡Bonjour! Comentar allez-vous aujourd'hui ?
Alemán: ¡Hola! ¿Wie geht es Ihnen heute?
Español: ¡Hola! ¿Cómo estás hoy?
Japonés: こんにちは!今日はお元気ですか?
[INST]
Ahora, escribe un simple "¡Hola, mundo!" programa 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 los principales proveedores de servicios en la nube como Google Cloud Platform, Azure AI Studio, Amazon Bedrock e IBM watsonx.ai. (Mistral IA | Frontera AI en tus manos).
El paradigma agente y el llamado a funciones
Tanto Mistral Large 2 como Mistral NeMo adoptan un diseño centrado en agentes, lo que representa un cambio de paradigma en la forma en que interactuamos con los modelos de IA. Este enfoque se centra en construir modelos capaces de interactuar con su entorno, tomar decisiones y emprender acciones para lograr objetivos específicos.
Una característica clave que permite este paradigma es el soporte nativo para llamadas a funciones. Esto permite que los modelos interactúen dinámicamente con herramientas y servicios externos, ampliando efectivamente sus capacidades más allá de la simple generación de texto.
Veamos un ejemplo de cómo podría funcionar la llamada de función 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
# Initialize tokenizer and model
mistral_models_path = "path/to/mistral/models" # Ensure this path is correct
tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tokenizer.model.v3")
model = Transformer.from_folder(mistral_models_path)
# Define a function for getting weather information
weather_function = Function(
name="get_current_weather",
description="Get the current weather",
parameters={
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
},
"format": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The temperature unit to use. Infer this from the user's location.",
},
},
"required": ["location", "format"],
},
)
# Create a chat completion request with the function
completion_request = ChatCompletionRequest(
tools=[Tool(function=weather_function)],
messages=[
UserMessage(content="What's the weather like today in Paris?"),
],
)
# Encode the request
tokens = tokenizer.encode_chat_completion(completion_request).tokens
# Generate a response
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])
print(result)
En este ejemplo, definimos una función para obtener información meteorológica y la incluimos en nuestra solicitud de finalización del chat. Luego, el modelo puede utilizar esta función para recuperar datos meteorológicos 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 presenta un nuevo tokenizador llamado Tekken, que se basa en Tiktoken y está capacitado en más de 100 idiomas. Este nuevo tokenizador ofrece mejoras significativas en la eficiencia de la compresión de texto en comparación con tokenizadores anteriores como SentencePieza.
Las características clave de Tekken incluyen:
- Compresión un 30% más eficiente para código fuente, chino, italiano, francés, alemán, español y ruso
- Compresión 2 veces más eficiente para coreano
- Compresión 3 veces más eficiente para árabe
- Supera al tokenizador Llama 3 en la compresión de texto para aproximadamente el 85 % de todos los idiomas.
Esta eficiencia mejorada de tokenización se traduce en un mejor rendimiento del modelo, especialmente cuando se trata de texto y código fuente multilingüe. Permite que el modelo procese más información dentro de la misma ventana contextual, lo que genera resultados más coherentes y contextualmente relevantes.
Licencias y disponibilidad
Mistral Large 2 y Mistral NeMo tienen diferentes modelos de licencia, que reflejan los casos de uso previstos:
Mistral Grande 2
- Publicado bajo la licencia de investigación Mistral
- Permite el uso y modificación con fines de investigación y no comerciales.
- El uso comercial requiere una licencia comercial de Mistral
Mistral Nemo
- Publicado bajo la licencia Apache 2.0
- Permite el uso abierto, incluidas aplicaciones comerciales.
Ambos modelos están disponibles a través de varias plataformas:
- Cara de abrazo: Los pesos para los modelos base e instrucción se encuentran aquí
- Mistral IA: Disponible como
mistral-large-2407(Mistral Grande 2) yopen-mistral-nemo-2407(Mistral NeMo) - Proveedores de servicios en la nube:Disponible en Vertex AI de Google Cloud Platform, Azure AI Studio, Amazon Bedrock e IBM watsonx.ai
Para los desarrolladores que buscan utilizar estos modelos, aquí hay un ejemplo rápido de cómo cargar y usar Mistral Large 2 con transformadores Hugging Face:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "mistralai/Mistral-Large-Instruct-2407"
device = "cuda" # Use GPU if available
# Load the model and tokenizer
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# Move the model to the appropriate device
model.to(device)
# Prepare input
messages = [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": "Explain the concept of neural networks in simple terms."}
]
# Encode input
input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
# Generate response
output_ids = model.generate(input_ids, max_new_tokens=500, do_sample=True)
# Decode and print the response
response = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(response)
Este código demuestra cómo cargar el modelo, preparar la entrada en formato de chat, generar una respuesta y decodificar la salida.
















