Skip to content

Latest commit

 

History

History
246 lines (212 loc) · 4.95 KB

File metadata and controls

246 lines (212 loc) · 4.95 KB

Examples MLGraphs

AB Test to KFServices

An AB Test refering to existing KFServices in the same namespace.

abtest

apiVersion: serving.mlspec.org/v1alpha2
kind: MLGraph
metadata:
  name: abtest
  namespace: test
spec:
  dag:
    - name: abtest
      route:
        split:
    - name: a
      dependencies: [abtest]
      implementation:
        ref:
          kfservice: sklearnModel
    - name: b
      dependencies: [abtest]
      implementation:
        ref:
          kfservice: xgboostModel

ref

Multi-Armed Bandit to Inline KFservices

mab

apiVersion: serving.mlspec.org/v1alpha2
kind: MLGraph
metadata:
  name: mab_kf
  namespace: test
spec:
  dag:
    - name: mab
      route:
        mab:
          egreedy: 0.1
    - name: a
      dependencies: [mab]
      implementation:
        inline:
          kfspec:
            default:
              sklearn:
                modelUri: "gs://kfserving-samples/models/sklearn/iris/"
    - name: b
      dependencies: [mab]
      implementation:
        inline:
          kfspec:
            default:
              xgboost:
                modelUri: "gs://kfserving-samples/models/xgboost/iris/"

ref

Ensemble from Custom References

An ensemble using running kubernetes resources.

ensemble

apiVersion: serving.mlspec.org/v1alpha2
kind: MLGraph
metadata:
  name: ensemble
  namespace: test
spec:
  dag:
    - name: a
      implementation:
        ref:
          custom:
            apiVersion: serving.kubeflow.org/v1alpha1
            kind: KFService
            name: xgboostServer
    - name: b
      implementation:
        ref:
          custom:
            apiVersion: serving.ml.org/v1alpha1
            kind: MLServer
            name: sklearnServer
    - name: ensemble
      dependencies: [a, b]
      merge:
        ensemble:

ref

Complex Example

example-graph

Each component is implemented via a different method:

  • A reference to an existing kfservice (modelA)
  • An inline kfservice spec (modelB)
  • An inline podspec (transform)
  • A URI to an external service (modelC)
apiVersion: serving.mlspec.org/v1alpha2
kind: MLGraph
metadata:
  name: ensemble
  namespace: test
spec:
  dag:
    - name: route
      route:
        mab:
          egreedy: 0.1    
    - name: modelA
      dependencies: [route]
      implementation:
        ref:
          kfservice: sklearnModel
    - name: modelB
      dependencies: [route]      
      implementation:
        inline:
          kfspec:
            default:
              xgboost:
                modelUri: "gs://kfserving-samples/models/xgboost/iris/"
    - name: transform
      dependencies: [route]
      implementation:
        inline:
          podspec:
            containers:
                image: myorg/transformer:0.1
    - name: modelC
      dependencies: [transform]
      implementation:
        ref:
          uri: http://external.org/model
    - name: join
      dependencies: [modelA, modelB, modelC]
      merge:
        ensemble:

ref

Inline example

inline

apiVersion: serving.mlspec.org/v1alpha2
kind: MLGraph
metadata:
  name: inline-example
  namespace: test
spec:
  inline:
    - podspec:
        containers:
          - name: imagenet-itransformer
            image: seldonio/openvino-demo-transformer:0.1
          - name: imagenet-otransformer
            image: seldonio/openvino-demo-transformer:0.1
          - name: prediction1
            image: seldonio/openvino-demo-prediction:0.2
          - name: prediction2
            image: seldonio/openvino-demo-prediction:0.2
          - name: imagenet-combiner
            image: seldonio/openvino-demo-combiner:0.1
      replicas: 1              
  dag:
    - name: imagenet-itransformer
    - name: prediction1
      dependencies: [imagenet-itransformer]
    - name: prediction2
      dependencies: [imagenet-itransformer]
    - name: imagenet-combiner
      dependencies: [prediction1, prediction2]
      merge:
          ensemble:
            implementation:
              name: imagenet-combiner
    - name: imagenet-otransformer
      dependencies: [imagenet-combiner]        

ref

Ensemble With Analysis

analysis

apiVersion: serving.mlspec.org/v1alpha2
kind: MLGraph
metadata:
  name: ensemble
  namespace: test
spec:
  dag:
    - name: a
      implementation:
        ref:
          kfservice: sklearnModel
    - name: b
      implementation:
        ref:
          kfservice: xgboostModel
    - name: ensemble
      dependencies: [a, b]
      merge:
        ensemble:
  analysis:    
    explanation:
    outliers:
    skew:
    bias:
    reporting:
      ref:
        apiVersion: eventing.knative.dev/v1alpha1
        kind: Channel
        name: mlgraph_alerts