Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon-webservices

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon-webservices

Dit bericht is mede geschreven door Anatoly Khomenko, Machine Learning Engineer, en Abdenour Bezzouh, Chief Technology Officer bij Talent.com.

Opgericht in 2011, Talent. com is een van de grootste bronnen van werkgelegenheid ter wereld. Het bedrijf combineert betaalde vacatures van hun klanten met openbare vacatures in รฉรฉn doorzoekbaar platform. Met meer dan 30 miljoen banen in meer dan 75 landen bedient Talent.com banen in vele talen, sectoren en distributiekanalen. Het resultaat is een platform dat miljoenen werkzoekenden matcht met beschikbare banen.

De missie van Talent.com is om alle beschikbare vacatures op internet te centraliseren om werkzoekenden te helpen hun beste match te vinden en hen tegelijkertijd de beste zoekervaring te bieden. De nadruk ligt op relevantie, omdat de volgorde van de aanbevolen banen van cruciaal belang is om de banen weer te geven die het meest relevant zijn voor de interesses van gebruikers. De prestaties van het matching-algoritme van Talent.com zijn van cruciaal belang voor het succes van het bedrijf en leveren een belangrijke bijdrage aan de gebruikerservaring. Het is een uitdaging om te voorspellen welke banen relevant zijn voor een werkzoekende op basis van de beperkte hoeveelheid verstrekte informatie, meestal beperkt tot een paar trefwoorden en een locatie.

Met het oog op deze missie hebben Talent.com en AWS hun krachten gebundeld om een โ€‹โ€‹functie-aanbevelingsmachine te creรซren die gebruikmaakt van de modernste natuurlijke taalverwerking (NLP) en deep learning-modeltrainingstechnieken met Amazon Sage Maker om werkzoekenden een ongeรซvenaarde ervaring te bieden. Dit bericht toont onze gezamenlijke aanpak voor het ontwerpen van een functieaanbevelingssysteem, inclusief feature-engineering, deep learning-modelarchitectuurontwerp, hyperparameteroptimalisatie en modelevaluatie die de betrouwbaarheid en effectiviteit van onze oplossing voor zowel werkzoekenden als werkgevers garandeert. Het systeem is ontwikkeld door een team van toegewijde wetenschappers op het gebied van toegepaste machine learning (ML), ML-ingenieurs en vakexperts in samenwerking tussen AWS en Talent.com.

Het aanbevelingssysteem heeft geleid tot een stijging van de klikfrequentie (CTR) met 8.6% bij online A/B-testen ten opzichte van een eerdere op XGBoost gebaseerde oplossing, waardoor miljoenen Talent.com-gebruikers aan betere banen zijn geholpen.

Overzicht van de oplossing

Een overzicht van het systeem wordt geรฏllustreerd in de volgende afbeelding. Het systeem neemt de zoekopdracht van een gebruiker als invoer en geeft als uitvoer een gerangschikte lijst met banen in volgorde van relevantie. De relevantie van een baan wordt gemeten aan de hand van de klikkans (de kans dat een werkzoekende op een baan klikt voor meer informatie).

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het systeem omvat vier hoofdcomponenten:

  • Model architectuur โ€“ De kern van deze taakaanbevelingsengine is een op deep learning gebaseerd Triple Tower Pointwise-model, dat een query-encoder bevat die zoekopdrachten van gebruikers codeert, een document-encoder die de functiebeschrijvingen codeert, en een interactie-encoder die de eerdere gebruikerstaak verwerkt interactie kenmerken. De outputs van de drie torens worden aaneengeschakeld en door een classificatiekop geleid om de klikkansen van de taak te voorspellen. Door dit model te trainen op zoekopdrachten, functiespecificaties en historische gebruikersinteractiegegevens van Talent.com, biedt dit systeem gepersonaliseerde en zeer relevante functieaanbevelingen aan werkzoekenden.
  • Functie-engineering โ€“ We voeren twee sets feature-engineering uit om waardevolle informatie uit invoergegevens te extraheren en deze in de overeenkomstige torens in het model in te voeren. De twee sets zijn voorzien van standaardfuncties en verfijnde Sentence-BERT (SBERT)-inbedding. We gebruiken de standaard ontworpen functies als invoer in de interactie-encoder en voeren de van SBERT afgeleide inbedding in de query-encoder en document-encoder in.
  • Modeloptimalisatie en afstemming โ€“ We gebruiken geavanceerde trainingsmethodologieรซn om het systeem met SageMaker te trainen, testen en implementeren. Dit omvat SageMaker Distributed Data Parallel (DDP) training, SageMaker Automatic Model Tuning (AMT), leersnelheidsplanning en vroegtijdig stoppen om de modelprestaties en trainingssnelheid te verbeteren. Het gebruik van het DDP-trainingsframework heeft ertoe bijgedragen dat onze modeltraining ongeveer acht keer zo snel is verlopen.
  • Modelevaluatie โ€“ We voeren zowel offline als online evaluaties uit. We evalueren de modelprestaties met Area Under the Curve (AUC) en Mean Average Precision at K (mAP@K) in offline evaluatie. Tijdens online A/B-testen evalueren we de CTR-verbeteringen.

In de volgende secties presenteren we de details van deze vier componenten.

Architectuurontwerp voor diepgaand leren

We ontwerpen een Triple Tower Deep Pointwise (TTDP)-model met behulp van een triple-tower deep learning-architectuur en de pointwise pair-modelleringsaanpak. De drievoudige torenarchitectuur biedt drie parallelle diepe neurale netwerken, waarbij elke toren onafhankelijk een reeks functies verwerkt. Dankzij dit ontwerppatroon kan het model verschillende representaties uit verschillende informatiebronnen leren. Nadat de representaties van alle drie de torens zijn verkregen, worden ze samengevoegd en door een classificatiekop gevoerd om de uiteindelijke voorspelling (0โ€“1) te maken over de klikkans (een puntsgewijze modelleringsopstelling).

De drie torens krijgen een naam op basis van de informatie die ze verwerken: de query-encoder verwerkt de zoekopdracht van de gebruiker, de document-encoder verwerkt de documentatie-inhoud van de kandidaat-functie, inclusief de functietitel en bedrijfsnaam, en de interactie-encoder gebruikt relevante functies die zijn ontleend aan eerdere gebruikersinteracties en geschiedenis (meer besproken in de volgende sectie).

Elk van deze torens speelt een cruciale rol bij het leren hoe u banen kunt aanbevelen:

  • Query-encoder โ€“ De query-encoder neemt de SBERT-insluitingen op die zijn afgeleid van de zoekopdracht naar een baan van de gebruiker. We verbeteren de inbedding via een SBERT-model dat we hebben verfijnd. Deze encoder verwerkt en begrijpt de intentie van de gebruiker om naar een baan te zoeken, inclusief details en nuances die zijn vastgelegd door onze domeinspecifieke insluitingen.
  • Document-encoder โ€“ De documentencoder verwerkt de informatie van elke vacature. Concreet worden de SBERT-insluitingen van de samengevoegde tekst uit de functietitel en het bedrijf overgenomen. De intuรฏtie is dat gebruikers meer geรฏnteresseerd zullen zijn in kandidaatfuncties die relevanter zijn voor de zoekopdracht. Door de banen en de zoekopdrachten in dezelfde vectorruimte (gedefinieerd door SBERT) in kaart te brengen, kan het model leren de waarschijnlijkheid te voorspellen van de potentiรซle banen waarop een werkzoekende zal klikken.
  • Interactie-encoder โ€“ De interactie-encoder houdt zich bezig met eerdere interacties van de gebruiker met vacatures. De functies worden geproduceerd via een standaard feature-engineeringstap, waaronder het berekenen van populariteitsstatistieken voor functies en bedrijven, het vaststellen van contextgelijkenisscores en het extraheren van interactieparameters uit eerdere gebruikersbetrokkenheid. Het verwerkt ook de benoemde entiteiten die zijn geรฏdentificeerd in de functietitel en zoekopdrachten met een vooraf getraind NER-model (Named Entity Recognition).

Elke toren genereert parallel een onafhankelijke output, die vervolgens allemaal aan elkaar wordt gekoppeld. Deze gecombineerde functievector wordt vervolgens doorgegeven om de klikkans van een vacature voor een gebruikersquery te voorspellen. De architectuur met drie torens biedt flexibiliteit bij het vastleggen van complexe relaties tussen verschillende inputs of functies, waardoor het model kan profiteren van de sterke punten van elke toren en tegelijkertijd meer expressieve representaties voor de gegeven taak kan leren.

De voorspelde klikkansen van kandidaten worden gerangschikt van hoog naar laag, waardoor gepersonaliseerde functie-aanbevelingen worden gegenereerd. Via dit proces zorgen we ervoor dat elk stukje informatie (of het nu gaat om de zoekintentie van de gebruiker, details van de vacature of eerdere interacties) volledig wordt vastgelegd door een specifieke toren die eraan is gewijd. De complexe relaties daartussen worden ook vastgelegd door de combinatie van de torenuitgangen.

Functie-engineering

We voeren twee sets feature-engineeringprocessen uit om waardevolle informatie uit de onbewerkte gegevens te extraheren en deze in de overeenkomstige torens in het model in te voeren: standaard feature-engineering en verfijnde SBERT-inbedding.

Standaard functie-engineering

Ons gegevensvoorbereidingsproces begint met standaardfunctie-engineering. Over het algemeen definiรซren we vier soorten functies:

  • populariteit โ€“ We berekenen populariteitsscores op individueel functieniveau, beroepsniveau en bedrijfsniveau. Dit geeft een indicatie van hoe aantrekkelijk een bepaalde baan of bedrijf zou kunnen zijn.
  • Tekstuele gelijkenis โ€“ Om de contextuele relatie tussen verschillende tekstuele elementen te begrijpen, berekenen we gelijkenisscores, inclusief stringovereenkomst tussen de zoekopdracht en de functietitel. Dit helpt ons de relevantie van een vacature te meten voor de zoek- of sollicitatiegeschiedenis van een werkzoekende.
  • Wisselwerking โ€“ Daarnaast extraheren we interactiekenmerken uit eerdere gebruikersbetrokkenheid bij vacatures. Een goed voorbeeld hiervan is de gelijkenis tussen in het verleden aangeklikte functietitels en functietitels van kandidaten. Deze meting helpt ons de gelijkenis te begrijpen tussen eerdere banen waarin een gebruiker interesse heeft getoond en toekomstige vacatures. Dit verbetert de nauwkeurigheid van onze functieaanbevelingsengine.
  • Profiel โ€“ Ten slotte halen we door de gebruiker gedefinieerde functie-interesse-informatie uit het gebruikersprofiel en vergelijken deze met nieuwe sollicitanten. Dit helpt ons te begrijpen of een sollicitant aansluit bij de interesses van een gebruiker.

Een cruciale stap in onze datavoorbereiding is de toepassing van een vooraf getraind NER-model. Door een NER-model te implementeren, kunnen we benoemde entiteiten identificeren en labelen binnen functietitels en zoekopdrachten. Bijgevolg stelt dit ons in staat om gelijkenisscores tussen deze geรฏdentificeerde entiteiten te berekenen, wat een meer gerichte en contextbewuste maatstaf voor verwantschap oplevert. Deze methodologie vermindert de ruis in onze gegevens en geeft ons een meer genuanceerde, contextgevoelige methode om banen te vergelijken.

Verfijnde SBERT-inbedding

Om de relevantie en nauwkeurigheid van ons functieaanbevelingssysteem te vergroten, maken we gebruik van de kracht van SBERT, een krachtig op transformatoren gebaseerd model, bekend om zijn vaardigheid in het vastleggen van semantische betekenissen en contexten uit tekst. Generieke inbedding zoals SBERT, hoewel effectief, kan echter niet volledig de unieke nuances en terminologieรซn weergeven die inherent zijn aan een specifiek domein als het onze, dat zich concentreert op werkgelegenheid en het zoeken naar werk. Om dit te ondervangen, verfijnen we de SBERT-inbedding met behulp van onze domeinspecifieke gegevens. Dit verfijningsproces optimaliseert het model om de branchespecifieke taal, het jargon en de context beter te begrijpen en te verwerken, waardoor de inbedding beter aansluit bij ons specifieke domein. Als gevolg hiervan bieden de verfijnde inbedding betere prestaties bij het vastleggen van zowel semantische als contextuele informatie binnen ons vakgebied, wat leidt tot nauwkeurigere en betekenisvollere functieaanbevelingen voor onze gebruikers.

De volgende afbeelding illustreert de SBERT-fijnafstemmingsstap.

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

We verfijnen SBERT-inbedding met behulp van TripletVerlies met een cosinusafstandsmetriek die tekstinsluiting leert waarbij anker- en positieve teksten een hogere cosinus-overeenkomst hebben dan anker- en negatieve teksten. Wij gebruiken de zoekopdrachten van gebruikers als ankerteksten. We combineren functietitels en werkgeversnamen als input voor de positieve en negatieve teksten. De positieve teksten zijn afkomstig uit vacatures waar de corresponderende gebruiker op heeft geklikt, terwijl de negatieve teksten afkomstig zijn uit vacatures waar de gebruiker niet op heeft geklikt. Hieronder volgt een voorbeeld van een implementatie van de verfijningsprocedure:

import math
from datetime import datetime from torch.utils.data import DataLoader
from sentence_transformers import (SentenceTransformer, SentencesDataset, LoggingHandler, losses)
from sentence_transformers.readers import InputExample model_name = 'all-mpnet-base-v2'
train_batch_size = 16
num_epochs = 1
model_save_path = (f'output/{model_name}_'+ datetime.now().strftime("%Y-%m-%d_%H-%M-%S")) ### load pre-trained SBERT model
model = SentenceTransformer(model_name, device="cuda") ### construct training dataset of triplet texts,
### stored in three lists (achors, positives, negatives)
train_examples =[]
for anchor, positive, negative in zip(achors, positives, negatives): train_examples.append(InputExample(texts=(anchor, positive, negative))) train_dataset = SentencesDataset(train_examples, model)
train_dataloader = DataLoader(train_dataset, shuffle=True, batch_size=train_batch_size) ### use TripletLoss with cosine distance metric and margin=0.5
distance_metric=losses.TripletDistanceMetric.COSINE
train_loss = losses.TripletLoss(model=model, distance_metric=distance_metric, triplet_margin=0.5) ### 10% of train data for warm-up
warmup_steps = math.ceil(len(train_dataloader) * num_epochs * 0.1) # Train the model
model.fit(train_objectives=[(train_dataloader, train_loss)], epochs=num_epochs, warmup_steps=warmup_steps, output_path=model_save_path)

Modeltraining met SageMaker Distributed Data Parallel

We gebruiken SageMaker Distributed Data Parallel (SMDDP), een functie van het SageMaker ML-platform dat bovenop PyTorch DDP is gebouwd. Het biedt een geoptimaliseerde omgeving voor het uitvoeren van PyTorch DDP-trainingstaken op het SageMaker-platform. Het is ontworpen om de training van deep learning-modellen aanzienlijk te versnellen. Dit wordt bereikt door een grote dataset in kleinere stukken te splitsen en deze over meerdere GPU's te verdelen. Het model wordt op elke GPU gerepliceerd. Elke GPU verwerkt de toegewezen gegevens onafhankelijk en de resultaten worden verzameld en gesynchroniseerd tussen alle GPU's. DDP zorgt voor gradiรซntcommunicatie om modelreplica's gesynchroniseerd te houden en overlapt deze met gradiรซntberekeningen om de training te versnellen. SMDDP maakt gebruik van een geoptimaliseerd AllReduce-algoritme om de communicatie tussen GPU's te minimaliseren, waardoor de synchronisatietijd wordt verkort en de algehele trainingssnelheid wordt verbeterd. Het algoritme past zich aan verschillende netwerkomstandigheden aan, waardoor het zeer efficiรซnt is voor zowel lokale als cloudgebaseerde omgevingen. In de SMDDP-architectuur (zoals weergegeven in de volgende afbeelding) wordt gedistribueerde training ook geschaald met behulp van een cluster van veel knooppunten. Dit betekent niet alleen meerdere GPU's in een computerinstantie, maar ook veel instanties met meerdere GPU's, wat de training verder versnelt.

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Voor meer informatie over deze architectuur raadpleegt u Inleiding tot de gedistribueerde parallelle gegevensbibliotheek van SageMaker.

Met SMDDP hebben we de trainingstijd voor ons TTDP-model aanzienlijk kunnen verkorten, waardoor het acht keer sneller is geworden. Snellere trainingtijden betekenen dat we onze modellen sneller kunnen herhalen en verbeteren, wat leidt tot betere taakaanbevelingen voor onze gebruikers in een kortere tijd. Deze efficiรซntiewinst is van cruciaal belang voor het behoud van de concurrentiekracht van onze functieaanbevelingsmotor op een snel evoluerende arbeidsmarkt.

U kunt uw trainingsscript met de SMDDP aanpassen met slechts drie regels code, zoals weergegeven in het volgende codeblok. Als u PyTorch als voorbeeld gebruikt, hoeft u alleen maar de PyTorch-client van de SMDDP-bibliotheek te importeren (smdistributed.dataparallel.torch.torch_smddp). De klant meldt zich aan smddp als backend voor PyTorch.

import smdistributed.dataparallel.torch.torch_smddp
import torch.distributed as dist dist.init_process_group(backend='smddp')

Nadat u een werkend PyTorch-script hebt dat is aangepast om de parallelle bibliotheek met gedistribueerde gegevens te gebruiken, kunt u dat doen start een gedistribueerde trainingstaak met behulp van de SageMaker Python SDK.

Modelprestaties evalueren

Bij het evalueren van de prestaties van een aanbevelingssysteem is het van cruciaal belang om meetgegevens te kiezen die nauw aansluiten bij de bedrijfsdoelen en een duidelijk inzicht geven in de effectiviteit van het model. In ons geval gebruiken we de AUC om de prestaties van ons TTDP-model voor het voorspellen van vacatures te evalueren, en de mAP@K om de kwaliteit van de uiteindelijk gerangschikte vacatureslijst te beoordelen.

De AUC verwijst naar het gebied onder de ROC-curve (Receiver Operating Characteristic). Het vertegenwoordigt de waarschijnlijkheid dat een willekeurig gekozen positief voorbeeld hoger zal worden gerangschikt dan een willekeurig gekozen negatief voorbeeld. Het varieert van 0โ€“1, waarbij 1 een ideale classificator aangeeft en 0.5 een willekeurige gok. mAP@K is een maatstaf die vaak wordt gebruikt om de kwaliteit van systemen voor het ophalen van informatie te beoordelen, zoals onze functieaanbevelingsengine. Het meet de gemiddelde nauwkeurigheid van het ophalen van de belangrijkste relevante items voor een bepaalde zoekopdracht of gebruiker. Het varieert van 0โ€“1, waarbij 1 de optimale rangschikking aangeeft en 0 de laagst mogelijke precisie bij de gegeven K-waarde. We evalueren de AUC, mAP@1 en mAP@3. Gezamenlijk stellen deze statistieken ons in staat om het vermogen van het model te meten om onderscheid te maken tussen positieve en negatieve klassen (AUC) en het succes ervan bij het rangschikken van de meest relevante items bovenaan (mAP@K).

Op basis van onze offline evaluatie presteerde het TTDP-model beter dan het basismodel (het bestaande op XGBoost gebaseerde productiemodel) met 16.65% voor AUC, 20% voor mAP@1 en 11.82% voor mAP@3.

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Bovendien hebben we een online A/B-test ontworpen om het voorgestelde systeem te evalueren en hebben we de test zes weken lang uitgevoerd op een percentage van de Amerikaanse e-mailpopulatie. In totaal zijn er ongeveer 6 miljoen e-mails verzonden via de taak die door het nieuwe systeem wordt aanbevolen. De resulterende stijging in klikken vergeleken met het vorige productiemodel bedroeg 22%. Talent.com verhoogt geleidelijk het percentage om het nieuwe systeem uit te rollen naar de volledige populatie en kanalen.

Conclusie

Het creรซren van een functieaanbevelingssysteem is een complexe onderneming. Elke werkzoekende heeft unieke behoeften, voorkeuren en professionele ervaringen die niet uit een korte zoekopdracht kunnen worden afgeleid. In dit bericht werkte Talent.com samen met AWS om een โ€‹โ€‹end-to-end, op deep learning gebaseerde oplossing voor het aanbevelen van banen te ontwikkelen die lijsten met banen rangschikt die aan gebruikers kunnen worden aanbevolen. Het Talent.com-team heeft met veel plezier samengewerkt met het AWS-team tijdens het hele proces om dit probleem op te lossen. Dit markeert een belangrijke mijlpaal in de transformatieve reis van Talent.com, omdat het team profiteert van de kracht van deep learning om zijn bedrijf kracht bij te zetten.

Dit project werd verfijnd met behulp van SBERT om tekstinsluitingen te genereren. Op het moment van schrijven werd AWS geรฏntroduceerd Amazon Titan-inbedding als onderdeel van hun fundamentele modellen (FM's) die worden aangeboden via Amazonebodem, een volledig beheerde service die een selectie van goed presterende basismodellen van toonaangevende AI-bedrijven biedt. We moedigen lezers aan om de machine learning-technieken te verkennen die in deze blogpost worden gepresenteerd en gebruik te maken van de mogelijkheden van AWS, zoals SMDDP, terwijl ze gebruik maken van de fundamentele modellen van AWS Bedrock om hun eigen zoekfunctionaliteiten te creรซren.

Referenties


Over de auteurs

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai. Yi Xiang is een Applied Scientist II bij het Amazon Machine Learning Solutions Lab, waar ze AWS-klanten in verschillende sectoren helpt hun AI- en cloud-adoptie te versnellen.

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Tong Wang is een Senior Applied Scientist bij het Amazon Machine Learning Solutions Lab, waar hij AWS-klanten in verschillende sectoren helpt om hun AI- en cloudadoptie te versnellen.

Dmitri BespalovDmitri Bespalov is een Senior Applied Scientist bij het Amazon Machine Learning Solutions Lab, waar hij AWS-klanten in verschillende sectoren helpt om hun AI- en cloudadoptie te versnellen.

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Anatoly Khomenko is een Senior Machine Learning Engineer bij Talent.com met een passie voor natuurlijke taalverwerking, waarbij goede mensen aan goede banen worden gekoppeld.

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Abdenour Bezzouh is een leidinggevende met meer dan 25 jaar ervaring in het bouwen en leveren van technologische oplossingen die opschalen naar miljoenen klanten. Abdenour bekleedde de functie van Chief Technology Officer (CTO) bij Talent. com toen het AWS-team deze specifieke oplossing ontwierp en uitvoerde Talent. com.

Van tekst naar droombaan: een NLP-gebaseerde baanaanbeveler bouwen op Talent.com met Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Dal Jacques is een Senior AI-strateeg binnen het Genative AI Innovation Center, waar hij AWS-klanten helpt zakelijke problemen te vertalen naar AI-oplossingen.

Yanjun QiYanjun Qi is Senior Applied Science Manager bij het Amazon Machine Learning Solution Lab. Ze innoveert en past machine learning toe om AWS-klanten te helpen hun AI- en cloudadoptie te versnellen.

Tijdstempel:

Meer van AWS-machine learning