Dit is een gastpost van Kustomer’s Senior Software & Machine Learning Engineer, Ian Lantzy, en AWS-team Umesh Kalaspurkar, Prasad Shetty en Jonathan Greifenberger.
In Kustomers eigen woorden: “Kustomer is het omnichannel SaaS CRM-platform dat de klantenservice van ondernemingen opnieuw vormgeeft om opvallende ervaringen te bieden. Gebouwd met intelligente automatisering, kunnen we schalen om aan de behoeften van elk contactcenter en bedrijf te voldoen door gegevens uit meerdere bronnen te verenigen en bedrijven in staat te stellen moeiteloze, consistente en persoonlijke service en ondersteuning te leveren via één enkele tijdlijnweergave.”
Kustomer wilde de mogelijkheid hebben om snel grote hoeveelheden ondersteunende communicatie voor hun zakelijke klanten – klantervaring- en serviceorganisaties – te analyseren en de ontdekking van informatie zoals de intentie van de eindklant, het klantenserviceprobleem en andere relevante inzichten met betrekking tot de consument te automatiseren. Als u deze kenmerken begrijpt, kunnen CX-organisaties duizenden inkomende ondersteunings-e-mails beheren door de inhoud automatisch te classificeren en categoriseren. Kustomer maakt gebruik van Amazon Sage Maker om de analyse van de inkomende ondersteuningscommunicatie te beheren via hun op AI gebaseerde Kustomer IQ platform. De Conversation Classification-service van Kustomer IQ kan gesprekken contextualiseren en anderszins vervelende en repetitieve taken automatiseren, waardoor de afleiding van agenten en de totale kosten per contact worden verminderd. Deze en de andere IQ-diensten van Kustomer hebben de productiviteit en automatisering voor haar zakelijke klanten verhoogd.
In dit bericht bespreken we hoe Kustomer aangepaste Docker-images gebruikt voor SageMaker-training en -inferentie, wat de integratie vergemakkelijkt en het proces stroomlijnt. Met deze aanpak classificeren de zakelijke klanten van Kustomer elke maand automatisch meer dan 50 ondersteunings-e-mails met een nauwkeurigheid tot 70%.
Achtergrond en uitdagingen
Kustomer gebruikt een aangepaste pijplijn voor tekstclassificatie voor hun Conversation Classification-service. Dit helpt hen duizenden verzoeken per dag te beheren via automatische classificatie en categorisering met behulp van de training en gevolgtrekkingsorkestratie van SageMaker. De trainingsengine voor gespreksclassificatie gebruikt aangepaste Docker-afbeeldingen om gegevens te verwerken en modellen te trainen met behulp van historische gesprekken en voorspelt vervolgens de onderwerpen, categorieën of andere aangepaste labels die een bepaalde agent nodig heeft om de gesprekken te classificeren. Vervolgens gebruikt de voorspellingsengine de getrainde modellen met een andere aangepaste docker-afbeelding om gesprekken te categoriseren, die organisaties gebruiken om rapportage te automatiseren of gesprekken naar een specifiek team te routeren op basis van het onderwerp.
Het categorisatieproces van SageMaker begint met het opzetten van een trainings- en gevolgtrekkingspijplijn die tekstclassificatie en contextuele aanbevelingen kan bieden. Een typische opstelling zou worden geïmplementeerd met serverloze benaderingen zoals AWS Lambda voor de voor- en nabewerking van gegevens, omdat er minimale voorzieningen nodig zijn met een effectief on-demand prijsmodel. Het gebruik van SageMaker met afhankelijkheden zoals TensorFlow, NumPy en Pandas kan de modelpakketgrootte echter snel vergroten, waardoor het algehele implementatieproces omslachtig en moeilijk te beheren wordt. Kustomer gebruikte aangepaste Docker-images om deze uitdagingen te overwinnen.
Aangepaste Docker-images bieden aanzienlijke voordelen:
- Maakt grotere gecomprimeerde pakketgroottes mogelijk (meer dan 10 GB), die populaire machine learning (ML)-frameworks kunnen bevatten, zoals TensorFlow, MXNet, PyTorch of andere.
- Hiermee kunt u aangepaste code of lokaal ontwikkelde algoritmen toevoegen Amazon SageMaker Studio notebooks voor snelle iteratie en modeltraining.
- Voorkomt vertragingen bij de voorverwerking veroorzaakt door Lambda tijdens het uitpakken van implementatiepakketten.
- Biedt flexibiliteit om naadloos te integreren met interne systemen.
- Toekomstige compatibiliteit en schaalbaarheid maken het gemakkelijker om een service te converteren met Docker in plaats van .zip-bestanden in een Lambda-functie te moeten verpakken.
- Verkort de doorlooptijd voor een CI/CD-implementatiepijplijn.
- Zorgt voor Docker-bekendheid binnen het team en gebruiksgemak.
- Biedt toegang tot datastores via API's en een backend-runtime.
- Biedt betere ondersteuning bij het ingrijpen bij voor- of naverwerking waarvoor Lambda voor elk proces een aparte rekenservice nodig heeft (zoals training of implementatie).
Overzicht oplossingen
Het categoriseren en labelen van ondersteunings-e-mails is een cruciale stap in het klantondersteuningsproces. Het stelt bedrijven in staat om gesprekken naar de juiste teams te leiden en op een hoog niveau te begrijpen waarover hun klanten contact met hen opnemen. De zakelijke klanten van Kustomer voeren elke dag duizenden gesprekken af, dus classificeren op schaal is een uitdaging. Door dit proces te automatiseren kunnen agenten effectiever worden en meer samenhangende ondersteuning bieden, en kunnen hun klanten sneller in contact komen met de juiste mensen.
Het volgende diagram illustreert de oplossingsarchitectuur:
Het gespreksclassificatieproces begint ermee dat de zakelijke klant Kustomer toestemming geeft om een trainings- en gevolgtrekkingspijplijn op te zetten die hem kan helpen met tekstclassificatie en contextuele aanbevelingen. Kustomer stelt hun klanten een gebruikersinterface ter beschikking om het training- en gevolgtrekkingsproces te monitoren, dat wordt geïmplementeerd met behulp van SageMaker, samen met TensorFlow-modellen en aangepaste Docker-images. Het proces van het bouwen en gebruiken van een classifier is opgesplitst in vijf hoofdworkflows, die worden gecoördineerd door een werkende service Amazon ECS. Om de pijplijngebeurtenissen te coördineren en de training en implementatie van het model te activeren, gebruikt de werknemer een Amazon SQS wachtrij en integreert rechtstreeks met SageMaker met behulp van de door AWS geleverde Node.js SDK. De werkstromen zijn:
- Gegevens exporteren
- Data voorverwerking
- Trainingen
- Deployment
- Gevolgtrekking
Gegevens exporteren
Het gegevensexportproces wordt op aanvraag uitgevoerd en begint met een goedkeuringsproces van de zakelijke klant van Kustomer om het gebruik van e-mailgegevens voor analyse te bevestigen. Gegevens die relevant zijn voor het classificatieproces worden vastgelegd via de eerste e-mail die van de eindklant wordt ontvangen. Een ondersteunings-e-mail bevat bijvoorbeeld doorgaans de volledige samenhangende gedachte van het probleem, met details over het probleem. Als onderdeel van het exportproces worden de e-mails verzameld uit de gegevensopslag (MongoDB en AmazonOpenSearch) en opgeslagen Amazon eenvoudige opslagservice (Amazone S3).
Data voorverwerking
De gegevensvoorverwerkingsfase ruimt de dataset op voor trainings- en inferentieworkflows door alle HTML-tags uit e-mails van klanten te verwijderen en deze door meerdere opschoon- en opschoningsstappen te voeren om eventuele verkeerd opgemaakte HTML te detecteren. Dit proces omvat het gebruik van Hugging Face-tokenizers en transformatoren. Wanneer het opschoningsproces is voltooid, worden eventuele extra aangepaste tokens die nodig zijn voor training toegevoegd aan de uitvoergegevensset.
Tijdens de voorverwerkingsfase roept een Lambda-functie een aangepaste Docker-installatiekopie aan. Deze afbeelding bestaat uit een Python 3.8 slanke basis, de AWS Lambda Python Runtime Interface-clienten afhankelijkheden zoals NumPy en Pandas. De aangepaste Docker-image wordt opgeslagen op Amazon Elastic Container-register (Amazon ECR) en vervolgens via de CI/CD-pijplijn gevoerd voor implementatie. De geïmplementeerde Lambda-functie bemonstert de gegevens om drie verschillende gegevenssets per classificator te genereren:
- Trainingen – Gebruikt voor het eigenlijke trainingsproces
- Validatie – Gebruikt voor validatie tijdens het TensorFlow-trainingsproces
- test – Gebruikt tegen het einde van het trainingsproces voor vergelijkingen van metrische modellen
De gegenereerde uitvoergegevenssets zijn Pandas-pickle-bestanden, die worden opgeslagen in Amazon S3 voor gebruik in de trainingsfase.
Trainingen
Het aangepaste trainingsimage van Kustomer maakt gebruik van een TensorFlow 2.7 GPU-geoptimaliseerde docker beeld als basis. Aangepaste code, afhankelijkheden en basismodellen worden opgenomen voordat de aangepaste Docker-trainingsimage naar ECR wordt geüpload. Voor het trainingsproces worden P3-instantietypen gebruikt en het gebruik van een GPU-geoptimaliseerde basisimage helpt het trainingsproces zo efficiënt mogelijk te maken. Amazon SageMaker wordt met deze aangepaste docker-image gebruikt om TensorFlow-modellen te trainen die vervolgens in S3 worden opgeslagen. Er worden ook aangepaste statistieken berekend en opgeslagen om te helpen met extra mogelijkheden, zoals modelvergelijkingen en automatische hertraining. Zodra de trainingsfase is voltooid, wordt de AI-medewerker op de hoogte gesteld en kan de zakelijke klant de implementatieworkflow starten.
Deployment
Voor de implementatieworkflow wordt een aangepaste docker-inferentie-image gemaakt met behulp van een TensorFlow-serverbasisimage (speciaal gebouwd voor snelle inferentie). Extra code en afhankelijkheden zoals numPy, Pandas, aangepaste NL, enz. zijn inbegrepen om extra functionaliteit te bieden, zoals het opmaken en opschonen van invoer vóór gevolgtrekking. FastAPI is ook opgenomen als onderdeel van de aangepaste image en wordt gebruikt om de REST API-eindpunten te leveren voor gevolgtrekking en statuscontroles. SageMaker wordt vervolgens geconfigureerd om de TensorFlow-modellen die zijn opgeslagen in S3 met het inferentiebeeld te implementeren op compute-geoptimaliseerde ml.c5 AWS-instanties om hoogwaardige inferentie-eindpunten te genereren. Elk eindpunt wordt gemaakt voor gebruik door één klant om zijn modellen en gegevens te isoleren.
Gevolgtrekking
Zodra de implementatieworkflow is voltooid, neemt de inferentieworkflow het over. Alle eerste inkomende ondersteunings-e-mails worden doorgegeven via de inferentie-API voor de geïmplementeerde classificaties die specifiek zijn voor die klant. De geïmplementeerde classificaties voeren vervolgens tekstclassificatie uit op elk van deze e-mails, waarbij elk classificatielabels voor de klant genereert.
Mogelijke verbeteringen en aanpassingen
Kustomer overweegt de oplossing uit te breiden met de volgende verbeteringen:
- Hugging Face DLC's – Kustomer gebruikt momenteel de Docker-basisimages van TensorFlow voor de gegevensvoorverwerkingsfase en is van plan te migreren naar Hugging Face Deep Learning Containers (DLC's). Hierdoor kunt u onmiddellijk beginnen met het trainen van modellen en hoeft u het ingewikkelde proces van het helemaal opnieuw bouwen en optimaliseren van uw trainingsomgevingen over te slaan. Voor meer informatie, zie Gezicht knuffelen op Amazon SageMaker.
- Terugkoppeling – U kunt een feedbacklus implementeren met behulp van actieve leer- of versterkende leertechnieken om de algehele efficiëntie van het model te vergroten.
- Integratie met andere interne systemen – Kustomer wil de mogelijkheid hebben om de tekstclassificatie te integreren met andere systemen zoals Smart Suggestions, een andere Kustomer IQ-service die honderden snelkoppelingen doorzoekt en de snelkoppelingen voorstelt die het meest relevant zijn voor een klantvraag, waardoor de reactietijden en prestaties van agenten worden verbeterd.
Conclusie
In dit bericht hebben we besproken hoe Kustomer aangepaste Docker-images gebruikt voor SageMaker-training en -inferentie, wat de integratie vergemakkelijkt en het proces stroomlijnt. We hebben gedemonstreerd hoe Kustomer Lambda en SageMaker gebruikt met aangepaste Docker-images die helpen bij het implementeren van het tekstclassificatieproces met voor- en naverwerkingsworkflows. Dit biedt flexibiliteit bij het gebruik van grotere afbeeldingen voor het maken, trainen en infereren van modellen. Ondersteuning voor containerimages voor Lambda stelt u in staat uw functie nog verder aan te passen, waardoor veel nieuwe gebruiksscenario's voor serverloze ML ontstaan. De oplossing maakt gebruik van verschillende AWS-services, waaronder SageMaker, Lambda, Docker-images, Amazon ECR, Amazon ECS, Amazon SQS en Amazon S3.
Als u meer wilt weten over Kustomer, raden wij u aan een bezoek te brengen aan de Kustomer-website en verken hun case studies.
Klik hier om uw reis met Amazon SageMaker te beginnen. Voor praktische ervaring kunt u de Amazon SageMaker raadplegen workshop.
Over de auteurs
Umesh Kalaspurkar is een in New York gevestigde Solutions Architect voor AWS. Hij brengt meer dan 20 jaar ervaring mee in het ontwerpen en opleveren van digitale innovatie- en transformatieprojecten, zowel voor ondernemingen als voor startups. Hij wordt gemotiveerd door klanten te helpen uitdagingen te identificeren en te overwinnen. Buiten het werk houdt Umesh ervan vader te zijn, te skiën en te reizen.
Ian Lanzy is een Senior Software & Machine Learning-ingenieur voor Kustomer en is gespecialiseerd in het omzetten van onderzoekstaken op het gebied van machine learning in productiediensten.
Prasad Shetty is een in Boston gevestigde Solutions Architect voor AWS. Hij heeft softwareproducten gebouwd en leidt al meer dan twintig jaar modernisering en digitale innovatie in producten en diensten binnen ondernemingen. Hij heeft een passie voor het stimuleren van de cloudstrategie en -acceptatie, en voor het benutten van technologie om geweldige klantervaringen te creëren. In zijn vrije tijd houdt Prasad van fietsen en reizen.
Jonathan Greifenberger is een in New York gevestigde Senior Account Manager voor AWS met 25 jaar ervaring in de IT-industrie. Jonathan leidt een team dat klanten uit verschillende sectoren en branches helpt bij hun adoptie- en moderniseringstraject naar de cloud.
- Coinsmart. Europa's beste Bitcoin- en crypto-uitwisseling.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. GRATIS TOEGANG.
- CryptoHawk. Altcoin-radar. Gratis proefversie.
- Bron: https://aws.amazon.com/blogs/machine-learning/how-kustomer-utilizes-custom-docker-images-amazon-sagemaker-to-build-a-text-classification-pipeline/
- "
- &
- 100
- 20 jaar
- 7
- Over
- toegang
- Account
- over
- actieve
- Extra
- Adoptie
- Voordeel
- voordelen
- agenten
- AI
- algoritmen
- Alles
- Amazone
- analyse
- Nog een
- api
- APIs
- nadering
- architectuur
- Automatisering
- AWS
- wezen
- bouw
- Gebouw
- bedrijfsdeskundigen
- mogelijkheden
- gevallen
- veroorzaakt
- uitdagen
- uitdagingen
- Controles
- classificatie
- Schoonmaak
- Cloud
- code
- Communicatie
- Bedrijven
- Berekenen
- consument
- Containers
- containers
- bevat
- content
- Gesprek
- conversaties
- klantervaring
- Klantenservice
- Klantenservice
- Klanten
- gegevens
- dag
- vertragingen
- levering
- Vraag
- inzet
- Design
- ontwikkelde
- digitaal
- ontdekking
- havenarbeider
- aandrijving
- effectief
- doeltreffendheid
- waardoor
- aanmoedigen
- Endpoint
- ingenieur
- Enterprise
- EVENTS
- voorbeeld
- uit te breiden
- ervaring
- Ervaringen
- Gezicht
- SNELLE
- Fed
- feedback
- Voornaam*
- Flexibiliteit
- volgend
- functie
- functionaliteit
- voortbrengen
- Vrijgevigheid
- GPU
- groot
- Gast
- Gast Bericht
- met
- Gezondheid
- hulp
- helpt
- Hoge
- Hoe
- HTTPS
- Honderden
- identificeren
- beeld
- uitvoeren
- geïmplementeerd
- inclusief
- Inclusief
- Laat uw omzet
- meer
- industrieën
- -industrie
- informatie
- Innovatie
- inzichten
- integreren
- integratie
- Intelligent
- aandachtig
- Interface
- kwestie
- IT
- etikettering
- labels
- Groot
- groter
- LEARN
- leren
- LED
- Niveau
- hefbomen
- plaatselijk
- machine
- machine learning
- maken
- manager
- Metriek
- ML
- model
- modellen
- MongoDB
- meest
- New York
- orkestratie
- bestellen
- organisaties
- Overige
- anders-
- Mensen
- prestatie
- platform
- Populair
- mogelijk
- voorspelling
- prijsstelling
- probleem
- Product
- Productie
- produktiviteit
- Producten
- projecten
- zorgen voor
- biedt
- snel
- vermindering
- vereisen
- nodig
- onderzoek
- antwoord
- REST
- weg
- lopen
- lopend
- Schaalbaarheid
- Scale
- sdk
- Serverless
- service
- Diensten
- serveer-
- reeks
- Eenvoudig
- Maat
- slim
- So
- Software
- Oplossingen
- specialiseert
- specifiek
- spleet
- Stadium
- begin
- Startups
- mediaopslag
- shop
- winkels
- Strategie
- strippen
- studies
- wezenlijk
- ondersteuning
- Systems
- Talk
- taken
- team
- technieken
- Technologie
- duizenden kosten
- Door
- niet de tijd of
- tokens
- onderwerpen
- Trainingen
- Transformatie
- begrijpen
- Bekijk
- Wat
- binnen
- woorden
- Mijn werk
- jaar