True ML Talks #17 - ML Platforms @ Slack, LLMs en SlackGPT

Gebouwd voor snelheid: ~10ms latentie, zelfs onder belasting
De razendsnelle manier om je modellen te bouwen, volgen en implementeren!
- Verwerkt 350+ RPS op slechts 1 vCPU — geen tuning nodig
- Productieklaar met volledige enterprise-ondersteuning
We zijn terug met een nieuwe aflevering van True ML Talks. In deze aflevering duiken we diep in de Recommend API van Slack, SlackGPT en LLM's, en we spreken met Katrina Ni.
Katrina Ni is senior ML engineer en lead member of the technical staff bij Slack. Ze leidt daar het ML-team en heeft gewerkt aan de Recommend API, spamdetectie en diverse productfunctionaliteiten.
📌
Onze gesprekken met Katrina behandelen de volgende aspecten:
- Use cases van ML en Gen AI bij Slack
- Infrastructuur bij Slack met een focus op ML
- Training, validatie, deployment en monitoring voor de Recommend API bij Slack
- Het meten van de zakelijke impact van de Recommend API
- De impact van klantprivacy op de trainingsinfrastructuur
- Het bouwen van Slack GPT en de uitdagingen bij het trainen van LLM's
- De toekomst van prompt engineering in taalmodellen
- Op de hoogte blijven van de nieuwste ontwikkelingen in LLM's
Bekijk de volledige aflevering hieronder:
Use Cases van ML en Gen AI @ Slack
- Gepersonaliseerde kanaalaanbevelingen: ML en Gen AI maken gepersonaliseerde kanaalaanbevelingen mogelijk bij Slack. Nieuwe gebruikers die lid worden van een team ontvangen suggesties voor relevante kanalen op basis van relaties en datagestuurde inzichten, wat de gebruikerservaring verbetert.
- Integratie van de Recommender API: De geïntegreerde Recommender API van Slack biedt dienstanbevelingen aan verschillende productfunctionaliteitsteams. De geavanceerde recommender engine bedient naadloos gebruikers van elke omvang, hoewel aanbevelingen niet het primaire verdienmodel vormen.
- Detecteren en scannen van malware: ML en Gen AI helpen ook bij beveiligingsverbeteringen bij Slack door malwarelinks te detecteren en te scannen, wat zorgt voor een veiligere communicatie-omgeving.
Infrastructuur bij Slack met een focus op ML
Slack vertrouwt op bekwame data engineering-teams en robuuste data warehouse-oplossingen. Ze gebruiken Airflow voor job scheduling en big data-verwerking, wat essentiële ondersteuning biedt voor ML-taken.
De infrastructuur van Slack is gebaseerd op Kubernetes en ondersteunt hun microservices-architectuur. Hun cloudteam heeft een op Kubernetes gebaseerd framework ontwikkeld voor eenvoudige deployment van microservices, wat flexibiliteit en schaalbaarheid biedt.
Om aan hun specifieke behoeften te voldoen, heeft Slack een custom feature store ontwikkeld in plaats van bestaande oplossingen te gebruiken. Deze custom store beheert en benut features efficiënt voor ML-toepassingen.
Een toegewijd team bij Slack heeft een orchestratielaag bovenop Kubernetes gebouwd, wat de deployment van microservices stroomlijnt en integreert met interne diensten zoals de console. Hoewel het het gebruik van Kubernetes verbetert, blijven er uitdagingen voor toepassingen die sterk afhankelijk zijn van databases.
Recommend API bij Slack
In de begindagen van Slack werden er inspanningen geleverd om effectieve embedding- en faction-mechanismen te ontwikkelen. Dit omvatte de verwerking van enorme hoeveelheden data om gebruikersinteracties te begrijpen en numerieke embeddings voor gebruikers en kanalen te genereren. Eén resultaat was een embedding-service gebaseerd op gebruikersactiviteiten, en een andere gebaseerd op berichten, hoewel deze destijds niet breed werd overgenomen.
Later verschoof de focus naar het gebruik van deze embeddings om een gebruiksvriendelijker product te bouwen. Het concept van aanbevelingen ontstond, waarbij gebieden werden geïdentificeerd waar suggesties gebruikers van nut konden zijn, zoals het aanbevelen van kanalen of gebruikers. Dit leidde tot de ontwikkeling van de Recommend API, die integreerde met verschillende onderdelen van het Slack-platform en bestaande embeddings gebruikte om relevante data op te halen op basis van gebruikersactiviteiten. De API omvatte ook de feature store, verrijkte data met aanvullende features en paste filtering- en scoring-mechanismen toe.
Naarmate de ontwikkeling vorderde, werd de Recommend API geïntegreerd in verschillende functies binnen Slack, waardoor het platform relevante kanalen of gebruikers aan zijn gebruikers kon aanbevelen, wat hun ervaring stroomlijnde en de betrokkenheid verhoogde.
U kunt meer lezen over SlackGPT in het onderstaande blogartikel.
Hier is een afbeelding uit hetzelfde blogartikel die een zeer goed overzicht geeft van de Recommend API-infrastructuur van Slack

Model Training Pipeline en Validation Workflow voor de Recommend API
Door gebruik te maken van Kubernetes, Airflow en een hiërarchische benadering van training en validatie zorgt Slack ervoor dat de modellen van de Recommend API effectief en betrouwbaar zijn en gepersonaliseerde aanbevelingen aan gebruikers bieden. AB-testing garandeert een strenge evaluatie van modelprestaties in een online omgeving vóór deployment, wat bijdraagt aan een robuust en datagestuurd ML-operations-framework bij Slack.
1. Hierarchical Corpus en Use Cases: De model training pipeline bij Slack volgt een hiërarchische benadering. Het begint met een hiërarchisch corpus bestaande uit kanalen of gebruikers, met meerdere use cases zoals daily digest, composer of channel browser, afgestemd op specifieke functionaliteiten binnen Slack.
2. Modelselectie en Experimenteren: Voor elke use case worden verschillende modellen getraind en getest, beginnend met grote regressiemodellen en het verkennen van andere algoritmen zoals XGBoost of LightGBM. Modelparameters worden fijnafgesteld en er wordt geëxperimenteerd met verschillende datavarianten om het best passende model te identificeren.
3. Training Pipeline met Kubernetes en Airflow: De training pipeline wordt georkestreerd met Kubernetes en Airflow. Kubernetes-clusters verwerken modeltrainingstaken efficiënt, waarbij Airflow de workflow beheert van het verzamelen van data tot het trainen van verschillende modellen voor diverse use cases.
4. Logging en Offline Metrics: Tijdens de training logt het team offline metrics en modelparameters voor toekomstige monitoring en analyse.
5. Naadloze Modeltoevoeging en Beheer: De architectuur maakt het naadloos toevoegen van nieuwe bronnen of modellen voor training mogelijk met minimale code-aanpassingen.
6. Validatie en AB-testing: Strenge validatie wordt uitgevoerd voordat modellen naar productie worden gedeployed, waarbij offline metrics zoals AUC voor classificatie- of rankingmodellen worden vergeleken. AB-testing wordt uitvoerig gebruikt, waarbij modellen met betere online metrics worden geselecteerd voor deployment.
7. Intern AB-testing Framework: Slack beschikt over een eigen intern AB-testing framework, dat door het ML-team en productteams wordt gebruikt bij het lanceren van nieuwe functies. Het framework maakt datagestuurde beslissingen mogelijk door modelprestaties te vergelijken op verschillende zakelijke metrics.
Model Deployment en Schaal voor de Recommend API
De ML-modellen van Slack worden gedeployed in Kubernetes-clusters met behulp van GRPC als interface voor de afhandeling van requests. GRPC biedt veiligheid, efficiëntie en snellere verwerking vergeleken met op JSON gebaseerde API's zoals FastAPI. Ondanks de beperkingen zorgt GRPC voor robuuste en efficiënte communicatie tussen de API en de modellen, wat bijdraagt aan een soepel deploymentproces.
De deploymentstrategie omvat het benutten van de auto-scaling mogelijkheden van Kubernetes, waardoor modellen het resourcegebruik kunnen aanpassen op basis van de vraag. Met een omvangrijk gebruikersbestand verwerkt Slack een aanzienlijk aantal requests, gemiddeld zo'n 100 requests per seconde.
Het implementeren van GRPC en het opzetten van de microservice voor de serving cluster vereiste gerichte inspanningen, maar bleek effectief te zijn bij het omgaan met schaal en het optimaliseren van modelprestaties.
Model Monitoring en Geautomatiseerde Retraining voor de Recommend API
1. Het Volgen van Offline en Online Metrics: De model monitoring pipeline van Slack volgt efficiënt offline en online metrics. Offline metrics zoals nauwkeurigheid, F1 en ROC worden gelogd, en toegewijde dashboards zorgen voor visualisatie. Online metrics, waaronder de acceptance rate, worden eveneens gemonitord via een apart dashboard.
2. Anomaliedetectie en Feature Drift: Slack maakt gebruik van een eigen anomaliedetectie-framework om feature drift te monitoren. Regelmatige retraining van modellen (dagelijkse training en wekelijkse deployments) vermindert de impact van feature drift, waardoor het minder een probleem vormt.
3. Geautomatiseerde Retraining Pipeline: De retraining pipeline is geautomatiseerd met behulp van Airflow, wat ervoor zorgt dat modellen up-to-date blijven met de nieuwste data.
4. Geautomatiseerde Dashboards voor Visualisatie: Data engineers hebben gebruiksvriendelijke dashboards ontwikkeld die modelprestaties en metrics visualiseren. De dashboards worden automatisch bijgewerkt met nieuwe data, wat het volgen van nieuwe use cases vergemakkelijkt.
5. Moeiteloze Integratie van Nieuwe Use Cases: Het toevoegen van nieuwe use cases aan de monitoring- en retraining pipeline verloopt moeiteloos dankzij het geautomatiseerde integratieframework dat door de data engineers is opgezet.
Door gebruik te maken van automatisering en regelmatige retraining worden de ML-modellen van Slack continu gemonitord, geoptimaliseerd en betrouwbaar gehouden in productie. Het robuuste MLOps-framework draagt bij aan naadloze en efficiënte model-deployments voor het grote gebruikersbestand van Slack.
Het Meten van Zakelijke Impact voor de Recommend API
Slack maakt gebruik van verschillende metrics om de zakelijke impact van de Recommend API te evalueren, wat waardevolle inzichten oplevert in de prestaties en effectiviteit ervan. De belangrijkste gebruikte metrics zijn:
- Acceptance Rate: Monitort de online prestaties van de API door het percentage te meten waarin gebruikers aanbevolen kanalen of gebruikers accepteren of ermee interageren. Een hogere acceptance rate duidt op een betere gebruikerservaring en betrokkenheid.
- Gebruikerskliks en Acceptatie: Volgt de kliks van gebruikers op aanbevolen kanalen of gebruikers en hun acceptatie van voorgestelde connecties. Deze metrics laten de betrokkenheid van gebruikers bij aanbevelingen zien evenals betekenisvolle interacties binnen het platform.
- Custom Metrics voor Productteams: Verschillende productteams gebruiken custom metrics die zijn afgestemd op hun specifieke doelen en doelstellingen. Deze metrics kunnen onder meer het aantal nieuwe gebruikers, teamsucces en top-priority stack metrics omvatten.
- AB-testing: Cruciaal voor het evalueren van modelprestaties en varianten van de API. Het maakt datagestuurde beslissingen mogelijk over het selecteren van het meest effectieve model voor deployment.
- Holistische Beoordeling van Zakelijke Impact: Combineert inzichten uit meerdere metrics om een alomvattend beeld te krijgen van de effectiviteit van de API bij het behalen van doelstellingen en het leveren van waarde aan gebruikers.
Door deze metrics te analyseren en de Recommend API te optimaliseren op basis van gebruikersfeedback, zorgt Slack ervoor dat de API de gebruikerservaring aanzienlijk verbetert, connecties stimuleert en positieve zakelijke resultaten binnen het platform oplevert.
Impact van Klantprivacy op de Trainingsinfrastructuur
De toewijding van Slack aan klantprivacy heeft een grote invloed op de architectuur van de trainingsinfrastructuur en de manieren van dataverwerking. De strenge focus op dataprivacy komt tot uiting in verschillende aspecten van de MLOps-stack, wat zorgt voor de veilige en conforme verwerking van gevoelige informatie. Dit is hoe klantprivacy de trainingsinfrastructuur van Slack beïnvloedt:
- Zorgvuldige Verwerking van Gevoelige Data: Slack past robuuste dataprivacymaatregelen toe om gevoelige informatie, zoals Personally Identifiable Information (PII), te verwerken. Data engineering-teams werken aan het verwijderen van PII en het implementeren van retentiebeleid om te voldoen aan privacyregelgeving.
- Beperkte Toegang tot Gevoelige Data: Toegang tot datasets met gevoelige informatie is beperkt en ondergebracht in het gescheiden data warehouse genaamd Manitoba. Deze beperkte toegang verhoogt de databeveiliging, hoewel het uitdagingen kan opleveren bij het debuggen en analyseren van modellen.
- Uitdagingen bij Debugging en Modelinteracties: Beperkte toegang tot gevoelige data kan het debuggen van modellen bemoeilijken, wat alternatieve benaderingen en monitoringtools vereist om de nauwkeurigheid van het modelgedrag te garanderen.
- Dataprivacy bij Modeltraining: Slack zorgt voor naleving van het dataprivacybeleid bij het trainen van modellen, met name voor taken zoals spamdetectie, waarbij interactie met gevoelige informatie kan plaatsvinden.
- Architecturale Aanpassingen voor Dataprivacy: Om dataprivacy te waarborgen, maakt Slack specifieke architecturale keuzes, waaronder veilige data-opslag, toegangsbeheer en data-encryptiepraktijken.
Het Bouwen van Slack GPT en Uitdagingen bij het Trainen van Large Language Models
Slack introduceerde Slack GPT, een krachtige AI voor taalgeneratie voor samenvattingen om de overvloed aan informatie op het platform aan te pakken en de productiviteit van gebruikers te verhogen.
Het bouwen van Slack GPT bracht uitdagingen met zich mee en vereiste innovaties in de infrastructuur voor het trainen van grote taalmodellen. Dit omvatte het opzetten van clusters, het gebruik van Kubernetes en het verkennen van technieken voor parallelle verwerking. Om de kwaliteit van samenvattingen te verbeteren, implemendeerde het team prompt tuning, waarbij prompts zorgvuldig werden opgesteld om het gedrag van het model te beïnvloeden en coherente samenvattingen te genereren.
Systematische evaluatie van prompts was cruciaal, en het team ontwikkelde tools om de effectiviteit van prompts te beoordelen, wat het mogelijk maakte om te experimenteren met verschillende prompts. Het overbruggen van de kloof tussen offline en online evaluatie zorgde ervoor dat de kwaliteit die tijdens offline verkenning werd waargenomen, naadloos vertaald werd naar de online gebruikerservaring.
Terwijl Slack investeert in AI-mogelijkheden, spelen ML engineers een cruciale rol bij het optimaliseren van gebruikerservaringen door verkenning, evaluatie en systematische verbetering van AI-gestuurde functies zoals Slack GPT.
U kunt meer lezen over SlackGPT via de onderstaande link.
De Toekomst van Prompt Engineering in Taalmodellen
Prompt engineering is cruciaal voor taalmodellen en beïnvloedt de kwaliteit van de respons. Op dit moment omvat het veel trial-and-error en ontbreekt het aan een gestandaardiseerde aanpak. Toekomstige mogelijkheden omvatten:
- Standardisatie en Best Practices: Het ontstaan van gestandaardiseerde praktijken en richtlijnen om prompts te optimaliseren voor specifieke use cases.
- Geautomatiseerde Prompt-optimalisatie: AI-gestuurde systemen die prompts verfijnen op basis van analyse en gebruikersfeedback, wat het proces stroomlijnt.
- Verbeterde Experimentatie-interfaces: Gebruiksvriendelijke platformen voor efficiënte manipulatie van prompts en vergelijking tussen verschillende modellen.
- Integratie van Gebruikersfeedback: Realtime inzichten die aanpassingen van prompts sturen voor adaptieve en gepersonaliseerde antwoorden.
Prompt engineering is een actief verkend gebied, gericht op het vinden van een balans tussen handmatige interventie en automatisering, wat de toekomst van AI-gestuurde communicatie vormgeeft.
Op de Hoogte Blijven van de Ontwikkelingen in LLMs
Op de hoogte blijven van de voortdurende ontwikkelingen in large language models (LLMs) is essentieel voor data scientists en ML engineers.
Veel professionals in de AI- en NLP-community gebruiken Twitter als een waardevol platform voor toegang tot realtime informatie over nieuw onderzoek, modelreleases en doorbraken in de LLM-ruimte. Door invloedrijke onderzoekers en professionals op Twitter te volgen, kunnen ze snel meer leren over de nieuwste trends en updates in het vakgebied.
Daarnaast blijven professionals geïnformeerd door interacties met hun collega's. Binnen hun teams wordt belangrijk nieuws, zoals de release van LLMs zoals Llama-2 en de integratie met platformen zoals SageMaker, gedeeld, wat een collaboratieve leeromgeving creëert.
Hoewel sommige data scientists en ML engineers zich wellicht richten op het lezen van onderzoekspapers, geven anderen de voorkeur aan praktische use cases. Zij zijn meer geneigd om te verkennen hoe nieuwe ontwikkelingen direct van invloed kunnen zijn op hun werk en de toepassingen van LLMs in praktijksituaties kunnen verbeteren.
Lees onze eerdere blogs in de TrueML-serie
Blijf kijken naar de TrueML YouTube-serie en lees alle artikelen in de TrueML blogserie.
TrueFoundry is een ML Deployment PaaS over Kubernetes om ontwikkelaarsworkflows te versnellen, terwijl ze volledige flexibiliteit behouden bij het testen en deployen van modellen met gegarandeerde beveiliging en controle voor het infrateam. Via ons platform stellen we Machine Learning-teams in staat om modellen binnen 15 minuten te deployen en te monitoren met 100% betrouwbaarheid, schaalbaarheid en de mogelijkheid om binnen seconden te roll-backen - waardoor ze kosten besparen en modellen sneller naar productie brengen voor echte zakelijke waarde.
TrueFoundry AI Gateway levert een latentie van ~3–4 ms, verwerkt 350+ RPS op 1 vCPU, schaalt moeiteloos horizontaal en is klaar voor productie, terwijl LiteLLM last heeft van hoge latentie, moeite heeft boven een gemiddeld aantal RPS, geen ingebouwde schaling heeft en het meest geschikt is voor lichte workloads of prototypes.
















.png)

.webp)



.webp)








.webp)





