TabICL y TabPFN contra XGBoost afinado: gana el que no entrena, pero no 14 a 14
Un post que hoy sube por Hacker News dice que los modelos tabulares fundacionales, que no entrenan con tus datos, ganaron 14 de 14 a un XGBoost afinado. Hemos pasado su tabla a filas acertadas, la hemos cruzado con TabArena y hemos leído la letra pequeña de las licencias.
En este artículo
Catorce de catorce. Un modelo que no ha visto tus datos en su vida le gana a XGBoost afinado en todas las tablas del torneo. Eso promete el titular de un post de Efrain Garay del 17 de agosto, que hoy sube por Hacker News. Si fuera verdad sin asteriscos, media década de tardes tuneando hiperparámetros iría al punto limpio sin despedirse.
Hemos abierto su tabla fila a fila y el marcador no es ese. El que no entrena gana igual, eso sí. Y lo más jugoso del post ni siquiera está en la tabla: está en la puerta del garito.
Examen a libro abierto
TabPFN y TabICL son modelos fundacionales para tablas, preentrenados con millones de tablas sintéticas fabricadas a propósito. Cuando llega la tuya no ajustan un solo peso. Leen las filas de entrenamiento como contexto y sueltan las predicciones en una sola pasada. Es el aprendizaje en contexto de los LLM, con columnas donde otros ponen palabras.
Piénsalo como un examen. XGBoost se estudia el temario de cada tabla desde cero, árbol a árbol, hincando codos. El fundacional llega con millones de simulacros inventados a la espalda y el libro abierto encima del pupitre. En el código el método se sigue llamando fit, pero dentro no hay descenso de gradiente: hay una copia de datos a la tarjeta gráfica.
La factura también se da la vuelta. Ajustar sale casi gratis y lo que se paga es predecir, justo al revés que con un árbol. La documentación de TabPFN lo explica sin rodeos: cada llamada a predict recalcula el conjunto de entrenamiento. Predecir cien filas una a una es casi cien veces más lento que hacerlo de golpe. Es un bufé libre al revés: entrar no cuesta nada y te cobran cada plato.
La promesa tiene su lógica, y el post la mide con más cuidado del que vende su titular. Tira de un benchmark ajeno, el de Grinsztajn, con cinco semillas por tabla, el mismo split para todos y hasta el hash de los CSV. En credit, con las filas de entrenamiento como contexto, TabICL contesta en 0,8 segundos sin tocar un hiperparámetro.
Catorce de catorce, salvo el empate
La primera grieta la abre el propio autor, que ya es decir. En electricity, TabICL y el XGBoost afinado sacan exactamente la misma accuracy, 0,8178. Él mismo bautiza esa tabla como "el empate" y escribe que es uno de los dos casos donde la ventaja no aparece. El titular canta goleada y la crónica, unos cuantos scrolls más abajo, cuenta un empate.
TabPFN sale peor parado. También se queda por debajo en electricity. Y en Bioresponse, una tabla de 419 columnas de descriptores químicos, se hunde por debajo incluso del XGBoost sin afinar. El autor lo achaca a la anchura de la tabla, no a su longitud.
Hemos contado las 13 tablas cuyas cifras hemos podido leer en el post, servilleta en mano. TabICL gana doce y empata una; TabPFN gana once y pierde dos. Si la decimocuarta fuese otra victoria, el mejor marcador posible sería trece victorias y un empate. El catorce de catorce no entra ni con calzador.
Ganar la paella por un grano de arroz
Todas las tablas se recortaron a 3.000 filas y se partieron 70/30, así que cada modelo se examina con 900 filas de test. Con ese tamaño, la accuracy se entiende mejor en filas acertadas. Y contado así, el marcador cambia de cara.
| Tabla | Columnas | Ventaja de TabICL sobre el XGBoost afinado (filas) | XGBoost afinado menos XGBoost de serie (filas) |
|---|---|---|---|
| bank-marketing | 7 | +10 | +11 |
| credit | 10 | +12 | +5 |
| heloc | 22 | +13 | +5 |
| pol | 26 | +8 | -2 |
| eye_movements | 20 | +24 | -10 |
| california | 8 | +18 | -6 |
| house_16H | 16 | +9 | -1 |
| MagicTelescope | 10 | +29 | -3 |
| electricity | 7 | 0 | +2 |
| Diabetes130US | 7 | +1 | entre +18 y +27 |
| compas-two-years | 11 | +3 | sin dato |
| default-of-credit | 20 | +1 | sin dato |
| Bioresponse | 419 | +16 | sin dato |
Filas acertadas sobre 900, calculadas a partir de las medianas de cinco semillas que publica el post (S5)(C14). La columna de la derecha sale a escena en la sección siguiente.
En cuatro de las trece, la ventaja de TabICL es de tres filas o menos, empate incluido. En default-of-credit y en Diabetes130US gana por una fila. Una. Es ganar el concurso de paellas de las fiestas del pueblo por un grano de arroz.
El jurado estadístico tampoco lo daría por bueno. Con un test pareado exacto, el McNemar de toda la vida, una ventaja neta de cinco filas o menos no puede salir significativa al 5 %. Ni siquiera en el caso más favorable, con los dos modelos discrepando solo en esas filas y acertando siempre el mismo: el p mínimo es 0,0625.
El criterio del búfalo para esto no admite tertulia. Con muestras finitas, intervalos de Wilson; y si dos opciones no se distinguen, se firma el empate sin drama. Un titular con ventajas de una fila y sin intervalos, para él, no demuestra nada. Las tablas del post dan medianas a pelo, sin intervalos.
En las otras nueve tablas, TabICL gana por entre 8 y 29 filas. Eso ya es partido. Sin intervalos nadie sabe cuánto es paella y cuánto arroz suelto, pero ahí el fundacional sí enseña algo.
El opositor de las 25 fichas
Ahora, el rival, que tiene su miga. El XGBoost afinado del post sale de una búsqueda aleatoria de 25 combinaciones con validación cruzada de tres folds. Mira la última columna de la tabla. En cinco de las diez tablas comparables, el afinado acierta menos que el XGBoost con parámetros de serie. En eye_movements, diez filas menos.
Es el opositor que cambia de método de estudio a base de 25 fichas y tres simulacros. En la mitad de las convocatorias saca peor nota que con el método de toda la vida. Ganarle tiene mérito, pero menos del que promete la palabra afinado en un titular.
TabArena, un benchmark vivo que mantienen investigadores de varias instituciones, da a cada modelo 200 configuraciones aleatorias más la de serie. Y valida cada una con ocho folds, lo que suma 1.600 ajustes de validación frente a los 75 del post. Otra convocatoria, con el temario entero y no un taco de fichas del quiosco.
Para ser justos, el protocolo rápido con el que TabArena recibe envíos se conforma con unas 25 configuraciones. Como prueba exprés, vale. Como el boosting afinado que el titular presume de haber tumbado, se queda corto.
El búfalo ya se ha comido esta película montando sus propios benchmarks. Con una referencia pobre, cualquier modelo parece de otro planeta; cuando la cambió por una decente y limpia, buena parte del mérito se esfumó. Con un sparring así, parte del marcador lo pone el rival.
Ganarles a los árboles en su propio campo
Ahora lo que sí aguanta, que es bastante. El benchmark de Grinsztajn es el campo de los árboles, con el césped cortado a su medida. Salió de un paper de 2022 titulado, literalmente, por qué los modelos de árboles siguen superando al deep learning en datos tabulares. Su conclusión: los árboles seguían mandando en tablas medianas, de unas diez mil muestras.
Lo firmaba gente del equipo SODA del Inria, Gaël Varoquaux incluido. TabICL sale del mismo equipo y lleva a Varoquaux entre sus autores (S6)(S9). Los que en 2022 levantaron el estadio de los árboles han fichado por el visitante, y ahora les ganan en su propio campo.
TabArena apunta en la misma dirección. En su porción de tablas pequeñas, 36 de sus 51 datasets, los modelos individuales que encabezan la tabla son todos fundacionales. El mejor árbol, LightGBM, aparece por detrás incluso de una red neuronal. Lo recoge CodeSOTA en su volcado del leaderboard, con datos de junio.
En esa misma porción de tablas pequeñas, TabICLv2 sin tocar un parámetro le saca 251 puntos de Elo a XGBoost afinado y ensamblado (S30). En la escala Elo eso equivale a una puntuación esperada del 80,9 % en un cara a cara. Ahí la paella ya no se decide por un grano.
El propio paper de TabArena lo resume así: los fundacionales destacan en datasets pequeños y los árboles siguen siendo rivales fuertes en datos prácticos. Un apunte antes de canonizar a nadie. Entre sus autores están Frank Hutter, coautor del TabPFN original y con afiliación en Prior Labs, y David Holzmüller, del Inria y coautor de TabICL (S15)(S40). Nada turbio, el código es público; el barrio es pequeño y el árbitro conoce los dos banquillos.
El garito con lista de invitados
El hallazgo que más le interesa al autor, lo dice él, no es técnico. Instaló la versión actual de TabPFN, la 8.3.0, y en el primer fit le saltó un TabPFNLicenseError. Para bajar los pesos hay que abrir un navegador, registrarse en Prior Labs, aceptar la licencia y exportar un token (S5). Si ese flujo no te encaja, la documentación te manda a escribir a ventas.
La licencia es la otra mitad del portero. Desde la 2.5, todos los pesos nuevos de TabPFN van con licencias no comerciales. Los de TabPFN v2, en cambio, van con Apache y un requisito de atribución, que es entrar en zapatillas mientras la hornada nueva pide lista.
La licencia de la 2.5 no se anda con chiquitas. El modelo, sus derivados y sus resultados no se pueden usar para nada comercial ni en producción, decisiones internas de negocio incluidas. Probarlo, evaluarlo y hacer benchmarks internos, sí; un benchmark para decidir una compra, ya no.
Es un garito con lista de invitados: te apuntas en la puerta, dentro bebes lo que quieras, pero la copa no sale a la terraza. Y aquí el giro se pone fino. El mejor modelo individual de TabArena en tablas pequeñas es TabPFN-3, uno de los que no salen a la terraza sin licencia de empresa. El TabPFN que el autor pudo usar sin registrarse es el que se hundió en la tabla ancha.
TabICL tiene otra política de puerta. Es código abierto, preentrenamiento incluido, con licencia permisiva. El autor la identifica como BSD de tres cláusulas y se lo bajó sin ninguna barrera. Encima, en su benchmark fue el mejor de los dos. Para una empresa, el mejor modelo no es el primero del ranking: es el primero que llega a producción sin pasar por caja.
El libro no cabe en todos los pupitres
El libro abierto tiene un límite físico: tiene que caber en el pupitre, que aquí es la memoria de la GPU. TabICL recomienda GPU para tablas grandes. TabPFN avisa de que en CPU es lento, y sus versiones nuevas no pasan de 5.000 filas en CPU sin forzar una variable de entorno. Sin pupitre, el examen se hace sobre las rodillas y a paso de tortuga.
Y ojo con la GPU que crees tener. Al autor, un PyTorch compilado para CUDA 13.0 sobre un driver que expone la 12.8 le apagó la GPU sin avisar y siguió en CPU. Si tu prueba va sospechosamente lenta, mira torch.cuda.is_available() antes de culpar al modelo. Es llegar a la boda con el traje de otra temporada: no te echan, te sientan en el pasillo.
A escala de millones de filas solo hemos encontrado promesas de fabricante. TabICLv2 dice llegar ahí con menos de 50 GB de memoria de GPU. TabPFN-3.5 admite hasta un millón de filas. Evaluación independiente a esa escala no hemos encontrado ninguna.
En el hilo de Hacker News, un usuario cuenta que en entornos industriales con datos gigantes nunca los ha visto ganar a XGBoost ni a CatBoost. Es un testimonio, pero apunta justo donde nadie ha medido. Y un estudio que saca a TabPFN v2 del laboratorio a entornos abiertos concluye que ahí los árboles siguen siendo la opción óptima para tareas generales.
La pista más elocuente la da el propio Prior Labs. Para producción en tiempo real, su edición de empresa destila TabPFN en una red pequeña o en un ensemble de árboles, para bajar la latencia en órdenes de magnitud. Los árboles vuelven a entrar, por la puerta de servicio.
El marcador sin maquillaje
El marcador venía inflado, como un solteros contra casados contado por los solteros. En trece tablas, TabICL suma doce victorias y un empate, y cuatro de esos resultados caben en un grano de arroz. Enfrente tenía un sparring que, en la mitad de las tablas comparables, rinde peor afinado que de serie. La tendencia, en cambio, es buena, y TabArena la sostiene: en tablas de miles de filas, el del libro abierto saca mejor nota.
Lo que haríamos nosotros con una tabla de unos miles de filas: nada de pasarse la tarde tuneando XGBoost como primer paso. Primero TabICL, y una referencia en segundos. Si después hay que coronar a alguien, que el XGBoost venga afinado de verdad. Y que la ventaja se cuente en filas y con intervalos, como en nuestra checklist para evaluar modelos sin hype.
Nuestro veredicto: en tablas pequeñas, XGBoost ya no es el primer tiro, y el que conviene probar primero es el que no pide cuenta. El catorce de catorce era un titular inflado encima de una tendencia real. En tablas de millones de filas, que nadie te venda goleadas: ese partido todavía no lo ha pitado ningún árbitro independiente.
Fuentes · 12
- webTabPFN vs XGBoost: benchmark measured on an RTX 4070 Ti
- red socialTabPFN and TabICL vs. tuned XGBoost: the model that doesn't train won 14/14 | Hacker News
- primariaGitHub - PriorLabs/TabPFN: ⚡ TabPFN: Foundation Model for Tabular Data ⚡
- primariaTabArena: A Living Benchmark for Machine Learning on Tabular Data
- primariaGitHub - autogluon/tabarena: A Living Benchmark for Machine Learning on Tabular Data
- primariaWhy do tree-based models still outperform deep learning on tabular data?
- webCodeSOTA — Open AI Benchmark Registry and SOTA API
- primariaTabICL: A Tabular Foundation Model for In-Context Learning on Large Data
- primariaPrior-Labs/tabpfn_2_5 · Hugging Face
- primariaGitHub - soda-inria/tabicl: TabICLv2: An open tabular foundation model
- primariaTabICLv2: A better, faster, scalable, and open tabular foundation model
- primariaRealistic Evaluation of TabPFN v2 in Open Environments
Aprobado por El Búfalo, editor humano responsable.