Skip to content

Enable asynchronous mode when serving inference pipeline #587

Closed
@cariveroco

Description

Description

The pipeline_ml_factory allows the isolation of an inference pipeline that would be run during model serving. The run sequentially loads the I/O per node, and there could be potential performance gains if asynchronous mode can be enabled instead, like when the kedro run --async command is used (reference).

Context

We have a MLflow model that uses the pipeline_ml_factory and is hosted by a platform which enforces an API response timeout. We already optimized our code base, and are hoping that the processing speed could still be significantly reduced if the many I/O to our inference pipeline's nodes could be loaded/saved asynchronously.

The platform serves the model similar to how mlflow models serve does, where only the MLflow model itself is accessed. Within the docker container deployed by the hosting platform, our entrypoint script only has access to the MLflow model and cannot access the Kedro project path, so we cannot load any configurations set in the project's /conf directory. Thus, we are hoping that enabling the asynchronous mode could be somehow "encoded" within the MLflow model itself.

Possible Implementation/Alternatives

Unfortunately I have no suggestions on how this could be implemented, and actually unsure whether this feature is already available.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    • Status

      ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions