Acesta este un post de invitat de la Capital scalabil, un FinTech lider în Europa care oferă management digital al averii și o platformă de brokeraj cu o rată fixă de tranzacționare.
Fiind o companie cu creștere rapidă, obiectivele Scalable Capital sunt nu numai să construiască o infrastructură inovatoare, robustă și de încredere, ci și să ofere cele mai bune experiențe pentru clienții noștri, mai ales când vine vorba de servicii pentru clienți.
Scalable primește zilnic sute de întrebări prin e-mail de la clienții noștri. Prin implementarea unui model modern de procesare a limbajului natural (NLP), procesul de răspuns a fost modelat mult mai eficient, iar timpul de așteptare pentru clienți a fost redus enorm. Modelul de învățare automată (ML) clasifică noile solicitări primite de la clienți de îndată ce ajung și le redirecționează către cozi predefinite, ceea ce permite agenților noștri de succes dedicati clienților să se concentreze asupra conținutului e-mailurilor în funcție de abilitățile lor și să ofere răspunsuri adecvate.
În această postare, demonstrăm beneficiile tehnice ale utilizării transformatoarelor Hugging Face implementate cu Amazon SageMaker, cum ar fi instruirea și experimentarea la scară și creșterea productivității și eficienței costurilor.
Declarație problemă
Scalable Capital este unul dintre FinTech-urile cu cea mai rapidă creștere din Europa. Cu scopul de a democratiza investițiile, compania oferă clienților săi acces ușor la piețele financiare. Clienții Scalable pot participa activ pe piață prin intermediul platformei de tranzacționare de brokeraj a companiei sau pot utiliza Scalable Wealth Management pentru a investi într-un mod inteligent și automat. În 2021, Scalable Capital a cunoscut o creștere de zece ori a bazei de clienți, de la zeci de mii la sute de mii.
Pentru a oferi clienților noștri o experiență de utilizator de top (și consecventă) pentru produse și servicii pentru clienți, compania a căutat soluții automate pentru a genera eficiență pentru o soluție scalabilă, menținând în același timp excelența operațională. Echipele de știință a datelor și de servicii pentru clienți ale Scalable Capital au identificat că unul dintre cele mai mari blocaje în deservirea clienților noștri a fost răspunsul la întrebările prin e-mail. Mai exact, blocajul a fost etapa de clasificare, în care angajații trebuiau să citească și să eticheteze zilnic textele de solicitare. După ce e-mailurile au fost direcționate către cozile lor adecvate, specialiștii respectivi s-au angajat rapid și au rezolvat cazurile.
Pentru a eficientiza acest proces de clasificare, echipa de știință a datelor de la Scalable a construit și implementat un model NLP multitask utilizând o arhitectură de transformare de ultimă generație, bazată pe un model pre-instruit. distilbert-baza-german-carcasa model publicat de Hugging Face. distilbert-baza-german-carcasa folosește distilare a cunoștințelor metodă de a antrena un model de reprezentare a limbajului cu scop general mai mic decât modelul de bază original BERT. Versiunea distilata atinge performante comparabile cu versiunea originala, fiind in acelasi timp mai mica si mai rapida. Pentru a ne facilita procesul ciclului de viață ML, am decis să adoptăm SageMaker pentru a construi, implementa, servi și monitoriza modelele noastre. În secțiunea următoare, vă prezentăm designul arhitecturii proiectului nostru.
Prezentare generală a soluțiilor
Infrastructura ML a Scalable Capital constă din două conturi AWS: unul ca mediu pentru etapa de dezvoltare și celălalt pentru etapa de producție.
Următoarea diagramă arată fluxul de lucru pentru proiectul nostru de clasificare a e-mailurilor, dar poate fi generalizată și la alte proiecte de știință a datelor.
Fluxul de lucru constă din următoarele componente:
- Experimentarea modelului - Oamenii de știință le folosesc Amazon SageMaker Studio pentru a efectua primii pași în ciclul de viață al științei datelor: analiza exploratorie a datelor (EDA), curățarea și pregătirea datelor și construirea de modele prototip. Când faza de explorare este finalizată, apelăm la VSCode găzduit de un notebook SageMaker ca instrument de dezvoltare la distanță pentru modularizarea și producerea bazei noastre de cod. Pentru a explora diferite tipuri de modele și configurații de model și, în același timp, pentru a ține evidența experimentelor noastre, folosim SageMaker Training și SageMaker Experiments.
- Construcția modelului – După ce ne hotărâm asupra unui model pentru cazul nostru de utilizare în producție, în acest caz o sarcină multiplă distilbert-baza-german-carcasa model, reglat fin după modelul preantrenat de la Hugging Face, ne angajăm și ne împingem codul către filiala de dezvoltare Github. Evenimentul de îmbinare Github declanșează conducta noastră Jenkins CI, care, la rândul său, pornește o lucrare SageMaker Pipelines cu date de testare. Acesta acționează ca un test pentru a vă asigura că codurile rulează conform așteptărilor. Un punct final de testare este implementat în scopuri de testare.
- Implementarea modelului – După ce s-au asigurat că totul funcționează conform așteptărilor, oamenii de știință de date îmbină ramura de dezvoltare în ramura principală. Acest eveniment de îmbinare declanșează acum o lucrare SageMaker Pipelines folosind date de producție în scopuri de instruire. Ulterior, artefactele modelului sunt produse și stocate într-o ieșire Serviciul Amazon de stocare simplă (Amazon S3) și o nouă versiune de model este înregistrată în registrul de modele SageMaker. Oamenii de știință de date examinează performanța noului model, apoi aprobă dacă este în conformitate cu așteptările. Evenimentul de aprobare a modelului este capturat de Amazon EventBridge, care apoi implementează modelul la un punct final SageMaker în mediul de producție.
- MLOps – Deoarece punctul final SageMaker este privat și nu poate fi accesat de servicii din afara VPC-ului, an AWS Lambdas funcție și Gateway API Amazon punctele finale publice sunt necesare pentru a comunica cu CRM. Ori de câte ori sosesc noi e-mailuri în căsuța de e-mail CRM, CRM invocă punctul final public API Gateway, care la rândul său declanșează funcția Lambda pentru a invoca punctul final privat SageMaker. Funcția transmite apoi clasificarea înapoi către CRM prin punctul final public API Gateway. Pentru a monitoriza performanța modelului nostru implementat, implementăm o buclă de feedback între CRM și oamenii de știință de date pentru a ține evidența valorilor de predicție din model. Lunar, CRM actualizează datele istorice utilizate pentru experimentare și formare model. Folosim Fluxuri de lucru gestionate de Amazon pentru Apache Airflow (Amazon MWAA) ca programator pentru recalificarea noastră lunară.
În secțiunile următoare, vom detalia etapele de pregătire a datelor, experimentare a modelului și implementare a modelului.
Pregătirea datelor
Scalable Capital folosește un instrument CRM pentru gestionarea și stocarea datelor de e-mail. Conținutul relevant de e-mail este compus din subiect, corp și băncile custode. Există trei etichete de atribuit fiecărui e-mail: din ce linie de activitate provine e-mailul, care coadă este adecvată și subiectul specific al e-mailului.
Înainte de a începe antrenamentul oricărui model NLP, ne asigurăm că datele de intrare sunt curate și etichetele sunt alocate conform așteptărilor.
Pentru a prelua conținutul de interogare curat de la clienții Scalable, eliminăm din e-mail datele brute și text și simboluri suplimentare, cum ar fi semnături de e-mail, impresii, citate ale mesajelor anterioare din lanțurile de e-mail, simboluri CSS și așa mai departe. În caz contrar, modelele noastre viitoare antrenate ar putea avea performanțe degradate.
Etichetele pentru e-mailuri evoluează de-a lungul timpului, pe măsură ce echipele de servicii pentru clienți scalabile adaugă altele noi și le rafinează sau le elimină pe cele existente pentru a se potrivi nevoilor afacerii. Pentru a se asigura că etichetele pentru datele de instruire, precum și clasificările așteptate pentru predicție sunt actualizate, echipa de știință a datelor lucrează în strânsă colaborare cu echipa de servicii pentru clienți pentru a asigura corectitudinea etichetelor.
Experimentarea modelului
Începem experimentul nostru cu pre-antrenați ușor disponibil distilbert-baza-german-carcasa model publicat de Hugging Face. Deoarece modelul pre-antrenat este un model de reprezentare a limbajului cu scop general, putem adapta arhitectura pentru a îndeplini sarcini specifice în aval - cum ar fi clasificarea și răspunsul la întrebări - prin atașarea capetelor adecvate la rețeaua neuronală. În cazul nostru de utilizare, sarcina din aval care ne interesează este clasificarea secvenței. Fără a modifica arhitectura existenta, decidem să perfecționăm trei modele separate pre-antrenate pentru fiecare dintre categoriile noastre necesare. Cu Containere de învățare profundă SageMaker Hugging Face (DLC-uri), pornirea și gestionarea experimentelor NLP sunt simplificate cu containerele Hugging Face și API-ul SageMaker Experiments.
Următorul este un fragment de cod din train.py
:
Următorul cod este estimatorul Hugging Face:
Pentru a valida modelele ajustate, folosim F1-scor din cauza naturii dezechilibrate a setului nostru de date de e-mail, dar și pentru a calcula alte valori, cum ar fi acuratețea, precizia și amintirea. Pentru ca API-ul SageMaker Experiments să înregistreze valorile jobului de instruire, trebuie să înregistrăm mai întâi valorile în consola locală a jobului de antrenament, care sunt preluate de Amazon CloudWatch. Apoi definim formatul regex corect pentru a captura jurnalele CloudWatch. Definițiile metricilor includ numele metricilor și validarea regex pentru extragerea metricilor din jobul de instruire:
Ca parte a iterației de antrenament pentru modelul de clasificator, folosim o matrice de confuzie și un raport de clasificare pentru a evalua rezultatul. Următoarea figură arată matricea de confuzie pentru predicția liniei de afaceri.
Următoarea captură de ecran arată un exemplu de raport de clasificare pentru predicția de linie de afaceri.
Ca o următoare iterație a experimentului nostru, vom profita de învăţare cu sarcini multiple pentru a ne îmbunătăți modelul. Învățarea cu mai multe sarcini este o formă de instruire în care un model învață să rezolve mai multe sarcini simultan, deoarece informațiile partajate între sarcini pot îmbunătăți eficiența învățării. Atașând încă două capete de clasificare la arhitectura originală a distilbert, putem efectua reglaj fin multi-task, care atinge valori rezonabile pentru echipa noastră de servicii pentru clienți.
Implementarea modelului
În cazul nostru de utilizare, clasificatorul de e-mail trebuie să fie implementat într-un punct final, către care conducta noastră CRM poate trimite un lot de e-mailuri neclasificate și poate primi predicții. Deoarece avem alte logici, cum ar fi curățarea datelor de intrare și predicții cu sarcini multiple, pe lângă inferența modelului Hugging Face, trebuie să scriem un script de inferență personalizat care să respecte SageMaker standard.
Următorul este un fragment de cod din inference.py
:
Când totul este gata și gata, folosim SageMaker Pipelines pentru a ne gestiona canalul de instruire și pentru a-l atașa la infrastructura noastră pentru a finaliza configurarea MLOps.
Pentru a monitoriza performanța modelului implementat, construim o buclă de feedback pentru a permite CRM să ne furnizeze starea e-mailurilor clasificate atunci când cazurile sunt închise. Pe baza acestor informații, facem ajustări pentru a îmbunătăți modelul implementat.
Concluzie
În această postare, am împărtășit modul în care SageMaker facilitează echipa de știință a datelor de la Scalable să gestioneze eficient ciclul de viață al unui proiect de știință a datelor, și anume proiectul de clasificare a e-mailurilor. Ciclul de viață începe cu faza inițială de analiză și explorare a datelor cu SageMaker Studio; trece la experimentarea și implementarea modelelor cu antrenament, inferență și DLC-uri Hugging Face SageMaker; și se completează cu un canal de instruire cu SageMaker Pipelines integrat cu alte servicii AWS. Datorită acestei infrastructuri, suntem capabili să repetăm și să implementăm noi modele mai eficient și, prin urmare, suntem capabili să îmbunătățim procesele existente în cadrul Scalable, precum și experiențele clienților noștri.
Pentru a afla mai multe despre Hugging Face și SageMaker, consultați următoarele resurse:
Despre Autori
Dr. Sandra Schmid este șeful departamentului de analiză a datelor la Scalable GmbH. Ea este responsabilă pentru abordările bazate pe date și cazurile de utilizare în companie împreună cu echipele sale. Accentul ei cheie este găsirea celei mai bune combinații de modele de învățare automată și știință a datelor și obiective de afaceri pentru a obține cât mai multă valoare comercială și eficiență din date.
Huy Dang Data Scientist la Scalable GmbH. Responsabilitățile sale includ analiza datelor, construirea și implementarea modelelor de învățare automată, precum și dezvoltarea și întreținerea infrastructurii pentru echipa de știință a datelor. În timpul liber, îi place să citească, să facă drumeții, alpinism și să fie la curent cu cele mai recente dezvoltări ale învățării automate.
Mia Chang este arhitect de soluții specializat în ML pentru Amazon Web Services. Lucrează cu clienți din EMEA și împărtășește cele mai bune practici pentru rularea sarcinilor de lucru AI/ML pe cloud, cu experiența ei în matematică aplicată, informatică și AI/ML. Ea se concentrează pe sarcinile de lucru specifice NLP și își împărtășește experiența ca vorbitor de conferință și autoare de cărți. În timpul liber, îi place yoga, jocurile de societate și prepararea cafelei.
Moritz Guertler este Account Executive în segmentul Digital Native Businesses la AWS. El se concentrează pe clienții din spațiul FinTech și îi sprijină în accelerarea inovației prin infrastructura cloud sigură și scalabilă.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- ChartPrime. Crește-ți jocul de tranzacționare cu ChartPrime. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/accelerate-client-success-management-through-email-classification-with-hugging-face-on-amazon-sagemaker/
- :are
- :este
- :nu
- :Unde
- $UP
- 1
- 100
- 13
- 15%
- 17
- 2021
- 26%
- 32
- 500
- 7
- a
- Capabil
- Despre Noi
- mai sus
- accelera
- accelerarea
- Accept
- acces
- găzdui
- Conform
- Cont
- Conturi
- precizie
- Realizeaza
- peste
- activ
- Acte
- adapta
- adăuga
- plus
- ajustări
- adopta
- Avantaj
- După
- după aceea
- agenţi
- AI / ML
- urmări
- permite
- de asemenea
- Amazon
- Amazon SageMaker
- Amazon Web Services
- printre
- an
- analiză
- Google Analytics
- și
- Orice
- Apache
- api
- aplicat
- abordari
- adecvat
- aprobare
- aproba
- arhitectură
- SUNT
- argumente
- AS
- alocate
- At
- atașa
- autor
- Automata
- disponibil
- AWS
- înapoi
- fundal
- Băncile
- de bază
- bazat
- bază
- BE
- deoarece
- fost
- fiind
- Beneficiile
- CEL MAI BUN
- Cele mai bune practici
- între
- bord
- Consiliul de Jocuri
- corp
- carte
- Branch firma
- Pauză
- brokeraj
- construi
- Clădire
- construit
- afaceri
- întreprinderi
- dar
- by
- CAN
- capital
- Capitalei
- captura
- capturat
- transporta
- caz
- cazuri
- categorii
- lanţuri
- clasificare
- clasificate
- Curățenie
- client
- clientii
- Alpinism
- Închide
- închis
- Cloud
- infrastructura cloud
- cod
- baza codului
- Coduri
- Cafea
- colaborare
- combinaţie
- vine
- comite
- comunica
- companie
- Compania
- comparabil
- Completă
- finalizeaza
- componente
- Calcula
- calculator
- Informatică
- Conferință
- confuzie
- consistent
- constă
- Consoleze
- Containere
- conţinut
- conținut
- corecta
- CRM
- CSS
- custode
- personalizat
- client
- clienţii care
- zilnic
- de date
- analiza datelor
- Analiza datelor
- Pregătirea datelor
- știința datelor
- om de știință de date
- Pe bază de date
- Data
- decide
- hotărât
- dedicat
- adânc
- învățare profundă
- Mod implicit
- defini
- definit
- Definitii
- democratiza
- demonstra
- implementa
- dislocate
- Implementarea
- desfășurarea
- implementează
- Amenajări
- detaliu
- dezvolta
- în curs de dezvoltare
- Dezvoltare
- evoluții
- diferit
- digital
- managementul averii digitale
- jos
- două
- fiecare
- uşor
- eficiență
- eficient
- altfel
- e-mailuri
- EMEA
- de angajați
- permite
- Punct final
- angajat
- asigura
- Mediu inconjurator
- epocă
- mai ales
- Europa
- evalua
- evaluare
- eveniment
- tot
- evolua
- examina
- exemplu
- Excelență
- executiv
- existent
- aşteptare
- aşteptări
- de aşteptat
- experienţă
- cu experienţă
- Experiențe
- experiment
- experimente
- explorare
- Analiza datelor exploratorii
- explora
- suplimentar
- f1
- Față
- facilita
- facilitează
- Modă
- mai repede
- cel mai rapid
- cea mai rapidă creștere
- feedback-ul
- Figura
- financiar
- descoperire
- FinTech
- fintechs
- First
- primii pasi
- plat
- Concentra
- se concentrează
- următor
- Pentru
- formă
- format
- Gratuit
- din
- funcţie
- viitor
- Câştig
- Jocuri
- poartă
- scop general
- genera
- obține
- GitHub
- GmBH
- Goluri
- În creştere
- Oaspete
- Vizitator Mesaj
- HAD
- Avea
- he
- cap
- capete
- ei
- lui
- istoric
- găzduit
- Cum
- HTML
- http
- HTTPS
- sute
- identificat
- if
- punerea în aplicare a
- Punere în aplicare a
- îmbunătăţi
- in
- include
- Intrare
- Crește
- a crescut
- informații
- Infrastructură
- inițială
- Inovaţie
- inovatoare
- intrare
- Cereri
- anchetă
- integrate
- Inteligent
- interesat
- în
- introduce
- Investi
- investiţie
- invocă
- IT
- repetare
- ESTE
- Loc de munca
- JSON
- A pastra
- Cheie
- Etichetă
- etichete
- limbă
- cea mai mare
- Ultimele
- conducere
- AFLAȚI
- învăţare
- ciclu de viață
- Linie
- încărca
- local
- log
- autentificat
- cautati
- de pe
- maşină
- masina de învățare
- făcut
- Mentine
- face
- Efectuarea
- administra
- gestionate
- administrare
- de conducere
- Piață
- pieţe
- matematică
- Matrice
- Îmbina
- eveniment de îmbinare
- mesaje
- metodă
- metric
- Metrici
- ar putea
- ML
- MLOps
- model
- Modele
- Modern
- monitor
- lunar
- mai mult
- mişcă
- mult
- multiplu
- nume
- și anume
- nativ
- Natural
- Procesarea limbajului natural
- Natură
- Nevoie
- nevoilor
- reţea
- neural
- rețele neuronale
- Nou
- următor
- nlp
- caiet
- acum
- număr
- of
- promoții
- on
- ONE
- cele
- afară
- operațional
- or
- comandă
- original
- Altele
- in caz contrar
- al nostru
- afară
- producție
- exterior
- peste
- parte
- participa
- Efectua
- performanță
- fază
- ales
- conducte
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- posibil
- Post
- practicile
- Precizie
- prezicere
- Predictii
- pregătire
- precedent
- primar
- privat
- proces
- procese
- prelucrare
- Produs
- producere
- productivitate
- Produse
- proiect
- Proiecte
- adecvat
- prototip
- furniza
- furnizează
- public
- publicat
- scopuri
- Împinge
- întrebare
- repede
- Citate
- ridica
- rată
- Crud
- atins
- Citeste
- Citind
- gata
- rezonabil
- primește
- înregistrări
- Redus
- trimite
- rafina
- regex
- Inregistreaza-te
- registru
- de încredere
- la distanta
- scoate
- raportează
- reprezentare
- solicita
- cereri de
- necesar
- hotărât
- Resurse
- respectiv
- răspunde
- răspuns
- răspunsuri
- responsabilităţi
- responsabil
- rezultat
- reveni
- robust
- stâncă
- funcţionare
- sagemaker
- Conducte SageMaker
- acelaşi
- scalabil
- Scară
- Ştiinţă
- Om de stiinta
- oamenii de stiinta
- scenariu
- Secțiune
- secțiuni
- sigur
- segment
- trimite
- distinct
- Secvenţă
- servi
- serviciu
- Servicii
- configurarea
- profilat
- comun
- Acțiuni
- ea
- Emisiuni
- Semnături
- simplu
- simultan
- aptitudini
- mai mici
- fragment
- So
- soluţie
- soluţii
- REZOLVAREA
- curând
- Spaţiu
- Vorbitor
- specialist
- specialiști
- specific
- specific
- Etapă
- Începe
- Pornire
- începe
- de ultimă oră
- Stare
- ședere
- Pas
- paşi
- depozitare
- stocate
- stocarea
- simplifica
- studio
- subiect
- succes
- astfel de
- Sprijină
- sigur
- Lua
- Sarcină
- sarcini
- echipă
- echipe
- Tehnic
- zeci
- test
- Testarea
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
- decât
- mulțumesc
- acea
- lor
- Lor
- apoi
- Acolo.
- prin urmare
- ei
- acest
- mii
- trei
- Prin
- timp
- la
- împreună
- instrument
- subiect
- lanternă
- urmări
- Trading
- Platforma de tranzacționare
- Tren
- dresat
- Pregătire
- transformator
- transformatoare
- turbat
- ÎNTORCĂ
- Două
- tip
- Tipuri
- actualizări
- us
- utilizare
- carcasa de utilizare
- utilizat
- Utilizator
- Experiența de utilizare
- utilizări
- folosind
- VALIDA
- validare
- valoare
- versiune
- Aşteptare
- a fost
- we
- Bogatie
- administrarea averii
- web
- servicii web
- BINE
- au fost
- cand
- oricând
- care
- în timp ce
- cu
- în
- fără
- flux de lucru
- fluxuri de lucru
- fabrică
- scrie
- yoga
- zephyrnet