Skip to content

clemens33/mlstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mlstack

(work in progress)

ML Infrastructure stack and playground for local (for now) machine learning development. Including workflow engine, experiment tracking, model serving (upcoming), and more.

Includes the following components:

Quick Start

Install poetry and flytectl

poetry install

Kubernetes

For local development cluster and how to start refer to kubernetes/README.md.

Flyte

To test flyte locally using the local development cluster perform the following steps - (inspired by).

Make sure the hosts entry for the fully qualified domain name (FQDN) is set to the storage service (e.g. minio). Pyflyte gets the minio endpoint from the flyteadmin service. In the cluster flyte is configured to use a particular storage service which is forwarded to the client(pyflyte). If the FQDN is not set to the storage service the client will not be able to connect to the storage service.

127.0.0.1       ml-minio.default.svc.cluster.local

Make sure your flyte config is defined - default in ~/.flyte/config - see flyte docs for more details.

mkdir -p ~/.flyte && \
cat << EOF > ~/.flyte/config
admin:
  # grpc endpoint
  endpoint: localhost:8089
  authType: Pkce
  insecure: true
logger:
  show-source: true
  level: 6
EOF

Make sure that the flyte/flyteadmin service is running and corresponding ports are forwarded (see kubernetes/README.md).

Executes a flyte workflow remotely.

pyflyte run --remote samples/hello_flyte.py my_wf

MLFlow

Test artifact storage:

poetry run python samples/mlflow/artifacts.py --tracking_uri http://localhost:8888/mlflow

Test experiment tracking:

poetry run python samples/mlflow/tracking.py --tracking_uri http://localhost:8888/mlflow