Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ خودکار ماڈل ٹیوننگ چلائیں۔ عمودی تلاش۔ عی

Amazon SageMaker JumpStart کے ساتھ خودکار ماڈل ٹیوننگ چلائیں۔

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

اس پوسٹ میں، ہم جمپ اسٹارٹ کے ساتھ خودکار ماڈل ٹیوننگ کو چلانے کا طریقہ دکھاتے ہیں۔

سیج میکر خودکار ماڈل ٹیوننگ

روایتی طور پر، ایم ایل انجینئر ہائپر پیرامیٹرس کے صحیح سیٹ کو تلاش کرنے کے لیے آزمائشی اور غلطی کا طریقہ نافذ کرتے ہیں۔ آزمائش اور غلطی میں متعدد ملازمتوں کو ترتیب وار یا متوازی طور پر چلانا شامل ہے جبکہ تجربے کو چلانے کے لیے درکار وسائل کی فراہمی شامل ہے۔

ساتھ سیج میکر خودکار ماڈل ٹیوننگ، ML انجینئرز اور ڈیٹا سائنسدان اپنے ماڈل کو بہتر بنانے کے وقت طلب کام کو آف لوڈ کر سکتے ہیں اور SageMaker کو تجربہ چلانے دے سکتے ہیں۔ SageMaker AWS پلیٹ فارم کی لچک کا فائدہ اٹھاتا ہے تاکہ ایک ڈیٹاسیٹ پر ایک سے زیادہ ٹریننگ سمیلیشنز کو مؤثر طریقے سے اور بیک وقت چلانے اور ماڈل کے لیے بہترین ہائپر پیرامیٹر تلاش کر سکے۔

الگورتھم اور حدود آپ کے بتائے ہوئے ہائپر پیرامیٹروں کا۔ اس کے بعد یہ ہائپر پیرامیٹر اقدار کا انتخاب کرتا ہے جس کے نتیجے میں ایک ایسا ماڈل ہوتا ہے جو بہترین کارکردگی کا مظاہرہ کرتا ہے، جیسا کہ a کے ذریعے ماپا جاتا ہے۔ میٹرک۔ جسے آپ منتخب کرتے ہیں۔

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

اس پوسٹ میں، ہم جمپ اسٹارٹ کے ساتھ خودکار ماڈل ٹیوننگ چلانے میں شامل اقدامات کو ظاہر کرنے کے لیے ڈیفالٹ Bayesian تلاش کی حکمت عملی کا استعمال کرتے ہیں۔ لائٹ جی بی ایم ماڈل.

جمپ اسٹارٹ فی الحال خودکار ماڈل ٹیوننگ کے ساتھ 10 مثالی نوٹ بکس کو سپورٹ کرتا ہے۔ یہ ٹیبلر ڈیٹا ماڈلنگ کے لیے چار مشہور الگورتھم کو بھی سپورٹ کرتا ہے۔ ان کے نمونے والی نوٹ بک کے کاموں اور لنکس کا خلاصہ درج ذیل جدول میں دیا گیا ہے۔

ٹاسک پہلے سے تربیت یافتہ ماڈلز کسٹم ڈیٹاسیٹ کو سپورٹ کرتا ہے۔ فریم ورک کی حمایت کی مثال کے طور پر نوٹ بک
تصویری درجہ بندی جی ہاں جی ہاں پائ ٹارچ، ٹینسر فلو جمپ اسٹارٹ کا تعارف - تصویری درجہ بندی
آبجیکٹ کا پتہ لگانا جی ہاں جی ہاں پائ ٹارچ، ٹینسر فلو، ایم ایکس نیٹ جمپ اسٹارٹ کا تعارف - آبجیکٹ کا پتہ لگانا
سیمنٹ سیگمنٹیشن جی ہاں جی ہاں ایم ایکس نیٹ جمپ اسٹارٹ کا تعارف - سیمنٹک سیگمنٹیشن
متن کی درجہ بندی جی ہاں جی ہاں TensorFlow جمپ اسٹارٹ کا تعارف - متن کی درجہ بندی
جملے کے جوڑے کی درجہ بندی جی ہاں جی ہاں TensorFlow، گلے لگانا چہرہ جمپ سٹارٹ کا تعارف – جملے کے جوڑے کی درجہ بندی
سوال جواب جی ہاں جی ہاں پی ٹورچ جمپ اسٹارٹ کا تعارف - سوال کا جواب
ٹیبلر درجہ بندی جی ہاں جی ہاں لائٹ جی بی ایم، کیٹ بوسٹ، ایکس جی بی بوسٹ، لکیری لرنر جمپ اسٹارٹ کا تعارف - ٹیبلر درجہ بندی - لائٹ جی بی ایم، کیٹ بوسٹ
جمپ اسٹارٹ کا تعارف - ٹیبلر درجہ بندی - XGBoost، لکیری لرنر
ٹیبلر ریگریشن جی ہاں جی ہاں لائٹ جی بی ایم، کیٹ بوسٹ، ایکس جی بی بوسٹ، لکیری لرنر جمپ اسٹارٹ کا تعارف - ٹیبلر ریگریشن - لائٹ جی بی ایم، کیٹ بوسٹ
جمپ اسٹارٹ کا تعارف - ٹیبلر ریگریشن - XGBoost، لکیری لرنر

حل جائزہ

یہ تکنیکی ورک فلو Amazon Sagemaker کی مختلف خصوصیات اور جمپ سٹارٹ ماڈل کو خود بخود ٹیون کرنے کے لیے درکار اقدامات کا ایک جائزہ فراہم کرتا ہے۔

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ خودکار ماڈل ٹیوننگ چلائیں۔ عمودی تلاش۔ عی

مندرجہ ذیل حصوں میں، ہم لائٹ جی بی ایم الگورتھم کا استعمال کرتے ہوئے جمپ اسٹارٹ کے ساتھ خودکار ماڈل ٹیوننگ کو چلانے کے طریقہ کے بارے میں مرحلہ وار واک تھرو فراہم کرتے ہیں۔ ہم ایک ساتھ فراہم کرتے ہیں۔ نوٹ بک اس واک تھرو کے لیے۔

ہم درج ذیل اعلیٰ سطحی مراحل سے گزرتے ہیں:

  1. جمپ سٹارٹ پہلے سے تربیت یافتہ ماڈل اور امیجز کنٹینر کو بازیافت کریں۔
  2. جامد ہائپر پیرامیٹر سیٹ کریں۔
  3. ٹیون ایبل ہائپر پیرامیٹر رینجز کی وضاحت کریں۔
  4. خودکار ماڈل ٹیوننگ شروع کریں۔
  5. ٹیوننگ کا کام چلائیں۔
  6. بہترین ماڈل کو اختتامی نقطہ پر تعینات کریں۔

جمپ سٹارٹ پہلے سے تربیت یافتہ ماڈل اور امیجز کنٹینر کو بازیافت کریں۔

اس سیکشن میں، ہم فائن ٹیوننگ کے لیے LightGBM درجہ بندی ماڈل کا انتخاب کرتے ہیں۔ ہم ml.m5.xlarge مثال کی قسم استعمال کرتے ہیں جس پر ماڈل چلایا جاتا ہے۔ اس کے بعد ہم ٹریننگ ڈوکر کنٹینر، ٹریننگ الگورتھم سورس، اور پہلے سے تربیت یافتہ ماڈل کو بازیافت کرتے ہیں۔ درج ذیل کوڈ دیکھیں:

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 pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
    model_id=train_model_id, model_version=train_model_version, model_scope=train_scope
)

جامد ہائپر پیرامیٹر سیٹ کریں۔

اب ہم اس لائٹ جی بی ایم ماڈل کے لیے پہلے سے طے شدہ ہائپر پیرامیٹرس کو بازیافت کرتے ہیں، جیسا کہ جمپ اسٹارٹ نے پہلے سے ترتیب دیا ہے۔ ہم بھی اوور رائیڈ کرتے ہیں۔ num_boost_round اپنی مرضی کے مطابق قدر کے ساتھ hyperparameter.

# Retrieve the default hyper-parameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(
    model_id=train_model_id, model_version=train_model_version
)
# [Optional] Override default hyperparameters with custom values

ٹیون ایبل ہائپر پیرامیٹر رینجز کی وضاحت کریں۔

اس کے بعد ہم ہائپر پیرامیٹر رینجز کی وضاحت کرتے ہیں۔ خودکار ماڈل ٹیوننگ کی طرف سے مرضی کے مطابق. ہم ماڈل کے ذریعہ توقع کے مطابق ہائپر پیرامیٹر نام کی وضاحت کرتے ہیں اور پھر اس ہائپر پیرامیٹر کے لئے کوشش کی جانے والی اقدار کی حدود۔ خودکار ماڈل ٹیوننگ نمونے کھینچتی ہے (برابر max_jobs پیرامیٹر) ہائپر پیرامیٹر کی جگہ سے، ایک تکنیک کا استعمال کرتے ہوئے جسے Bayesian search کہتے ہیں۔ ہر تیار کردہ ہائپر پیرامیٹر نمونے کے لیے، ٹیونر اس ترتیب کے ساتھ ماڈل کا جائزہ لینے کے لیے ایک تربیتی کام تخلیق کرتا ہے۔ درج ذیل کوڈ دیکھیں:

hyperparameter_ranges = {
    "learning_rate": ContinuousParameter(1e-4, 1, scaling_type="Logarithmic"),
    "num_boost_round": IntegerParameter(2, 30),
    "early_stopping_rounds": IntegerParameter(2, 30),
    "num_leaves": IntegerParameter(10, 50),
    "feature_fraction": ContinuousParameter(0, 1),
    "bagging_fraction": ContinuousParameter(0, 1),
    "bagging_freq": IntegerParameter(1, 10),
    "max_depth": IntegerParameter(5, 30),
    "min_data_in_leaf": IntegerParameter(5, 50),
}

خودکار ماڈل ٹیوننگ شروع کریں۔

ہم ایک تخلیق کرکے شروع کرتے ہیں۔ تخمینہ تمام مطلوبہ اثاثوں کے ساتھ اعتراض جو تربیتی کام کی وضاحت کرتا ہے، جیسے کہ پہلے سے تربیت یافتہ ماڈل، تربیتی تصویر، اور تربیتی اسکرپٹ۔ پھر ہم وضاحت کرتے ہیں a ہائپر پیرامیٹر ٹونر سیج میکر ہائپر پیرامیٹر ٹیوننگ APIs کے ساتھ تعامل کرنے پر اعتراض۔

۔ HyperparameterTuner تخمینہ کرنے والے آبجیکٹ کو پیرامیٹرز کے طور پر قبول کرتا ہے، ہدف میٹرک جس کی بنیاد پر ہائپر پیرامیٹر کے بہترین سیٹ کا فیصلہ کیا جاتا ہے، تربیتی ملازمتوں کی کل تعداد (max_jobs) ہائپر پیرامیٹر ٹیوننگ جاب شروع کرنے کے لیے، اور چلانے کے لیے زیادہ سے زیادہ متوازی ٹریننگ جاب (max_parallel_jobs)۔ تربیتی ملازمتیں لائٹ جی بی ایم الگورتھم کے ساتھ چلائی جاتی ہیں، اور ہائپر پیرامیٹر اقدار جن میں کم سے کم mlogloss میٹرک کا انتخاب کیا جاتا ہے۔ خودکار ماڈل ٹیوننگ کو ترتیب دینے کے بارے میں مزید معلومات کے لیے، دیکھیں ہائپر پیرامیٹر ٹیوننگ کے لیے بہترین طریقے.

# Create SageMaker Estimator instance
tabular_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,
) tuner = HyperparameterTuner(
    estimator=tabular_estimator,
    objective_metric_name="multi_logloss",
    hyperparameter_ranges=hyperparameter_ranges,
    metric_definitions=[{"Name": "multi_logloss", "Regex": "multi_logloss: ([0-9\.]+)"}],
    strategy="Bayesian",
    max_jobs=10,
    max_parallel_jobs=2,
    objective_type="Minimize",
    base_tuning_job_name=training_job_name,
)

پچھلے کوڈ میں، ہم ٹیونر کو زیادہ سے زیادہ 10 تجربات چلانے کو کہتے ہیں (max_jobs) اور ایک وقت میں صرف دو ہم آہنگی تجربات (max_parallel_jobs)۔ یہ دونوں پیرامیٹرز آپ کی لاگت اور تربیت کے وقت کو کنٹرول میں رکھتے ہیں۔

ٹیوننگ کا کام چلائیں۔

سیج میکر ٹیوننگ جاب شروع کرنے کے لیے، ہم ہائپر پیرامیٹر ٹیونر آبجیکٹ کے فٹ طریقہ کو کہتے ہیں اور پاس کرتے ہیں۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) ٹریننگ ڈیٹا کا راستہ:

tuner.fit({"training": training_dataset_s3_path}, logs=True)

جب کہ خودکار ماڈل ٹیوننگ بہترین ہائپر پیرامیٹر کی تلاش کرتی ہے، آپ ان کی پیشرفت کی نگرانی یا تو SageMaker کنسول پر کر سکتے ہیں۔ ایمیزون کلاؤڈ واچ. ٹریننگ مکمل ہونے پر، بہترین ماڈل کے بہترین نمونے Amazon S3 آؤٹ پٹ لوکیشن پر اپ لوڈ کیے جاتے ہیں جو ٹریننگ کنفیگریشن میں بیان کیے گئے ہیں۔

بہترین ماڈل کو اختتامی نقطہ پر تعینات کریں۔

ٹیوننگ کا کام مکمل ہونے پر، بہترین ماڈل کو منتخب کر کے Amazon S3 میں محفوظ کر لیا گیا ہے۔ اب ہم اس ماڈل کو ڈیپلائی میتھڈ کو کال کرکے تعینات کر سکتے ہیں۔ HyperparameterTuner آبجیکٹ اور مطلوبہ پیرامیٹرز کو پاس کرنا، جیسے کہ تخلیق کردہ اختتامی نقطہ کے لیے استعمال ہونے والی مثالوں کی تعداد، ان کی قسم، تعینات کی جانے والی تصویر، اور چلانے کے لیے اسکرپٹ:

tuner.deploy(
    initial_instance_count=1,
    instance_type=inference_instance_type,
    entry_point="inference.py",
    image_uri=deploy_image_uri,
    source_dir=deploy_source_uri,
    endpoint_name=endpoint_name,
    enable_network_isolation=True
)

اب ہم قیاس کی درخواستیں کر کے تخلیق شدہ اختتامی نقطہ کی جانچ کر سکتے ہیں۔ آپ باقی عمل کو ساتھ میں فالو کر سکتے ہیں۔ نوٹ بک.

نتیجہ

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

اس پوسٹ میں، ہم نے SageMaker APIs کا استعمال کرتے ہوئے JumpStart کے پہلے سے تربیت یافتہ ماڈل پر خودکار ماڈل ٹیوننگ چلانے کی قدر ظاہر کی۔ ہم نے LightGBM الگورتھم کا استعمال کیا اور زیادہ سے زیادہ 10 تربیتی ملازمتوں کی وضاحت کی۔ ہم نے مثال کے طور پر نوٹ بک کے لنکس بھی فراہم کیے ہیں جو ایم ایل فریم ورک کی نمائش کرتے ہیں جو جمپ اسٹارٹ ماڈل کی اصلاح کو سپورٹ کرتے ہیں۔

خودکار ماڈل ٹیوننگ کے ساتھ جمپ اسٹارٹ ماڈل کو کس طرح بہتر بنایا جائے اس بارے میں مزید تفصیلات کے لیے، ہماری مثال دیکھیں نوٹ بک.


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

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ خودکار ماڈل ٹیوننگ چلائیں۔ عمودی تلاش۔ عیڈوگ Mbaya اعداد و شمار اور تجزیات پر توجہ کے ساتھ ایک سینئر پارٹنر سلوشن آرکیٹیکٹ ہے۔ Doug AWS پارٹنرز کے ساتھ مل کر کام کرتا ہے، ان کو کلاؤڈ میں ڈیٹا اور تجزیاتی حل کو مربوط کرنے میں مدد کرتا ہے۔

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ خودکار ماڈل ٹیوننگ چلائیں۔ عمودی تلاش۔ عیکروتھی جیاسمہا۔ راؤ Scale-PSA ٹیم میں ایک پارٹنر سلوشنز آرکیٹیکٹ ہے۔ کروتھی شراکت داروں کے لیے تکنیکی توثیق کرتی ہے تاکہ وہ پارٹنر پاتھ میں ترقی کر سکیں۔

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ خودکار ماڈل ٹیوننگ چلائیں۔ عمودی تلاش۔ عیGiannis Mitropoulos سیج میکر کے لیے سافٹ ویئر ڈویلپمنٹ انجینئر ہے۔ خودکار ماڈل ٹیوننگ.

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

ٹائم اسٹیمپ:

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