Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQUEST]: TabPFN2 Wrapper #2677

Open
1 task done
jduerholt opened this issue Jan 15, 2025 · 7 comments
Open
1 task done

[FEATURE REQUEST]: TabPFN2 Wrapper #2677

jduerholt opened this issue Jan 15, 2025 · 7 comments
Labels
enhancement New feature or request

Comments

@jduerholt
Copy link
Contributor

Motivation

TabPFN2 shows impressive results, also for Regression (https://github.com/PriorLabs/TabPFN). The model is fully differentiable and can also quantify its uncertainty, so it should be also suitable for BO (there is also already one publication from 2023 on this: https://proceedings.mlr.press/v202/muller23a/muller23a.pdf). I propose to implement a botorch wrapper for TabPFN (and finetuned versions of it). Is there already somebody working on it? If not, is there interest in it?

Describe the solution you'd like to see implemented in BoTorch.

Implement a TabPFN wrapper, so that a TabPFN model can be used in botorch as native as a SingleTaskGP.

Describe any alternatives you've considered to the above solution.

No response

Is this related to an existing issue in BoTorch or another repository? If so please include links to those Issues here.

No response

Pull Request

None

Code of Conduct

  • I agree to follow BoTorch's Code of Conduct
@jduerholt jduerholt added the enhancement New feature or request label Jan 15, 2025
@saitcakmak
Copy link
Contributor

cc @jelena-markovic

@Balandat
Copy link
Contributor

@yucenli and @sdaulton have worked on this in the past.

@jduerholt
Copy link
Contributor Author

Nice, is there are already something available open source? How was your impression of it? Do you see value there?

@Balandat
Copy link
Contributor

We don't have anything in OSS yet but shouldn't be too hard to put something together for the community contributions folder or into a PR. @sdaulton, @yucenli do you know what the state of the code is and what would be needed for this?

I'll let Sam+Lily speak about the details, but my tl;dr was that it worked quite well in terms of optimization performance (though not substantially better than GP models), but was quite slow at least for how botorch acquisition function optimization is set up by default b/c we have to backprop through the full Transformer model for each acquisition function evaluation. This can definitely be sped up though.

@jduerholt
Copy link
Contributor Author

We don't have anything in OSS yet but shouldn't be too hard to put something together for the community contributions folder or into a PR.

Just a branch or PR would be sufficient, then we can start playing with it based on this version and we do not need to start from scratch. If we find it useful for our usecases we would then finish the PR and try to fully integrate it.

@sdaulton
Copy link
Contributor

@yucenli had worked on implementing this. I can clean that up and put up a PR

@jduerholt
Copy link
Contributor Author

Sounds great. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants