Fuseml Versions Save

FuseML aims to provide an MLOps framework as the medium dynamically integrating together the AI/ML tools of your choice. It's an extensible tool built through collaboration, where Data Engineers and DevOps Engineers can come together and contribute with reusable integration code.

v0.3.0

2 years ago

The 0.3.0 FuseML release brings significant improvements to installer and workflow extensions/components. The range of extensions has been extended to integrate more 3rd party AI/ML tools, such as Seldon Core, Intel OpenVino and NVidia Triton. The existing workflow extensions have also been enhanced with new options and parameters.

This is a summary of extension additions and improvements available in this release:

  • new converter workflow component: OpenVINO Model Optimizer
  • new predictor workflow component: OpenVINO Model Server (OVMS) and Seldon Core
  • new installer extensions: OpenVINO Model Server Operator and Seldon Core
  • extended the KServe and Seldon Core workflow predictor components to support Keras trained models and the Triton inference protocol
  • extended the MLflow builder workflow component to permit Intel CPU acceleration to be used with TensorFlow projects
  • all workflow components have overall been extended with more input parameters, such as verbosity and kubernetes resource specifiers
  • MLflow has been refactored and is now installed as a standalone extension

The documentation has been updated with new tutorials featuring newly added extensions and more complex MLOps workflows.

As usual, the built-in components, as well as the 3rd party tools that can be installed through the FuseML installer have been updated to their latest and greatest version:

  • updated Gitea to 1.15.3
  • updated Istio to 1.11.4
  • updated Tekton operator to 0.51.2
  • updated Trow to 0.3.3
  • KFServing was updated to KServe v0.7.0
  • Knative was updated to v1.0.0
  • MLflow was updated to 1.20.2

Another important improvement that comes with v0.3.0 is ARM support for the installer, the FuseML CLI, the FuseML core container image and the container images built for all workflow components with the exception of the OpenVINO converter. This allows FuseML to be installed in Kubernetes clusters running on an ARM CPU architecture.

New sample ML projects that can be used with FuseML are also available in this release:

  • a sample project that builds and saves a Scikit-learn linear regression model in ONNX format
  • a CNN image classification Keras model trained on the CIFAR-10 dataset
  • a CNN image classification Keras model trained on a medical X-ray dataset

Implemented enhancements:

  • Triton inference protocol support for Seldon Core #286
  • Remove limitation of having a single predictor (application) per codeset #266
  • Allow setting workflow step resource requests and limits #261
  • Don't (re)install an extension if it's already running #205
  • URLs are not shown for services exposed by installer extensions #222
  • Separate MLFlow helm chart from main installer #168

Fixed bugs:

  • upgrade: new config map does not have right values #242

  • kfserving extension fails to install with FuseML #218

  • fuseml-installer (re-run to incrementally move on) #206

  • Assigning the same codeset to different workflows results in app name conflict #183

  • fuseml upgrades fail with volume mount errors #232

  • can't list workflow runs in case of PVC failures #221

  • fuseml-installer lacking arm64 support #207

  • installer: rerunning the installer with extensions option fails #184

  • First mlflow-sklearn-e2e workflow run stuck for several minutes in the build step #134

  • When deleting a codeset, also removes its assignments to workflows #113

Closed issues:

  • Installing/uninstalling extensions requires domain #292
  • FuseML should detect 3rd party extensions and not try to reinstall them #273
  • extensions should not be deleted if not owned #272
  • fuseml uninstall fails when no extensions were installed #270
  • mlflow-builder image not supported by glibc compiled libraries #262
  • Add support for Intel OVMS as an inference platform #257
  • update wofklows Role based on extension description #247
  • Add support for seldon-core: integration into FuseML #238
  • CI: mlflow-e2e job taking too long to complete #174

v0.2.1

2 years ago

Implemented enhancements:

  • URLs are not shown for services exposed by installer extensions #222
  • [Epic] v2 Roadmap Epics #145

Fixed bugs:

  • fuseml upgrades fail with volume mount errors #232
  • can't list workflow runs in case of PVC failures #221
  • fuseml-installer lacking arm64 support #207

Closed issues:

  • [Epic] Installer: add official support to install extensions #161
  • Investigate one-of support with Goa #80
  • Documentation: CLI reference #79
  • Feature: extension registry #74
  • Research: Persistent state support options for fuseml-core components #68

v0.2

2 years ago

Overview

The FuseML 0.2 release brings a lot of improvements in the area of 3rd party AI/ML tools installation and integration. We've made it easier for FuseML users to extend the FuseML installer so that it is installing AI/ML tools running on kubernetes.

FuseML now also features an extension registry that stores information about the external AI/ML tools and services that are part of the tool stack that FuseML integrates with. This information is used to dynamically connect workflow steps to the AI/ML services that they need consume. Decoupling connectivity information from workflows allows FuseML users to configure workflows independently of how backing tools and services are deployed.

The 0.2 release also introduces data persistence, a much needed feature that brings FuseML closer to a production grade solution. The information that FuseML stores about projects, codesets, applications, workflows and so on is now stored in persistent storage and will survive accidental pod restarts.

With the new release, we've made some important changes to the architecture. We've updated all built-in components (Gitea, Tekton) as well as 3rd party tools (MLFlow, KNative, KFServing) to their latest version. The docker-registry service has been replaced by Trow, an OCI registry with a lower footprint. The Quarks component has also been removed.

On the CLI side of things, FuseML 0.2 now provides better support for projects and defaults for user, passwords and codesets.

We've also updated the MLFlow workflow extension to avoid rebuilding environment container images unnecessarily.

Implemented enhancements:

  • Separate MLFlow helm chart from main installer #168
  • Update 3rd party tools to latest version #167
  • E2e MLFlow use-case: don't rebuild container images if content doesn't change #162
  • CLI: push code from existing git repository as codeset #123
  • [Epic] - DataScientist - MlOperator collaboration flow #37
  • [feature] Print gitea URL at the end of the installation #101
  • core deployment: read the values from configmap #100
  • CLI should print more verbose information about workflow runs #53

Fixed bugs:

  • installer: rerunning the installer with extensions option fails #184
  • First mlflow-sklearn-e2e workflow run stuck for several minutes in the build step #134
  • When deleting a codeset, also removes its assignments to workflows #113
  • Registering codesets requires shell and git client to be installed #114
  • fuseml application delete fails to delete k8s resources #107
  • Codesets: separate location argument out of the API #61

Closed issues:

  • installer: extensions should have dependencies #188
  • MLFlow extension: container image for MLFlow builder #59
  • Documentation: workflows API reference #78
  • Documentation: Populate fuseml welcome documentation page #76
  • [Epic] - FUSEML Contributing guidelines and Documentation #22
  • installer: implement upgrade command #124
  • Build fuseml-core docker image on fuseml-core release #105
  • Feature: workflows #70
  • [Docs] - FuseML Windows binary missing sh and openssl #48
  • Document the build and installation steps #15

v0.1.1

2 years ago

Implemented enhancements:

  • Install Istio as part of the fuseml-installer
  • Handle Traefik ingress for the fuseml-core service

v0.1

2 years ago

v0.0.2

2 years ago

Closed issues:

  • installer: download fuseml-core CLI #96

v0.0.1

2 years ago

Implemented enhancements:

  • Purge old fuseml CLI code from installer #67

Fixed bugs:

  • installer: core service failure during deployment #98
  • fuseml-core installation: solve the permissions for creating the pipelines #88
  • codesets: do not create new repo as private #89
  • When pushing apps, fuseml should check the state of pipelinerun #45
  • Failed application cannot be deleted #40
  • CI: Pushing app does not trigger the tekton workflow #32
  • failure when pushing image to registry: http2: response body closed #27

Closed issues:

  • codesets: more verbose output when git client push fails #90
  • Delete codeset #87
  • Feature: service registry #75
  • Feature: runnable store #71
  • Add fuseml-core to installer #66
  • Add a basic unit test coverage for codesets #64
  • Add support for YAML as the media type for the fuseml-core REST API #58
  • Create Dockerfile for fuseml-core #57
  • Define data structures and interfaces for the codeset element #56
  • Explore goa as a code generator for fuseml-core #55
  • [Docs] - FuseML missing requirements #51
  • Create a CODE_OF_CONDUCT.md #24
  • Create a CONTRIBUTING.MD file #23
  • Extend the tests to do the prediction #14

v0.0.0

3 years ago

Implemented enhancements:

  • Update Tekton components #42
  • Remove static.go from git repository #35
  • Apps should reference the prediction URL #18
  • Add Seldon as a serving option #17

Closed issues:

  • Failures of mlflow serving containers with conda.yaml updated for seldon #33
  • Make sure the Pod is not just running but also ready #28
  • CI: Do not run acceptance tests when code was not modified #26
  • Apps not shown in fuseml apps list #12