Waarom Data Science-teams generalisten nodig hebben, geen specialisten

Waarom Data Science-teams generalisten nodig hebben, geen specialisten
HIROSHI WATANABE/GETTY-AFBEELDINGEN

In The Wealth of Nations laat Adam Smith zien hoe de arbeidsdeling de belangrijkste bron van verhoogde productiviteit wordt. Een voorbeeld is de lopende band van een speldenfabriek: “De ene arbeider trekt aan de draad, een andere maakt hem recht, een derde snijdt hem door, een vierde scherpt het uiteinde, een vijfde slijpt het andere uiteinde zodat het in de kop past.” Dankzij specialisatie gericht op specifieke functies wordt elke medewerker een hooggekwalificeerde specialist in zijn beperkte taak, wat leidt tot verhoogde procesefficiëntie. De productie per arbeider neemt vele malen toe en de fabriek wordt efficiënter in het produceren van spelden.

Deze taakverdeling op basis van functionaliteit is zelfs vandaag de dag zo diepgeworteld in onze geest dat we onze teams snel dienovereenkomstig hebben georganiseerd. Datawetenschap is geen uitzondering. Complexe algoritmische bedrijfsmogelijkheden vereisen meerdere werkfuncties, dus bedrijven creëren doorgaans teams van specialisten: onderzoekers, data-ingenieurs, machine learning-ingenieurs, oorzaak-en-gevolg-wetenschappers, enzovoort. Het werk van de specialisten wordt door de productmanager gecoördineerd met de overdracht van functies op een manier die lijkt op een pinfabriek: “de ene persoon ontvangt de data, de ander modelleert deze, een derde voert deze uit, een vierde meet” enzovoort.

Helaas moeten we onze Data Science-teams niet optimaliseren om de productiviteit te verbeteren. Dit doe je echter als je begrijpt wat je produceert: pinnen of iets anders, en er simpelweg naar streeft om de efficiëntie te verhogen. Het doel van assemblagelijnen is om een ​​taak te voltooien. We weten precies wat we willen: pins (zoals in het voorbeeld van Smith), maar elk product of elke dienst kan worden genoemd waarin de vereisten alle aspecten van het product en zijn gedrag volledig beschrijven. De rol van medewerkers is om zo efficiënt mogelijk aan deze eisen te voldoen.

Maar het doel van Data Science is niet om taken te voltooien. Het doel is veeleer het verkennen en ontwikkelen van sterke nieuwe zakelijke kansen. Algoritmische producten en diensten zoals aanbevelingssystemen, klantinteracties, classificatie van stijlvoorkeuren, maatvoering, kledingontwerp, logistieke optimalisatie, detectie van seizoenstrends en nog veel meer kunnen niet van tevoren worden ontwikkeld. Ze moeten bestudeerd worden. Er zijn geen blauwdrukken om te repliceren, dit zijn nieuwe mogelijkheden met inherente onzekerheid. Coëfficiënten, modellen, modeltypen, hyperparameters, alle noodzakelijke elementen moeten worden geleerd door middel van experimenten, vallen en opstaan ​​en herhaling. Bij pins worden training en ontwerp voorafgaand aan de productie gedaan. Met Data Science leer je zoals je doet, en niet eerder.

Als in een speldenfabriek training op de eerste plaats komt, verwachten en willen we niet dat werknemers over enig ander kenmerk van het product improviseren dan om de productie-efficiëntie te verbeteren. Het specialiseren van taken is zinvol omdat het leidt tot procesefficiëntie en productieconsistentie (zonder wijzigingen aan het eindproduct).

Maar wanneer het product nog in ontwikkeling is en het doel training is, interfereert specialisatie in de volgende gevallen met onze doelstellingen:

1. Het verhoogt de coördinatiekosten.

Dat wil zeggen de kosten die zich ophopen gedurende de tijd die wordt besteed aan het communiceren, bespreken, rechtvaardigen en prioriteren van het werk dat moet worden gedaan. Deze kosten schalen superlineair met het aantal betrokken mensen. (Zoals J. Richard Hackman ons heeft geleerd, groeit het aantal relaties r op dezelfde manier als de functie van het aantal termen n volgens deze vergelijking: r = (n^2-n)/2. En elke relatie onthult een bepaalde hoeveelheid van de kostenrelatie.) Wanneer datawetenschappers per functie worden georganiseerd, in elke fase, bij elke verandering, bij elke overdracht, enz., zijn er veel specialisten nodig, wat de coördinatiekosten verhoogt. Statistische modelbouwers die met nieuwe functies willen experimenteren, zullen bijvoorbeeld moeten samenwerken met data-ingenieurs die de datasets aanvullen elke keer dat ze iets nieuws willen proberen. Op dezelfde manier betekent elk nieuw model dat wordt getraind dat de modelontwikkelaar iemand nodig heeft om mee te coördineren om het in productie te nemen. Coördinatiekosten fungeren als prijs voor iteratie, waardoor ze moeilijker en duurder worden en de kans groter is dat het onderzoek wordt stopgezet. Dit kan het leren belemmeren.

2. Het maakt wachttijden lastig.

Nog angstaanjagender dan de coördinatiekosten is de tijd die verloren gaat tussen ploegendiensten. Terwijl de coördinatiekosten meestal in uren worden gemeten – de tijd die nodig is om vergaderingen, discussies en ontwerpbeoordelingen te houden – wordt de wachttijd meestal gemeten in dagen, weken of zelfs maanden! De planningen van functionele specialisten zijn moeilijk in evenwicht te brengen, omdat elke specialist over meerdere projecten moet worden verdeeld. Een vergadering van een uur om veranderingen te bespreken kan weken duren om de workflow soepel te laten verlopen. En nadat u overeenstemming hebt bereikt over de veranderingen, is het noodzakelijk om het daadwerkelijke werk zelf te plannen in de context van vele andere projecten die de werktijd van specialisten in beslag nemen. Werkzaamheden met betrekking tot codereparaties of onderzoek dat slechts een paar uur of dagen in beslag neemt, kan veel langer duren voordat er middelen beschikbaar komen. Tot die tijd worden iteratie en leren opgeschort.

3. Het vernauwt de context.

De arbeidsverdeling kan het leren kunstmatig beperken door mensen te belonen als ze in hun vakgebied blijven. Een onderzoekswetenschapper die binnen de reikwijdte van zijn functionaliteit moet blijven, zal zijn energie bijvoorbeeld richten op het experimenteren met verschillende soorten algoritmen: regressie, neurale netwerken, willekeurig bos, enzovoort. Natuurlijk kunnen goede algoritmekeuzes tot stapsgewijze verbeteringen leiden, maar er valt doorgaans veel meer te winnen uit andere activiteiten, zoals het integreren van nieuwe gegevensbronnen. Op dezelfde manier zal het helpen een model te ontwikkelen dat gebruik maakt van elk stukje verklarende kracht dat inherent is aan de gegevens. De kracht ervan kan echter liggen in het veranderen van de objectieve functie of het versoepelen van bepaalde beperkingen. Dit is moeilijk te zien of te doen als haar werk beperkt is. Omdat een technisch wetenschapper gespecialiseerd is in het optimaliseren van algoritmen, is de kans veel kleiner dat hij iets anders gaat doen, ook al levert dat aanzienlijke voordelen op.

Om de signalen te noemen die verschijnen wanneer datawetenschapsteams als pinfactories optreden (bijvoorbeeld bij eenvoudige statusupdates): ‘wachten op wijzigingen in de datapijplijn’ en ‘wachten op ML Eng-bronnen’ zijn veelvoorkomende blokkers. Ik geloof echter dat de gevaarlijkste invloed is wat je niet opmerkt, omdat je geen spijt kunt krijgen van wat je niet al weet. Een onberispelijke uitvoering en de zelfgenoegzaamheid die voortkomt uit het bereiken van procesefficiëntie kunnen de waarheid maskeren dat organisaties zich niet bewust zijn van de leervoordelen die ze mislopen.

De oplossing voor dit probleem is natuurlijk het afschaffen van de fabriekspinmethode. Om leren en iteratie aan te moedigen, moeten de rollen van datawetenschappers generiek zijn, maar met brede verantwoordelijkheden die onafhankelijk zijn van de technische functie, dat wil zeggen: datawetenschappers zo organiseren dat ze geoptimaliseerd zijn voor leren. Dit betekent het inhuren van ‘full stack specialisten’: algemene specialisten die een verscheidenheid aan functies kunnen uitvoeren, van concept tot modellering, van implementatie tot meting. Het is belangrijk op te merken dat ik niet suggereer dat het inhuren van full-stack talent het aantal werknemers zou verminderen. In plaats daarvan ga ik er simpelweg van uit dat wanneer ze anders georganiseerd zijn, hun prikkels beter afgestemd zijn op de leer- en prestatievoordelen. Laten we bijvoorbeeld zeggen dat u een team van drie mensen heeft met drie zakelijke vaardigheden. In een speldenfabriek besteedt elke technicus een derde van zijn tijd aan elke taak, aangezien niemand anders zijn werk kan doen. Bij een full stack is elke generalist volledig toegewijd aan het gehele bedrijfsproces, de opschaling en de training.

Omdat minder mensen de productiecyclus ondersteunen, wordt de coördinatie verminderd. De generalist beweegt vloeiend tussen functies, breidt de datapijplijn uit om meer gegevens toe te voegen, probeert nieuwe functies in modellen uit, implementeert nieuwe versies in productie voor causale metingen en herhaalt stappen zo snel als er nieuwe ideeën opkomen. Uiteraard vervult de stationwagen verschillende functies opeenvolgend en niet parallel. Het is tenslotte maar één persoon. Het voltooien van een taak kost echter doorgaans slechts een fractie van de tijd die nodig is om toegang te krijgen tot een andere gespecialiseerde hulpbron. De iteratietijd neemt dus af.

Onze generalist is misschien niet zo bekwaam als een specialist in een bepaalde functie, maar wij streven niet naar functionele perfectie of kleine stapsgewijze verbeteringen. Integendeel, we streven ernaar om steeds meer professionele uitdagingen te leren en te ontdekken met een geleidelijke impact. Met een holistische context voor een totaaloplossing ziet hij kansen die een specialist zou missen. Hij heeft meer ideeën en meer mogelijkheden. Hij faalt ook. De kosten van falen zijn echter laag en de voordelen van leren groot. Deze asymmetrie bevordert een snelle iteratie en beloont het leren.

Het is belangrijk op te merken dat de mate van autonomie en diversiteit in vaardigheden die aan full-stack-wetenschappers wordt geboden, grotendeels afhankelijk is van de robuustheid van het dataplatform waarop ze moeten werken. Een goed ontworpen dataplatform onttrekt datawetenschappers aan de complexiteit van containerisatie, gedistribueerde verwerking, automatische failover en andere geavanceerde computerconcepten. Naast abstractie kan een robuust dataplatform naadloze connectiviteit bieden met experimentele infrastructuur, monitoring en waarschuwingen automatiseren, automatische schaalvergroting en visualisatie van algoritmische resultaten en foutopsporing mogelijk maken. Deze componenten zijn ontworpen en gebouwd door de dataplatformingenieurs, wat betekent dat ze niet worden doorgegeven van de datawetenschapper aan het dataplatformontwikkelteam. Het is de Data Science specialist die verantwoordelijk is voor alle code die gebruikt wordt om het platform te laten draaien.

Ook ik was ooit geïnteresseerd in de functionele arbeidsverdeling met behulp van procesefficiëntie, maar met vallen en opstaan ​​(er is geen betere manier om te leren) ontdekte ik dat typische rollen leren en innovatie beter vergemakkelijken en de juiste metriek bieden: ontdekken en het bouwen van veel meer zakelijke kansen dan een gespecialiseerde aanpak. (Een effectievere manier om over deze benadering van organiseren te leren dan het vallen en opstaan ​​dat ik heb meegemaakt, is door het boek Team Collaboration: How Organizations Learn, Innovate, and Compete in the Knowledge Economy van Amy Edmondson te lezen.)

Er zijn enkele belangrijke aannames die deze benadering van organiseren in sommige bedrijven min of meer betrouwbaar kunnen maken. Het iteratieproces vermindert de kosten van vallen en opstaan. Als de kosten van fouten hoog zijn, wilt u deze wellicht verlagen (maar dit wordt niet aanbevolen voor medische toepassingen of productie). Als u bovendien met petabytes of exabytes aan gegevens te maken heeft, kan specialisatie in data-engineering vereist zijn. Als het behoud van de online bedrijfsmogelijkheden en de beschikbaarheid daarvan belangrijker is dan het verbeteren ervan, kan functionele uitmuntendheid het leren overtroeven. Ten slotte vertrouwt het full-stack-model op de mening van mensen die er kennis van hebben. Het zijn geen eenhoorns; je kunt ze vinden of zelf bereiden. Er is echter veel vraag naar hen en het aantrekken en behouden ervan vergt een concurrerende beloning, sterke bedrijfswaarden en uitdagend werk. Zorg ervoor dat uw bedrijfscultuur dit kan ondersteunen.

Ondanks dat alles ben ik van mening dat het full-stack-model de beste startvoorwaarden biedt. Begin daarmee en ga dan alleen bewust over op een functionele arbeidsverdeling als dat absoluut noodzakelijk is.

Er zijn nog andere nadelen van functionele specialisatie. Dit kan leiden tot verlies van verantwoordelijkheid en passiviteit van de kant van de werknemers. Smith zelf bekritiseert de arbeidsverdeling en suggereert dat deze leidt tot afstomping van talent. werknemers worden onwetend en teruggetrokken omdat hun rollen beperkt zijn tot een paar repetitieve taken. Hoewel specialisatie procesefficiëntie kan opleveren, is het minder waarschijnlijk dat het werknemers inspireert.

Op hun beurt bieden veelzijdige rollen alles wat de werktevredenheid stimuleert: autonomie, meesterschap en doelgerichtheid. Autonomie houdt in dat ze van niets afhankelijk zijn om succes te behalen. Meesterschap ligt in sterke concurrentievoordelen. En het gevoel van doel schuilt in de mogelijkheid om impact te hebben op het bedrijf dat ze creëren. Als we mensen enthousiast kunnen maken voor hun werk en een grote impact kunnen hebben op het bedrijf, valt al het andere op zijn plaats.

Bron: www.habr.com

Voeg een reactie