Kunstig intelligens
LightAutoML: AutoML-løsning til et stort økosystem for finansielle tjenester
Selvom AutoML steg til popularitet for et par år siden, arbejdede det let videre AutoML går tilbage til begyndelsen af 90'erne da videnskabsmænd offentliggjorde de første artikler om hyperparameteroptimering. Det var i 2014, da ICML organiserede den første AutoML-workshop, at AutoML fik ML-udvikleres opmærksomhed. Et af hovedfokuserne gennem årene med AutoML er hyperparametersøgningsproblemet, hvor modellen implementerer en række optimeringsmetoder til at bestemme de bedst ydende hyperparametre i et stort hyperparameterrum for en bestemt maskinlæringsmodel. En anden metode, der almindeligvis implementeres af AutoML-modeller, er at estimere sandsynligheden for, at en bestemt hyperparameter er den optimale hyperparameter for en given maskinlæringsmodel. Modellen opnår dette ved at implementere Bayesianske metoder, der traditionelt bruger historiske data fra tidligere estimerede modeller og andre datasæt. Ud over hyperparameteroptimering forsøger andre metoder at vælge de bedste modeller fra et rum af modelleringsalternativer.
I denne artikel vil vi dække LightAutoML, et AutoML-system udviklet primært til en europæisk virksomhed, der opererer i finanssektoren sammen med dets økosystem. LightAutoML-rammen er implementeret på tværs af forskellige applikationer, og resultaterne demonstrerede overlegen ydeevne, der kan sammenlignes med niveauet for datavidenskabsfolk, selv mens man bygger maskinlæringsmodeller af høj kvalitet. LightAutoML-rammen forsøger at give følgende bidrag. For det første blev LightAutoML-rammen udviklet primært til økosystemet i en stor europæisk finans- og bankinstitution. På grund af sin ramme og arkitektur er LightAutoML-rammeværket i stand til at overgå de nyeste AutoML-rammeværker på tværs af flere åbne benchmarks såvel som økosystemapplikationer. Ydeevnen af LightAutoML-rammeværket sammenlignes også med modeller, der er tunet manuelt af dataforskere, og resultaterne indikerede stærkere ydeevne af LightAutoML-rammeværket.
Denne artikel har til formål at dække LightAutoML-rammeværket i dybden, og vi udforsker mekanismen, metodologien, arkitekturen af rammeværket sammen med dets sammenligning med state-of-the-art rammer. Så lad os komme i gang.
LightAutoML: En AutoML Framework for Financial Services
Selvom forskere først begyndte at arbejde på AutoML i midten og begyndelsen af 90'erne, tiltrak AutoML en stor del af opmærksomheden i løbet af de sidste par år, med nogle af de fremtrædende industrielle løsninger, der implementerer automatisk byggede Machine Learning-modeller, er Amazons AutoGluon, DarwinAI, H20.ai , IBM Watson AI, Microsoft AzureML og meget mere. Et flertal af disse rammer implementerer en AutoML-løsning til generelle formål, der udvikler ML-baserede modeller automatisk på tværs af forskellige klasser af applikationer på tværs af finansielle tjenester, sundhedspleje, uddannelse og mere. Nøgleantagelsen bag denne horisontale generiske tilgang er, at processen med at udvikle automatiske modeller forbliver identisk på tværs af alle applikationer. LightAutoML-rammen implementerer dog en vertikal tilgang til at udvikle en AutoML-løsning, der ikke er generisk, men snarere tilgodeser individuelle applikationers behov, i dette tilfælde en stor finansiel institution. LightAutoML-rammen er en vertikal AutoML-løsning, der fokuserer på kravene til det komplekse økosystem sammen med dets egenskaber. For det første giver LightAutoML-rammen hurtig og næsten optimal hyperparametersøgning. Selvom modellen ikke optimerer disse hyperparametre direkte, formår den at levere tilfredsstillende resultater. Desuden holder modellen balancen mellem hastighed og hyperparameteroptimering dynamisk, for at sikre, at modellen er optimal på små problemer og hurtig nok på større. For det andet begrænser LightAutoML-rammen udvalget af maskinlæringsmodeller målrettet til kun to typer: lineære modeller og GBM'er eller gradientboostede beslutningstræer i stedet for at implementere store ensembler af forskellige algoritmer. Den primære årsag til at begrænse rækken af maskinlæringsmodeller er at fremskynde eksekveringstiden for LightAutoML-rammeværket uden at påvirke ydeevnen negativt for den givne type problem og data. For det tredje præsenterer LightAutoML-rammen en unik metode til at vælge forbehandlingsskemaer for forskellige funktioner, der bruges i modellerne, på grundlag af visse udvælgelsesregler og meta-statistik. LightAutoML-rammen evalueres på en bred vifte af åbne datakilder på tværs af en bred vifte af applikationer.
LightAutoML: Metodik og arkitektur
LightAutoML-rammen består af moduler kendt som Presets, der er dedikeret til end-to-end modeludvikling til typiske maskinlæringsopgaver. På nuværende tidspunkt understøtter LightAutoML-rammen forudindstillede moduler. For det første fokuserer TabularAutoML Preset på at løse klassiske maskinlæringsproblemer, der er defineret på tabelformede datasæt. For det andet implementerer White-Box Preset simple fortolkbare algoritmer såsom logistisk regression i stedet for WoE eller Weight of Evidence-kodning og diskretiserede funktioner til at løse binære klassifikationsopgaver på tabeldata. Implementering af simple fortolkbare algoritmer er en almindelig praksis for at modellere sandsynligheden for en applikation på grund af de fortolkningsbegrænsninger, som forskellige faktorer udgør. For det tredje er NLP Preset i stand til at kombinere tabeldata med NLP eller Natural Language Processing værktøjer, herunder forudtrænede deep learning-modeller og specifikke funktionsudtrækkere. Endelig arbejder CV Preset med billeddata ved hjælp af nogle grundlæggende værktøjer. Det er vigtigt at bemærke, at selvom LightAutoML-modellen understøtter alle fire forudindstillinger, bruger frameworket kun TabularAutoML i produktionsniveausystemet.
Den typiske pipeline af LightAutoML-rammeværket er inkluderet i det følgende billede.
Hver rørledning indeholder tre komponenter. For det første udfører Reader, et objekt, der modtager opgavetype og rådata som input, vigtige metadataberegninger, renser de indledende data og finder ud af de datamanipulationer, der skal udføres, før de tilpasser forskellige modeller. Dernæst indeholder LightAutoML indre datasæt CV iteratorer og metadata, der implementerer valideringsskemaer for datasættene. Den tredje komponent er de flere maskinlæringspipelines, der er stablet og/eller blandet for at få en enkelt forudsigelse. En maskinlæringspipeline inden for arkitekturen i LightAutoML-rammeværket er en af flere maskinlæringsmodeller, der deler et enkelt datavaliderings- og forbehandlingsskema. Forbehandlingstrinnet kan have op til to funktionsudvælgelsestrin, et feature engineering-trin eller kan være tomt, hvis der ikke er behov for forbehandling. ML-pipelines kan beregnes uafhængigt på de samme datasæt og derefter blandes sammen ved hjælp af gennemsnitsberegning (eller vægtet gennemsnit). Alternativt kan et stable-ensembleskema bruges til at bygge ensemblearkitekturer på flere niveauer.
LightAutoML Tabular Preset
Inden for LightAutoML-rammen er TabularAutoML standardpipeline, og den er implementeret i modellen til at løse tre typer opgaver på tabeldata: binær klassifikation, regression og multi-class klassificering for en bred vifte af præstationsmålinger og tabsfunktioner. En tabel med følgende fire kolonner: kategoriske træk, numeriske træk, tidsstempler og en enkelt målkolonne med klasseetiketter eller kontinuerlig værdi føres til TabularAutoML-komponenten som input. Et af de primære mål bag designet af LightAutoML-rammeværket var at designe et værktøj til hurtig hypotesetestning, en væsentlig årsag til, at rammeværket undgår at bruge brute-force-metoder til pipeline-optimering og kun fokuserer på effektivitetsteknikker og -modeller, der fungerer på tværs af en bred vifte af datasæt.
Automatisk indtastning og dataforbehandling
For at håndtere forskellige typer funktioner på forskellige måder, skal modellen kende hver funktionstype. I den situation, hvor der er en enkelt opgave med et lille datasæt, kan brugeren manuelt angive hver funktionstype. At specificere hver funktionstype manuelt er imidlertid ikke længere en levedygtig mulighed i situationer, der omfatter hundredvis af opgaver med datasæt, der indeholder tusindvis af funktioner. For TabularAutoML-forudindstillingen skal LightAutoML-rammen kortlægge funktioner i tre klasser: numerisk, kategori og datotid. En enkel og indlysende løsning er at bruge kolonnearray-datatyper som faktiske funktionstyper, det vil sige at kortlægge float/int-kolonner til numeriske funktioner, tidsstempel eller streng, der kunne parses som et tidsstempel - til datetime og andre til kategori. Denne kortlægning er dog ikke den bedste på grund af den hyppige forekomst af numeriske datatyper i kategorikolonner.
Valideringsordninger
Valideringsordninger er en vital komponent i AutoML-rammeværker, da data i branchen kan ændres over tid, og dette ændringselement gør IID eller Independent Identically Distributed antagelser irrelevante, når modellen udvikles. AutoML-modeller anvender valideringsskemaer til at estimere deres ydeevne, søge efter hyperparametre og generere forudsigelse uden for fold. TabularAutoML-pipelinen implementerer tre valideringsskemaer:
- KFold krydsvalidering: KFold-krydsvalidering er standardvalideringsskemaet for TabularAutoML-pipelinen inklusive GroupKFold til adfærdsmodeller og stratificeret KFold til klassifikationsopgaver.
- Holdout-validering: Holdout-valideringsskemaet implementeres, hvis holdout-sættet er angivet.
- Tilpassede valideringsskemaer: Brugerdefinerede valideringsskemaer kan oprettes af brugere afhængigt af deres individuelle krav. Tilpassede valideringsskemaer inkluderer krydsvalidering og tidsserieopdelingsskemaer.
Funktionsvalg
Selvom valg af funktioner er et afgørende aspekt ved udvikling af modeller i henhold til industristandarder, da det letter reduktion af slutnings- og modelimplementeringsomkostninger, fokuserer et flertal af AutoML-løsninger ikke meget på dette problem. Tværtimod implementerer TabularAutoML-pipelinen tre funktionsudvælgelsesstrategier: Ingen udvælgelse, Vigtighedsafskåret valg og Vigtighedsbaseret fremadvalg. Ud af de tre er strategi for valg af funktionsvalg af betydning som standard. Desuden er der to primære måder at estimere egenskabernes betydning på: split-baseret træ-vigtighed og permutations-betydning af GBM-model eller gradient boostet beslutning træer. Det primære formål med udvælgelse af vigtighed er at afvise funktioner, der ikke er nyttige for modellen, hvilket giver modellen mulighed for at reducere antallet af funktioner uden at påvirke ydeevnen negativt, en tilgang der kan fremskynde modelslutning og træning.
Ovenstående billede sammenligner forskellige udvælgelsesstrategier på binære bankdatasæt.
Tuning af hyperparameter
TabularAutoML-pipelinen implementerer forskellige tilgange til at tune hyperparametre på basis af, hvad der er tunet.
- Tidlig stop af hyperparameterjustering vælger antallet af iterationer for alle modeller under træningsfasen.
- Expert System Hyperparameter Tuning er en enkel måde at indstille hyperparametre for modeller på en tilfredsstillende måde. Det forhindrer den endelige model i et højt fald i score sammenlignet med hårdttunede modeller.
- Træstruktureret Parzen Estimation eller TPE til GBM- eller gradientboostede beslutningstræmodeller. TPE er en blandet tuning-strategi, der er standardvalget i LightAutoML-pipelinen. For hver GMB-ramme træner LightAutoML-rammeværket to modeller: den første får eksperthyperparametre, den anden er finjusteret til at passe ind i tidsbudgettet.
- Grid Search Hyperparameter Tuning er implementeret i TabularAutoML-pipelinen for at finjustere regulariseringsparametrene for en lineær model sammen med tidlig stop og varm start.
Modellen tuner alle parametrene ved at maksimere den metriske funktion, enten defineret af brugeren eller er standard for den løste opgave.
LightAutoML: Eksperiment og ydeevne
For at evaluere ydeevnen sammenlignes TabularAutoML-forudindstillingen inden for LightAutoML-rammen med allerede eksisterende open source-løsninger på tværs af forskellige opgaver og cementerer den overlegne ydeevne af LightAutoML-rammen. Først udføres sammenligningen på OpenML benchmark, der evalueres på 35 binære og multiklasse klassifikationsopgavedatasæt. Følgende tabel opsummerer sammenligningen af LightAutoML-rammen med eksisterende AutoML-systemer.
Som det kan ses, overgår LightAutoML-rammen alle andre AutoML-systemer på 20 datasæt inden for benchmark. Følgende tabel indeholder den detaljerede sammenligning i datasætkonteksten, hvilket indikerer, at LightAutoML leverer forskellig ydeevne på forskellige klasser af opgaver. For binære klassifikationsopgaver kommer LightAutoML til kort i ydeevne, hvorimod LightAutoML-rammeværket for opgaver med en høj mængde data leverer overlegen ydeevne.
Følgende tabel sammenligner ydeevnen af LightAutoML framework med AutoML-systemer på 15 bankdatasæt, der indeholder et sæt af forskellige binære klassifikationsopgaver. Som det kan ses, overgår LightAutoML alle AutoML-løsninger på 12 ud af 15 datasæt, en gevinstprocent på 80.
Afsluttende tanker
I denne artikel har vi talt om LightAutoML, et AutoML-system udviklet primært til en europæisk virksomhed, der opererer i finanssektoren sammen med dets økosystem. LightAutoML-rammen er implementeret på tværs af forskellige applikationer, og resultaterne demonstrerede overlegen ydeevne, der kan sammenlignes med niveauet for datavidenskabsfolk, selv mens man bygger maskinlæringsmodeller af høj kvalitet. LightAutoML-rammen forsøger at give følgende bidrag. For det første blev LightAutoML-rammen udviklet primært til økosystemet i en stor europæisk finans- og bankinstitution. På grund af sin ramme og arkitektur er LightAutoML-rammeværket i stand til at overgå de nyeste AutoML-rammeværker på tværs af flere åbne benchmarks såvel som økosystemapplikationer. Ydeevnen af LightAutoML-rammeværket sammenlignes også med modeller, der er tunet manuelt af dataforskere, og resultaterne indikerede stærkere ydeevne af LightAutoML-rammeværket.