Questo è un guest post di Ian Lantzy, Senior Software & Machine Learning Engineer di Kustomer, e del team AWS Umesh Kalaspurkar, Prasad Shetty e Jonathan Greifenberger.
Nelle parole di Kustomer, “Kustomer è la piattaforma CRM SaaS omnicanale che reinventa il servizio clienti aziendale per offrire esperienze straordinarie. Costruiti con un’automazione intelligente, siamo in grado di soddisfare le esigenze di qualsiasi contact center e azienda unificando i dati provenienti da più fonti e consentendo alle aziende di fornire servizi e supporto semplici, coerenti e personalizzati attraverso un’unica visualizzazione della sequenza temporale”.
Kustomer desiderava la possibilità di analizzare rapidamente grandi volumi di comunicazioni di supporto per i propri clienti aziendali (esperienza del cliente e organizzazioni di servizi) e di automatizzare la scoperta di informazioni quali l'intento del cliente finale, il problema del servizio clienti e altri approfondimenti rilevanti relativi al consumatore. Comprendere queste caratteristiche può aiutare le organizzazioni CX a gestire migliaia di e-mail di supporto in entrata classificando e categorizzando automaticamente il contenuto. Le leve del cliente Amazon Sage Maker per gestire l'analisi delle comunicazioni di supporto in entrata tramite la loro intelligenza artificiale QI del cliente piattaforma. Il servizio Conversation Classification di Kustomer IQ è in grado di contestualizzare le conversazioni e automatizzare attività altrimenti noiose e ripetitive, riducendo la distrazione degli agenti e il costo complessivo per contatto. Questo e gli altri servizi IQ di Kustomer hanno aumentato la produttività e l'automazione per i suoi clienti aziendali.
In questo post parliamo di come Kustomer utilizza immagini Docker personalizzate per l'addestramento e l'inferenza di SageMaker, il che facilita l'integrazione e semplifica il processo. Con questo approccio, i clienti aziendali di Kustomer classificano automaticamente oltre 50 e-mail di supporto ogni mese con una precisione fino al 70%.
Contesto e sfide
Kustomer utilizza una pipeline di classificazione del testo personalizzata per il servizio di classificazione delle conversazioni. Ciò li aiuta a gestire migliaia di richieste al giorno tramite classificazione e categorizzazione automatica utilizzando la formazione e l'orchestrazione di inferenza di SageMaker. Il motore di training per la classificazione delle conversazioni utilizza immagini Docker personalizzate per elaborare i dati e addestrare modelli utilizzando conversazioni storiche e quindi prevede gli argomenti, le categorie o altre etichette personalizzate di cui un particolare agente ha bisogno per classificare le conversazioni. Quindi il motore di previsione utilizza i modelli addestrati con un'altra immagine docker personalizzata per classificare le conversazioni, che le organizzazioni utilizzano per automatizzare il reporting o instradare le conversazioni a un team specifico in base al suo argomento.
Il processo di categorizzazione di SageMaker inizia stabilendo una pipeline di formazione e inferenza in grado di fornire classificazione del testo e raccomandazioni contestuali. Una configurazione tipica verrebbe implementata con approcci serverless come AWS Lambda per la pre-elaborazione e la post-elaborazione dei dati poiché presenta requisiti minimi di provisioning con un efficace modello di prezzi on-demand. Tuttavia, l'utilizzo di SageMaker con dipendenze come TensorFlow, NumPy e Pandas può aumentare rapidamente le dimensioni del pacchetto modello, rendendo il processo di distribuzione complessivo macchinoso e difficile da gestire. Kustomer ha utilizzato immagini Docker personalizzate per superare queste sfide.
Le immagini Docker personalizzate offrono vantaggi sostanziali:
- Consente dimensioni di pacchetti compressi più grandi (oltre 10 GB), che possono contenere framework di machine learning (ML) popolari come TensorFlow, MXNet, PyTorch o altri.
- Ti consente di portare codice personalizzato o algoritmi sviluppati localmente Amazon Sage Maker Studio notebook per l'iterazione rapida e l'addestramento del modello.
- Evita i ritardi di preelaborazione causati in Lambda durante il decompressione dei pacchetti di distribuzione.
- Offre flessibilità per integrarsi perfettamente con i sistemi interni.
- La compatibilità e la scalabilità future semplificano la conversione di un servizio utilizzando Docker anziché dover creare pacchetti di file .zip in una funzione Lambda.
- Riduce i tempi di consegna per una pipeline di distribuzione CI/CD.
- Fornisce familiarità con Docker all'interno del team e facilità d'uso.
- Fornisce l'accesso agli archivi dati tramite API e un runtime backend.
- Offre un supporto migliore per intervenire per qualsiasi pre-elaborazione o post-elaborazione per cui Lambda richiederebbe un servizio di elaborazione separato per ciascun processo (come la formazione o la distribuzione).
Panoramica della soluzione
La categorizzazione e l'etichettatura delle e-mail di supporto è un passaggio fondamentale nel processo di assistenza clienti. Consente alle aziende di indirizzare le conversazioni ai team giusti e di comprendere ad alto livello per cosa i loro clienti le stanno contattando. I clienti aziendali di Kustomer gestiscono migliaia di conversazioni ogni giorno, quindi la classificazione su larga scala è una sfida. L'automazione di questo processo aiuta gli agenti a essere più efficaci e a fornire un supporto più coeso, oltre ad aiutare i propri clienti mettendoli in contatto più rapidamente con le persone giuste.
Il diagramma seguente illustra l'architettura della soluzione:
Il processo di classificazione delle conversazioni inizia con il cliente aziendale che concede a Kustomer l'autorizzazione a impostare una pipeline di formazione e inferenza che può aiutarlo con la classificazione del testo e consigli contestuali. Kustomer espone un'interfaccia utente ai propri clienti per monitorare il processo di training e inferenza, che viene implementato utilizzando SageMaker insieme ai modelli TensorFlow e alle immagini Docker personalizzate. Il processo di creazione e utilizzo di un classificatore è suddiviso in cinque flussi di lavoro principali, coordinati da un servizio di lavoro in esecuzione su AmazonECS. Per coordinare gli eventi della pipeline e attivare il training e la distribuzione del modello, il lavoratore utilizza un file Amazon SQS coda e si integra direttamente con SageMaker utilizzando l'SDK Node.js fornito da AWS. I flussi di lavoro sono:
- Esportazione dati
- Preelaborazione dei dati
- Training
- Distribuzione
- Inferenza
Esportazione dati
Il processo di esportazione dei dati viene eseguito su richiesta e inizia con un processo di approvazione da parte del cliente aziendale di Kustomer per confermare l'utilizzo dei dati di posta elettronica per l'analisi. I dati rilevanti per il processo di classificazione vengono acquisiti tramite l'e-mail iniziale ricevuta dal cliente finale. Ad esempio, un'e-mail di supporto contiene in genere il pensiero completo e coerente del problema con i dettagli sul problema. Come parte del processo di esportazione, le e-mail vengono raccolte dall'archivio dati (MongoDB e AmazonOpenSearch) e salvato in Servizio di archiviazione semplice Amazon (Amazon S3).
Preelaborazione dei dati
La fase di preelaborazione dei dati pulisce il set di dati per i flussi di lavoro di training e inferenza rimuovendo eventuali tag HTML dalle e-mail dei clienti e alimentandoli attraverso più passaggi di pulizia e sanificazione per rilevare qualsiasi codice HTML non valido. Questo processo include l'uso di Tokenizzatori e trasformatori Hugging Face. Una volta completato il processo di pulizia, eventuali token personalizzati aggiuntivi richiesti per l'addestramento vengono aggiunti al set di dati di output.
Durante la fase di preelaborazione, una funzione Lambda richiama un'immagine Docker personalizzata. Questa immagine è costituita da una base slim Python 3.8, il Client dell'interfaccia runtime AWS Lambda Pythone dipendenze come NumPy ed Pandas. L'immagine Docker personalizzata è archiviata su Registro dei contenitori Amazon Elastic (Amazon ECR) e quindi alimentato attraverso la pipeline CI/CD per la distribuzione. La funzione Lambda distribuita campiona i dati per generare tre set di dati distinti per classificatore:
- Training – Utilizzato per il processo di formazione vero e proprio
- Convalida – Utilizzato per la convalida durante il processo di formazione TensorFlow
- Test – Utilizzato verso la fine del processo di formazione per i confronti dei modelli di metriche
I set di dati di output generati sono file pickle di Panda, archiviati in Amazon S3 per essere utilizzati nella fase di training.
Training
L'immagine di formazione personalizzata di Kustomer utilizza una finestra mobile ottimizzata per GPU TensorFlow 2.7 Immagine come base. Il codice personalizzato, le dipendenze e i modelli base vengono inclusi prima che l'immagine di addestramento della finestra mobile personalizzata venga caricata in ECR. Per il processo di training vengono utilizzati tipi di istanze P3 e l'utilizzo di un'immagine di base ottimizzata per GPU aiuta a rendere il processo di training il più efficiente possibile. Amazon SageMaker viene utilizzato con questa immagine docker personalizzata per addestrare i modelli TensorFlow che vengono poi archiviati in S3. Vengono inoltre calcolate e salvate metriche personalizzate per supportare funzionalità aggiuntive quali confronti di modelli e riqualificazione automatica. Una volta completata la fase di formazione, l'operatore AI viene avvisato e il cliente aziendale è in grado di avviare il flusso di lavoro di distribuzione.
Distribuzione
Per il flusso di lavoro di distribuzione, viene creata un'immagine di inferenza docker personalizzata utilizzando un'immagine di base di servizio TensorFlow (creata appositamente per l'inferenza rapida). Sono inclusi codice e dipendenze aggiuntivi come numPy, Pandas, NL personalizzato, ecc. per fornire funzionalità aggiuntive, come la formattazione e la pulizia degli input prima dell'inferenza. Anche FastAPI è inclusa come parte dell'immagine personalizzata e viene utilizzata per fornire gli endpoint API REST per l'inferenza e i controlli di integrità. SageMaker viene quindi configurato per distribuire i modelli TensorFlow salvati in S3 con l'immagine di inferenza su istanze AWS ml.c5 ottimizzate per il calcolo per generare endpoint di inferenza ad alte prestazioni. Ogni endpoint viene creato per essere utilizzato da un singolo cliente per isolare i propri modelli e dati.
Inferenza
Una volta completato il flusso di lavoro di distribuzione, subentra il flusso di lavoro di inferenza. Tutte le prime e-mail di supporto in entrata vengono passate attraverso l'API di inferenza per i classificatori distribuiti specifici per quel cliente. I classificatori distribuiti eseguono quindi la classificazione del testo su ciascuna di queste e-mail, generando ciascuna etichette di classificazione per il cliente.
Possibili miglioramenti e personalizzazioni
Kustomer sta valutando la possibilità di espandere la soluzione con i seguenti miglioramenti:
- DLC Abbracciare Face – Kustomer attualmente utilizza le immagini Docker di base di TensorFlow per la fase di preelaborazione dei dati e prevede di migrare a Contenitori di apprendimento profondo (DLC) che abbracciano il viso. Ciò ti aiuta a iniziare immediatamente ad addestrare i modelli, evitando il complicato processo di creazione e ottimizzazione degli ambienti di formazione da zero. Per ulteriori informazioni, vedere Abbracciare la faccia su Amazon SageMaker.
- Ciclo di feedback – È possibile implementare un ciclo di feedback utilizzando tecniche di apprendimento attivo o di apprendimento per rinforzo per aumentare l’efficienza complessiva del modello.
- Integrazione con altri sistemi interni – Kustomer desidera la possibilità di integrare la classificazione del testo con altri sistemi come Smart Suggestions, che è un altro servizio Kustomer IQ che esamina centinaia di scorciatoie e suggerisce le scorciatoie più rilevanti per una richiesta del cliente, migliorando i tempi di risposta e le prestazioni degli agenti.
Conclusione
In questo post abbiamo discusso di come Kustomer utilizza immagini Docker personalizzate per l'addestramento e l'inferenza di SageMaker, il che facilita l'integrazione e semplifica il processo. Abbiamo dimostrato come Kustomer sfrutta Lambda e SageMaker con immagini Docker personalizzate che aiutano a implementare il processo di classificazione del testo con flussi di lavoro di pre-elaborazione e post-elaborazione. Ciò offre flessibilità per l'utilizzo di immagini più grandi per la creazione, il training e l'inferenza del modello. Il supporto dell'immagine del contenitore per Lambda ti consente di personalizzare ulteriormente la tua funzione, aprendo molti nuovi casi d'uso per il ML serverless. La soluzione sfrutta diversi servizi AWS, tra cui SageMaker, Lambda, immagini Docker, Amazon ECR, Amazon ECS, Amazon SQS e Amazon S3.
Se desideri saperne di più su Kustomer, ti invitiamo a visitare il Sito web del cliente ed esplorare il loro casi studio.
Clicchi qui per iniziare il tuo viaggio con Amazon SageMaker. Per un'esperienza pratica, puoi fare riferimento ad Amazon SageMaker officina.
Informazioni sugli autori
Umesh Kalaspurkar è un Solutions Architect con sede a New York per AWS. Porta con sé oltre 20 anni di esperienza nella progettazione e realizzazione di progetti di innovazione e trasformazione digitale, in imprese e startup. È motivato aiutando i clienti a identificare e superare le sfide. Al di fuori del lavoro, a Umesh piace essere padre, sciare e viaggiare.
Ian Lanzy è un ingegnere senior di software e machine learning per Kustomer ed è specializzato nell'assumere attività di ricerca sul machine learning e trasformarle in servizi di produzione.
Prasad Shetty è un Solutions Architect con sede a Boston per AWS. Ha creato prodotti software e da oltre 20 anni guida la modernizzazione e l'innovazione digitale di prodotti e servizi in tutte le aziende. La sua passione è promuovere la strategia e l'adozione del cloud e sfruttare la tecnologia per creare esperienze cliente straordinarie. Nel tempo libero, Prasad ama andare in bicicletta e viaggiare.
Jonathan Greifenberger è un Senior Account Manager con sede a New York per AWS con 25 anni di esperienza nel settore IT. Jonathan guida un team che assiste clienti di vari settori e verticali nel loro percorso di adozione e modernizzazione del cloud.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/how-kustomer-utilizes-custom-docker-images-amazon-sagemaker-to-build-a-text-classification-pipeline/
- "
- &
- 100
- 20 anni
- 7
- Chi siamo
- accesso
- Il mio account
- operanti in
- attivo
- aggiuntivo
- Adozione
- Vantaggio
- vantaggi
- agenti
- AI
- Algoritmi
- Tutti
- Amazon
- .
- Un altro
- api
- API
- approccio
- architettura
- Automazione
- AWS
- essendo
- costruire
- Costruzione
- affari
- funzionalità
- casi
- ha causato
- Challenge
- sfide
- Controlli
- classificazione
- Pulizia
- Cloud
- codice
- Comunicazioni
- Aziende
- Calcolare
- Consumer
- Contenitore
- Tecnologie Container
- contiene
- contenuto
- Conversazione
- Conversazioni
- esperienza del cliente
- Servizio clienti
- Assistenza clienti
- Clienti
- dati
- giorno
- ritardi
- consegna
- Richiesta
- deployment
- Design
- sviluppato
- digitale
- scoperta
- docker
- guida
- Efficace
- efficienza
- consentendo
- incoraggiare
- endpoint
- ingegnere
- Impresa
- eventi
- esempio
- espansione
- esperienza
- Esperienze
- Faccia
- FAST
- Federale
- feedback
- Nome
- Flessibilità
- i seguenti
- function
- funzionalità
- generare
- Dare
- GPU
- grande
- GUEST
- Ospite Messaggio
- avendo
- Salute e benessere
- Aiuto
- aiuta
- Alta
- Come
- HTTPS
- centinaia
- identificare
- Immagine
- realizzare
- implementato
- incluso
- Compreso
- Aumento
- è aumentato
- industrie
- industria
- informazioni
- Innovazione
- intuizioni
- integrare
- integrazione
- Intelligente
- intento
- Interfaccia
- problema
- IT
- etichettatura
- per il tuo brand
- grandi
- superiore, se assunto singolarmente.
- IMPARARE
- apprendimento
- Guidato
- Livello
- leveraggi
- a livello locale
- macchina
- machine learning
- Fare
- direttore
- Metrica
- ML
- modello
- modelli
- MongoDB
- maggior parte
- New York
- orchestrazione
- minimo
- organizzazioni
- Altro
- altrimenti
- Persone
- performance
- piattaforma
- Popolare
- possibile
- predizione
- prezzi
- Problema
- processi
- Prodotto
- Produzione
- della produttività
- Prodotti
- progetti
- fornire
- fornisce
- rapidamente
- riducendo
- richiedere
- necessario
- riparazioni
- risposta
- REST
- strada
- Correre
- running
- Scalabilità
- Scala
- sdk
- serverless
- servizio
- Servizi
- servizio
- set
- Un'espansione
- Taglia
- smart
- So
- Software
- Soluzioni
- specializzata
- in particolare
- dividere
- Stage
- inizia a
- Startup
- conservazione
- Tornare al suo account
- negozi
- Strategia
- strippaggio
- studi
- sostanziale
- supporto
- SISTEMI DI TRATTAMENTO
- Parlare
- task
- team
- tecniche
- Tecnologia
- migliaia
- Attraverso
- tempo
- Tokens
- Argomenti
- Training
- Trasformazione
- capire
- Visualizza
- Che
- entro
- parole
- Lavora
- anni