Ejecutar Xiaomi MiMo-V2-Flash Localmente: Guía de Instalación y Configuración Paso a Paso
Ejecutar Xiaomi MiMo-V2-Flash Localmente: Guía de Instalación y Configuración Paso a Paso
El MiMo-V2-Flash de Xiaomi es un modelo de lenguaje de alta eficiencia y código abierto, basado en Mixture-of-Experts (MoE), que ofrece una potente inferencia de IA en hardware local y brinda a los desarrolladores control total sobre los datos, la latencia y la configuración sin costos de API. :contentReference[oaicite:0]
A continuación se presenta una guía paso a paso para instalar y ejecutar MiMo-V2-Flash en tu propia máquina, con múltiples métodos para adaptarse a diferentes entornos y herramientas.
¿Qué es MiMo-V2-Flash?
MiMo-V2-Flash es un modelo de IA de código abierto desarrollado por Xiaomi. Presenta un diseño masivo de 309 mil millones de parámetros totales, pero solo activa ~15 mil millones de parámetros durante la inferencia, lo que lo hace eficiente para tareas a gran escala. :contentReference[oaicite:1]
Las principales fortalezas incluyen:
- Inferencia de alta velocidad optimizada para agentes inteligentes. :contentReference[oaicite:2]
- Pesos y código de código abierto bajo licencias similares a MIT. :contentReference[oaicite:3]
- Gran ventana de contexto y fuertes capacidades para razonamiento y generación de código. :contentReference[oaicite:4]
Requisitos Previos
Requisitos de Hardware
| Componente | Mínimo | Recomendado |
|---|---|---|
| GPU | 12 GB VRAM (por ejemplo, RTX 3080) | 24 GB+ (por ejemplo, RTX 4090 / A6000) |
| RAM del Sistema | 32 GB | 64 GB+ |
| Almacenamiento | 100 GB libres | 200 GB+ NVMe SSD |
| CPU | Multicore moderno | Multicore de alta frecuencia |
👉 El despliegue local requiere recursos serios de GPU y sistema. Considera la cuantización si la memoria es limitada.
Configuración del Software
Antes de instalar el modelo, asegúrate de que:
- Python 3.10+ esté instalado.
- Controladores NVIDIA + CUDA Toolkit 11.8/12.4 estén configurados.
- Git esté disponible en tu PATH.
Verifica con:
nvidia-smi
nvcc --versionMétodo 1 — Usando SGLang (Recomendado)
SGLang proporciona soporte optimizado para MoE y es el camino más ajustado en rendimiento para MiMo-V2-Flash.
Paso 1 — Preparar el Entorno
python -m venv mimo-env
source mimo-env/bin/activate # Windows: mimo-env\Scripts\activateInstala PyTorch (ejemplo de CUDA 12.4):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install sglangPaso 2 — Descargar el Modelo
huggingface-cli login
huggingface-cli download XiaomiMiMo/MiMo-V2-Flash --local-dir ./models/MiMo-V2-FlashPaso 3 — Lanzar el Servidor
python -m sglang.launch_server \
--model-path ./models/MiMo-V2-Flash \
--host 0.0.0.0 \
--port 30000 \
--trust-remote-code \
--dtype float16 \
--max-model-len 262144 \
--gpu-memory-utilization 0.9Paso 4 — Prueba Rápida
Usa Python para enviar una solicitud:
import requests, json
url = "http://localhost:30000/v1/chat/completions"
data = {
"model": "MiMo-V2-Flash",
"messages": [{"role":"user","content":"Escribe una función en Python para calcular Fibonacci"}],
"max_tokens": 200
}
res = requests.post(url, headers={"Content-Type":"application/json"}, data=json.dumps(data))
print(res.json())Método 2 — Hugging Face Transformers
Este enfoque utiliza la biblioteca Transformers para cargar MiMo directamente.
Paso 1 — Dependencias
pip install transformers==4.51.0 accelerate bitsandbytes
pip install torch --index-url https://download.pytorch.org/whl/cu124Paso 2 — Crear el Script (run_mimo.py)
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "XiaomiMiMo/MiMo-V2-Flash"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto",
trust_remote_code=True,
load_in_8bit=True
)
prompt = "Explica cómo funcionan las redes neuronales"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=150)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))Paso 3 — Ejecutar
python run_mimo.pyMétodo 3 — Despliegue en Docker
Si prefieres la contenedorización:
FROM nvidia/cuda:12.4-devel-ubuntu20.04
RUN apt-get update && apt-get install -y python3.10 python3-pip git
WORKDIR /app
RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
RUN pip3 install sglang transformers accelerate
COPY models/MiMo-V2-Flash /app/models/MiMo-V2-Flash
EXPOSE 30000
CMD ["python3", "-m", "sglang.launch_server", "--model-path", "/app/models/MiMo-V2-Flash", "--host", "0.0.0.0", "--port", "30000"]Construir y Ejecutar
docker build -t mimo-v2-flash .
docker run --gpus all -p 30000:30000 mimo-v2-flashConsejos de Rendimiento
Habilitar Flash Attention: pip install flash-attn
Usar Cuantización: 8-bit o 4-bit para reducir la memoria de la GPU.
Multi-GPU: Establecer device_map="auto" y dividir capas entre GPUs.
Monitorear: Usa nvidia-smi para observar memoria y temperatura.
Pruebas y Validación
Crea un script de prueba simple:
import requests, json
def test_prompt(prompt):
url = "http://localhost:30000/v1/chat/completions"
data = {"model":"MiMo-V2-Flash","messages":[{"role":"user","content":prompt}], "max_tokens":100}
res = requests.post(url, headers={"Content-Type":"application/json"}, data=json.dumps(data))
print(res.json())
test_prompt("¿Cuál es la capital de Francia?")
test_prompt("Genera un Hola Mundo en JavaScript")Preguntas Frecuentes
¿Necesito una conexión a internet para ejecutar localmente?
Después de descargar los archivos del modelo una vez, puedes ejecutar completamente sin conexión.
¿Qué pasa si la memoria de la GPU es insuficiente?
Intenta la cuantización (load_in_8bit=True/4-bit), o cambia a un modelo local más pequeño. Una GPU con alta VRAM es ideal.
¿Puede esto ejecutarse solo en CPU?
Técnicamente sí, pero la inferencia será muy lenta y puede no completarse debido al gran tamaño del modelo.
¿Hay una versión para Windows?
Sí, todos los métodos anteriores funcionan en Windows con rutas ajustadas y activación del entorno.
¿Dónde se alojan los archivos oficiales del modelo?
Xiaomi aloja MiMo-V2-Flash en Hugging Face y GitHub como parte de sus ofertas de código abierto.