Dette er et gjestepost fra Skalerbar kapital, en ledende FinTech i Europa som tilbyr digital formueforvaltning og en meglerplattform med en flat rate for handel.
Som et raskt voksende selskap er Scalable Capitals mål å ikke bare bygge en innovativ, robust og pålitelig infrastruktur, men også å gi de beste opplevelsene for våre kunder, spesielt når det gjelder kundetjenester.
Scalable mottar hundrevis av e-posthenvendelser fra våre kunder daglig. Ved å implementere en moderne naturlig språkbehandlingsmodell (NLP) har responsprosessen blitt formet mye mer effektivt, og ventetiden for klienter er redusert enormt. Maskinlæringsmodellen (ML) klassifiserer nye innkommende kundeforespørsler så snart de kommer og omdirigerer dem til forhåndsdefinerte køer, noe som lar våre dedikerte klientsuksessagenter fokusere på innholdet i e-postene i henhold til deres ferdigheter og gi passende svar.
I dette innlegget viser vi de tekniske fordelene ved å bruke Hugging Face-transformatorer utplassert med Amazon SageMaker, som opplæring og eksperimentering i stor skala, og økt produktivitet og kostnadseffektivitet.
Problemstilling
Scalable Capital er en av de raskest voksende FinTechs i Europa. Med sikte på å demokratisere investeringer, gir selskapet sine kunder enkel tilgang til finansmarkedene. Kunder av Scalable kan aktivt delta i markedet gjennom selskapets meglerhandelsplattform, eller bruke Scalable Wealth Management til å investere på en intelligent og automatisert måte. I 2021 opplevde Scalable Capital en tidobling av kundebasen, fra titusenvis til hundretusener.
For å gi kundene våre en førsteklasses (og konsistent) brukeropplevelse på tvers av produkter og kundeservice, var selskapet på utkikk etter automatiserte løsninger for å generere effektivitet for en skalerbar løsning samtidig som den opprettholder operasjonell fortreffelighet. Scalable Capitals datavitenskap og kundeserviceteam identifiserte at en av de største flaskehalsene i å betjene kundene våre var å svare på e-posthenvendelser. Spesifikt var flaskehalsen klassifiseringstrinnet, der ansatte måtte lese og merke forespørselstekster på daglig basis. Etter at e-postene ble rutet til de riktige køene, engasjerte de respektive spesialistene seg raskt og løste sakene.
For å strømlinjeforme denne klassifiseringsprosessen bygde og implementerte datavitenskapsteamet hos Scalable en multitask NLP-modell ved bruk av toppmoderne transformatorarkitektur, basert på den forhåndsopplærte distilbert-base-tysk-hylster modell utgitt av Hugging Face. distilbert-base-tysk-hylster bruker kunnskapsdestillasjon metode for å forhåndstrene en mindre generell språkrepresentasjonsmodell enn den originale BERT-basismodellen. Den destillerte versjonen oppnår sammenlignbar ytelse med originalversjonen, samtidig som den er mindre og raskere. For å lette livssyklusprosessen vår for ML, bestemte vi oss for å ta i bruk SageMaker for å bygge, distribuere, betjene og overvåke modellene våre. I den følgende delen introduserer vi vår prosjektarkitekturdesign.
Løsningsoversikt
Scalable Capitals ML-infrastruktur består av to AWS-kontoer: en som et miljø for utviklingsstadiet og den andre for produksjonsstadiet.
Følgende diagram viser arbeidsflyten for e-postklassifiseringsprosjektet vårt, men kan også generaliseres til andre datavitenskapelige prosjekter.
Arbeidsflyten består av følgende komponenter:
- Modelleksperimentering – Dataforskere bruker Amazon SageMaker Studio å gjennomføre de første trinnene i datavitenskapens livssyklus: utforskende dataanalyse (EDA), datarensing og forberedelse, og bygge prototypemodeller. Når den utforskende fasen er fullført, henvender vi oss til VSCode hostet av en SageMaker-notisbok som vårt fjernutviklingsverktøy for å modularisere og produsere kodebasen vår. For å utforske ulike typer modeller og modellkonfigurasjoner, og samtidig holde styr på eksperimentene våre, bruker vi SageMaker Training og SageMaker Experiments.
- Modellbygg – Etter at vi har bestemt oss for en modell for vår produksjonsbruk, i dette tilfellet en multi-task distilbert-base-tysk-hylster modell, finjustert fra den forhåndstrente modellen fra Hugging Face, vi forplikter og sender koden vår til Github-utviklergrenen. Github-sammenslåingshendelsen utløser vår Jenkins CI-pipeline, som igjen starter en SageMaker Pipelines-jobb med testdata. Dette fungerer som en test for å sikre at koder kjører som forventet. Et testendepunkt er distribuert for testformål.
- Modellutplassering – Etter å ha forsikret seg om at alt går som forventet, slår dataforskere sammen utviklingsgrenen til primærgrenen. Denne sammenslåingshendelsen utløser nå en SageMaker Pipelines-jobb som bruker produksjonsdata til opplæringsformål. Etterpå produseres modellartefakter og lagres i en utgang Amazon enkel lagringstjeneste (Amazon S3) bøtte, og en ny modellversjon er logget i SageMaker modellregister. Dataforskere undersøker ytelsen til den nye modellen, og godkjenner deretter om den er i tråd med forventningene. Modellgodkjenningshendelsen fanges opp av Amazon EventBridge, som deretter distribuerer modellen til et SageMaker-endepunkt i produksjonsmiljøet.
- MLOps – Fordi SageMaker-endepunktet er privat og ikke kan nås av tjenester utenfor VPC, an AWS Lambda funksjon og Amazon API-gateway offentlige endepunkter kreves for å kommunisere med CRM. Hver gang nye e-poster kommer inn i CRM-innboksen, påkaller CRM API Gateways offentlige endepunkt, som igjen utløser Lambda-funksjonen for å påkalle det private SageMaker-endepunktet. Funksjonen videresender deretter klassifiseringen tilbake til CRM gjennom det offentlige endepunktet for API Gateway. For å overvåke ytelsen til vår distribuerte modell implementerer vi en tilbakemeldingssløyfe mellom CRM og dataforskerne for å holde styr på prediksjonsverdier fra modellen. På månedlig basis oppdaterer CRM de historiske dataene som brukes til eksperimentering og modelltrening. Vi bruker Amazon administrerte arbeidsflyter for Apache Airflow (Amazon MWAA) som planlegger for vår månedlige omskolering.
I de følgende delene bryter vi ned trinnene for dataforberedelse, modelleksperimentering og modelldistribusjon mer detaljert.
Dataforberedelse
Scalable Capital bruker et CRM-verktøy for å administrere og lagre e-postdata. Relevant e-postinnhold består av emne, kropp og depotbanker. Det er tre etiketter som skal tildeles til hver e-post: hvilken bransje e-posten kommer fra, hvilken kø som passer, og det spesifikke emnet for e-posten.
Før vi begynner å trene noen NLP-modeller, sikrer vi at inndataene er rene og etikettene tildeles i henhold til forventningene.
For å hente rent forespørselsinnhold fra skalerbare klienter, fjerner vi fra rå e-postdata og ekstra tekst og symboler, som e-postsignaturer, impressum, sitater fra tidligere meldinger i e-postkjeder, CSS-symboler og så videre. Ellers kan våre fremtidige trente modeller oppleve dårligere ytelse.
Etiketter for e-poster utvikler seg over tid ettersom skalerbare kundeserviceteam legger til nye og avgrenser eller fjerner eksisterende for å imøtekomme forretningsbehov. For å sikre at etiketter for treningsdata samt forventede klassifiseringer for prediksjon er oppdatert, jobber datavitenskapsteamet i tett samarbeid med kundeserviceteamet for å sikre riktigheten av etikettene.
Modelleksperimentering
Vi starter vårt eksperiment med de lett tilgjengelige forhåndstrente distilbert-base-tysk-hylster modell utgitt av Hugging Face. Fordi den forhåndstrente modellen er en generell språkrepresentasjonsmodell, kan vi tilpasse arkitekturen til å utføre spesifikke nedstrømsoppgaver – som klassifisering og spørsmålssvar – ved å feste passende hoder til det nevrale nettverket. I vårt brukstilfelle er nedstrømsoppgaven vi er interessert i sekvensklassifisering. Uten å endre eksisterende arkitektur, bestemmer vi oss for å finjustere tre separate forhåndstrente modeller for hver av våre nødvendige kategorier. Med SageMaker Hugging Face Deep Learning Containers (DLC), start og administrasjon av NLP-eksperimenter er gjort enkelt med Hugging Face-beholdere og SageMaker Experiments API.
Følgende er en kodebit av train.py
:
Følgende kode er Hugging Face-estimatoren:
For å validere de finjusterte modellene bruker vi F1-stillingen på grunn av den ubalanserte naturen til e-postdatasettet vårt, men også for å beregne andre beregninger som nøyaktighet, presisjon og tilbakekalling. For at SageMaker Experiments API skal registrere treningsjobbens beregninger, må vi først logge beregningene til treningsjobbens lokale konsoll, som hentes av Amazon CloudWatch. Deretter definerer vi riktig regex-format for å fange CloudWatch-loggene. Beregningsdefinisjonene inkluderer navnet på metrikkene og regex-validering for å trekke ut beregningene fra treningsjobben:
Som en del av treningsiterasjonen for klassifiseringsmodellen bruker vi en forvirringsmatrise og klassifiseringsrapport for å evaluere resultatet. Følgende figur viser forvirringsmatrisen for bransjeprediksjon.
Følgende skjermbilde viser et eksempel på klassifiseringsrapporten for bransjeprediksjon.
Som en neste iterasjon av eksperimentet vårt vil vi dra nytte av fleroppgavelæring å forbedre modellen vår. Fleroppgavelæring er en form for opplæring der en modell lærer å løse flere oppgaver samtidig, fordi den delte informasjonen mellom oppgaver kan forbedre læringseffektiviteten. Ved å knytte ytterligere to klassifiseringshoder til den originale distilbert-arkitekturen, kan vi utføre multi-task finjustering, som oppnår rimelige beregninger for vårt kundeserviceteam.
Modellutplassering
I vårt brukstilfelle skal e-postklassifisereren distribueres til et endepunkt, som vår CRM-pipeline kan sende en gruppe uklassifiserte e-poster til og få tilbake spådommer til. Fordi vi har andre logikker – for eksempel rensing av inngangsdata og spådommer om flere oppgaver – i tillegg til Hugging Face-modellslutning, må vi skrive et tilpasset inferensskript som følger SageMaker standard.
Følgende er en kodebit av inference.py
:
Når alt er oppe og klart, bruker vi SageMaker Pipelines til å administrere treningspipeline og koble den til infrastrukturen vår for å fullføre MLOps-oppsettet vårt.
For å overvåke ytelsen til den distribuerte modellen bygger vi en tilbakemeldingssløyfe for å gjøre det mulig for CRM å gi oss statusen til klassifiserte e-poster når saker avsluttes. Basert på denne informasjonen foretar vi justeringer for å forbedre den distribuerte modellen.
konklusjonen
I dette innlegget delte vi hvordan SageMaker legger til rette for datavitenskapsteamet hos Scalable for å administrere livssyklusen til et datavitenskapsprosjekt effektivt, nemlig e-postklassifiseringsprosjektet. Livssyklusen starter med den innledende fasen av dataanalyse og utforskning med SageMaker Studio; går videre til modelleksperimentering og distribusjon med SageMaker-trening, slutninger og DLC-er for Hugging Face; og kompletteres med en opplæringspipeline med SageMaker Pipelines integrert med andre AWS-tjenester. Takket være denne infrastrukturen er vi i stand til å iterere og distribuere nye modeller mer effektivt, og er derfor i stand til å forbedre eksisterende prosesser innenfor Scalable så vel som våre kunders erfaringer.
For å lære mer om Hugging Face og SageMaker, se følgende ressurser:
Om forfatterne
Dr. Sandra Schmid er sjef for dataanalyse i Scalable GmbH. Hun er ansvarlig for datadrevne tilnærminger og brukssaker i selskapet sammen med teamene sine. Hennes hovedfokus er å finne den beste kombinasjonen av maskinlæring og datavitenskapelige modeller og forretningsmål for å få så mye forretningsverdi og effektivitet ut av data som mulig.
Huy Dang Dataforsker hos Scalable GmbH. Hans ansvar inkluderer dataanalyse, bygging og distribusjon av maskinlæringsmodeller, samt utvikling og vedlikehold av infrastruktur for datavitenskapsteamet. På fritiden liker han å lese, gå på fotturer, klatre og holde seg oppdatert på de siste maskinlæringsutviklingene.
Mia Chang er en ML Specialist Solutions Architect for Amazon Web Services. Hun jobber med kunder i EMEA og deler beste praksis for å kjøre AI/ML-arbeidsbelastninger på skyen med bakgrunnen hennes innen anvendt matematikk, informatikk og AI/ML. Hun fokuserer på NLP-spesifikke arbeidsmengder, og deler sin erfaring som konferansetaler og bokforfatter. På fritiden liker hun yoga, brettspill og å brygge kaffe.
Moritz Guertler er en Account Executive i Digital Native Businesses-segmentet hos AWS. Han fokuserer på kunder i FinTech-området og støtter dem i å akselerere innovasjon gjennom sikker og skalerbar skyinfrastruktur.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Bil / elbiler, Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- ChartPrime. Hev handelsspillet ditt med ChartPrime. Tilgang her.
- BlockOffsets. Modernisering av eierskap for miljøkompensasjon. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/accelerate-client-success-management-through-email-classification-with-hugging-face-on-amazon-sagemaker/
- : har
- :er
- :ikke
- :hvor
- $OPP
- 1
- 100
- 13
- 15%
- 17
- 2021
- 26%
- 32
- 500
- 7
- a
- I stand
- Om oss
- ovenfor
- akselerere
- akselerer
- Aksepterer
- adgang
- imøtekomme
- Ifølge
- Logg inn
- kontoer
- nøyaktighet
- oppnår
- tvers
- aktivt
- handlinger
- tilpasse
- legge til
- tillegg
- justeringer
- adoptere
- Fordel
- Etter
- etterpå
- agenter
- AI / ML
- sikte
- tillater
- også
- Amazon
- Amazon SageMaker
- Amazon Web Services
- blant
- an
- analyse
- analytics
- og
- noen
- Apache
- api
- anvendt
- tilnærminger
- hensiktsmessig
- godkjenning
- godkjenne
- arkitektur
- ER
- argumenter
- AS
- tildelt
- At
- feste
- forfatter
- Automatisert
- tilgjengelig
- AWS
- tilbake
- bakgrunn
- Banker
- basen
- basert
- basis
- BE
- fordi
- vært
- være
- Fordeler
- BEST
- beste praksis
- mellom
- borde
- Board Games
- kroppen
- bok
- Branch
- Break
- megling
- bygge
- Bygning
- bygget
- virksomhet
- bedrifter
- men
- by
- CAN
- hovedstad
- Hovedstadens
- fangst
- fanget
- bære
- saken
- saker
- kategorier
- kjeder
- klassifisering
- klassifisert
- Rengjøring
- kunde
- klienter
- klatring
- Lukke
- stengt
- Cloud
- sky infrastruktur
- kode
- kodebase
- koder
- Kaffe
- samarbeid
- kombinasjon
- kommer
- forplikte
- kommunisere
- Selskapet
- Selskapets
- sammenlign
- fullføre
- Fullfører
- komponenter
- Beregn
- datamaskin
- informatikk
- Konferanse
- forvirring
- konsistent
- består
- Konsoll
- Containere
- innhold
- innhold
- korrigere
- CRM
- CSS
- vaktmester
- skikk
- kunde
- Kunder
- daglig
- dato
- dataanalyse
- Data Analytics
- Dataklargjøring
- datavitenskap
- dataforsker
- data-drevet
- Dato
- bestemme
- besluttet
- dedikert
- dyp
- dyp læring
- Misligholde
- definere
- definert
- definisjoner
- demokrat
- demonstrere
- utplassere
- utplassert
- utplasserings
- distribusjon
- Distribueres
- utforming
- detalj
- utvikle
- utvikle
- Utvikling
- utviklingen
- forskjellig
- digitalt
- digital formueforvaltning
- ned
- to
- hver enkelt
- lett
- effektivitet
- effektivt
- ellers
- emalje
- e-post
- EMEA
- ansatte
- muliggjøre
- Endpoint
- engasjert
- sikre
- Miljø
- epoke
- spesielt
- Europa
- evaluere
- evaluering
- Event
- alt
- utvikle seg
- undersøke
- eksempel
- Excellence
- utøvende
- eksisterende
- forventning
- forventninger
- forventet
- erfaring
- erfaren
- Erfaringer
- eksperiment
- eksperimenter
- leting
- Utforskende dataanalyse
- utforske
- ekstra
- f1
- Face
- legge til rette
- forenkler
- Mote
- raskere
- raskeste
- raskest voksende
- tilbakemelding
- Figur
- finansiell
- finne
- fintech
- fintechs
- Først
- første steg
- flate
- Fokus
- fokuserer
- etter
- Til
- skjema
- format
- Gratis
- fra
- funksjon
- framtid
- Gevinst
- Games
- gateway
- generell
- generere
- få
- GitHub
- GmBH
- Mål
- Økende
- Gjest
- gjest innlegg
- HAD
- Ha
- he
- hode
- .
- her
- hans
- historisk
- vert
- Hvordan
- HTML
- http
- HTTPS
- Hundrevis
- identifisert
- if
- iverksette
- implementere
- forbedre
- in
- inkludere
- Innkommende
- Øke
- økt
- informasjon
- Infrastruktur
- innledende
- Innovasjon
- innovative
- inngang
- forespørsler
- forespørsel
- integrert
- Intelligent
- interessert
- inn
- introdusere
- Investere
- investering
- påkaller
- IT
- køyring
- DET ER
- Jobb
- JSON
- Hold
- nøkkel
- Etiketten
- etiketter
- Språk
- største
- siste
- ledende
- LÆRE
- læring
- Livssyklus
- linje
- laste
- lokal
- logg
- logget
- ser
- tap
- maskin
- maskinlæring
- laget
- Vedlike
- gjøre
- Making
- administrer
- fikk til
- ledelse
- administrerende
- marked
- Markets
- matematikk
- Matrix
- Flett
- slå sammen hendelse
- meldinger
- metode
- metrisk
- Metrics
- kunne
- ML
- MLOps
- modell
- modeller
- Moderne
- Overvåke
- månedlig
- mer
- trekk
- mye
- flere
- navn
- nemlig
- innfødt
- Naturlig
- Natural Language Processing
- Natur
- Trenger
- behov
- nettverk
- nevrale
- nevrale nettverket
- Ny
- neste
- nlp
- bærbare
- nå
- Antall
- of
- Tilbud
- on
- ONE
- seg
- bare
- operasjonell
- or
- rekkefølge
- original
- Annen
- ellers
- vår
- ut
- produksjon
- utenfor
- enn
- del
- delta
- Utfør
- ytelse
- fase
- plukket
- rørledning
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- mulig
- Post
- praksis
- Precision
- prediksjon
- Spådommer
- forberedelse
- forrige
- primære
- privat
- prosess
- Prosesser
- prosessering
- produsert
- Produksjon
- produktivitet
- Produkter
- prosjekt
- prosjekter
- ordentlig
- prototype
- gi
- gir
- offentlig
- publisert
- formål
- Skyv
- spørsmål
- raskt
- sitater
- heve
- Sats
- Raw
- nådd
- Lese
- Lesning
- klar
- rimelig
- mottar
- poster
- Redusert
- referere
- avgrense
- regex
- registrere
- registret
- relevant
- pålitelig
- fjernkontroll
- fjerne
- rapporterer
- representasjon
- anmode
- forespørsler
- påkrevd
- løst
- Ressurser
- de
- svare
- svar
- svar
- ansvar
- ansvarlig
- resultere
- retur
- robust
- Rock
- rennende
- sagemaker
- SageMaker-rørledninger
- samme
- skalerbar
- Skala
- Vitenskap
- Forsker
- forskere
- script
- Seksjon
- seksjoner
- sikre
- segmentet
- send
- separat
- Sequence
- betjene
- tjeneste
- Tjenester
- oppsett
- formet
- delt
- Aksjer
- hun
- Viser
- signaturer
- Enkelt
- samtidig
- ferdigheter
- mindre
- tekstutdrag
- So
- løsning
- Solutions
- LØSE
- snart
- Rom
- Høyttaler
- spesialist
- spesialister
- spesifikk
- spesielt
- Scene
- Begynn
- Start
- starter
- state-of-the-art
- status
- blir
- Trinn
- Steps
- lagring
- lagret
- lagring
- effektivisere
- studio
- emne
- suksess
- slik
- Støtter
- sikker
- Ta
- Oppgave
- oppgaver
- lag
- lag
- Teknisk
- titus
- test
- Testing
- tekst
- enn
- Takk
- Det
- De
- deres
- Dem
- deretter
- Der.
- derfor
- de
- denne
- tusener
- tre
- Gjennom
- tid
- til
- sammen
- verktøy
- Tema
- lommelykt
- spor
- trading
- trading Platform
- Tog
- trent
- Kurs
- transformator
- transformers
- enormt
- SVING
- to
- typen
- typer
- oppdateringer
- us
- bruke
- bruk sak
- brukt
- Bruker
- Brukererfaring
- bruker
- ved hjelp av
- VALIDERE
- validering
- verdi
- versjon
- venter
- var
- we
- Rikdom
- formuesforvaltning
- web
- webtjenester
- VI VIL
- var
- når
- når som helst
- hvilken
- mens
- med
- innenfor
- uten
- arbeidsflyt
- arbeidsflyt
- virker
- skrive
- yoga
- zephyrnet