Kaavio koulutus- ja testivirheestä epochien funktiona; ylisovittumisen havainnollistus.

Koneoppiminen tuotantoplatformilla

Usean vuoden ML-työ tuotantopalvelussa — inferenssi, embeddings, NER ja platformin refaktorointi (GCP, Kubernetes, TensorFlow).

Konteksti ja ongelma

Kansainvälisellä keskustelu-AI-tuotteella inferenssi- ja koulutuskuorma kasvoi asiakasmäärän mukana. ML-kerroksen piti pysyä tuotantokelpoisena: mitattava suorituskyky, ylläpidettävä koodi ja ominaisuudet, jotka viedään käyttöön — ei erillisiä tutkimusprototyyppejä. Tarvittiin koneoppimisinsinööriä, joka rakentaa, refaktoroi ja skaalaa samaa platformia pitkällä aikavälillä.

Mitä tehtiin

Vastasin tuotannon ML-kerroksesta noin vuosina 2018–2021. Optimoin inferenssiarkkitehtuurin ja -koodin: TensorFlow-, NumPy- ja mallien työnkulut kevenivät, latenssi ja läpäisy paranivat, GCP ja Kubernetes kantoivat kuorman. Embeddings eriytettiin omaksi mikropalvelukseen, jotta muistinkäyttö ja skaalaus irrottuivat ydinsovelluksesta. Koulutusinfraan toteutettiin autoscaling resurssien tehokkaampaan käyttöön. Johdin legacy-tietokantahaun poistamista inferenssipolulta ja ohjasin sidosryhmiä muutoksessa. Skaalaamisen estävä pullonkaula saatiin poistettua.

Refaktoroin alustaa pitkäjänteisesti: suoritin TensorFlow 1 → 2 -migraation, rakensin vektorointiagnostisen arkkitehtuurin (eri vektorointilähteet ilman ydinverkon repimistä) ja suunnittelumallit, joilla koodi pysyi ylläpidettävänä kasvun mukana.

Toin tuotantoon ML-ominaisuuksia: NER/PII-komponentti yhtenäisellä rajapinnalla (regex, datasetit, mallit; henkilönimien tunnistus osana), tilastollinen poikkeamahavainto, kielentunnistus monikieliseen käyttöön ja confusion matrix -analytiikka asiakasnäkymään. MongoDB- ja datakerroksen suorituskykyä parannettiin inferenssipolun ohella.

Keskeisiä teknologioita: Python, TensorFlow, NumPy, Pandas, GCP, Kubernetes, Docker, MongoDB, MLOps, NLP/NER.

Tulos

Platformin ML-kerros skaalautui paremmin, kustannukset ja vasteajat paranivat mitattavasti, ja uusia ominaisuuksia tuli tuotantoon toistettavasti. Työ osoitti, että koneoppimisinsinöörin rooli tässä kontekstissa on sekä mallien ja inferenssin että arkkitehtuurin ja tuotantoputkien yhdistelmä — sama työsuhde, useita toimituksia, yksi kokonaisuus.

← Takaisin toimeksiantoihin

Kuva: Martin Thoma, CC0 1.0.

social