À propos du projet

LimiX est un projet open-source fournissant de grands modèles de fondation pour données structurées (tabulaires), décrits comme LDMs. Le dépôt publie le code d'inférence et les points de contrôle pré-entraînés pour la famille de modèles LimiX, incluant LimiX-2 (400M paramètres), LimiX-2M (2M) et LimiX-16M (16M). Capacité principale : un seul modèle pré-entraîné effectue classification, régression et imputation de valeurs manquantes en une seule passe avant, sans mises à jour de paramètres spécifiques à la tâche. LimiX-2 utilise un paradigme de réseau de mécanismes contextuels (CMN) pré-entraîné avec modélisation masquée conditionnée par contexte, apprenant une représentation conjointe p(x, y | D_context) plutôt que l'objectif centré sur la cible p(y | x, D_context) des réseaux tabulaires conventionnels pré-ajustés. Les données de pré-entraînement sont synthétiques, générées à partir de modèles causaux structurels couvrant diverses structures de graphes, mécanismes fonctionnels et processus d'observation. Le projet indique que la conception CMN confère également une conscience causale, avec une attention sur les caractéristiques encodant les relations causales directes. Utilisation : Python >= 3.12 est requis. L'installation se fait via `pip install -e .` après clonage, avec PyTorch optionnel adapté à CUDA (torch==2.9.1 recommandé) et wheels flash-attn. Le point d'entrée public est `inference.predictor.LimiXPredictor`, qui route vers v1_0 ou v2_0 selon la version d'architecture du point de contrôle ; les configurations doivent correspondre au modèle (LimiX-2 / V2.0 utilise `*_v2.json`). Un outil en ligne de commande `LimiX-infer` est fourni, nécessitant `--task_type`, `--data_dir` et `--model_path`. Les types de tâches incluent Classification, Regression et Feature_imputation, avec alias cls / reg / imputation. `--data_dir` attend une racine de benchmark avec un sous-répertoire par ensemble de données contenant des CSV train/test (et un CSV masqué pour l'imputation), où la dernière colonne est la cible. Les drapeaux optionnels incluent device (cuda ou cpu), gpuid, gpu_num_per_predictor, autobatch, show_progress et seed. L'API Python expose `LimiXPredictor(device, model_path, inference_config, ...)` avec des options telles que mix_precision, outlier_remove_std, softmax_temperature, average_before_softmax, categorical_features_indices, inference_with_DDP, use_data_cache et seed. Sa méthode `predict(x_train, y_train, x_test, task_type, unique_dataset_name)` retourne les probabilités de classe pour la classification, les prédictions sur l'échelle cible d'origine pour la régression, ou une matrice de caractéristiques imputée pour l'imputation de valeurs manquantes. Des scripts d'exemple couvrent la classification (ensemble de données sur le cancer du sein), la régression (ensemble de données sur le diabète) et l'imputation de valeurs manquantes. Les configurations d'inférence packagées distinguent les variantes avec et sans récupération : configurations V2.0 pour LimiX-2, et configurations avec/sans récupération pour LimiX-16M et LimiX-2M, où la récupération est décrite comme améliorant la précision et sans récupération comme plus rapide. Le README rapporte des évaluations de benchmark sur TabArena, TALENT et BCCO, plus une étude de mise à l'échelle sur des configurations de 12,5M à 406,2M paramètres. Ce sont les résultats rapportés par le projet lui-même ; aucune vérification indépendante n'est fournie ici. Licence : le code est publié sous la licence Stable AI Technology Co., Ltd., version 1.0 (septembre 2026), dérivée de la licence Apache 2.0, et l'utilisation du modèle est soumise à une licence non commerciale. Des liens sont fournis vers les articles arXiv, rapports techniques, page de projet, hébergement de modèles/données HuggingFace et ModelScope, et ensembles de données de benchmark BCCO pour classification et régression.