Socio-Technical Anti-Patterns in Building ML-Enabled Software: Insights from Leaders on the Forefront
Dit artikel presenteert de grootste kwalitatieve empirische studie naar socio-technische uitdagingen bij het in productie brengen van ML-modellen, waarbij 66 uur aan MLOps-community talks wordt geanalyseerd om 17 anti-patronen te identificeren die geworteld zijn in organisatorische kwesties en om actiegerichte aanbevelingen te bieden voor het overwinnen ervan.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je een bedrijf voor dat probeert een hypermoderne, zelfrijdende auto te bouwen. Ze hebben briljante ingenieurs die de motor (het Machine Learning-model) kunnen ontwerpen, maar de auto komt nooit de weg op. Hij staat gewoon in de garage en verzamelt stof.
Dit paper is als een detectiveverhaal dat onderzoekt waarom deze "slimme" auto's steeds niet van de grond komen. De auteurs, Alina Mailach en Norbert Siegmund, keken niet alleen naar de onderdelen van de motor (de code); ze keken naar de mensen, het management en de kantoorpolitiek. Ze luisterden naar meer dan 6-6 uur aan gesprekken met experts uit de "MLOps-gemeenschap" (een enorme groep van meer dan 11.000 professionals) om erachter te komen wat er echt misgaat.
Ze ontdekten dat het probleem meestal niet de technologie zelf is. In plaats daarvan is het een verzameling van 17 "Anti-patronen" — slechte gewoonten en organisatorische fouten — die werken als kuilen in de weg naar succes.
Hier is een eenvoudige uitsplitsing van hun bevindingen, gebruikmakend van enkele alledaagse analogieën:
1. De "Twee-Teams-Touwtrekkerswedstrijd" (Organisatorische Silo's)
Stel je een team van Chefs (Data Scientists) voor die een heerlijk nieuw soeprecept maken (het model), en een team van Kelners (Software Engineers) die de soep aan klanten moeten serveren.
- Het Probleem: De Chefs schrijven het recept in een geheime code, op servetten, zonder afmetingen. De Kelners spreken die taal niet. Wanneer de Chefs de soep willen overhandigen, zeggen de Kelners: "Ik kan dit niet serveren; het is een bende!" De Chefs zeggen: "Het is perfect; je begrijpt het gewoon niet!"
- Het Resultaat: De soep wordt nooit geserveerd. De Chefs raken gestrand terwijl ze proberen te leren hoe ze tafels bedienen, en de Kelners raken gestrand terwijl ze proberen het recept vanaf nul te herschrijven.
- De Oplossing: Ze hebben een Menu nodig (een Model Registry) dat het recept vertaalt naar duidelijke instructies, of ze moeten de Chefs en Kelners in dezelfde keuken plaatsen (Cross-functionele teams) zodat ze met elkaar kunnen praten tijdens het werk.
2. Het "Data-Horten" (Producent versus Consument)
Stel je een Boer (Data Producent) voor die maïs verbouwt, en een Bakker (Data Consument) die die maïs nodig heeft om brood te bakken.
- Het Probleom: De Boer denkt: "Waarom zou ik jou mijn maïs geven? Het is niet mijn taak om jou te helpen met bakken." De Bakker moet om de maïs smeken, en soms verandert de Boer zonder het te melden de maïsvariëteit. De Bakker eindigt met een brood dat vreselijk smaakt omdat de ingrediënten zijn veranderd.
- Het Resultaat: De Bakker maakt slecht brood, en de Boer weet niet waarom hun maïs wordt verspild.
- De Oplossing: Ze hebben een Gemeenschappelijke Markt nodig (een Centraal Dataplatform) waar de Boer de maïs met duidelijke labels vermeldt, en de Bakker precies weet wat hij krijgt.
3. "Het Wiel Opnieuw Uitvinden" (Redundante Ontwikkeling)
Stel je een bedrijf voor waar Team A een ladder bouwt, en Team B, drie verdiepingen lager, een andere ladder bouwt voor hetzelfde doel.
- Het Probleem: Niemand weet dat het andere team een ladder heeft gebouwd. Dus verspillen iedereen tijd en geld aan het bouwen van ladders die al bestaan. Erger nog, als Team A een sport van hun ladder repareert, is de ladder van Team B nog steeds kapot.
- Het Resultaat: Chaos, verspilde middelen en "Shadow IT" (teams die hun eigen geheime, onveilige tools bouwen).
- De Oplossing: Een Centrale Gereedschapsschop waar iedereen kan zien welke ladders er bestaan en ze kan lenen in plaats van er een nieuwe te bouwen.
4. De "Blinde Bazen" (Leiderschapsvacuüm)
Stel je een Kapitein (Management) voor die niet weet hoe hij een schip moet varen, en probeert een Bemanning aan te nemen voor een nieuwe reis.
- Het Probleem: De Kapitein ziet de functietitel "Data Scientist" en neemt 10 mensen aan, denkend dat dat alles zal oplossen. Maar hij heeft mensen aangenomen die geweldig zijn in wiskunde, maar de motor niet kunnen repareren. Of hij neemt iemand aan voor een specifieke taak, en vergeet dan wat die taak ook alweer was, waardoor de werknemer met niets te doen blijft zitten.
- Het Resultaat: Het schip zit vol mensen die niet kunnen varen, en de Kapitein is verbaasd waarom het schip niet beweegt.
- De Oplossing: De Kapitein moet de basis van het zeilen leren (Educatie) en aannemen op basis van vaardigheden (kun je de motor repareren?), niet alleen op basis van hippe functietitels.
5. De "Resume Race" en de "Hype Train"
- Resume-Driven Development: Stel je een bouwer voor die erop staat om Gouden Spijkers te gebruiken, simpelweg omdat ze er gaaf uitzien op zijn cv, ook al heeft het huis Stalen Spijkers nodig. Het huis ziet er even fancy uit, maar het stort in omdat de materialen niet bij de klus passen.
- Hype-Driven Creation: Stel je een restauranthouder voor die besluit om Drakenvlees te serveren, alleen maar omdat iedereen erover praat, ook al heeft hij geen draak, en de klanten gewoon een burger willen. Ze geven al hun geld uit aan het proberen te vinden van een draak, om er vervolgens achter te komen dat ze gewoon betere burgers hadden moeten maken.
- Het Resultaat: Projecten blijven steken in "Proof of Concept Hell"—eindeloze experimenten die nooit echte producten worden.
De Belangrijkste Les
De auteurs ontdekten dat technologie zelden de echte schurk is. De echte schurken zijn:
- Silo's: Teams die niet met elkaar praten.
- Verwarring: Managers die het werk niet begrijpen, en werknemers die de bedrijfsdoelen niet begrijpen.
- Slecht Werven: De verkeerde mensen aannemen om de verkeerde redenen.
De Oplossing? Het gaat niet om het kopen van betere software. Het gaat om betere organisatie. Bedrijven moeten:
- De muren tussen teams afbreken.
- Managers leren wat Machine Learning eigenlijk is.
- Mensen aannemen op basis van hun werkelijke vaardigheden, niet op basis van hun functietitel.
- Zorgen dat iedereen het eens is over waarom ze iets bouwen voordat ze beginnen met bouwen.
Kortom: Je kunt de beste motor ter wereld hebben, maar als de bestuurder niet weet hoe hij moet sturen en de passagiers ruzie maken over de kaart, komt de auto nergens.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.