Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti computing services have been decommissioned and no new jobs are accepted or executed on its compute nodes. Puhti and Mahti login nodes and storage services are planned to remain available until 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

MLflow

MLflow on avoimen lähdekoodin alusta, joka on suunniteltu sujuvoittamaan koneoppimisen (ML) elinkaarta. Se auttaa datatieteilijöitä ja insinöörejä hallitsemaan kokeita, seuraamaan mallien suorituskykyä ja ottamaan malleja käyttöön tehokkaasti. Sen joustavuus mahdollistaa integraation suosittuihin ML-kehyksiin, kuten TensorFlow’hun, PyTorchiin ja Scikit-learniin, mikä tekee sen liittämisestä mihin tahansa ML-työvuo'hon helppoa.

Lue lisää virallisesta MLflow-dokumentaatiosta.

MLflow’n käyttöönotto Rahdissa

MLflow’n voi ottaa Rahdissa käyttöön Helmillä joko Rahdin selainkäyttöliittymän Software Catalogissa tai Helm CLI:n kautta. Molemmissa tapauksissa voit lisätä omia arvoja oletusarvoisten Helm chart -arvojen korvaamiseksi, kuten on selitetty kohdassa Oletusarvojen korvaaminen.

Software Catalogin käyttäminen

  1. Luo projekti Rahtiin kohdan Projektin luominen ohjeiden mukaisesti.

  2. Siirry MLflow Helm chartiin Rahdin Software Catalogissa:

    • Vasemmanpuoleisessa valikossa napsauta Software Catalog kohdassa Ecosystem.
    • Hae MLflow’ta hakukentässä.
    • Napsauta MLflow Helm chartia.
  3. Napsauta create-painiketta. Tämä avaa "Create Helm Release" -lomakkeen.

  4. Anna MLflow Helm releasellesi mukautettu nimi "Release name" -valintaikkunassa.
  5. Kohdassa "Configuration via Form view / YAML view" voit lisätä omat arvosi oletusarvoisten Helm chart -arvojen korvaamiseksi. Kentät user ja password ovat pakollisia. Muussa tapauksessa koonti epäonnistuu.
  6. Asenna Helm release napsauttamalla create-painiketta.
  7. Siirry vasemmanpuoleisen valikon kohtaan Helm Releases polussa Ecosystem -> Helm. Siellä näet MLflow release -asennuksesi tilan. Varmista, että olet oikeassa Rahti-projektissa. Jos kaikki meni hyvin, tilasarakkeessa näkyy "Deployed".
  8. Jos MLflow-seurantapalvelin julkaistiin Route-objektin kautta, siirry vasemmanpuoleisen valikon kohtaan Routes osiossa Networking. Täällä näet reitin päätepisteen Location-sarakkeessa. Käytä tätä päätepistettä MLflow-seurantapalvelimen käyttämiseen.

Helm CLI:n käyttäminen

  1. Asenna Helm CLI -työkalu paikalliselle työasemallesi noudattamalla Helmin asennusohjeita.
  2. Kirjaudu Rahtiin oc CLI -työkalulla kohdassa Kirjautuminen oc:lla kuvatulla tavalla.
  3. Luo projekti Rahtiin:

    oc new-project <your project name> --description="csc_project: <csc_project_number>"
    
  4. Lisää cscfi Helm chart -repositorio:

    helm repo add cscfi https://cscfi.github.io/helm-charts/
    

    Varmista ennen jatkamista, että haet repositoriosta uusimmat chartit:

    helm repo update
    
  5. Asenna MLflow Helm chart cscfi-repositoriosta:

    helm install <your release name> -n <your project name> cscfi/mlflow
    

    Voit lisätä omia arvojasi oletusarvoisten chart-arvojen korvaamiseksi käyttämällä yllä olevassa komennossa --set-valitsinta. Jos mukautettuja arvoja on useita, voit sijoittaa ne kaikki yhteen values.yaml-tiedostoon ja viitata siihen yllä olevassa komennossa -f values.yaml -valitsimella. Kentät user ja password ovat pakollisia. Muussa tapauksessa koonti epäonnistuu.

  6. Helm-käyttöönoton tilan tarkistaminen:

    helm status <your release name> -n <your project name>
    

    Tila-kentässä pitäisi onnistuneen Helm-käyttöönoton tapauksessa näkyä "Deployed".

  7. Jos MLflow-seurantapalvelin julkaistiin Route-objektin kautta, hae seurantapalvelimen päätepiste seuraavalla komennolla:

    oc get route/mlflow-tracking --namespace=<your project name> -o jsonpath='{.spec.host}'
    

    Reitti saa automaattisesti isäntänimen verkkotunnuksen *.rahtiapp.fi alta, esimerkiksi mlflow-tracking-my-project.rahtiapp.fi, jolle luodaan DNS-tietue ja kelvollinen TLS-varmenne. Jos haluat käyttää sen sijaan omaa verkkotunnustasi, katso sivu Mukautetut verkkotunnukset.

Oletusarvojen korvaaminen

cscfi:n MLflow Helm chartissa ja sen riippuvuutena olevassa Bitnamin MLflow chartissa on useita oletusarvoja, joita loppukäyttäjä voi korvata tarpeidensa mukaan. Alla selitetään joitakin yleisesti korvattavia arvoja.

Bitnami-imaget

Tämä chart riippuu Bitnamin charteista. Bitnami on muuttanut kataloginsa ehtoja, mikä vaikuttaa siihen, mitkä imaget pysyvät saatavilla ja päivittyvinä. Katso Rahti-katalogi -sivulta, mitä tämä käytännössä tarkoittaa, ennen kuin otat tämän chartin käyttöön tuotannossa.

Tietokanta

Tietokannan käyttäminen MLflow’n backend-tallennusratkaisuna tarjoaa skaalautuvan, luotettavan ja kyselytehokkaan perustan kokeiden seurantaan ja mallien elinkaaren hallintaan. MLflow Helm chartin riippuvuutena on Bitnamin PostgreSQL-tietokannan Helm chart, joka voidaan ottaa käyttöön, jos seuraava arvo asetetaan:

mlflow.postgresql.enabled=true

Tuotantoympäristöissä on kuitenkin suositeltavaa käyttää ulkoista tietokanta-instanssia, jossa on tavanomaiset yritystason ominaisuudet, kuten varmuuskopiot ja korkea käytettävyys. Ulkoisen tietokannan käyttämiseksi on asetettava seuraavat arvot:

mlflow.externalDatabase.host={DB_PUBLIC_IP}
mlflow.externalDatabase.user={DB_USER}
mlflow.externalDatabase.password={DB_PASSWORD}
mlflow.externalDatabase.database={DB_NAME}

S3-tallennustausta

Objektitallennuksen, kuten Allaksen, käyttäminen S3:n kautta MLflow’n artefaktien tallennustaustana tarjoaa kestävän, erittäin käytettävän ja käytännössä rajattoman tallennustilan suurille malliartefakteille, aineistoille ja lokeille. Se keskittää artefaktien hallinnan kaikille kokeille ja ympäristöille, mahdollistaen skaalautuvan ja kustannustehokkaan säilytyksen sekä artefaktien helpon jakamisen tiimien ja infrastruktuurien välillä.

MLflow Helm chartin arvot, jotka on asetettava S3-yhteyttä varten Allakseen, ovat seuraavat:

mlflow.externalS3.host=a3s.fi
mlflow.externalS3.accessKeyID={ACCESS_KEY}
mlflow.externalS3.accessKeySecret={SECRET_KEY}
mlflow.externalS3.bucket={BUCKET_NAME}
tracking.extraEnvVars[0].name=AWS_REQUEST_CHECKSUM_CALCULATION
tracking.extraEnvVars[0].value=when_required
tracking.extraEnvVars[1].name=AWS_RESPONSE_CHECKSUM_VALIDATION
tracking.extraEnvVars[1].value=when_required

Access key ja secret key ovat Allas-projektisi S3-käyttöoikeustiedot. Katso objektitallennus -sivulta, miten ne luodaan.

Tunnistautuminen

MLflow Helm chart sisältää mahdollisuuden määrittää HTTP Basic -tunnistautuminen NGINX-käänteisvälityspalvelimen avulla. NGINX-image rakennetaan käyttäjän Rahti-projektin sisällä BuildConfig-objektilla. Jos haluat lisätä käyttäjiä HTTP-tunnistautumiseen, lisää arvoon rahti.buildconfig.auth, joka on lista, seuraavan esimerkin mukaisesti:

rahti.buildconfig.auth[0].user=user
rahti.buildconfig.auth[0].password=user

Arvotiedosto

Koska mukautettuja arvoja on useita, on parempi käyttää yhtä arvotiedostoa sen sijaan, että ne asetettaisiin suoraan komentorivillä. Tämä voidaan tehdä käyttämällä values.yaml-tiedostoa alla esitetyllä tavalla ja viittaamalla siihen helm install -komennossa -f-valitsimella.

mlflow:
    externalDatabase:
        host: {DB_PUBLIC_IP}
        user: {DB_USER}
        password: {DB_PASSWORD}
        database: {DB_NAME}
    postgresql:
        enabled: false # true if internal PostgreSQL is required
    externalS3:
        accessKeyID: {ACCESS_KEY}
        accessKeySecret: {SECRET_KEY}
        host: "a3s.fi"
        bucket: {BUCKET_NAME}
    tracking:
        extraEnvVars:
        - name: AWS_REQUEST_CHECKSUM_CALCULATION
          value: when_required
        - name: AWS_RESPONSE_CHECKSUM_VALIDATION
          value: when_required
rahti:
    buildconfig:
        auth:
        - user: "user"
          password: "user"

Lisätietoja

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta