Amazon SageMaker के साथ Talent.com पर ETL डेटा प्रोसेसिंग को सुव्यवस्थित करना | अमेज़न वेब सेवाएँ

Amazon SageMaker के साथ Talent.com पर ETL डेटा प्रोसेसिंग को सुव्यवस्थित करना | अमेज़न वेब सेवाएँ

यह पोस्ट मशीन लर्निंग इंजीनियर अनातोली खोमेंको और Talent.com के मुख्य प्रौद्योगिकी अधिकारी अब्देनोर बेज़ौह द्वारा सह-लेखक है।

2011 में स्थापित, टैलेंट.कॉम अपने ग्राहकों और सार्वजनिक नौकरी लिस्टिंग से भुगतान की गई नौकरी लिस्टिंग को एकत्रित करता है, और एक एकीकृत, आसानी से खोजने योग्य मंच बनाया है। 30 से अधिक देशों में 75 मिलियन से अधिक नौकरी लिस्टिंग को कवर करते हुए और विभिन्न भाषाओं, उद्योगों और वितरण चैनलों को कवर करते हुए, Talent.com नौकरी चाहने वालों की विविध आवश्यकताओं को पूरा करता है, लाखों नौकरी चाहने वालों को प्रभावी ढंग से नौकरी के अवसरों से जोड़ता है।

Talent.com का मिशन वैश्विक कार्यबल कनेक्शन की सुविधा प्रदान करना है। इसे प्राप्त करने के लिए, Talent.com वेब पर विभिन्न स्रोतों से नौकरी लिस्टिंग एकत्र करता है, नौकरी चाहने वालों को उनके कौशल और अनुभवों के अनुरूप 30 मिलियन से अधिक नौकरी के अवसरों के व्यापक पूल तक पहुंच प्रदान करता है। इस मिशन के अनुरूप, Talent.com ने गहन शिक्षण द्वारा संचालित एक अत्याधुनिक नौकरी अनुशंसा इंजन विकसित करने के लिए AWS के साथ सहयोग किया, जिसका उद्देश्य उपयोगकर्ताओं को उनके करियर को आगे बढ़ाने में सहायता करना है।

इस नौकरी अनुशंसा इंजन के प्रभावी संचालन को सुनिश्चित करने के लिए, Talent.com की समग्र नौकरी लिस्टिंग से सुविधाओं को निकालने और परिष्कृत करने के लिए जिम्मेदार बड़े पैमाने पर डेटा प्रोसेसिंग पाइपलाइन को लागू करना महत्वपूर्ण है। यह पाइपलाइन 5 घंटे से भी कम समय में 1 मिलियन दैनिक रिकॉर्ड संसाधित करने में सक्षम है, और समानांतर में कई दिनों के रिकॉर्ड को संसाधित करने की अनुमति देती है। इसके अलावा, यह समाधान उत्पादन में त्वरित तैनाती की अनुमति देता है। इस पाइपलाइन के लिए डेटा का प्राथमिक स्रोत JSON लाइन्स प्रारूप है, जिसे संग्रहीत किया गया है अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) और तिथि के अनुसार विभाजित। प्रत्येक दिन, इसके परिणामस्वरूप हजारों JSON लाइन्स फ़ाइलें उत्पन्न होती हैं, जिनमें प्रतिदिन वृद्धिशील अद्यतन होते हैं।

इस डेटा प्रोसेसिंग पाइपलाइन का प्राथमिक उद्देश्य Talent.com पर नौकरी अनुशंसा इंजन के प्रशिक्षण और तैनाती के लिए आवश्यक सुविधाओं के निर्माण की सुविधा प्रदान करना है। यह ध्यान देने योग्य है कि इस पाइपलाइन को वृद्धिशील अद्यतनों का समर्थन करना चाहिए और नौकरी अनुशंसा प्रणाली के लिए आवश्यक प्रशिक्षण और तैनाती मॉड्यूल के लिए आवश्यक जटिल सुविधा निष्कर्षण आवश्यकताओं को पूरा करना चाहिए। हमारी पाइपलाइन सामान्य ईटीएल (एक्सट्रैक्ट, ट्रांसफॉर्म और लोड) प्रक्रिया परिवार से संबंधित है जो कई स्रोतों से डेटा को एक बड़े, केंद्रीय भंडार में जोड़ती है।

Talent.com और AWS ने मिलकर अत्याधुनिक प्राकृतिक भाषा प्रसंस्करण और गहन शिक्षण मॉडल प्रशिक्षण तकनीकों का उपयोग करते हुए कैसे सहयोग किया, इसके बारे में अधिक जानकारी के लिए अमेज़न SageMaker नौकरी अनुशंसा प्रणाली तैयार करने के लिए, देखें टेक्स्ट से लेकर सपनों की नौकरी तक: Amazon SageMaker के साथ Talent.com पर एनएलपी-आधारित नौकरी अनुशंसाकर्ता बनाना. सिस्टम में फीचर इंजीनियरिंग, डीप लर्निंग मॉडल आर्किटेक्चर डिज़ाइन, हाइपरपैरामीटर ऑप्टिमाइज़ेशन और मॉडल मूल्यांकन शामिल हैं, जहां सभी मॉड्यूल पायथन का उपयोग करके चलाए जाते हैं।

यह पोस्ट दिखाती है कि कैसे हमने Talent.com पर जॉब अनुशंसा इंजन के लिए सुविधाएँ तैयार करने के लिए बड़े पैमाने पर डेटा प्रोसेसिंग पाइपलाइन बनाने के लिए सेजमेकर का उपयोग किया। परिणामी समाधान एक डेटा वैज्ञानिक को पायथन पुस्तकालयों का उपयोग करके सेजमेकर नोटबुक में फीचर निष्कर्षण पर विचार करने में सक्षम बनाता है, जैसे कि Scikit-जानें or पायटॉर्च, और फिर बड़े पैमाने पर सुविधा निष्कर्षण निष्पादित करते हुए डेटा प्रोसेसिंग पाइपलाइन में उसी कोड को तुरंत तैनात करना। समाधान को PySpark का उपयोग करने के लिए सुविधा निष्कर्षण कोड को पोर्ट करने की आवश्यकता नहीं है, जैसा कि उपयोग करते समय आवश्यक होता है एडब्ल्यूएस गोंद ईटीएल समाधान के रूप में। हमारा समाधान केवल सेजमेकर का उपयोग करके एक डेटा वैज्ञानिक द्वारा शुरू से अंत तक विकसित और तैनात किया जा सकता है, और इसके लिए अन्य ईटीएल समाधानों के ज्ञान की आवश्यकता नहीं है, जैसे कि AWS बैच. यह मशीन लर्निंग (एमएल) पाइपलाइन को उत्पादन में तैनात करने के लिए आवश्यक समय को काफी कम कर सकता है। पाइपलाइन को पायथन के माध्यम से संचालित किया जाता है और फीचर निष्कर्षण वर्कफ़्लो के साथ सहजता से एकीकृत किया जाता है, जो इसे डेटा एनालिटिक्स अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए अनुकूल बनाता है।

समाधान अवलोकन

सेजमेकर प्रोसेसिंग का उपयोग करके ईटीएल पाइपलाइन का अवलोकन

पाइपलाइन में तीन प्राथमिक चरण शामिल हैं:

  1. एक का उपयोग करें अमेज़न SageMaker प्रसंस्करण किसी निर्दिष्ट दिन से जुड़ी कच्ची JSONL फ़ाइलों को संभालने का कार्य। अलग-अलग प्रोसेसिंग जॉब्स द्वारा एक साथ कई दिनों के डेटा को प्रोसेस किया जा सकता है।
  2. रोजगार एडब्ल्यूएस गोंद कई दिनों के डेटा को संसाधित करने के बाद डेटा क्रॉलिंग के लिए।
  3. किसी निर्दिष्ट दिनांक सीमा के लिए SQL का उपयोग करके संसाधित सुविधाओं को लोड करें अमेज़न एथेना टेबल, फिर नौकरी अनुशंसाकर्ता मॉडल को प्रशिक्षित और तैनात करें।

कच्ची JSONL फ़ाइलों को संसाधित करें

हम सेजमेकर प्रोसेसिंग जॉब का उपयोग करके एक निर्दिष्ट दिन के लिए कच्ची JSONL फ़ाइलों को संसाधित करते हैं। कार्य सुविधा निष्कर्षण और डेटा संकलन को कार्यान्वित करता है, और प्रति फ़ाइल 1 मिलियन रिकॉर्ड के साथ संसाधित सुविधाओं को Parquet फ़ाइलों में सहेजता है। हम समानांतर में प्रत्येक कच्ची JSONL फ़ाइल के लिए फीचर निष्कर्षण करने के लिए सीपीयू समानांतरीकरण का लाभ उठाते हैं। प्रत्येक JSONL फ़ाइल के प्रसंस्करण परिणाम एक अस्थायी निर्देशिका के अंदर एक अलग Parquet फ़ाइल में सहेजे जाते हैं। सभी JSONL फ़ाइलों के संसाधित होने के बाद, हम प्रति फ़ाइल 1 मिलियन रिकॉर्ड के साथ हजारों छोटी Parquet फ़ाइलों को कई फ़ाइलों में संकलित करते हैं। फिर कॉम्पैक्ट की गई Parquet फ़ाइलों को प्रोसेसिंग कार्य के आउटपुट के रूप में Amazon S3 में अपलोड किया जाता है। डेटा संकलन पाइपलाइन के अगले चरणों में कुशल क्रॉलिंग और SQL क्वेरी सुनिश्चित करता है।

एक निर्दिष्ट दिन के लिए सेजमेकर प्रोसेसिंग कार्य को शेड्यूल करने के लिए नमूना कोड निम्नलिखित है, उदाहरण के लिए 2020-01-01, सेजमेकर एसडीके का उपयोग करके। कार्य Amazon S3 से कच्ची JSONL फ़ाइलें पढ़ता है (उदाहरण के लिए s3://bucket/raw-data/2020/01/01) और कॉम्पैक्ट Parquet फ़ाइलों को Amazon S3 में सहेजता है (उदाहरण के लिए s3://bucket/processed/table-name/day_partition=2020-01-01/).

### install dependencies %pip install sagemaker pyarrow s3fs awswrangler import sagemaker
import boto3 from sagemaker.processing import FrameworkProcessor
from sagemaker.sklearn.estimator import SKLearn
from sagemaker import get_execution_role
from sagemaker.processing import ProcessingInput, ProcessingOutput region = boto3.session.Session().region_name
role = get_execution_role()
bucket = sagemaker.Session().default_bucket() ### we use instance with 16 CPUs and 128 GiB memory
### note that the script will NOT load the entire data into memory during compaction
### depending on the size of individual jsonl files, larger instance may be needed
instance = "ml.r5.4xlarge"
n_jobs = 8 ### we use 8 process workers
date = "2020-01-01" ### process data for one day est_cls = SKLearn
framework_version_str = "0.20.0" ### schedule processing job
script_processor = FrameworkProcessor( role=role, instance_count=1, instance_type=instance, estimator_cls=est_cls, framework_version=framework_version_str, volume_size_in_gb=500,
) script_processor.run( code="processing_script.py", ### name of the main processing script source_dir="../src/etl/", ### location of source code directory ### our processing script loads raw jsonl files directly from S3 ### this avoids long start-up times of the processing jobs, ### since raw data does not need to be copied into instance inputs=[], ### processing job input is empty outputs=[ ProcessingOutput(destination="s3://bucket/processed/table-name/", source="/opt/ml/processing/output"), ], arguments=[ ### directory with job's output "--output", "/opt/ml/processing/output", ### temporary directory inside instance "--tmp_output", "/opt/ml/tmp_output", "--n_jobs", str(n_jobs), ### number of process workers "--date", date, ### date to process ### location with raw jsonl files in S3 "--path", "s3://bucket/raw-data/", ], wait=False
)

मुख्य स्क्रिप्ट के लिए निम्नलिखित कोड रूपरेखा (processing_script.py) जो सेजमेकर प्रोसेसिंग कार्य चलाता है वह इस प्रकार है:

import concurrent
import pyarrow.dataset as ds
import os
import s3fs
from pathlib import Path ### function to process raw jsonl file and save extracted features into parquet file from process_data import process_jsonl ### parse command line arguments
args = parse_args() ### we use s3fs to crawl S3 input path for raw jsonl files
fs = s3fs.S3FileSystem()
### we assume raw jsonl files are stored in S3 directories partitioned by date
### for example: s3://bucket/raw-data/2020/01/01/
jsons = fs.find(os.path.join(args.path, *args.date.split('-'))) ### temporary directory location inside the Processing job instance
tmp_out = os.path.join(args.tmp_output, f"day_partition={args.date}") ### directory location with job's output
out_dir = os.path.join(args.output, f"day_partition={args.date}") ### process individual jsonl files in parallel using n_jobs process workers
futures=[]
with concurrent.futures.ProcessPoolExecutor(max_workers=args.n_jobs) as executor: for file in jsons: inp_file = Path(file) out_file = os.path.join(tmp_out, inp_file.stem + ".snappy.parquet") ### process_jsonl function reads raw jsonl file from S3 location (inp_file) ### and saves result into parquet file (out_file) inside temporary directory futures.append(executor.submit(process_jsonl, file, out_file)) ### wait until all jsonl files are processed for future in concurrent.futures.as_completed(futures): result = future.result() ### compact parquet files
dataset = ds.dataset(tmp_out) if len(dataset.schema) > 0: ### save compacted parquet files with 1MM records per file ds.write_dataset(dataset, out_dir, format="parquet", max_rows_per_file=1024 * 1024)

स्केलेबिलिटी हमारी पाइपलाइन की एक प्रमुख विशेषता है। सबसे पहले, कई सेजमेकर प्रोसेसिंग नौकरियों का उपयोग एक साथ कई दिनों तक डेटा संसाधित करने के लिए किया जा सकता है। दूसरा, हम प्रत्येक निर्दिष्ट दिन के डेटा को संसाधित करते समय संपूर्ण संसाधित या कच्चे डेटा को एक बार में मेमोरी में लोड करने से बचते हैं। यह उन उदाहरण प्रकारों का उपयोग करके डेटा के प्रसंस्करण को सक्षम बनाता है जो प्राथमिक मेमोरी में पूरे दिन के डेटा को समायोजित नहीं कर सकते हैं। एकमात्र आवश्यकता यह है कि इंस्टेंस प्रकार N कच्चे JSONL या संसाधित Parquet फ़ाइलों को एक साथ मेमोरी में लोड करने में सक्षम होना चाहिए, जिसमें N उपयोग में आने वाले प्रक्रिया श्रमिकों की संख्या है।

AWS ग्लू का उपयोग करके संसाधित डेटा को क्रॉल करें

कई दिनों के सभी कच्चे डेटा को संसाधित करने के बाद, हम AWS ग्लू क्रॉलर का उपयोग करके संपूर्ण डेटासेट से एक एथेना तालिका बना सकते हैं। हम उपयोग करते हैं पांडा के लिए एडब्ल्यूएस एसडीके (awswrangler) निम्नलिखित स्निपेट का उपयोग करके तालिका बनाने के लिए लाइब्रेरी:

import awswrangler as wr ### crawl processed data in S3
res = wr.s3.store_parquet_metadata( path='s3://bucket/processed/table-name/', database="database_name", table="table_name", dataset=True, mode="overwrite", sampling=1.0, path_suffix='.parquet',
) ### print table schema
print(res[0])

प्रशिक्षण के लिए संसाधित सुविधाएँ लोड करें

एक निर्दिष्ट तिथि सीमा के लिए संसाधित सुविधाओं को अब SQL का उपयोग करके एथेना तालिका से लोड किया जा सकता है, और फिर इन सुविधाओं का उपयोग नौकरी अनुशंसाकर्ता मॉडल को प्रशिक्षित करने के लिए किया जा सकता है। उदाहरण के लिए, निम्न स्निपेट एक महीने की संसाधित सुविधाओं को डेटाफ़्रेम में लोड करता है awswrangler पुस्तकालय:

import awswrangler as wr query = """ SELECT * FROM table_name WHERE day_partition BETWEN '2020-01-01' AND '2020-02-01' """ ### load 1 month of data from database_name.table_name into a DataFrame
df = wr.athena.read_sql_query(query, database='database_name')

इसके अतिरिक्त, प्रशिक्षण के लिए संसाधित सुविधाओं को लोड करने के लिए SQL का उपयोग विभिन्न अन्य उपयोग के मामलों को समायोजित करने के लिए बढ़ाया जा सकता है। उदाहरण के लिए, हम दो अलग-अलग एथेना तालिकाओं को बनाए रखने के लिए एक समान पाइपलाइन लागू कर सकते हैं: एक उपयोगकर्ता इंप्रेशन संग्रहीत करने के लिए और दूसरा इन इंप्रेशन पर उपयोगकर्ता क्लिक संग्रहीत करने के लिए। SQL जॉइन स्टेटमेंट का उपयोग करके, हम उन इंप्रेशन को पुनः प्राप्त कर सकते हैं जिन पर उपयोगकर्ताओं ने या तो क्लिक किया या क्लिक नहीं किया और फिर इन इंप्रेशन को मॉडल प्रशिक्षण कार्य में पास कर दिया।

समाधान लाभ

प्रस्तावित समाधान को लागू करने से हमारे मौजूदा वर्कफ़्लो में कई फायदे आते हैं, जिनमें शामिल हैं:

  • सरलीकृत कार्यान्वयन - समाधान लोकप्रिय एमएल पुस्तकालयों का उपयोग करके पायथन में फीचर निष्कर्षण को लागू करने में सक्षम बनाता है। और, इसके लिए कोड को PySpark में पोर्ट करने की आवश्यकता नहीं है। यह सुविधा निष्कर्षण को सुव्यवस्थित करता है क्योंकि एक नोटबुक में डेटा वैज्ञानिक द्वारा विकसित समान कोड को इस पाइपलाइन द्वारा निष्पादित किया जाएगा।
  • त्वरित पथ-से-उत्पादन - बड़े पैमाने पर सुविधा निष्कर्षण करने के लिए डेटा वैज्ञानिक द्वारा समाधान विकसित और तैनात किया जा सकता है, जिससे उन्हें इस डेटा के खिलाफ एमएल अनुशंसा मॉडल विकसित करने में सक्षम बनाया जा सके। साथ ही, उसी समाधान को एमएल इंजीनियर द्वारा थोड़े से संशोधनों के साथ उत्पादन में तैनात किया जा सकता है।
  • रेस की क्षमता - समाधान बड़े पैमाने पर फीचर निष्कर्षण के लिए एक पुन: प्रयोज्य पैटर्न प्रदान करता है, और अनुशंसित मॉडल के निर्माण से परे अन्य उपयोग के मामलों के लिए आसानी से अनुकूलित किया जा सकता है।
  • दक्षता - समाधान अच्छा प्रदर्शन प्रदान करता है: एक ही दिन में प्रसंस्करण टैलेंट.कॉमडेटा प्राप्त करने में 1 घंटे से भी कम समय लगा।
  • वृद्धिशील अद्यतन - समाधान वृद्धिशील अद्यतनों का भी समर्थन करता है। नए दैनिक डेटा को सेजमेकर प्रोसेसिंग जॉब के साथ संसाधित किया जा सकता है, और एथेना तालिका को अपडेट करने के लिए संसाधित डेटा वाले S3 स्थान को फिर से क्रॉल किया जा सकता है। हम आज के डेटा को प्रति दिन कई बार (उदाहरण के लिए, हर 3 घंटे में) अपडेट करने के लिए क्रॉन जॉब का उपयोग भी कर सकते हैं।

हमने Talent.com को प्रति दिन 50,000 मिलियन रिकॉर्ड वाली 5 फ़ाइलों को संसाधित करने में मदद करने के लिए इस ETL पाइपलाइन का उपयोग किया, और Talent.com से 90 दिनों के कच्चे डेटा से निकाली गई सुविधाओं का उपयोग करके प्रशिक्षण डेटा बनाया - 450 फ़ाइलों में कुल 900,000 मिलियन रिकॉर्ड। हमारी पाइपलाइन ने Talent.com को केवल 2 सप्ताह के भीतर अनुशंसा प्रणाली बनाने और उत्पादन में तैनात करने में मदद की। समाधान ने अन्य AWS सेवा का उपयोग किए बिना Amazon SageMaker पर ETL सहित सभी ML प्रक्रियाओं का प्रदर्शन किया। नौकरी अनुशंसा प्रणाली ने पिछले XGBoost-आधारित समाधान के मुकाबले ऑनलाइन ए/बी परीक्षण में क्लिकथ्रू दर में 8.6% की वृद्धि की, जिससे Talent.com के लाखों उपयोगकर्ताओं को बेहतर नौकरियों से जुड़ने में मदद मिली।

निष्कर्ष

यह पोस्ट ईटीएल पाइपलाइन की रूपरेखा तैयार करती है जिसे हमने Talent.com पर नौकरी अनुशंसा मॉडल को प्रशिक्षित करने और तैनात करने के लिए फीचर प्रोसेसिंग के लिए विकसित किया है। हमारी पाइपलाइन बड़े पैमाने पर कुशल डेटा प्रोसेसिंग और फीचर निष्कर्षण के लिए सेजमेकर प्रोसेसिंग नौकरियों का उपयोग करती है। फ़ीचर निष्कर्षण कोड को पायथन में कार्यान्वित किया गया है, जो पाइस्पार्क का उपयोग करने के लिए कोड को पोर्ट करने की आवश्यकता के बिना, बड़े पैमाने पर फ़ीचर निष्कर्षण करने के लिए लोकप्रिय एमएल लाइब्रेरीज़ के उपयोग को सक्षम बनाता है।

हम पाठकों को इस ब्लॉग में प्रस्तुत पाइपलाइन को उनके उपयोग-मामलों के लिए एक टेम्पलेट के रूप में उपयोग करने की संभावना तलाशने के लिए प्रोत्साहित करते हैं जहां बड़े पैमाने पर फीचर निष्कर्षण की आवश्यकता होती है। एमएल मॉडल बनाने के लिए डेटा साइंटिस्ट द्वारा पाइपलाइन का लाभ उठाया जा सकता है, और फिर उसी पाइपलाइन को उत्पादन में चलाने के लिए एमएल इंजीनियर द्वारा अपनाया जा सकता है। यह एमएल समाधान को शुरू से अंत तक उत्पादित करने के लिए आवश्यक समय को काफी कम कर सकता है, जैसा कि Talent.com के मामले में था। पाठक इसका उल्लेख कर सकते हैं सेजमेकर प्रोसेसिंग जॉब्स को स्थापित करने और चलाने के लिए ट्यूटोरियल. हम पाठकों को पोस्ट देखने के लिए भी कहते हैं टेक्स्ट से लेकर सपनों की नौकरी तक: Amazon SageMaker के साथ Talent.com पर एनएलपी-आधारित नौकरी अनुशंसाकर्ता बनाना, जहां हम गहन शिक्षण मॉडल प्रशिक्षण तकनीकों के उपयोग पर चर्चा करते हैं अमेज़न SageMaker Talent.com की नौकरी अनुशंसा प्रणाली का निर्माण करना।


लेखक के बारे में

दिमित्री बेस्पालोवदिमित्री बेस्पालोव अमेज़न मशीन लर्निंग सॉल्यूशंस लैब में एक वरिष्ठ एप्लाइड साइंटिस्ट हैं, जहाँ वे विभिन्न उद्योगों में AWS ग्राहकों को उनके AI और क्लाउड अपनाने में तेजी लाने में मदद करते हैं।

यी जियांगयी जियांग अमेज़ॅन मशीन लर्निंग सॉल्यूशंस लैब में एप्लाइड साइंटिस्ट II है, जहां वह विभिन्न उद्योगों में एडब्ल्यूएस ग्राहकों को एआई और क्लाउड अपनाने में तेजी लाने में मदद करती है।

टोंग वांगटोंग वांग अमेज़न मशीन लर्निंग सॉल्यूशंस लैब में एक वरिष्ठ एप्लाइड साइंटिस्ट हैं, जहाँ वे विभिन्न उद्योगों में AWS ग्राहकों को उनके AI और क्लाउड अपनाने में तेजी लाने में मदद करते हैं।

अनातोली खोमेंकोअनातोली खोमेंको में एक वरिष्ठ मशीन लर्निंग इंजीनियर हैं टैलेंट.कॉम अच्छे लोगों को अच्छी नौकरियों से जोड़ने के लिए प्राकृतिक भाषा प्रसंस्करण के जुनून के साथ।

अब्देनोर बेज़ौहअब्देनोर बेज़ौह वह एक कार्यकारी है जिसके पास लाखों ग्राहकों के लिए प्रौद्योगिकी समाधान बनाने और वितरित करने का 25 वर्षों से अधिक का अनुभव है। एबडेनोर ने मुख्य प्रौद्योगिकी अधिकारी (सीटीओ) का पद संभाला टैलेंट.कॉम जब AWS टीम ने इस विशेष समाधान को डिज़ाइन और क्रियान्वित किया टैलेंट.कॉम.

यंजुन क्यूईयंजुन क्यूई अमेज़न मशीन लर्निंग सॉल्यूशन लैब में सीनियर एप्लाइड साइंस मैनेजर हैं। वह AWS ग्राहकों को उनके AI और क्लाउड अपनाने में तेजी लाने में मदद करने के लिए मशीन लर्निंग में नवाचार करती है और लागू करती है।

समय टिकट:

से अधिक AWS मशीन लर्निंग