ٹیبلر ڈیٹا ماڈلنگ کے لیے نئے بلٹ ان Amazon SageMaker الگورتھم: LightGBM، CatBoost، AutoGluon-Tabular، اور TabTransformer

ماخذ نوڈ: 1541386

ایمیزون سیج میکر کا ایک سوٹ فراہم کرتا ہے۔ بلٹ ان الگورتھم, پہلے سے تربیت یافتہ ماڈلز، اور پری بلٹ حل ٹیمپلیٹس ڈیٹا سائنسدانوں اور مشین لرننگ (ML) پریکٹیشنرز کو ML ماڈلز کو تیزی سے تربیت اور تعینات کرنے میں مدد کرنے کے لیے۔ آپ ان الگورتھم اور ماڈلز کو زیر نگرانی اور غیر زیر نگرانی سیکھنے کے لیے استعمال کر سکتے ہیں۔ وہ مختلف قسم کے ان پٹ ڈیٹا پر کارروائی کر سکتے ہیں، بشمول ٹیبلر، تصویر اور متن۔

آج سے، SageMaker چار نئے بلٹ ان ٹیبلر ڈیٹا ماڈلنگ الگورتھم فراہم کرتا ہے: LightGBM، CatBoost، AutoGluon-Tabular، اور TabTransformer۔ آپ ٹیبلر درجہ بندی اور رجعت دونوں کاموں کے لیے یہ مقبول، جدید ترین الگورتھم استعمال کر سکتے ہیں۔ وہ کے ذریعے دستیاب ہیں۔ بلٹ ان الگورتھم سیج میکر کنسول کے ساتھ ساتھ کے ذریعے ایمیزون سیج میکر جمپ اسٹارٹ اندر UI ایمیزون سیج میکر اسٹوڈیو.

مندرجہ ذیل چار نئے بلٹ ان الگورتھم کی فہرست ہے، ان کے دستاویزات کے لنکس، مثال کے طور پر نوٹ بک، اور ذریعہ۔

دستاویزی مثال کے طور پر نوٹ بک ماخذ
لائٹ جی بی ایم الگورتھم رجریشن, کی درجہ بندی لائٹ جی بی ایم
کیٹ بوسٹ الگورتھم رجریشن, کی درجہ بندی کیٹ بوسٹ
آٹوگلون ٹیبلر الگورتھم رجریشن, کی درجہ بندی آٹوگلون-ٹیبلر
ٹیب ٹرانسفارمر الگورتھم رجریشن, کی درجہ بندی ٹیب ٹرانسفارمر

مندرجہ ذیل حصوں میں، ہم ہر الگورتھم کی ایک مختصر تکنیکی وضاحت، اور SageMaker SDK یا SageMaker Jumpstart کے ذریعے ماڈل کو تربیت دینے کے طریقے کی مثالیں فراہم کرتے ہیں۔

لائٹ جی بی ایم

لائٹ جی بی ایم Gradient Boosting Decision Tree (GBDT) الگورتھم کا ایک مقبول اور موثر اوپن سورس نفاذ ہے۔ GBDT ایک زیر نگرانی سیکھنے کا الگورتھم ہے جو آسان اور کمزور ماڈلز کے ایک سیٹ سے تخمینوں کے مجموعہ کو ملا کر ہدف کے متغیر کی درست پیش گوئی کرنے کی کوشش کرتا ہے۔ LightGBM روایتی GBDT کی کارکردگی اور اسکیل ایبلٹی کو نمایاں طور پر بہتر بنانے کے لیے اضافی تکنیکوں کا استعمال کرتا ہے۔

کیٹ بوسٹ

کیٹ بوسٹ GBDT الگورتھم کا ایک مقبول اور اعلیٰ کارکردگی والا اوپن سورس نفاذ ہے۔ کیٹ بوسٹ میں دو اہم الگورتھمک پیشرفت متعارف کرائی گئی ہیں: آرڈرڈ بوسٹنگ کا نفاذ، کلاسک الگورتھم کے لیے ترتیب سے چلنے والا متبادل، اور زمرہ کی خصوصیات پر کارروائی کے لیے ایک اختراعی الگورتھم۔ دونوں تکنیکوں کو پیشن گوئی کی تبدیلی سے لڑنے کے لیے بنایا گیا تھا جس کی وجہ سے ایک خاص قسم کے ہدف کے رساو کی وجہ سے گریڈینٹ بوسٹنگ الگورتھم کے موجودہ تمام نفاذ میں موجود ہے۔

آٹوگلون-ٹیبلر

آٹوگلون-ٹیبلر ایک اوپن سورس آٹو ایم ایل پروجیکٹ ہے جسے Amazon نے تیار کیا اور اس کی دیکھ بھال کی ہے جو جدید ڈیٹا پروسیسنگ، ڈیپ لرننگ، اور ملٹی لیئر اسٹیک انسمبلنگ کو انجام دیتا ہے۔ یہ مضبوط ڈیٹا پری پروسیسنگ کے لیے ہر کالم میں ڈیٹا کی قسم کو خود بخود پہچان لیتا ہے، بشمول ٹیکسٹ فیلڈز کی خصوصی ہینڈلنگ۔ AutoGluon آف دی شیلف بوسٹڈ ٹریز سے لے کر حسب ضرورت نیورل نیٹ ورک ماڈلز تک کے مختلف ماڈلز پر فٹ بیٹھتا ہے۔ ان ماڈلز کو ایک نئے انداز میں جوڑا گیا ہے: ماڈلز کو ایک سے زیادہ تہوں میں اسٹیک کیا جاتا ہے اور انہیں پرت کے لحاظ سے تربیت دی جاتی ہے جو اس بات کی ضمانت دیتا ہے کہ خام ڈیٹا کو ایک مقررہ وقت کی پابندی کے اندر اعلیٰ معیار کی پیشین گوئیوں میں ترجمہ کیا جا سکتا ہے۔ اس سارے عمل میں ڈیٹا کو مختلف طریقوں سے تقسیم کرکے اوور فٹنگ کو کم کیا جاتا ہے جس میں فولڈ سے باہر کی مثالوں کی محتاط ٹریکنگ ہوتی ہے۔ AutoGluon کارکردگی کے لیے بہتر بنایا گیا ہے، اور اس کے آؤٹ آف دی باکس استعمال نے ڈیٹا سائنس مقابلوں میں کئی ٹاپ-3 اور ٹاپ-10 پوزیشنز حاصل کی ہیں۔

ٹیب ٹرانسفارمر

ٹیب ٹرانسفارمر زیر نگرانی سیکھنے کے لیے ایک ناول ڈیپ ٹیبلر ڈیٹا ماڈلنگ فن تعمیر ہے۔ ٹیب ٹرانسفارمر خود توجہ پر مبنی ٹرانسفارمرز پر بنایا گیا ہے۔ ٹرانسفارمر پرتیں اعلیٰ پیشین گوئی کی درستگی حاصل کرنے کے لیے واضح خصوصیات کی سرایت کو مضبوط سیاق و سباق کے سرایتوں میں تبدیل کرتی ہیں۔ مزید برآں، TabTransformer سے سیکھے گئے سیاق و سباق کے ساتھ سرایت کرنے والے ڈیٹا کی گمشدگی اور شور والی دونوں خصوصیات کے خلاف انتہائی مضبوط ہیں، اور بہتر تشریح فراہم کرتے ہیں۔ یہ ماڈل حالیہ کی پیداوار ہے۔ ایمیزون سائنس تحقیق (کاغذ اور سرکاری بلاگ پوسٹ یہاں) اور ML کمیونٹی کے ذریعہ وسیع پیمانے پر اپنایا گیا ہے، مختلف فریق ثالث کے نفاذ کے ساتھ (کیراسآٹوگلون،) اور سوشل میڈیا کی خصوصیات جیسے ٹویٹسڈیٹا سائنس کی طرف، درمیانہ، اور کاگل.

SageMaker بلٹ ان الگورتھم کے فوائد

اپنے مخصوص قسم کے مسئلے اور ڈیٹا کے لیے الگورتھم کا انتخاب کرتے وقت، SageMaker بلٹ ان الگورتھم استعمال کرنا سب سے آسان آپشن ہے، کیونکہ ایسا کرنے سے درج ذیل بڑے فوائد حاصل ہوتے ہیں:

  • بلٹ ان الگورتھم کو تجربات کو چلانے کے لیے کسی کوڈنگ کی ضرورت نہیں ہے۔ اعداد و شمار، ہائپر پیرامیٹر، اور کمپیوٹ وسائل آپ کو فراہم کرنے کے لیے صرف ان پٹ کی ضرورت ہے۔ یہ آپ کو تجربات کو زیادہ تیزی سے چلانے کی اجازت دیتا ہے، نتائج کو ٹریک کرنے اور کوڈ کی تبدیلیوں کے لیے کم اوور ہیڈ کے ساتھ۔
  • بلٹ ان الگورتھم متعدد کمپیوٹ مثالوں میں متوازی کے ساتھ آتے ہیں اور تمام قابل اطلاق الگورتھم کے لیے باکس سے باہر GPU سپورٹ (کچھ الگورتھم موروثی حدود کی وجہ سے شامل نہیں ہوسکتے ہیں)۔ اگر آپ کے پاس اپنے ماڈل کو تربیت دینے کے لیے بہت زیادہ ڈیٹا ہے، تو زیادہ تر بلٹ ان الگورتھم مانگ کو پورا کرنے کے لیے آسانی سے پیمائش کر سکتے ہیں۔ یہاں تک کہ اگر آپ کے پاس پہلے سے ہی پہلے سے تربیت یافتہ ماڈل ہے، تب بھی SageMaker میں اس کے نتائج کو استعمال کرنا آسان ہو سکتا ہے اور اسے پورٹ کرنے کے بجائے اپنے آپ کو پہلے سے معلوم ہائپر پیرامیٹر داخل کرنا اور خود ایک تربیتی اسکرپٹ لکھنا آسان ہو سکتا ہے۔
  • آپ نتیجے میں بننے والے ماڈل کے نمونے کے مالک ہیں۔ آپ اس ماڈل کو لے سکتے ہیں اور اسے سیج میکر پر کئی مختلف انفرنس پیٹرن کے لیے تعینات کر سکتے ہیں (تمام چیک کریں دستیاب تعیناتی کی اقسام) اور آسان اینڈ پوائنٹ اسکیلنگ اور مینجمنٹ، یا آپ اسے جہاں کہیں بھی ضرورت ہو وہاں تعینات کر سکتے ہیں۔

آئیے اب دیکھتے ہیں کہ ان بلٹ ان الگورتھم میں سے کسی کو کیسے تربیت دی جائے۔

SageMaker SDK کا استعمال کرتے ہوئے ایک بلٹ ان الگورتھم کو تربیت دیں۔

ایک منتخب ماڈل کو تربیت دینے کے لیے، ہمیں اس ماڈل کا URI، ساتھ ہی ٹریننگ اسکرپٹ اور ٹریننگ کے لیے استعمال ہونے والی کنٹینر امیج حاصل کرنے کی ضرورت ہے۔ شکر ہے، یہ تینوں ان پٹ مکمل طور پر ماڈل کے نام، ورژن پر منحصر ہیں (دستیاب ماڈلز کی فہرست کے لیے، دیکھیں جمپ سٹارٹ دستیاب ماڈل ٹیبل) اور مثال کی قسم جس کی آپ تربیت کرنا چاہتے ہیں۔ یہ درج ذیل کوڈ کے ٹکڑوں میں ظاہر ہوتا ہے:

from sagemaker import image_uris, model_uris, script_uris train_model_id, train_model_version, train_scope = "lightgbm-classification-model", "*", "training"
training_instance_type = "ml.m5.xlarge" # Retrieve the docker image
train_image_uri = image_uris.retrieve( region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope, instance_type=training_instance_type
)
# Retrieve the training script
train_source_uri = script_uris.retrieve( model_id=train_model_id, model_version=train_model_version, script_scope=train_scope
)
# Retrieve the model artifact; in the tabular case, the model is not pre-trained train_model_uri = model_uris.retrieve( model_id=train_model_id, model_version=train_model_version, model_scope=train_scope
)

۔ train_model_id میں تبدیلیاں lightgbm-regression-model اگر ہم رجعت کے مسئلے سے نمٹ رہے ہیں۔ اس پوسٹ میں متعارف کرائے گئے دیگر تمام ماڈلز کی IDs درج ذیل جدول میں درج ہیں۔

ماڈل مسئلہ کی قسم ماڈل کی شناخت
لائٹ جی بی ایم کی درجہ بندی lightgbm-classification-model
. رجریشن lightgbm-regression-model
کیٹ بوسٹ کی درجہ بندی catboost-classification-model
. رجریشن catboost-regression-model
آٹوگلون-ٹیبلر کی درجہ بندی autogluon-classification-ensemble
. رجریشن autogluon-regression-ensemble
ٹیب ٹرانسفارمر کی درجہ بندی pytorch-tabtransformerclassification-model
. رجریشن pytorch-tabtransformerregression-model

پھر ہم وضاحت کرتے ہیں کہ ہمارا ان پٹ کہاں پر ہے۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔ ہم اس مثال کے لیے ایک عوامی نمونہ ڈیٹاسیٹ استعمال کر رہے ہیں۔ ہم یہ بھی بیان کرتے ہیں کہ ہم اپنا آؤٹ پٹ کہاں جانا چاہتے ہیں، اور منتخب ماڈل کو تربیت دینے کے لیے درکار ہائپر پیرامیٹر کی ڈیفالٹ فہرست کو بازیافت کرتے ہیں۔ آپ ان کی قدر کو اپنی پسند کے مطابق تبدیل کر سکتے ہیں۔

import sagemaker
from sagemaker import hyperparameters sess = sagemaker.Session()
region = sess.boto_session.region_name # URI of sample training dataset
training_dataset_s3_path = f"s3:///jumpstart-cache-prod-{region}/training-datasets/tabular_multiclass/" # URI for output artifacts output_bucket = sess.default_bucket()
s3_output_location = f"s3://{output_bucket}/jumpstart-example-tabular-training/output" # Retrieve the default hyper-parameters for training
hyperparameters = hyperparameters.retrieve_default( model_id=train_model_id, model_version=train_model_version
) # [Optional] Override default hyperparameters with custom values
hyperparameters[ "num_boost_round"
] = "500" # The same hyperparameter is named as "iterations" for CatBoost

آخر میں، ہم ایک SageMaker کو انسٹیٹیوٹ کرتے ہیں۔ Estimator تمام بازیافت شدہ ان پٹس کے ساتھ اور اس کے ساتھ تربیتی کام شروع کریں۔ .fit، اسے ہمارا ٹریننگ ڈیٹاسیٹ URI پاس کرنا۔ دی entry_point فراہم کردہ اسکرپٹ کا نام ہے۔ transfer_learning.py (دوسرے کاموں اور الگورتھم کے لیے وہی)، اور ان پٹ ڈیٹا چینل کو پاس کیا گیا۔ .fit نام ہونا ضروری ہے training.

from sagemaker.estimator import Estimator
from sagemaker.utils import name_from_base # Unique training job name
training_job_name = name_from_base(f"built-in-example-{model_id}") # Create SageMaker Estimator instance
tc_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location,
) # Launch a SageMaker Training job by passing s3 path of the training data
tc_estimator.fit({"training": training_dataset_s3_path}, logs=True)

نوٹ کریں کہ آپ بلٹ ان الگورتھم کے ساتھ تربیت دے سکتے ہیں۔ سیج میکر خودکار ماڈل ٹیوننگ زیادہ سے زیادہ ہائپرپیرامیٹر منتخب کرنے اور ماڈل کی کارکردگی کو مزید بہتر بنانے کے لیے۔

SageMaker JumpStart کا استعمال کرتے ہوئے ایک بلٹ ان الگورتھم کو تربیت دیں۔

آپ SageMaker JumpStart UI کے ذریعے چند کلکس کے ساتھ ان بلٹ ان الگورتھم کو بھی تربیت دے سکتے ہیں۔ جمپ سٹارٹ ایک سیج میکر خصوصیت ہے جو آپ کو گرافیکل انٹرفیس کے ذریعے مختلف ایم ایل فریم ورکس اور ماڈل ہب سے پہلے سے تربیت یافتہ الگورتھم اور پہلے سے تربیت یافتہ ماڈلز کی تربیت اور تعینات کرنے کی اجازت دیتی ہے۔ یہ آپ کو مکمل طور پر تیار کردہ ML حل تعینات کرنے کی بھی اجازت دیتا ہے جو ML ماڈلز اور مختلف دیگر AWS سروسز کو ایک دوسرے کے ساتھ سٹرنگ کرتے ہوئے ایک ہدف شدہ استعمال کے معاملے کو حل کرتے ہیں۔

مزید معلومات کے لئے ملاحظہ کریں TensorFlow Hub اور Hugging Face ماڈل کا استعمال کرتے ہوئے Amazon SageMaker JumpStart کے ساتھ ٹیکسٹ کی درجہ بندی چلائیں۔.

نتیجہ

اس پوسٹ میں، ہم نے SageMaker پر دستیاب ٹیبلولر ڈیٹاسیٹس پر ML کے لیے چار طاقتور نئے بلٹ ان الگورتھم کے اجراء کا اعلان کیا ہے۔ ہم نے ایک تکنیکی وضاحت فراہم کی کہ یہ الگورتھم کیا ہیں، نیز SageMaker SDK کا استعمال کرتے ہوئے LightGBM کے لیے ایک مثالی تربیتی جاب۔

اپنا ڈیٹا سیٹ لائیں اور SageMaker پر ان نئے الگورتھم کو آزمائیں، اور پر دستیاب بلٹ ان الگورتھم استعمال کرنے کے لیے نمونہ نوٹ بک دیکھیں۔ GitHub کے.


مصنفین کے بارے میں

ڈاکٹر ژن ہوانگ Amazon SageMaker JumpStart اور Amazon SageMaker بلٹ ان الگورتھم کے لیے ایک اپلائیڈ سائنٹسٹ ہے۔ وہ اسکیل ایبل مشین لرننگ الگورتھم تیار کرنے پر توجہ مرکوز کرتا ہے۔ اس کی تحقیقی دلچسپیاں قدرتی لینگویج پروسیسنگ، ٹیبلر ڈیٹا پر قابل وضاحت گہرائی سے سیکھنے، اور نان پیرامیٹرک اسپیس ٹائم کلسٹرنگ کے مضبوط تجزیہ کے شعبے میں ہیں۔ انہوں نے ACL، ICDM، KDD کانفرنسز، اور رائل سٹیٹسٹیکل سوسائٹی: سیریز A جرنل میں بہت سے مقالے شائع کیے ہیں۔

ڈاکٹر آشیش کھیتان Amazon SageMaker JumpStart اور Amazon SageMaker بلٹ ان الگورتھم کے ساتھ ایک سینئر اپلائیڈ سائنٹسٹ ہے اور مشین لرننگ الگورتھم تیار کرنے میں مدد کرتا ہے۔ وہ مشین لرننگ اور شماریاتی اندازہ میں ایک فعال محقق ہے اور اس نے NeurIPS، ICML، ICLR، JMLR، ACL، اور EMNLP کانفرنسوں میں بہت سے مقالے شائع کیے ہیں۔

جواؤ مورا ایمیزون ویب سروسز میں ایک AI/ML ماہر حل آرکیٹیکٹ ہے۔ وہ زیادہ تر NLP کے استعمال کے معاملات پر توجہ مرکوز کرتا ہے اور صارفین کو ڈیپ لرننگ ماڈل کی تربیت اور تعیناتی کو بہتر بنانے میں مدد کرتا ہے۔ وہ کم کوڈ ایم ایل سلوشنز اور ایم ایل اسپیشلائزڈ ہارڈ ویئر کا ایک فعال حامی بھی ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ