-
Notifications
You must be signed in to change notification settings - Fork 26
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
Create Vertex runner #393
Comments
Vertex runs kubeflow pipelines in a more managed way since we already have a kubeflow runner (and compiler), vertex should be a logical next step. For Vertex we should use the "new" kubeflow pipelines v2 which we currently do not support. There are 3 options to make this work:
the default 'inf' is not a float |
Notes on generating kubeflow components specs. In
** it is not documented very well how to use v2 features in the old component spec format** In kfpv2 a component spec has been unified along with the pipeline spec into IR YAML
There is no real difference between a spec describing a pipeline or a component (a component is just a one step pipeline) ** I have code to generate these new IR YAML's for fondant components** |
Thanks for the extensive description @GeorgesLorre! Solution 1: Indeed does not seems like the most optimal solution to have two versions. Regarding the runner, I think it's a given that we would have to have separate runner for both Vertex and KFP regardless of the version no? Solution 2: importing from v2 was what we used to do before in Vertex at ML6 (now the new boilerplate is V2 and I haven't worked with it before). Although it's not well documented, we have the ability to use it properly based on the experience/boilerplate that we have. Downside is that we would then need to develop a different compiler for V2. Solution 3: Seems to be the most optimal one indeed but It still feels like the full fledged v2 is still more integrated with Vertex rather than KFP on GKE (at least for the moment since the official release was not too long ago). There seems to be still some issues/features missing for us to select nodepools and GPU that are still to be integrated: kubeflow/pipelines#9682 I would be more in favor of Solution 3 to avoid additional work, but we would need to make sure that it can offer all the core features that we need. I think in Vertex that's a given but would rather want to test it out on the standalone kfp deployment and check if we can select specific nodepools and work with GPUs. Otherwise it will break our current workflow. Maybe we can setup a test cluster and deploy v2 there and do some tests? |
How to submit a kfp pipeline to vertex manually:
from fondant.compiler import VertexCompiler
compiler = VertexCompiler()
compiler.compile(pipeline=pipeline, output_path="pipeline.json")
|
Released in 0.6.0. |
Create a runner that allows users to run Fondant pipelines on Vertex AI pipelines.
Tasks
The text was updated successfully, but these errors were encountered: