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
-
Luo projekti Rahtiin kohdan Projektin luominen ohjeiden mukaisesti.
-
Siirry MLflow Helm chartiin Rahdin Software Catalogissa:
- Vasemmanpuoleisessa valikossa napsauta
Software CatalogkohdassaEcosystem. - Hae MLflow’ta hakukentässä.
- Napsauta MLflow Helm chartia.
- Vasemmanpuoleisessa valikossa napsauta
-
Napsauta create-painiketta. Tämä avaa "Create Helm Release" -lomakkeen.
- Anna MLflow Helm releasellesi mukautettu nimi "Release name" -valintaikkunassa.
- Kohdassa "Configuration via Form view / YAML view" voit lisätä omat arvosi oletusarvoisten Helm chart -arvojen korvaamiseksi. Kentät
userjapasswordovat pakollisia. Muussa tapauksessa koonti epäonnistuu. - Asenna Helm release napsauttamalla create-painiketta.
- Siirry vasemmanpuoleisen valikon kohtaan
Helm ReleasespolussaEcosystem->Helm. Siellä näet MLflow release -asennuksesi tilan. Varmista, että olet oikeassa Rahti-projektissa. Jos kaikki meni hyvin, tilasarakkeessa näkyy "Deployed". - Jos MLflow-seurantapalvelin julkaistiin
Route-objektin kautta, siirry vasemmanpuoleisen valikon kohtaanRoutesosiossaNetworking. 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
- Asenna Helm CLI -työkalu paikalliselle työasemallesi noudattamalla Helmin asennusohjeita.
- Kirjaudu Rahtiin
ocCLI -työkalulla kohdassa Kirjautuminenoc:lla kuvatulla tavalla. -
Luo projekti Rahtiin:
-
Lisää cscfi Helm chart -repositorio:
Varmista ennen jatkamista, että haet repositoriosta uusimmat chartit:
-
Asenna MLflow Helm chart cscfi-repositoriosta:
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 yhteenvalues.yaml-tiedostoon ja viitata siihen yllä olevassa komennossa-f values.yaml-valitsimella. Kentätuserjapasswordovat pakollisia. Muussa tapauksessa koonti epäonnistuu. -
Helm-käyttöönoton tilan tarkistaminen:
Tila-kentässä pitäisi onnistuneen Helm-käyttöönoton tapauksessa näkyä "Deployed".
-
Jos MLflow-seurantapalvelin julkaistiin
Route-objektin kautta, hae seurantapalvelimen päätepiste seuraavalla komennolla:Reitti saa automaattisesti isäntänimen verkkotunnuksen
*.rahtiapp.fialta, esimerkiksimlflow-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:
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:
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
- MLflow-dokumentaatio — upstream-viite seurantapalvelimelle ja sen asiakasohjelmille.
- Rahti-katalogi — miten Helm chartteja selataan ja asennetaan Rahdissa.
- Objektitallennus — Allaksen käyttö Rahdista, mukaan lukien S3-käyttöoikeustietojen hankkiminen.
- Mukautetut verkkotunnukset — seurantapalvelimen julkaiseminen oman verkkotunnuksen alla.