Amazon SageMaker XGBoost اب مکمل طور پر تقسیم شدہ GPU ٹریننگ پیش کرتا ہے۔ ایمیزون ویب سروسز

Amazon SageMaker XGBoost اب مکمل طور پر تقسیم شدہ GPU ٹریننگ پیش کرتا ہے۔ ایمیزون ویب سروسز

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

۔ SageMaker XGBoost الگورتھم آپ کو آسانی سے سیج میکر پر XGBoost ٹریننگ اور اندازہ چلانے کی اجازت دیتا ہے۔ XGBoost (EXtreme Gradient Boosting) گریڈینٹ بوسٹڈ ٹریز الگورتھم کا ایک مقبول اور موثر اوپن سورس نفاذ ہے۔ گریڈینٹ بوسٹنگ ایک زیر نگرانی سیکھنے کا الگورتھم ہے جو آسان اور کمزور ماڈلز کے سیٹ سے تخمینوں کے جوڑ کو ملا کر ہدف کے متغیر کی درست پیش گوئی کرنے کی کوشش کرتا ہے۔ XGBoost الگورتھم ML مقابلوں میں اچھی کارکردگی کا مظاہرہ کرتا ہے کیونکہ اس کی مختلف قسم کے ڈیٹا کی اقسام، رشتوں، تقسیموں، اور مختلف قسم کے ہائپر پیرامیٹرس کی مضبوطی کی وجہ سے جو آپ ٹھیک کر سکتے ہیں۔ آپ رجعت، درجہ بندی (بائنری اور ملٹی کلاس) اور درجہ بندی کے مسائل کے لیے XGBoost استعمال کر سکتے ہیں۔ آپ بڑے ڈیٹا سیٹس پر تربیت کو تیز کرنے کے لیے GPUs کا استعمال کر سکتے ہیں۔

آج، ہمیں یہ اعلان کرتے ہوئے خوشی ہو رہی ہے۔ سیج میکر۔ XGBoost اب مکمل طور پر تقسیم شدہ GPU ٹریننگ پیش کرتا ہے۔

ورژن 1.5-1 اور اس سے اوپر کے ساتھ شروع کرتے ہوئے، اب آپ ملٹی-GPU مثالوں کا استعمال کرتے وقت تمام GPUs استعمال کر سکتے ہیں۔ نیا فیچر بڑے ڈیٹا سیٹس کے ساتھ کام کرتے وقت آپ کو مکمل طور پر تقسیم شدہ GPU ٹریننگ استعمال کرنے کی ضروریات کو پورا کرتا ہے۔ اس کا مطلب ہے ایک سے زیادہ استعمال کرنے کے قابل ہونا ایمیزون لچکدار کمپیوٹ کلاؤڈ (Amazon EC2) مثالیں (GPU) اور تمام GPUs فی مثال استعمال کرنا۔

کثیر GPU مثالوں کے ساتھ تقسیم شدہ GPU تربیت

SageMaker XGBoost ورژن 1.2-2 یا بعد کے ساتھ، آپ تربیت کے لیے ایک یا زیادہ سنگل-GPU مثالیں استعمال کر سکتے ہیں۔ دی ہائپر پیرامیٹر tree_method کو gpu_hist پر سیٹ کرنے کی ضرورت ہے۔ ایک سے زیادہ مثالوں (تقسیم شدہ سیٹ اپ) کا استعمال کرتے وقت، ڈیٹا کو مندرجہ ذیل مثالوں کے درمیان تقسیم کرنے کی ضرورت ہے (جیسا کہ غیر GPU تقسیم شدہ تربیتی مراحل میں ذکر کیا گیا ہے XGBoost الگورتھم)۔ اگرچہ یہ آپشن پرفارمنٹ ہے اور مختلف ٹریننگ سیٹ اپس میں استعمال کیا جا سکتا ہے، لیکن یہ تمام GPUs کو استعمال کرنے تک توسیع نہیں کرتا ہے جب کہ g5.12xlarge جیسے ملٹی GPU مثالوں کا انتخاب کرتے ہیں۔

SageMaker XGBoost ورژن 1.5-1 اور اس سے اوپر کے ساتھ، اب آپ ملٹی-GPU مثالوں کا استعمال کرتے وقت ہر مثال پر تمام GPUs استعمال کر سکتے ہیں۔ تمام GPUs کو ملٹی GPU مثال میں استعمال کرنے کی صلاحیت کو انضمام کرکے پیش کیا جاتا ہے۔ ڈسک فریم ورک.

آپ اس سیٹ اپ کو تیزی سے تربیت مکمل کرنے کے لیے استعمال کر سکتے ہیں۔ وقت کی بچت کے علاوہ، یہ آپشن بلاکرز جیسے زیادہ سے زیادہ قابل استعمال مثال (نرم) حدود کے ارد گرد کام کرنے کے لیے بھی کارآمد ہو گا، یا اگر تربیتی جاب کسی وجہ سے سنگل-GPU مثالوں کی ایک بڑی تعداد فراہم کرنے سے قاصر ہے۔

اس اختیار کو استعمال کرنے کے لیے کنفیگریشن پچھلے آپشن کی طرح ہیں، سوائے درج ذیل اختلافات کے:

  • نیا شامل کریں۔ ہائپر پیرامیٹر use_dask_gpu_training سٹرنگ ویلیو کے ساتھ true.
  • تخلیق کرتے وقت ٹریننگ ان پٹتقسیم کے پیرامیٹر کو سیٹ کریں۔ FullyReplicated، چاہے واحد یا ایک سے زیادہ مثالوں کا استعمال کریں۔ Dask کا بنیادی فریم ورک ڈیٹا لوڈ کرے گا اور ڈیٹا کو Dask کارکنوں میں تقسیم کرے گا۔ یہ SageMaker XGBoost کے ساتھ دیگر تمام تقسیم شدہ تربیت کے لیے ڈیٹا کی تقسیم کی ترتیب سے مختلف ہے۔

نوٹ کریں کہ ڈیٹا کو چھوٹی فائلوں میں تقسیم کرنا اب بھی Parquet کے لیے لاگو ہوتا ہے، جہاں Dask ہر فائل کو بطور ایک پڑھے گا۔ تقسیم. چونکہ آپ کے پاس فی GPU ایک Dask کارکن ہوگا، اس لیے فائلوں کی تعداد مثال کی گنتی * GPU شمار فی مثال سے زیادہ ہونی چاہیے۔ اس کے علاوہ، ہر فائل کو بہت چھوٹا بنانا اور فائلوں کی ایک بہت بڑی تعداد کارکردگی کو کم کر سکتی ہے۔ مزید معلومات کے لیے دیکھیں بہت بڑے گراف سے پرہیز کریں۔. CSV کے لیے، ہم اب بھی بڑی فائلوں کو چھوٹی فائلوں میں تقسیم کرنے کی تجویز کرتے ہیں تاکہ ڈیٹا ڈاؤن لوڈ کے وقت کو کم کیا جا سکے اور تیزی سے پڑھنے کو ممکن بنایا جا سکے۔ تاہم، یہ ایک ضرورت نہیں ہے.

فی الحال، اس اختیار کے ساتھ معاون ان پٹ فارمیٹس ہیں:

  • text/csv
  • application/x-parquet

درج ذیل ان پٹ موڈ کی حمایت کی جاتی ہے:

کوڈ مندرجہ ذیل کی طرح نظر آئے گا:

import os
import boto3
import re
import sagemaker
from sagemaker.session import Session
from sagemaker.inputs import TrainingInput
from sagemaker.xgboost.estimator import XGBoost role = sagemaker.get_execution_role()
region = sagemaker.Session().boto_region_name
session = Session() bucket = "<Specify S3 Bucket>"
prefix = "<Specify S3 prefix>" hyperparams = { "objective": "reg:squarederror", "num_round": "500", "verbosity": "3", "tree_method": "gpu_hist", "eval_metric": "rmse", "use_dask_gpu_training": "true"
} output_path = "s3://{}/{}/output".format(bucket, prefix) content_type = "application/x-parquet"
instance_type = "ml.g4dn.2xlarge" xgboost_container = sagemaker.image_uris.retrieve("xgboost", region, "1.5-1")
xgb_script_mode_estimator = sagemaker.estimator.Estimator( image_uri=xgboost_container, hyperparameters=hyperparams, role=role, instance_count=1, instance_type=instance_type, output_path=output_path, max_run=7200, ) test_data_uri = " <specify the S3 uri for training dataset>"
validation_data_uri = “<specify the S3 uri for validation dataset>” train_input = TrainingInput( test_data_uri, content_type=content_type
) validation_input = TrainingInput( validation_data_uri, content_type=content_type
) xgb_script_mode_estimator.fit({"train": train_input, "validation": validation_input})

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

Amazon SageMaker XGBoost now offers fully distributed GPU training | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

معیارات

ہم نے اس بات کو یقینی بنانے کے لیے تشخیصی میٹرکس کو بینچ مارک کیا کہ سنگل-GPU ٹریننگ کے مقابلے ملٹی-GPU ٹریننگ پاتھ کے ساتھ ماڈل کا معیار خراب نہ ہو۔ ہم نے اس بات کو یقینی بنانے کے لیے بڑے ڈیٹا سیٹس پر بھی بینچ مارک کیا کہ ہمارے تقسیم شدہ GPU سیٹ اپ پرفارمنٹ اور قابل توسیع تھے۔

بل کے قابل وقت وال کلاک کے مطلق وقت سے مراد ہے۔ ٹریننگ کا وقت صرف XGBoost ٹریننگ کا وقت ہے، جس سے ماپا جاتا ہے۔ train() کال کریں جب تک کہ ماڈل محفوظ نہ ہو جائے۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔

بڑے ڈیٹا سیٹس پر کارکردگی کے معیارات

کثیر GPU کا استعمال عام طور پر پیچیدہ تربیت کے ساتھ بڑے ڈیٹاسیٹس کے لیے موزوں ہوتا ہے۔ ہم نے اس کے ساتھ ایک ڈمی ڈیٹاسیٹ بنایا 2,497,248,278 جانچ کے لیے قطاریں اور 28 خصوصیات۔ ڈیٹاسیٹ 150 GB تھا اور 1,419 فائلوں پر مشتمل تھا۔ ہر فائل کا سائز 105-115 MB کے درمیان تھا۔ ہم نے ڈیٹا کو Parquet فارمیٹ میں S3 بالٹی میں محفوظ کیا۔ کسی حد تک پیچیدہ تربیت کی تقلید کرنے کے لیے، ہم نے اس ڈیٹاسیٹ کو بائنری درجہ بندی کے کام کے لیے استعمال کیا، 1,000 راؤنڈز کے ساتھ، سنگل-GPU ٹریننگ پاتھ اور ملٹی-GPU ٹریننگ پاتھ کے درمیان کارکردگی کا موازنہ کرنے کے لیے۔

مندرجہ ذیل جدول میں واحد-GPU ٹریننگ پاتھ اور ملٹی-GPU ٹریننگ پاتھ کے درمیان قابلِ تربیت وقت اور کارکردگی کا موازنہ شامل ہے۔

سنگل GPU ٹریننگ پاتھ
مثال کی قسم مثال کی گنتی بل کے قابل وقت / مثالیں تربیت کا وقت
g4dn.xlarge 20 میموری سے باہر
g4dn.2xlarge 20 میموری سے باہر
g4dn.4xlarge 15 1710 1551.9
16 1592 1412.2
17 1542 1352.2
18 1423 1281.2
19 1346 1220.3
ملٹی جی پی یو ٹریننگ پاتھ (ڈاسک کے ساتھ)
مثال کی قسم مثال کی گنتی بل کے قابل وقت / مثالیں تربیت کا وقت
g4dn.12xlarge 7 میموری سے باہر
8 1143 784.7
9 1039 710.73
10 978 676.7
12 940 614.35

ہم دیکھ سکتے ہیں کہ ملٹی جی پی یو مثالوں کے استعمال کے نتیجے میں تربیت کا وقت کم اور مجموعی وقت کم ہوتا ہے۔ سنگل-GPU ٹریننگ پاتھ میں اب بھی ہر ایک مثال میں ڈیٹا کے صرف ایک حصے کو ڈاؤن لوڈ کرنے اور پڑھنے میں کچھ فائدہ ہے، اور اس وجہ سے ڈیٹا ڈاؤن لوڈ کا وقت کم ہے۔ یہ Dask کے اوور ہیڈ سے بھی متاثر نہیں ہوتا ہے۔ لہذا، تربیت کے وقت اور کل وقت کے درمیان فرق چھوٹا ہے۔ تاہم، زیادہ GPUs استعمال کرنے کی وجہ سے، ملٹی-GPU سیٹ اپ تربیت کے وقت میں نمایاں کمی کر سکتا ہے۔

آپ کو ایک EC2 مثال استعمال کرنا چاہئے جس میں کافی کمپیوٹ پاور ہو تاکہ بڑے ڈیٹا سیٹس کے ساتھ کام کرتے وقت میموری کی غلطیوں سے بچا جا سکے۔

زیادہ مثالوں یا زیادہ طاقتور مثالوں کا استعمال کرکے سنگل GPU سیٹ اپ کے ساتھ کل وقت کو مزید کم کرنا ممکن ہے۔ تاہم، لاگت کے لحاظ سے، یہ زیادہ مہنگا ہوسکتا ہے. مثال کے طور پر، مندرجہ ذیل جدول تربیت کے وقت اور لاگت کا موازنہ ایک واحد GPU مثال کے ساتھ دکھاتا ہے g4dn.8xlarge۔

سنگل GPU ٹریننگ پاتھ
مثال کی قسم مثال کی گنتی بل کے قابل وقت / مثالیں لاگت ($)
g4dn.8xlarge 15 1679 15.22
17 1509 15.51
19 1326 15.22
ملٹی جی پی یو ٹریننگ پاتھ (ڈاسک کے ساتھ)
مثال کی قسم مثال کی گنتی بل کے قابل وقت / مثالیں لاگت ($)
g4dn.12xlarge 8 1143 9.93
10 978 10.63
12 940 12.26

لاگت کا حساب کتاب ہر مثال کے لیے آن ڈیمانڈ قیمت پر مبنی ہے۔ مزید معلومات کے لیے رجوع کریں۔ ایمیزون EC2 G4 مثالوں.

ماڈل کے معیار کے معیارات

ماڈل کے معیار کے لیے، ہم نے Dask GPU آپشن اور سنگل-GPU آپشن کے درمیان تشخیصی میٹرکس کا موازنہ کیا، اور مختلف مثالوں کی اقسام اور مثال کی گنتی پر ٹریننگ چلائی۔ مختلف کاموں کے لیے، ہم نے مختلف ڈیٹاسیٹس اور ہائپر پیرامیٹرس کا استعمال کیا، ہر ڈیٹاسیٹ کو تربیت، توثیق اور ٹیسٹ سیٹس میں تقسیم کیا گیا۔

بائنری درجہ بندی کے لیے (binary:logistic)کام، ہم نے استعمال کیا۔ HIGGS CSV فارمیٹ میں ڈیٹا سیٹ۔ ڈیٹا سیٹ کی تربیتی تقسیم میں 9,348,181 قطاریں اور 28 خصوصیات ہیں۔ استعمال کیے گئے راؤنڈز کی تعداد 1,000 تھی۔ درج ذیل جدول میں نتائج کا خلاصہ کیا گیا ہے۔

Dask کے ساتھ ملٹی GPU ٹریننگ
مثال کی قسم GPUs / مثال کی تعداد مثال کی گنتی بل کے قابل وقت / مثالیں درستگی ٪ F1 % ROC AUC %
g4dn.2xlarge 1 1 343 75.97 77.61 84.34
g4dn.4xlarge 1 1 413 76.16 77.75 84.51
g4dn.8xlarge 1 1 413 76.16 77.75 84.51
g4dn.12xlarge 4 1 157 76.16 77.74 84.52

رجعت کے لیے (reg:squarederror)، ہم نے استعمال کیا۔ NYC گرین کیب ڈیٹاسیٹ (کچھ ترمیم کے ساتھ) پارکیٹ فارمیٹ میں۔ ڈیٹا سیٹ کی تربیتی تقسیم میں 72,921,051 قطاریں اور 8 خصوصیات ہیں۔ استعمال شدہ راؤنڈز کی تعداد 500 تھی۔ درج ذیل جدول نتائج دکھاتا ہے۔

Dask کے ساتھ ملٹی GPU ٹریننگ
مثال کی قسم GPUs / مثال کی تعداد مثال کی گنتی بل کے قابل وقت / مثالیں MSE R2 ایم اے ای
g4dn.2xlarge 1 1 775 21.92 0.7787 2.43
g4dn.4xlarge 1 1 770 21.92 0.7787 2.43
g4dn.8xlarge 1 1 705 21.92 0.7787 2.43
g4dn.12xlarge 4 1 253 21.93 0.7787 2.44

ماڈل کوالٹی میٹرکس ملٹی GPU (Dask) ٹریننگ آپشن اور موجودہ ٹریننگ آپشن کے درمیان ایک جیسے ہیں۔ متعدد مثالوں یا GPUs کے ساتھ تقسیم شدہ سیٹ اپ استعمال کرتے وقت ماڈل کا معیار مستقل رہتا ہے۔

نتیجہ

اس پوسٹ میں، ہم نے ایک جائزہ دیا کہ آپ کس طرح سیج میکر XGBoost کے ساتھ تقسیم شدہ GPU ٹریننگ کے لیے مختلف مثال کی قسم اور مثال کی گنتی کے امتزاج کو استعمال کر سکتے ہیں۔ زیادہ تر استعمال کے معاملات میں، آپ سنگل GPU مثالیں استعمال کر سکتے ہیں۔ یہ اختیار استعمال کرنے کے لیے مثالوں کی ایک وسیع رینج فراہم کرتا ہے اور بہت پرفارمنس ہے۔ آپ بڑے ڈیٹا سیٹس اور بہت سارے راؤنڈز کے ساتھ تربیت کے لیے ملٹی-GPU مثالیں استعمال کر سکتے ہیں۔ یہ بہت کم مثالوں کے ساتھ فوری تربیت فراہم کر سکتا ہے۔ مجموعی طور پر، آپ اپنی XGBoost ٹریننگ کو بے حد تیز کرنے کے لیے SageMaker XGBoost کا تقسیم شدہ GPU سیٹ اپ استعمال کر سکتے ہیں۔

Dask کا استعمال کرتے ہوئے SageMaker اور تقسیم شدہ تربیت کے بارے میں مزید جاننے کے لیے، چیک کریں۔ Amazon SageMaker بلٹ ان LightGBM اب Dask کا استعمال کرتے ہوئے تقسیم شدہ تربیت پیش کرتا ہے۔


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

Amazon SageMaker XGBoost now offers fully distributed GPU training | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.دھیرج ٹھاکر ایمیزون ویب سروسز کے ساتھ ایک حل آرکیٹیکٹ ہے۔ وہ AWS صارفین اور شراکت داروں کے ساتھ کام کرتا ہے تاکہ انٹرپرائز کلاؤڈ اپنانے، منتقلی اور حکمت عملی کے بارے میں رہنمائی فراہم کرے۔ وہ ٹیکنالوجی کے بارے میں پرجوش ہے اور تجزیات اور AI/ML اسپیس میں تعمیر اور تجربہ کرنے سے لطف اندوز ہوتا ہے۔

Amazon SageMaker XGBoost now offers fully distributed GPU training | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.دیوان چودھری ایمیزون ویب سروسز کے ساتھ سافٹ ویئر ڈویلپمنٹ انجینئر ہے۔ وہ Amazon SageMaker کے الگورتھم اور JumpStart پیشکشوں پر کام کرتا ہے۔ AI/ML بنیادی ڈھانچے کی تعمیر کے علاوہ، وہ توسیع پذیر تقسیم شدہ نظاموں کی تعمیر کے بارے میں بھی پرجوش ہیں۔

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

Amazon SageMaker XGBoost now offers fully distributed GPU training | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.ٹونی کروز

ٹائم اسٹیمپ:

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