TabMosaic: Unified In-Context Diffusion for Tabular Generative Tasks
Organizations: KAIST · Oregon State University
Abstract
Generative modeling for tabular data has advanced to the point where models can synthesize realistic records, recover missing values, and generate samples conditioned on class labels or observed attributes. Despite recent advances, existing approaches either require table-specific training or restrict in-context learning to single-cell prediction. In this work, we formulate these tabular generative tasks as a single problem: modeling the joint conditional distribution of an arbitrary set of target cells given the observed cells of an unseen table. To this end, we turn to diffusion, whose denoising objective is defined jointly over all target cells rather than one cell at a time. Under the pretraining distribution, this objective is minimized by the posterior predictive distribution over the target set. Building on this, we propose TabMosaic, a unified in-context diffusion model for generating mixed-type target cells in unseen, potentially incomplete tables without table-specific training. We further show that its pretraining objective bounds the conditional negative log-likelihood and the divergence from the posterior predictive for arbitrary target sets, extending the Bayesian account of in-context learning from a single-value prediction to joint multi-cell generation. Across 48 real-world tables, TabMosaic ranks first on all evaluated generative tasks against 20 baseline approaches
Figures & tables
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Stage 1 | Stage 2 | |
| Rows | ||
| Features | , | |
| Context fraction | ||
| Context missingness | — | , : over steps |
| Corruptions per table | ||
| Steps / tables seen | k / M | k / M |
| Task | Sampler (num.) / | ; output | |||
| Generation | all query cells | — | deterministic / | ; one row per trajectory | |
| Class-cond. gen. | feature cells | label cell | deterministic / | ; one row per trajectory | |
| Imputation | missing cells | observed cells | ancestral / | ; mean (num.), vote (cat.) |
| Mechanism | Methods | Where the conditional comes from |
| Pretrained conditional | TabMosaic | label cell observed; the conditional is a training term |
| Trained conditional, per table | TabNAT | masked training over random orders on the table |
| Class input at training | TabDDPM | the label is an input of the denoiser; not generated |
| One model per class | ForestDiffusion | a separate model is trained for each class |
| Discrete-column condition | CTGAN | condition vector plus a cross-entropy penalty (soft) |
| Prompt | GReaT | the label appears in the prompt; permutation training |
| Method | Elo | Utility | -prec. | -rec. | Auth. | W 1 | TV | Time (s) | ||
| TabMosaic | 48 | 1099 [1063, 1126] | 0.914 | 0.790 | 0.408 | 0.569 | 0.054 | 0.038 | 0.038 | 25 |
| TabNAT | 48 | 1093 [1057, 1121] | 0.899 | 0.805 | 0.421 | 0.559 | 0.046 | 0.023 | 0.030 | 1696 |
| TabSyn | 48 | 1060 [1030, 1079] | 0.864 | 0.738 | 0.385 | 0.590 | 0.059 | 0.055 | 0.037 | 369 |
| TabDiff (t) | 48 | 1059 [1031, 1086] | 0.886 | 0.730 | 0.380 | 0.591 | 0.060 | 0.022 | 0.042 | 2119 |
| TabPFN-3 (chained) | 48 | 1055 [1027, 1088] | 0.891 | 0.662 | 0.353 | 0.632 | 0.079 | 0.081 | 0.059 | 571 |
| ForestDiffusion † | 42 | 1051 [1023, 1081] | 0.886 | 0.770 | 0.409 | 0.568 | 0.059 | 0.061 | 0.030 | 1181 |
| Method | Elo | Elo (common) | Error | Rank | RMSE (num.) | Error rate (cat.) | Downstream | |
| TabMosaic | 48 | 1458 [1389, 1521] | 1458 [1382, 1539] | 0.129 | 1.88 | 0.108 (44) | 0.314 (33) | 0.962 |
| TabICLv2 (per cell) | 48 | 1201 [1168, 1238] | 1213 [1167, 1258] | 0.146 | 4.38 | 0.126 (44) | 0.375 (33) | 0.839 |
| ReMasker (t) | 48 | 1108 [1071, 1145] | 1113 [1075, 1159] | 0.157 | 3.58 | 0.121 (44) | 0.467 (33) | 0.829 |
| HyperImpute | 48 | 1073 [1040, 1100] | 1071 [1043, 1103] | 0.163 | 5.19 | 0.129 (44) | 0.473 (33) | 0.828 |
| ReMasker | 48 | 1066 [1034, 1099] | 1072 [1033, 1114] | 0.167 | 4.90 | 0.133 (44) | 0.483 (33) | 0.827 |
| DiffPuter | 48 | 1063 [1019, 1104] | 1086 [1045, 1125] | 0.204 (3 excl.) | 7.31 | 0.170 (44) | 0.466 (33) | 0.907 |
| Method | Elo | Utility | -prec. | -rec. | Consist. (rel.) | Consist. (macro) | Agreement | TV | W 1 | |
| TabMosaic | 36 | 1163 [1135, 1191] | 0.926 | 0.624 | 0.349 | 0.983 | 0.675 | 1.00 | 0.064 | 0.096 |
| TabPFN-3 (chained) | 36 | 1144 [1116, 1170] | 0.917 | 0.591 | 0.349 | 0.986 | 0.676 | 1.00 | 0.086 | 0.103 |
| TabNAT | 36 | 1122 [1091, 1157] | 0.881 | 0.675 | 0.381 | 0.972 | 0.671 | 1.00 | 0.048 | 0.117 |
| ForestDiffusion † | 32 | 1076 [1040, 1109] | 0.908 | 0.638 | 0.386 | 1.016 | 0.738 | 1.00 | 0.081 | 0.093 |
| TabEBM † | 32 | 1053 [1015, 1089] | 0.922 | 0.526 | 0.363 | 1.008 | 0.723 | 1.00 | 0.078 | 0.073 |
| TabICLv2 (chained) | 36 | 1019 [991, 1048] | 0.911 | 0.449 | 0.267 | 0.941 | 0.665 | 1.00 | 0.084 | 0.367 |
| TabMosaic | TabNAT | ForestDiff. | DiffPuter | GAIN | MICE | TabPFN-3 | TabICLv2 | LimiX | ||
| MCAR rate | 0.622 | 0.777 | 1.000 | 0.901 | 1.001 | 1.157 | 0.912 | 0.729 | 0.872 | |
| 0.675 | 0.860 | 1.082 | 0.966 | 1.028 | 1.233 | 1.098 | 0.812 | 0.916 | ||
| 0.770 | 0.932 | 1.113 | 0.955 | 1.141 | 1.237 | 1.212 | 0.921 | 0.966 | ||
| 0.843 | 0.993 | 1.182 | 1.005 | 1.290 | 1.296 | 1.328 | 0.974 | 1.016 | ||
| MAR | 0.628 | 0.887 | 1.065 | 0.887 | 1.064 | 1.212 | 1.019 | 0.807 | 0.931 | |
| MNAR | 0.704 | 0.871 | 1.012 | 0.866 | 1.063 | 1.143 | 1.068 | 0.824 | 0.910 |
Synthetic Tabular Data Generation
Synthetic tabular data generation creates artificial records that preserve useful feature relationships while limiting exposure of sensitive data.
See all 98 papers