Phi-3 es la apuesta pública de Microsoft Research en modelos pequeños de lenguaje. La familia arrancó con Phi-1 a finales de 2023, centrada en código. Las versiones 3 y 3.5, lanzadas durante 2024 y actualizadas en 2025, la han hecho crecer hasta convertirla en una pieza central del campo de modelos que caben en el edge.

Después de dieciocho meses de uso público, múltiples variantes, integración con ONNX Runtime y cuantizaciones oficiales, toca un repaso honesto de dónde encaja Phi-3. También de cuándo tiene sentido elegirlo frente a alternativas como Llama 3.2, Gemma 2 o Qwen 2.5.

Puntos clave

  • Phi-3-mini (3.8B parámetros, cuantizado a 4 bits) cabe en ~2 GB y se ejecuta con latencia razonable en CPU con unidad neuronal, GPU integrada o NPU dedicada.

  • La apuesta técnica diferenciadora es calidad de datos de entrenamiento ("Textbooks Are All You Need"): corpus curado con contenido tipo libro de texto y ejemplos sintéticos bien filtrados.

  • Brilla en tareas estructuradas, razonamiento lógico acotado y generación de código corto. Se queda corto en idiomas distintos del inglés y conversación abierta.

  • Las versiones ONNX optimizadas oficiales de Microsoft (DirectML, CUDA, CoreML, CPU pura) se cargan sin cuantización manual y reducen la fricción de integración.

  • Para español o conversación general, Qwen 2.5 o Llama 3.2 suelen rendir mejor; medir con el caso concreto antes de comprometerse.

Qué es Phi-3 y qué lo hace distinto

Phi-3 es en realidad una familia con cinco variantes:

Variante Parámetros Nota
Phi-3-mini 3.8B La más compacta; encaja en móvil
Phi-3-small 7B Equilibrio entre tamaño y calidad
Phi-3-medium 14B Mayor calidad; requiere más RAM
Phi-3.5-MoE 42B total / 6.6B activos Mezcla de expertos
Phi-3.5-vision 4.2B Variante multimodal

Todas están publicadas bajo licencia MIT, lo que las hace aptas para uso comercial sin matices extraños.

La propuesta técnica que distingue a Phi-3 del resto es el enfoque en calidad de datos de entrenamiento. Microsoft publicó un artículo titulado "Textbooks Are All You Need". Su argumento: un corpus cuidadosamente curado, con contenido tipo libro de texto y ejemplos sintéticos bien filtrados, permitía entrenar modelos pequeños con capacidades sorprendentes. Un Phi-3-mini de 3.8B alcanzaba en las pruebas estándar resultados comparables a modelos de 7B u 8B de otras familias.

Esa propuesta tiene un matiz relevante. Los resultados fuertes en pruebas académicas no se trasladaban con la misma intensidad al uso real, especialmente en tareas abiertas de conversación o razonamiento multi-paso. Phi-3 es un modelo bueno cuando el caso de uso se acerca a los datos con los que fue entrenado: tareas estructuradas, razonamiento lógico acotado, respuesta a preguntas sobre texto corto.

El caso del edge

El interés real de Phi-3 está en el edge. Un modelo de 3.8B parámetros cuantizado a 4 bits ocupa unos 2 GB y cabe en la memoria de un teléfono moderno. Se puede ejecutar con latencia razonable en una CPU con unidad neuronal, en una GPU integrada o incluso en una NPU dedicada. Microsoft ha trabajado duro en la integración con ONNX Runtime y con Windows DirectML para que Phi-3-mini se ejecute de forma nativa en Windows 11.

Esta capacidad cambia el cálculo económico de cualquier caso de uso que hoy dependa de una API externa. Funciones como transcripción asistida, resumen de mensajes, sugerencias contextuales o clasificación de texto:

  • Dejan de requerir una llamada a una API de pago.

  • La latencia baja a decenas de milisegundos.

  • Los datos no salen del dispositivo, lo que simplifica enormemente el cumplimiento con RGPD.

Microsoft 365 integra Phi-3 para operaciones ligeras en el cliente. Ollama y LM Studio soportan Phi-3 con un solo comando. Las distribuciones de Linux con aceleración NPU empiezan a ofrecer Phi-3 como modelo por defecto para asistentes locales.

Dónde compensa Phi-3 frente a alternativas

La decisión interesante no es si usar un SLM en el edge, sino cuál. El campo está competido:

  • Llama 3.2 de Meta: variantes de 1B y 3B con buen rendimiento general y ecosistema enorme.

  • Gemma 2 de Google: versiones de 2B y 9B con calidad sólida.

  • Qwen 2.5 de Alibaba: versiones pequeñas buenas en idiomas no ingleses, incluyendo español.

  • Mistral: modelos pequeños competentes con buenas opciones para idiomas latinos.

Phi-3 brilla especialmente en tareas que requieren razonamiento estructurado o generación de código corto. Su entrenamiento sintético con énfasis en problemas matemáticos, ejemplos de código y razonamiento paso a paso le da una ventaja en esos dominios. Si tu caso de uso es un asistente que responda preguntas estructuradas sobre documentos, genere fragmentos de código o razone sobre reglas formales, Phi-3-mini o Phi-3-small son candidatos fuertes.

Donde Phi-3 se queda corto: idiomas distintos del inglés con matices regionales, conocimiento enciclopédico profundo y conversación abierta con fluidez natural. Para esos casos, Qwen 2.5 o Llama 3.2 suelen rendir mejor. La práctica realista es probar los dos o tres candidatos con el caso concreto y medir.

Integración práctica con ONNX Runtime

Uno de los aspectos mejor resueltos de Phi-3 es el camino oficial para integración. Microsoft publica versiones ONNX optimizadas para DirectML (Windows), CUDA (NVIDIA), CoreML (Apple) y CPU pura, todas en su organización de Hugging Face. Esto significa que un desarrollador puede cargar el modelo con onnxruntime-genai y tener inferencia razonable sin pelearse con cuantización manual o conversión de pesos:

import onnxruntime_genai as og

modelo = og.Model("./phi-3-mini-4k-instruct-onnx/cpu")
tokenizador = og.Tokenizer(modelo)

prompt = "Explica brevemente qué es TLS 1.3."
entradas = tokenizador.encode(prompt)

opciones = og.GeneratorParams(modelo)
opciones.set_search_options(max_length=200)
opciones.input_ids = entradas

generador = og.Generator(modelo, opciones)
while not generador.is_done():
    generador.compute_logits()
    generador.generate_next_token()
    print(tokenizador.decode(generador.get_next_tokens()[0]), end="")

El código no es muy distinto del patrón habitual con transformers, pero el proceso de compilación y optimización para el dispositivo concreto está ya hecho por Microsoft. Para un teléfono o un equipo con NPU, esto ahorra semanas de trabajo de optimización.

Limitaciones y cautelas

Conviene ser realista con las limitaciones:

  • Ventana de contexto: Phi-3-mini original tiene 4K tokens; la variante extendida llega a 128K pero con degradación de calidad medible más allá de 32K. Esto limita aplicaciones que necesiten ingerir documentos largos completos.

  • Fiabilidad factual: los SLM tienden a alucinar más que los LLM grandes. Para aplicaciones que toquen contenido factual, la práctica correcta sigue siendo combinarlos con RAG: el modelo razona y genera, pero los hechos vienen de una búsqueda en un corpus fiable.

  • Soporte del español: Phi-3 fue entrenado mayoritariamente en inglés. Aunque genera español comprensible, la calidad no alcanza la de modelos específicamente entrenados en multilingüe como Qwen. Para un asistente comercial en español, merece la pena evaluar alternativas.

Este punto de compatibilidad lingüística también cuenta en la IA soberana en Europa. Ahí la preferencia por modelos con buen soporte del español y otras lenguas europeas orienta hacia Mistral o hacia modelos abiertos desplegados en infraestructura local.

Conclusión

La conclusión tras seguir la evolución de Phi-3 durante 2024 y 2025 es que Microsoft ha colocado un producto legítimo y útil en un espacio competido. No es el mejor SLM en todos los ejes, pero es el que mejor integración tiene con el ecosistema Microsoft, una ventaja operativa seria si tu pila es Windows o Azure. Para tareas razonadas y código, es competitivo. Para multilingüe o conversación abierta, hay alternativas mejores.

El punto más importante: el edge como lugar para ejecutar modelos de lenguaje ha pasado de ser una curiosidad a ser una realidad productiva. Phi-3 no es el único motor posible, pero es uno de los más pulidos, con licencia abierta y con integración industrial seria.

Para un equipo que arranca un proyecto con componente de lenguaje y quiere evitar dependencia de una API externa, la disciplina que rinde bien es clara. Prueba Phi-3-mini localmente antes de comprometerte con una solución de pago. Puede que la respuesta final sea pagar por una API externa porque la calidad lo justifica, pero haber probado la alternativa local pone límites sanos a cuánto se está dispuesto a pagar.

Lee este artículo en inglés

Preguntas frecuentes

¿Cuánta memoria necesita Phi-3-mini para correr en un móvil o un portátil sin GPU dedicada?

Unos 2 GB: Phi-3-mini tiene 3.8B parámetros y, cuantizado a 4 bits, cabe en la memoria de un teléfono moderno. Se ejecuta con latencia razonable en una CPU con unidad neuronal, en una GPU integrada o en una NPU dedicada. Microsoft publica versiones ONNX optimizadas para DirectML, CUDA, CoreML y CPU pura que se cargan con onnxruntime-genai sin cuantización manual. Ollama y LM Studio lo soportan con un solo comando.

¿Sirve Phi-3 para un asistente en español?

Con reservas. Phi-3 fue entrenado mayoritariamente en inglés: genera español comprensible, pero la calidad no alcanza la de modelos entrenados específicamente en multilingüe como Qwen 2.5. Llama 3.2 también suele rendir mejor en idiomas distintos del inglés y en conversación abierta. Para un asistente comercial en español merece la pena probar dos o tres candidatos con el caso concreto y medir antes de comprometerse.

¿Puedo usar Phi-3 comercialmente y con documentos largos?

Comercialmente sí: toda la familia (mini, small, medium, 3.5-MoE y 3.5-vision) está publicada bajo licencia MIT. Con documentos largos, con cuidado: Phi-3-mini original tiene una ventana de 4K tokens y la variante extendida llega a 128K, pero con degradación de calidad medible más allá de 32K. Como los SLM alucinan más que los LLM grandes, para contenido factual conviene combinarlo con RAG sobre un corpus fiable.

Fuentes

  1. Phi-3 Mini en Hugging Face
  2. «Textbooks Are All You Need» en arXiv
  3. onnxruntime-genai en GitHub