autogluon / autogluon/tabarena
[TechDebt] Add logic to check if weights are downloaded before doing parllel bagged
- Dominant language
- Python
- Stars
- 303
- Forks
- 69
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 49
Description
TabPFNv2 raises an exception when parallel bagged without pre-downloaded weights.
I believe each of the ray processes try to download the TabPFNv2 weights at the same time, leading to an exception. We will need to find a workaround for this, ideally one that doesn't involve the user manually downloading the weights.
One solution would be to add special logic in `AbstractModel` that applies a `pre-bagging step` executed before all other steps, which will check for the model weights existing and download them if not present. This can be executed at the very start of the `BaggedEnsembleModel.fit` call.
Because the weights downloaded is dependent on the model hyperparameters (and potentially the problem type), this has to be a step done post model init, or otherwise as a classmethod with hyperparameters as an input argument.
Contributor guide
Research direction
Start by tracing the pre-bagging flow proposed for AbstractModel and the beginning of BaggedEnsembleModel.fit, then reproduce parallel bagged fitting with TabPFNv2 and no pre-downloaded weights. Done means the weights are prepared safely before Ray workers run, without requiring manual user downloads, and the original exception no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100