Dette er et gæsteindlæg fra Skalerbar kapital, en førende FinTech i Europa, der tilbyder digital formueforvaltning og en mæglerplatform med en fast handelssats.
Som en hurtigtvoksende virksomhed er Scalable Capitals mål ikke kun at opbygge en innovativ, robust og pålidelig infrastruktur, men også at levere de bedste oplevelser for vores kunder, især når det kommer til kundeservice.
Scalable modtager dagligt hundredvis af e-mail-forespørgsler fra vores kunder. Ved at implementere en moderne NLP-model (natural language processing) er responsprocessen blevet formet meget mere effektivt, og ventetiden for klienter er blevet reduceret gevaldigt. Maskinlæringsmodellen (ML) klassificerer nye indgående kundeanmodninger, så snart de ankommer, og omdirigerer dem til foruddefinerede køer, hvilket giver vores dedikerede klientsuccesagenter mulighed for at fokusere på indholdet af e-mails i overensstemmelse med deres færdigheder og give passende svar.
I dette indlæg demonstrerer vi de tekniske fordele ved at bruge Hugging Face-transformere implementeret med Amazon SageMaker, såsom træning og eksperimenter i stor skala og øget produktivitet og omkostningseffektivitet.
Problemformulering
Scalable Capital er en af de hurtigst voksende FinTechs i Europa. Med det formål at demokratisere investeringer giver virksomheden sine kunder nem adgang til de finansielle markeder. Kunder hos Scalable kan aktivt deltage i markedet gennem virksomhedens mæglerhandelsplatform eller bruge Scalable Wealth Management til at investere på en intelligent og automatiseret måde. I 2021 oplevede Scalable Capital en tidobling af sin kundebase, fra titusindvis til hundredtusindvis.
For at give vores kunder en førsteklasses (og konsistent) brugeroplevelse på tværs af produkter og kundeservice, ledte virksomheden efter automatiserede løsninger til at generere effektivitet til en skalerbar løsning, samtidig med at den opretholdte operationelle ekspertise. Scalable Capitals datavidenskab og kundeserviceteams identificerede, at en af de største flaskehalse i at servicere vores kunder var at besvare e-mail-forespørgsler. Konkret var flaskehalsen klassificeringstrinnet, hvor medarbejderne dagligt skulle læse og mærke anmodningstekster. Efter e-mails var blevet dirigeret til deres rette køer, engagerede de respektive specialister sig hurtigt og løste sagerne.
For at strømline denne klassificeringsproces byggede og implementerede datavidenskabsteamet hos Scalable en multitask NLP-model ved hjælp af state-of-the-art transformerarkitektur, baseret på den forudtrænede distilbert-base-tysk-hylster model udgivet af Hugging Face. distilbert-base-tysk-hylster anvender videndestillation metode til at fortræne en mindre generel sprogrepræsentationsmodel end den originale BERT-basismodel. Den destillerede version opnår sammenlignelig ydeevne med den originale version, samtidig med at den er mindre og hurtigere. For at lette vores ML-livscyklusproces besluttede vi at anvende SageMaker til at bygge, implementere, betjene og overvåge vores modeller. I det følgende afsnit introducerer vi vores projektarkitekturdesign.
Løsningsoversigt
Scalable Capitals ML-infrastruktur består af to AWS-konti: en som et miljø for udviklingsfasen og den anden til produktionsfasen.
Følgende diagram viser arbejdsgangen for vores e-mailklassificeringsprojekt, men kan også generaliseres til andre datavidenskabelige projekter.
Arbejdsgangen består af følgende komponenter:
- Modelforsøg – Dataforskere bruger Amazon SageMaker Studio at udføre de første trin i datavidenskabens livscyklus: eksplorativ dataanalyse (EDA), datarensning og forberedelse og opbygning af prototypemodeller. Når den udforskende fase er afsluttet, henvender vi os til VSCode hostet af en SageMaker notebook som vores fjernudviklingsværktøj til at modularisere og producere vores kodebase. For at udforske forskellige typer modeller og modelkonfigurationer, og samtidig holde styr på vores eksperimenter, bruger vi SageMaker Training og SageMaker Experiments.
- Modelbygning – Efter at vi har besluttet os for en model for vores produktionsbrugscase, i dette tilfælde en multi-task distilbert-base-tysk-hylster model, finjusteret fra den fortrænede model fra Hugging Face, vi forpligter og skubber vores kode til Github udvikle filial. Github-fletningshændelsen udløser vores Jenkins CI-pipeline, som igen starter et SageMaker Pipelines-job med testdata. Dette fungerer som en test for at sikre, at koder kører som forventet. Et testendepunkt er implementeret til testformål.
- Modelimplementering – Efter at have sikret sig, at alt kører som forventet, slår dataforskere udviklingsgrenen sammen til den primære gren. Denne fusionsbegivenhed udløser nu et SageMaker Pipelines-job, der bruger produktionsdata til træningsformål. Bagefter produceres modelartefakter og gemmes i et output Amazon Simple Storage Service (Amazon S3) spand, og en ny modelversion er logget i SageMaker-modelregistret. Dataforskere undersøger ydeevnen af den nye model og godkender derefter, om den er i overensstemmelse med forventningerne. Modelgodkendelseshændelsen er fanget af Amazon Eventbridge, som derefter implementerer modellen til et SageMaker-slutpunkt i produktionsmiljøet.
- MLOps – Fordi SageMaker-endepunktet er privat og ikke kan nås af tjenester uden for VPC'et, an AWS Lambda funktion og Amazon API Gateway offentlige slutpunkter er påkrævet for at kommunikere med CRM. Når der kommer nye e-mails i CRM-indbakken, kalder CRM API Gateway's offentlige slutpunkt, hvilket igen udløser Lambda-funktionen til at påkalde det private SageMaker-slutpunkt. Funktionen videresender derefter klassifikationen tilbage til CRM gennem API Gateway public endpoint. For at overvåge ydeevnen af vores implementerede model implementerer vi en feedback-loop mellem CRM og dataforskerne for at holde styr på forudsigelsesmålinger fra modellen. På månedlig basis opdaterer CRM de historiske data, der bruges til eksperimentering og modeltræning. Vi bruger Amazon administrerede arbejdsgange til Apache Airflow (Amazon MWAA) som skemalægger for vores månedlige omskoling.
I de følgende afsnit opdeler vi dataforberedelsen, modeleksperimenteringen og modelimplementeringen mere detaljeret.
Forberedelse af data
Scalable Capital bruger et CRM-værktøj til styring og lagring af e-mail-data. Relevant e-mail-indhold består af emne, krop og depotbanker. Der er tre etiketter, der skal tildeles til hver e-mail: hvilken branche e-mailen er fra, hvilken kø der er passende, og det specifikke emne for e-mailen.
Inden vi begynder at træne eventuelle NLP-modeller, sikrer vi, at inputdataene er rene, og at etiketterne tildeles efter forventning.
For at hente rent forespørgselsindhold fra skalerbare klienter fjerner vi fra rå e-mail-data og ekstra tekst og symboler, såsom e-mail-signaturer, indtryk, citater af tidligere meddelelser i e-mail-kæder, CSS-symboler og så videre. Ellers kan vores fremtidige trænede modeller opleve forringet ydeevne.
Etiketter til e-mails udvikler sig over tid, efterhånden som skalerbare kundeserviceteams tilføjer nye og forfiner eller fjerner eksisterende for at imødekomme forretningsbehov. For at sikre, at etiketter til træningsdata samt forventede klassifikationer til forudsigelse er opdaterede, arbejder datavidenskabsteamet i tæt samarbejde med kundeserviceteamet for at sikre korrektheden af etiketterne.
Modelforsøg
Vi starter vores eksperiment med de let tilgængelige fortrænede distilbert-base-tysk-hylster model udgivet af Hugging Face. Fordi den fortrænede model er en generel sprogrepræsentationsmodel, kan vi tilpasse arkitekturen til at udføre specifikke downstream-opgaver – såsom klassificering og besvarelse af spørgsmål – ved at knytte passende hoveder til det neurale netværk. I vores use case er den downstream-opgave, vi er interesseret i, sekvensklassificering. Uden at ændre eksisterende arkitektur, beslutter vi at finjustere tre separate fortrænede modeller til hver af vores påkrævede kategorier. Med SageMaker Hugging Face Deep Learning Containers (DLC'er), start og administration af NLP-eksperimenter gøres enkelt med Hugging Face-beholdere og SageMaker Experiments API.
Det følgende er et kodestykke af train.py
:
Følgende kode er Hugging Face-estimatoren:
For at validere de finjusterede modeller bruger vi F1-score på grund af den ubalancerede karakter af vores e-mail-datasæt, men også for at beregne andre målinger såsom nøjagtighed, præcision og genkaldelse. For at SageMaker Experiments API kan registrere træningsjobbets metrics, skal vi først logge metrics til træningsjobs lokale konsol, som hentes af amazoncloudwatch. Derefter definerer vi det korrekte regex-format for at fange CloudWatch-logfilerne. De metriske definitioner inkluderer navnet på metrikken og regex-validering til at udtrække metrikken fra træningsjobbet:
Som en del af træningsiterationen for klassificeringsmodellen bruger vi en forvirringsmatrix og klassifikationsrapport til at evaluere resultatet. Følgende figur viser forvirringsmatricen for brancheforudsigelse.
Følgende skærmbillede viser et eksempel på klassificeringsrapporten for brancheforudsigelse.
Som en næste iteration af vores eksperiment, vil vi drage fordel af multi-opgave læring at forbedre vores model. Multi-task learning er en form for træning, hvor en model lærer at løse flere opgaver samtidigt, fordi den delte information mellem opgaverne kan forbedre læringseffektiviteten. Ved at knytte yderligere to klassifikationshoveder til den originale distilbert-arkitektur kan vi udføre multi-task finjustering, som opnår rimelige målinger for vores kundeserviceteam.
Modelimplementering
I vores brugstilfælde skal e-mail-klassificereren implementeres til et slutpunkt, hvortil vores CRM-pipeline kan sende en batch af uklassificerede e-mails og få forudsigelser tilbage. Fordi vi har andre logikker – såsom rensning af inputdata og forudsigelser om flere opgaver – foruden Hugging Face modelslutning, skal vi skrive et brugerdefineret inferensscript, der overholder SageMaker standard.
Det følgende er et kodestykke af inference.py
:
Når alt er klar, bruger vi SageMaker Pipelines til at administrere vores træningspipeline og knytte det til vores infrastruktur for at færdiggøre vores MLOps-opsætning.
For at overvåge ydeevnen af den implementerede model bygger vi en feedback-loop, der gør det muligt for CRM at give os status for klassificerede e-mails, når sager lukkes. Baseret på disse oplysninger foretager vi justeringer for at forbedre den implementerede model.
Konklusion
I dette indlæg delte vi, hvordan SageMaker faciliterer datavidenskabsteamet hos Scalable til at administrere livscyklussen af et datavidenskabsprojekt effektivt, nemlig e-mailklassificeringsprojektet. Livscyklussen starter med den indledende fase af dataanalyse og udforskning med SageMaker Studio; går videre til modeleksperimentering og implementering med SageMaker-træning, inferens og Hugging Face DLC'er; og afsluttes med en træningspipeline med SageMaker Pipelines integreret med andre AWS-tjenester. Takket være denne infrastruktur er vi i stand til at iterere og implementere nye modeller mere effektivt og er derfor i stand til at forbedre eksisterende processer inden for Scalable såvel som vores kunders erfaringer.
For at lære mere om Hugging Face og SageMaker, se følgende ressourcer:
Om forfatterne
Dr. Sandra Schmid er chef for dataanalyse hos Scalable GmbH. Hun er ansvarlig for datadrevne tilgange og use cases i virksomheden sammen med sine teams. Hendes hovedfokus er at finde den bedste kombination af maskinlæring og datavidenskabelige modeller og forretningsmål for at få så meget forretningsværdi og effektivitet ud af data som muligt.
Huy Dang Data Scientist hos Scalable GmbH. Hans ansvar omfatter dataanalyse, opbygning og implementering af maskinlæringsmodeller samt udvikling og vedligeholdelse af infrastruktur for datavidenskabsteamet. I sin fritid nyder han at læse, vandre, klatre og holde sig ajour med den seneste udvikling inden for maskinlæring.
Mia Chang er en ML Specialist Solutions Architect for Amazon Web Services. Hun arbejder med kunder i EMEA og deler bedste praksis for at køre AI/ML-arbejdsbelastninger i skyen med sin baggrund i anvendt matematik, datalogi og AI/ML. Hun fokuserer på NLP-specifikke arbejdsbelastninger og deler sin erfaring som konferencetaler og bogforfatter. I sin fritid nyder hun yoga, brætspil og at brygge kaffe.
Moritz Guertler er Account Executive i Digital Native Businesses-segmentet hos AWS. Han fokuserer på kunder i FinTech-området og støtter dem i at accelerere innovation gennem sikker og skalerbar cloud-infrastruktur.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Automotive/elbiler, Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- ChartPrime. Løft dit handelsspil med ChartPrime. Adgang her.
- BlockOffsets. Modernisering af miljømæssig offset-ejerskab. Adgang 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
- $OP
- 1
- 100
- 13
- 15 %
- 17
- 2021
- 26 %
- 32
- 500
- 7
- a
- I stand
- Om
- over
- fremskynde
- accelererende
- Acceptere
- adgang
- imødekomme
- Ifølge
- Konto
- Konti
- nøjagtighed
- opnår
- tværs
- aktivt
- handlinger
- tilpasse
- tilføje
- Desuden
- justeringer
- vedtage
- Fordel
- Efter
- bagefter
- midler
- AI / ML
- sigte
- tillader
- også
- Amazon
- Amazon SageMaker
- Amazon Web Services
- blandt
- an
- analyse
- analytics
- ,
- enhver
- Apache
- api
- anvendt
- tilgange
- passende
- godkendelse
- Godkend
- arkitektur
- ER
- argumenter
- AS
- tildelt
- At
- vedhæfte
- forfatter
- Automatiseret
- til rådighed
- AWS
- tilbage
- baggrund
- Banker
- bund
- baseret
- grundlag
- BE
- fordi
- været
- være
- fordele
- BEDSTE
- bedste praksis
- mellem
- board
- Brætspil
- krop
- bog
- Branch
- Pause
- mæglervirksomhed
- bygge
- Bygning
- bygget
- virksomhed
- virksomheder
- men
- by
- CAN
- kapital
- Hovedstadens
- fange
- fanget
- bære
- tilfælde
- tilfælde
- kategorier
- kæder
- klassificering
- klassificeret
- Rengøring
- kunde
- kunder
- Klatring
- Luk
- lukket
- Cloud
- sky infrastruktur
- kode
- kodebase
- koder
- Kaffe
- samarbejde
- kombination
- kommer
- begå
- kommunikere
- selskab
- Selskabs
- sammenlignelig
- fuldføre
- Fuldender
- komponenter
- Compute
- computer
- Datalogi
- Konference
- forvirring
- konsekvent
- består
- Konsol
- Beholdere
- indhold
- indhold
- korrigere
- CRM
- CSS
- kontoførende
- skik
- kunde
- Kunder
- dagligt
- data
- dataanalyse
- Dataanalyse
- Dataforberedelse
- datalogi
- dataforsker
- datastyret
- Dato
- beslutte
- besluttede
- dedikeret
- dyb
- dyb læring
- Standard
- definere
- definerede
- definitioner
- demokratisere
- demonstrere
- indsætte
- indsat
- implementering
- implementering
- udruller
- Design
- detail
- udvikle
- udvikling
- Udvikling
- udvikling
- forskellige
- digital
- digital formueforvaltning
- ned
- grund
- hver
- let
- effektivitet
- effektivt
- andet
- emails
- EMEA
- medarbejdere
- muliggøre
- Endpoint
- beskæftiget
- sikre
- Miljø
- epoke
- især
- Europa
- evaluere
- evaluering
- begivenhed
- at alt
- udvikle sig
- undersøge
- eksempel
- Excellence
- udøvende
- eksisterende
- forventning
- forventninger
- forventet
- erfaring
- erfarne
- Oplevelser
- eksperiment
- eksperimenter
- udforskning
- Udforskende dataanalyse
- udforske
- ekstra
- f1
- Ansigtet
- lette
- letter
- Mode
- hurtigere
- hurtigste
- hurtigst voksende
- tilbagemeldinger
- Figur
- finansielle
- finde
- fintech
- fintechs
- Fornavn
- første skridt
- flad
- Fokus
- fokuserer
- efter
- Til
- formular
- format
- Gratis
- fra
- funktion
- fremtiden
- Gevinst
- Spil
- gateway
- generelle formål
- generere
- få
- GitHub
- GmBH
- Mål
- Dyrkning
- Gæst
- gæst Indlæg
- havde
- Have
- he
- hoved
- hoveder
- hende
- hans
- historisk
- hostede
- Hvordan
- HTML
- http
- HTTPS
- Hundreder
- identificeret
- if
- gennemføre
- gennemføre
- Forbedre
- in
- omfatter
- Indgående
- Forøg
- øget
- oplysninger
- Infrastruktur
- initial
- Innovation
- innovativ
- indgang
- Forespørgsler
- undersøgelse
- integreret
- Intelligent
- interesseret
- ind
- indføre
- Invest
- investering
- påberåber sig
- IT
- iteration
- ITS
- Job
- json
- Holde
- Nøgle
- etiket
- Etiketter
- Sprog
- største
- seneste
- førende
- LÆR
- læring
- livscyklus
- Line (linje)
- belastning
- lokale
- log
- logget
- leder
- off
- maskine
- machine learning
- lavet
- Vedligeholdelse
- lave
- Making
- administrere
- lykkedes
- ledelse
- styring
- Marked
- Markeder
- matematik
- Matrix
- Flet
- flette begivenhed
- beskeder
- metode
- metrisk
- Metrics
- måske
- ML
- MLOps
- model
- modeller
- Moderne
- Overvåg
- månedligt
- mere
- bevæger sig
- meget
- flere
- navn
- nemlig
- indfødte
- Natural
- Natural Language Processing
- Natur
- Behov
- behov
- netværk
- neurale
- neurale netværk
- Ny
- næste
- NLP
- notesbog
- nu
- nummer
- of
- Tilbud
- on
- ONE
- dem
- kun
- operationelle
- or
- ordrer
- original
- Andet
- Ellers
- vores
- ud
- output
- uden for
- i løbet af
- del
- deltage
- Udfør
- ydeevne
- fase
- plukket
- pipeline
- perron
- plato
- Platon Data Intelligence
- PlatoData
- mulig
- Indlæg
- praksis
- Precision
- forudsigelse
- Forudsigelser
- forberedelse
- tidligere
- primære
- private
- behandle
- Processer
- forarbejdning
- produceret
- produktion
- produktivitet
- Produkter
- projekt
- projekter
- passende
- prototype
- give
- giver
- offentlige
- offentliggjort
- formål
- Skub ud
- spørgsmål
- hurtigt
- citater
- rejse
- Sats
- Raw
- nået
- Læs
- Læsning
- klar
- rimelige
- modtager
- optegnelser
- Reduceret
- henvise
- raffinere
- regulært udtryk
- register
- register
- relevant
- pålidelig
- fjern
- Fjern
- indberette
- repræsentation
- anmode
- anmodninger
- påkrævet
- løst
- Ressourcer
- dem
- reagere
- svar
- reaktioner
- ansvar
- ansvarlige
- resultere
- afkast
- robust
- klippe
- kører
- sagemaker
- SageMaker Pipelines
- samme
- skalerbar
- Scale
- Videnskab
- Videnskabsmand
- forskere
- script
- Sektion
- sektioner
- sikker
- segment
- send
- adskille
- Sequence
- tjener
- tjeneste
- Tjenester
- setup
- formet
- delt
- Aktier
- hun
- Shows
- Underskrifter
- Simpelt
- samtidigt
- færdigheder
- mindre
- uddrag
- So
- løsninger
- Løsninger
- SOLVE
- snart
- Space
- Højttaler
- specialist
- specialister
- specifikke
- specifikt
- Stage
- starte
- Starter
- starter
- state-of-the-art
- Status
- opholder
- Trin
- Steps
- opbevaring
- opbevaret
- lagring
- strømline
- Studio
- emne
- succes
- sådan
- Understøtter
- sikker
- Tag
- Opgaver
- opgaver
- hold
- hold
- Teknisk
- tiere
- prøve
- Test
- tekst
- end
- Tak
- at
- deres
- Them
- derefter
- Der.
- derfor
- de
- denne
- tusinder
- tre
- Gennem
- tid
- til
- sammen
- værktøj
- emne
- fakkel
- spor
- Trading
- Trading Platform
- Tog
- uddannet
- Kurser
- transformer
- transformers
- enormt
- TUR
- to
- typen
- typer
- opdateringer
- us
- brug
- brug tilfælde
- anvendte
- Bruger
- Brugererfaring
- bruger
- ved brug af
- VALIDATE
- validering
- værdi
- udgave
- Venter
- var
- we
- Rigdom
- formueforvaltning
- web
- webservices
- GODT
- var
- hvornår
- når
- som
- mens
- med
- inden for
- uden
- workflow
- arbejdsgange
- virker
- skriver
- Yoga
- zephyrnet