38 Punkte von xguru 2024-07-02 | 2 Kommentare | Auf WhatsApp teilen
  • Ich bin Software Engineer und habe über 10 Jahre lang datenintensive Anwendungen gebaut. Hauptsächlich Backend (Legacy, Cloud)
  • (1) Ist ein Wechsel sinnvoll? (2) Hat das jemand gemacht? (3) Wie kann ich das angehen, wenn es in meinem Job kein ML gibt?
  • Gibt es praktische ML-Engineering-Arbeit, die weniger auf den Bau von Modellen und mehr auf Modellverwaltung/-Deployment/-Skalierung fokussiert ist?
    • Heißt das, ich muss nicht die ganze zugrunde liegende Mathematik lernen?

arnabgho

  • Arbeitet als MLE Tech Lead bei Snap und hat die Grundlagen von Snaps Generative-AI-Infrastruktur mit aufgebaut
    • Würde den MLE-Pfad als sehr lohnenden Karriereweg klar empfehlen
  • Das Buch "Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications" ist eine sehr gute Einführung in das Design von produktionsreifen Machine-Learning-Systemen
  • Dieser Blog der Autorin (Chip Huyen) ist ebenfalls sehr zu empfehlen als Einführung in den Aufbau produktionsreifer AI- und ML-Systeme
    Aufbau produktionsreifer LLM-Anwendungen (mit Links zu Zusammenfassung und Übersetzung)
  • Antworten auf die Fragen
    • (1) Ja, besonders jetzt, an so einem Wendepunkt im Zeitgeist, ist ein solcher Wechsel klug
    • (2) Ja
    • (3) Siehe oben für Ressourcen dazu, wie man mit ML-Engineering-Skills anfängt und sie meistert

breckenedge

  • Hat vor etwa 7 Monaten mit einem 3-monatigen Projekt begonnen, bei dem mit ML Inhaltsempfehlungen gebaut wurden
  • Hat mit einer Standardbibliothek für kollaboratives Filtern angefangen und mit PyTorch geendet; ChatGPT war dabei eine große Hilfe
  • Man hätte diesen Weg weitergehen können, aber das Management wollte schnellere und bessere Ergebnisse, und 3 Monate waren bei einem Start ohne Erfahrung gerade genug, um den Einstieg zu schaffen
  • Ein großer Teil von ML bestand darin, Datensätze zu bereinigen und vorzubereiten, was nicht besonders spannend war
  • Eine Führungskraft empfahl, Amazon Personalize auszuprobieren; es war ein guter Versuch, aber am Ende kein Erfolg. Unklar, ob es an den Datenproblemen oder am Basismodell lag
  • Das Kernproblem bei Black-Box-ML-Services ist, dass man nicht analysieren kann, was eigentlich passiert
  • Amazon Personalize macht es zudem schwer, die Datenebene zu verändern, sodass man nicht weiß, ob man sich einer besseren Lösung nähert
  • Ein erfahrener ML-Experte könnte mit Personalize möglicherweise näher an eine bessere Lösung kommen
  • Wenn man also grundsätzlich mit ML arbeiten kann, sollte man vor einer Karriereentscheidung ein ML-Testprojekt machen und schauen, ob es einem gefällt

nsyptras

  • Gibt es ML-Engineering, das sich weniger auf den Modellbau und stärker auf Modellverwaltung/Deployment/Skalierung konzentriert?

  • Ich habe 2018 in diesen Bereich gewechselt. Das nennt sich MLOps. Davor war ich Mobile-Entwickler
  • Damals war der Wechsel ziemlich einfach (heute könnte die Konkurrenz stärker sein)
  • Was ich gemacht habe:
    • Ich habe allein ein intensives ML-Projekt umgesetzt und dabei gemerkt, dass mir die Arbeit über den gesamten ML-Stack hinweg Spaß macht
    • Dazu habe ich auch einen Blogpost geschrieben
    • Danach habe ich mich bei einem MLOps-Team beworben und dieses Projekt genutzt, um Skills/Erfahrung nachzuweisen
    • Man kann der Mathematik vielleicht aus dem Weg gehen, aber wenn man die Grundlagen lernt, wird alles deutlich einfacher
    • Ohne grundlegende ML-Mathematik wäre ich vermutlich sehr blind geflogen

ilaksh

  • Klingt, als würdest du an "MLOps" denken. MLOps ist ebenfalls wichtig
  • Übe, Modelle mit HuggingFace und RunPod in Python zu deployen
  • Schau dir auch Tutorials zu LLM-Pretraining, Fine-Tuning und Evaluation an und sieh dir Predibase an
  • Im Moment scheinen Diffusion Transformers am wichtigsten zu sein
    • Wenn du Dokumentation findest, die erklärt, wie man dafür Training-Jobs ausführt, könnte das für andere hilfreich sein
  • Wenn du einen "Cheat" willst, schau dir replicate.com an. cog kann auch nützlich sein, um ML-Modelle außerhalb von replicate.com selbst zu hosten

nottorp

  • Ich habe nicht direkt "zum ML Engineer gewechselt", aber in den letzten 2,5 Monaten habe ich zumindest gelernt, öffentliche Modelle zu nutzen sowie Tools und APIs zum Trainieren und Ausführen zu verwenden
  • Ich habe kaum Code geschrieben und stattdessen viele Bücher gelesen
  • Es hilft, mit kleinen Organisationen zu arbeiten (wo man nicht in Rollen feststeckt und einfach Aufgaben bekommt)

trybackprop

  • Ich habe tatsächlich einen Blogpost genau dazu geschrieben und geteilt, für erfahrene Software Engineers, die einen Wechsel in ML ernsthaft erwägen
  • Antworten
      1. Wenn du in deiner Freizeit gern hackst, dann kann man es als "klug" bezeichnen. Bei mir war es so, dass ich vor dem Wechsel ein Jahr lang abends und an Wochenenden Material studiert habe und dadurch erstmals dachte, dass ich das Vollzeit machen möchte
      1. Ja, und ich arbeite inzwischen seit 7 Jahren als ML Engineer. Aktuell bin ich ML Technical Lead bei einem FAANG-Unternehmen. Davor habe ich in Infrastruktur und Produkt gearbeitet
      1. Einer der Ratschläge, die ich vor einigen Jahren bekam, war, einem Team beizutreten, das an ML grenzt, damit man ein Gefühl dafür bekommt, wie Production-ML aussieht. Auf Kaggle.com kann man auch anfangen, ML-Denken zu üben
  • In anderen Beiträgen auf meinem Blog findest du Ressourcen, um AI/ML und die für diesen Beruf nötige Mathematik zu lernen
  • Linear Algebra 101 for AI/ML – Part 1
  • (mit interaktiven Quizzen, Grundlagen zu Vektoren/Matrizen und einer kurzen Einführung in PyTorch, ein in der Branche weit verbreitetes Open-Source-ML-Framework).

deepGem

  • Schau dir fast.ai und den Kurs "Practical Deep Learning for Coders" an
  • Das Material stammt zwar aus 2022, aber die dort vermittelten Prinzipien sind auch heute noch sehr gültig und nützlich
  • Das gilt besonders für Self-Attention, Transformer und moderne Architekturen auf Basis dieser Konzepte
  • Viele, die den fast.ai-Kurs abgeschlossen haben, sind nicht nur zu ML Engineers, sondern auch zu Research Scientists geworden
  • Es ist allerdings kein einfacher Kurs, daher sollte man sich in der Freizeit bewusst Zeit dafür nehmen
  • Wenn du dich für Deployment/Skalierung interessierst, kannst du auch direkt zu Lektion 2 von Teil 1 springen. Jeremy ist ein großartiger Lehrer
    • Ich komme nicht aus der Wissenschaft, deshalb finde ich seinen Lehrstil sehr angenehm

2 Kommentare

 
rawoon89 2024-07-03

Hat sich gut gelesen. Vielen Dank.

 
ahwjdekf 2024-07-02

In Korea reicht es, wenn man ungefähr weiß, wie man einfach nur APIs aufruft; Unternehmen wollen nicht viel Geld in Investitionen stecken, möchten aber trotzdem irgendwie bei heißen Trends mitziehen … eine solche vage, ambivalente Stimmung.