autogluon / autogluon/tabarena

[TechDebt] Add logic to check if weights are downloaded before doing parllel bagged

Open
#160 1 comment 0 reactions 0 assignees View on GitHub
TechDebt
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.