IA 360
Actualidad

Mistral presenta Codestral, un modelo de 22.000 millones para programar

Mistral AI presentó el 29 de mayo de 2024 Codestral, un modelo de 22.000 millones de parámetros para generar y completar código. Sus pesos se podían descargar, pero la licencia no autorizaba usarlos en producción: una distinción esencial al evaluar modelos.

5 min de lectura Generado con IA Read in English
Mistral presenta Codestral, un modelo de 22.000 millones para programar

Mistral AI presentó el 29 de mayo de 2024 Codestral, su primer modelo especializado en código. Tiene 22.000 millones de parámetros, trabaja con más de 80 lenguajes de programación y puede completar el hueco entre dos fragmentos ya escritos. La compañía permitió descargar sus pesos, pero no dio permiso general para usarlos en producción: el anuncio reúne tres conceptos que suelen confundirse —capacidad, acceso y derechos— y que conviene separar antes de adoptar cualquier modelo.

Para un desarrollador, la pregunta útil no es si Codestral «sabe programar». Es qué tarea resuelve, con qué contexto, bajo qué prueba y dentro de qué licencia. Un resultado alto en ejercicios breves no garantiza que una sugerencia respete la arquitectura, dependencias y normas de seguridad de un repositorio privado. Y poder descargar un archivo no convierte por sí solo ese archivo en software de uso libre.

La tarea determina qué significa una buena respuesta

El anuncio original de Mistral describe tres usos: generar código desde instrucciones, responder preguntas sobre un fragmento y completar código mediante fill in the middle o FIM. No son variantes cosméticas. En generación desde cero, el modelo recibe una petición y continúa. En FIM recibe un prefijo, un sufijo y debe proponer lo que encaja entre ambos sin romper ninguno.

Ese segundo formato se parece más al trabajo cotidiano en un editor. Si falta una condición dentro de una función, el código posterior ya impone nombres de variables, tipos y formato de salida. Continuar solo desde arriba puede producir algo plausible que choque con lo que viene después. Ver ambos lados reduce esa clase de error, aunque no prueba que el modelo comprenda todo el proyecto.

La tarjeta oficial del modelo concreta que Codestral puede consultarse en modo instructivo para explicar, documentar, refactorizar o generar código, y en modo FIM para predecir los tokens intermedios entre prefijo y sufijo. También advierte de que el modelo no incorpora mecanismos de moderación. Esa limitación importa porque el código sugerido puede ejecutar comandos, tocar archivos, llamar servicios o introducir dependencias, acciones con consecuencias distintas de una frase equivocada.

22.000 millones de parámetros no son una nota de calidad

Los parámetros son valores aprendidos durante el entrenamiento. La cifra describe escala, no una puntuación universal. Dos modelos del mismo tamaño pueden diferir por los datos, el entrenamiento, el tokenizador, la especialización y el modo de inferencia. Uno menor puede rendir mejor en una tarea concreta y peor al razonar sobre requisitos dispersos.

La ficha técnica de Codestral 24.05 registra 22.000 millones de parámetros totales y activos y una ventana de contexto de 32.000 tokens. Al ser un modelo denso, todos esos parámetros participan en cada inferencia; no es el caso de un modelo de expertos que almacena muchos más pero activa solo una parte. Para quien pretende ejecutarlo localmente, la arquitectura, la precisión numérica y la memoria disponible importan tanto como el número del titular.

La ventana de 32.000 tokens indica cuánto material puede entrar en una solicitud, no cuánto entiende correctamente. Un repositorio puede superar ese límite, y seleccionar archivos es ya una decisión técnica: excluir una interfaz, una migración o una prueba puede ocultar la restricción decisiva. Incluso cuando todo cabe, el modelo puede prestar atención desigual, confundir versiones o inventar una función inexistente. Contexto disponible y contexto utilizado con acierto son medidas diferentes.

Qué demuestran los benchmarks y qué dejan fuera

Mistral comparó Codestral en HumanEval y MBPP para generación de Python, CruxEval para predicción de salidas, Spider para SQL y RepoBench para completar código con contexto de repositorio. También presentó evaluaciones FIM en Python, JavaScript y Java. Estas pruebas son útiles porque especifican una tarea y permiten repetir una comparación; no equivalen a certificar un asistente para producción.

Pass@1, por ejemplo, pregunta si la primera solución generada supera las pruebas del ejercicio. Eso mide algo importante: la probabilidad de obtener código funcional sin pedir varias alternativas. Pero una batería pequeña no cubre mantenibilidad, rendimiento con datos reales, compatibilidad con las dependencias de una empresa, accesibilidad, observabilidad ni vulnerabilidades. Una función puede aprobar todos los casos visibles y seguir siendo inadecuada para el sistema donde se insertará.

RepoBench se acerca más al uso dentro de un repositorio porque evalúa completaciones de largo alcance, pero tampoco reproduce permisos, historial, convenciones internas o revisiones humanas de un equipo. La lectura correcta de un gráfico es condicional: «en esta versión de esta prueba y con esta métrica, obtuvo este resultado». Convertirlo en «programa mejor» borra el objeto medido.

Pesos accesibles no significa licencia abierta

Mistral llamó a Codestral un modelo de pesos abiertos y publicó la descarga. A la vez, lo lanzó bajo la Mistral AI Non-Production License. El texto de la licencia incluido en la versión original permite usar el modelo para pruebas, investigación, evaluación o fines personales en entornos no productivos. Excluye condiciones reales, operaciones comerciales, actividades que generen ingresos y usos que afecten directamente a usuarios, incluidos empleados o clientes.

Eso permite examinar y experimentar con los pesos, pero no autoriza sin más a instalar el modelo como asistente interno de una empresa ni a servir sus salidas dentro de un producto. El propio anuncio indicaba que el uso comercial de los pesos requería solicitar otra licencia. «Descargable», «auditable», «modificable», «redistribuible» y «utilizable comercialmente» son casillas separadas; una ficha seria debe marcar cada una.

También existían dos vías de servicio. Mistral abrió un endpoint específico para Codestral, gratuito durante una beta de ocho semanas y sujeto a lista de espera, y lo incorporó a su API habitual de pago por tokens. Acceder por API evita alojar el modelo, pero introduce otra pregunta: qué código sale de la infraestructura propia, cuánto se conserva y qué condiciones gobiernan el servicio. La licencia de los pesos y los términos de una API son contratos distintos.

Una evaluación que se parezca al trabajo real

Antes de integrar un asistente de código, un equipo debería construir una prueba con tareas propias y repositorios controlados. Puede seleccionar correcciones ya resueltas, ocultar la solución y medir si la propuesta compila, supera pruebas existentes y nuevas, respeta tipos, no añade paquetes innecesarios y no debilita controles. Conviene registrar también cuántos intentos necesita, cuánto tarda un revisor y cuántos defectos introduce. La velocidad de generar texto carece de valor si aumenta el tiempo de revisión.

El entorno de prueba debe limitar permisos. Las sugerencias se inspeccionan como código no confiable: ejecución en un sandbox, secretos fuera del contexto, acceso de red restringido y cambios visibles antes de fusionarlos. La advertencia de ausencia de moderación no significa que el modelo vaya a producir código dañino; significa que no debe tratarse una barrera no declarada como si existiera.

Privacidad y licencia completan la matriz. Para API, hay que comprobar tratamiento y retención de datos. Para pesos propios, hay que confirmar que el uso concreto está autorizado, además de calcular memoria, operación y actualizaciones. Un despliegue local puede reducir la exposición a terceros y aun ser jurídicamente incompatible con la licencia elegida.

La capacidad transferible es leer cualquier lanzamiento de un modelo de código en cuatro columnas: tarea, evidencia, operación y derechos. Codestral ofrecía una propuesta concreta —22.000 millones de parámetros, FIM y contexto de 32.000 tokens—, pero ninguna cifra sustituía una prueba sobre el código del usuario. Y la descarga de los pesos no sustituía el permiso para explotarlos. Separar esas capas evita comprar una promesa técnica que el benchmark no demostró o un uso que la licencia nunca concedió.

Esa disciplina permite comparar el siguiente lanzamiento aunque cambien el fabricante, el tamaño, la prueba o el lenguaje de programación anunciado.

Este artículo se ha elaborado con inteligencia artificial bajo supervisión editorial humana.

Compartir este artículo

Este sitio web utiliza cookies para mejorar la experiencia de navegación. Política de cookies.

↑↓ navegar ↵ abrir esc cerrar