La puntuación final es un único número entre 1 y 100 obtenido como el máximo entre todas las filas de tu submission, es decir, se toma tu mejor run registrado en el CSV. Cada run aporta las siguientes columnas numéricas obligatorias: val_perplexity, num_parameters, tokens_per_sec, training_time_minutes, val_minus_train, total_tokens_processed. Cualquier columna faltante, no numérica o con valores no positivos (salvo val_minus_train, que debe ser ≥ 0) invalida la submission con un error visible para participantes.​ La métrica compuesta suma 4 componentes min–max normalizados con anclas “good/bad” opcionales que pueden definirse en una fila de solution, o se usan valores por defecto robustos si faltan. Los pesos también son ajustables y se renormalizan a 1 si están presentes, con defaults w_quality=0.6, w_efficiency=0.2, w_regularization=0.1, w_data=0.1.​ Calidad (quality): se incentiva perplexity de validación baja; se normaliza entre p_bad y p_good, y se recorta a. La perplexity es una medida estándar basada en log-likelihood promedio por token y su exponente, ampliamente usada para LMs.​ Eficiencia (efficiency): promedio de tres subcomponentes normalizados y recortados a : menos parámetros (num_parameters), más velocidad de generación/entrenamiento (tokens_per_sec) y menor tiempo total de entrenamiento (training_time_minutes).​ Regularización (regularization): gap de generalización bajo, medido como val_minus_train; se normaliza entre vtgap_bad y vtgap_good, favoreciendo menores gaps.​ Frugalidad de datos (data_eff): menos tokens totales procesados (total_tokens_processed) medidos en escala logarítmica y normalizados entre tokens_bad y tokens_good; promueve aprender más con menos.