ایمیزون EC2 DL2q مثال کے طور پر لاگت سے موثر، اعلی کارکردگی والے AI تخمینہ اب عام طور پر دستیاب ہے | ایمیزون ویب سروسز

ایمیزون EC2 DL2q مثال کے طور پر لاگت سے موثر، اعلی کارکردگی والے AI تخمینہ اب عام طور پر دستیاب ہے | ایمیزون ویب سروسز

یہ Qualcomm AI سے AK Roy کی ایک مہمان پوسٹ ہے۔

Amazon Elastic Compute Cloud (Amazon EC2) DL2q مثالیں، Qualcomm AI 100 اسٹینڈرڈ ایکسلریٹر کے ذریعے تقویت یافتہ، کو کلاؤڈ میں ڈیپ لرننگ (DL) ورک بوجھ کو لاگت سے موثر انداز میں تعینات کرنے کے لیے استعمال کیا جا سکتا ہے۔ انہیں ڈی ایل ورک بوجھ کی کارکردگی اور درستگی کو تیار کرنے اور درست کرنے کے لیے بھی استعمال کیا جا سکتا ہے جو Qualcomm ڈیوائسز پر تعینات کیے جائیں گے۔ DL2q مثالیں Qualcomm کی مصنوعی ذہین (AI) ٹیکنالوجی کو کلاؤڈ پر لانے کی پہلی مثالیں ہیں۔

آٹھ Qualcomm AI 100 سٹینڈرڈ ایکسلریٹر اور 128 GiB کل ایکسلریٹر میموری کے ساتھ، صارفین مقبول جنریٹو AI ایپلی کیشنز کو چلانے کے لیے DL2q مثالیں بھی استعمال کر سکتے ہیں، جیسے کہ مواد کی تیاری، متن کا خلاصہ، اور ورچوئل اسسٹنٹس کے ساتھ ساتھ قدرتی زبان کی پروسیسنگ کے لیے کلاسک AI ایپلی کیشنز۔ اور کمپیوٹر ویژن۔ مزید برآں، Qualcomm AI 100 accelerators میں وہی AI ٹیکنالوجی ہے جو سمارٹ فونز، خود مختار ڈرائیونگ، پرسنل کمپیوٹرز، اور توسیع شدہ رئیلٹی ہیڈسیٹ میں استعمال ہوتی ہے، لہذا DL2q مثالوں کو تعیناتی سے پہلے ان AI ورک لوڈز کو تیار کرنے اور ان کی تصدیق کرنے کے لیے استعمال کیا جا سکتا ہے۔

نئی DL2q مثال کی جھلکیاں

ہر DL2q مثال میں آٹھ Qualcomm Cloud AI100 ایکسلریٹر شامل ہیں، جس کی مجموعی کارکردگی Int2.8 inference کارکردگی کے 8 PetaOps اور FP1.4 inference کارکردگی کے 16 PetaFlops ہے۔ مثال میں مجموعی طور پر 112 اے آئی کور، ایکسلریٹر میموری کی گنجائش 128 جی بی اور میموری بینڈوڈتھ 1.1 ٹی بی فی سیکنڈ ہے۔

ہر DL2q مثال میں 96 vCPUs ہوتے ہیں، سسٹم میموری کی گنجائش 768 GB ہے اور 100 Gbps کی نیٹ ورکنگ بینڈوتھ کو بھی سپورٹ کرتی ہے۔ ایمیزون لچکدار بلاک اسٹور (ایمیزون ای بی ایس) 19 جی بی پی ایس کا ذخیرہ۔

مثال کا نام vCPUs کلاؤڈ AI100 ایکسلریٹر ایکسلریٹر میموری ایکسلریٹر میموری BW (مجموعی) مثال کی یادداشت مثال کے طور پر نیٹ ورکنگ اسٹوریج (ایمیزون ای بی ایس) بینڈوتھ
DL2q.24x بڑا 96 8 128 GB 1.088 ٹی بی / ایس 768 GB 100 Gbps 19 Gbps

Qualcomm Cloud AI100 ایکسلریٹر اختراع

کلاؤڈ AI100 ایکسلریٹر سسٹم آن چپ (SoC) ایک مقصد سے بنایا گیا، توسیع پذیر ملٹی کور فن تعمیر ہے، جو ڈیٹا سینٹر سے کنارے تک پھیلے ہوئے گہرے سیکھنے کے استعمال کے کیسز کی وسیع رینج کی حمایت کرتا ہے۔ ایس او سی اسکیلر، ویکٹر، اور ٹینسر کمپیوٹ کور کو استعمال کرتا ہے جس میں انڈسٹری کی معروف آن ڈائی SRAM صلاحیت 126 MB ہے۔ کور ایک اعلی بینڈوتھ کم لیٹنسی نیٹ ورک آن چپ (NoC) میش کے ساتھ آپس میں جڑے ہوئے ہیں۔

AI100 ایکسلریٹر ماڈلز اور استعمال کے کیسز کی ایک وسیع اور جامع رینج کو سپورٹ کرتا ہے۔ نیچے دی گئی جدول ماڈل سپورٹ کی حد کو نمایاں کرتی ہے۔

ماڈل زمرہ ماڈل کی تعداد۔ مثالیں
این ایل پی 157 BERT, BART, FasterTransformer, T5, Z-code MOE
جنریٹو AI - NLP 40 LLaMA, CodeGen, GPT, OPT, BLOOM, Jais, Luminous, StarCoder, XGen
جنریٹیو AI - تصویر 3 مستحکم بازی v1.5 اور v2.1، OpenAI CLIP
CV - تصویری درجہ بندی 45 ViT، ResNet، ResNext، MobileNet، EfficientNet
CV - آبجیکٹ کا پتہ لگانا 23 YOLO v2, v3, v4, v5, and v7, SSD-ResNet, RetinaNet
CV - دیگر 15 LPRNet، سپر ریزولوشن/SRGAN، بائٹ ٹریک
آٹوموٹو نیٹ ورک* 53 پرسیپشن اور LIDAR، پیدل چلنے والوں، لین، اور ٹریفک لائٹ کا پتہ لگانا
کل > 300 

* زیادہ تر آٹوموٹو نیٹ ورکس جامع نیٹ ورکس ہوتے ہیں جو انفرادی نیٹ ورکس کے فیوژن پر مشتمل ہوتے ہیں۔

DL2q ایکسلریٹر پر بڑی آن ڈائی SRAM اعلی کارکردگی کی تکنیکوں جیسے کہ وزن کو ذخیرہ کرنے کے لیے MX6 مائیکرو ایکسپوننٹ پریزیشن اور ایکسلریٹر سے ایکسلریٹر مواصلت کے لیے MX9 مائیکرو ایکسپوننٹ درستگی کے موثر نفاذ کے قابل بناتی ہے۔ مائیکرو ایکسپوننٹ ٹیکنالوجی کو مندرجہ ذیل اوپن کمپیوٹ پروجیکٹ (OCP) انڈسٹری کے اعلان میں بیان کیا گیا ہے: اے ایم ڈی، آرم، انٹیل، میٹا، مائیکروسافٹ، این وی آئی ڈی آئی اے، اور کوالکوم اسٹینڈرڈائز نیکسٹ جنریشن نیرو پریسجن ڈیٹا فارمیٹس برائے AI » اوپن کمپیوٹ پروجیکٹ.

مثال کے طور پر صارف کارکردگی فی لاگت کو زیادہ سے زیادہ کرنے کے لیے درج ذیل حکمت عملی کا استعمال کر سکتا ہے:

  • آن ایکسلریٹر DDR میموری میں MX6 مائیکرو ایکسپوننٹ درستگی کا استعمال کرتے ہوئے وزن ذخیرہ کریں۔ MX6 درستگی کا استعمال دستیاب میموری کی گنجائش اور میموری بینڈ وڈتھ کے استعمال کو زیادہ سے زیادہ کرتا ہے تاکہ کلاس میں بہترین تھرو پٹ اور لیٹنسی فراہم کی جا سکے۔
  • مطلوبہ استعمال کیس کی درستگی فراہم کرنے کے لیے FP16 میں کمپیوٹ کریں، جبکہ کارڈ پر اعلیٰ آن-چِپ SRAM اور فاضل TOPs کا استعمال کرتے ہوئے، اعلی کارکردگی والے کم لیٹنسی MX6 سے FP16 کرنل کو لاگو کریں۔
  • وزن کے دوبارہ استعمال کو زیادہ سے زیادہ کرنے کے لیے دستیاب بڑی آن-چِپ SRAM کا استعمال کرتے ہوئے ایک بہترین بیچنگ کی حکمت عملی اور اعلیٰ بیچ سائز کا استعمال کریں، جبکہ ایکٹیویشنز کو زیادہ سے زیادہ ممکنہ حد تک آن چپ کو برقرار رکھتے ہوئے۔

DL2q AI اسٹیک اور ٹول چین

DL2q مثال کے ساتھ Qualcomm AI Stack ہے جو Qualcomm AI میں کلاؤڈ اور دیگر Qualcomm پروڈکٹس میں ایک مستقل ڈویلپر کا تجربہ فراہم کرتا ہے۔ وہی Qualcomm AI اسٹیک اور بیس AI ٹیکنالوجی DL2q انسٹینسز اور Qualcomm edge ڈیوائسز پر چلتی ہے، جو صارفین کو ان کے کلاؤڈ، آٹوموٹیو، پرسنل کمپیوٹر، توسیعی حقیقت، اور اسمارٹ فون کی ترقی کے ماحول میں ایک متحد API کے ساتھ ایک مستقل ڈویلپر تجربہ فراہم کرتی ہے۔

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

ایمیزون EC2 DL2q مثال کے طور پر لاگت سے موثر، اعلی کارکردگی والے AI تخمینہ اب عام طور پر دستیاب ہے | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

ماڈل کی کارکردگی کو ٹیون کرنے کے بارے میں مزید جاننے کے لیے، دیکھیں Cloud AI 100 کلیدی کارکردگی کے پیرامیٹرز دستاویزی.

DL2q مثالوں کے ساتھ شروع کریں۔

اس مثال میں، آپ پہلے سے تربیت یافتہ کو مرتب اور تعینات کرتے ہیں۔ BERT ماڈل سے گلے لگانے والا چہرہ EC2 DL2q مثال کے طور پر چار مراحل میں پہلے سے تیار شدہ دستیاب DL2q AMI کا استعمال کرتے ہوئے۔

آپ یا تو پہلے سے بنایا ہوا استعمال کر سکتے ہیں۔ Qualcomm DLAMI مثال کے طور پر یا Amazon Linux2 AMI کے ساتھ شروع کریں اور اس میں دستیاب Cloud AI 2 پلیٹ فارم اور ایپس SDK کے ساتھ اپنا DL100q AMI بنائیں۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) بالٹی: s3://ec2-linux-qualcomm-ai100-sdks/latest/.

پیروی کرنے والے اقدامات پہلے سے تعمیر شدہ DL2q AMI کا استعمال کرتے ہیں، Qualcomm Base AL2 DLAMI.

Qualcomm Base AL2 DLAMI AMI کے ساتھ اپنے DL2q مثال تک رسائی حاصل کرنے کے لیے SSH کا استعمال کریں اور اقدامات 1 سے 4 تک عمل کریں۔

مرحلہ 1۔ ماحول کو ترتیب دیں اور مطلوبہ پیکجز انسٹال کریں۔

  1. Python 3.8 انسٹال کریں۔
    sudo amazon-linux-extras install python3.8

  2. Python 3.8 ورچوئل ماحول ترتیب دیں۔
    python3.8 -m venv /home/ec2-user/userA/pyenv

  3. Python 3.8 ورچوئل ماحول کو چالو کریں۔
    source /home/ec2-user/userA/pyenv/bin/activate

  4. مطلوبہ پیکجز انسٹال کریں، جو میں دکھایا گیا ہے۔ requirements.txt دستاویز Qualcomm public Github سائٹ پر دستیاب ہے۔
    pip3 install -r requirements.txt

  5. ضروری لائبریریاں درآمد کریں۔
    import transformers from transformers import AutoTokenizer, AutoModelForMaskedLM
    import sys
    import qaic
    import os
    import torch
    import onnx
    from onnxsim import simplify
    import argparse
    import numpy as np

مرحلہ 2۔ ماڈل درآمد کریں۔

  1. ماڈل کو درآمد اور ٹوکنائز کریں۔
    model_card = 'bert-base-cased'
    model = AutoModelForMaskedLM.from_pretrained(model_card)
    tokenizer = AutoTokenizer.from_pretrained(model_card)

  2. نمونہ ان پٹ کی وضاحت کریں اور نکالیں۔ inputIds اور attentionMask.
    sentence = "The dog [MASK] on the mat."
    encodings = tokenizer(sentence, max_length=128, truncation=True, padding="max_length", return_tensors='pt')
    inputIds = encodings["input_ids"]
    attentionMask = encodings["attention_mask"]

  3. ماڈل کو ONNX میں تبدیل کریں، جسے پھر کمپائلر کو بھیجا جا سکتا ہے۔
    # Set dynamic dims and axes.
    dynamic_dims = {0: 'batch', 1 : 'sequence'}
    dynamic_axes = { "input_ids" : dynamic_dims, "attention_mask" : dynamic_dims, "logits" : dynamic_dims
    }
    input_names = ["input_ids", "attention_mask"]
    inputList = [inputIds, attentionMask] torch.onnx.export( model, args=tuple(inputList), f=f"{gen_models_path}/{model_base_name}.onnx", verbose=False, input_names=input_names, output_names=["logits"], dynamic_axes=dynamic_axes, opset_version=11,
    )

  4. آپ ماڈل کو FP16 درستگی میں چلائیں گے۔ لہذا، آپ کو یہ چیک کرنے کی ضرورت ہے کہ آیا ماڈل میں FP16 کی حد سے باہر کوئی مستقل موجود ہے۔ ماڈل کو پاس کریں۔ fix_onnx_fp16 مطلوبہ اصلاحات کے ساتھ نئی ONNX فائل بنانے کے لیے فنکشن۔
    from onnx import numpy_helper def fix_onnx_fp16( gen_models_path: str, model_base_name: str,
    ) -> str: finfo = np.finfo(np.float16) fp16_max = finfo.max fp16_min = finfo.min model = onnx.load(f"{gen_models_path}/{model_base_name}.onnx") fp16_fix = False for tensor in onnx.external_data_helper._get_all_tensors(model): nptensor = numpy_helper.to_array(tensor, gen_models_path) if nptensor.dtype == np.float32 and ( np.any(nptensor > fp16_max) or np.any(nptensor < fp16_min) ): # print(f'tensor value : {nptensor} above {fp16_max} or below {fp16_min}') nptensor = np.clip(nptensor, fp16_min, fp16_max) new_tensor = numpy_helper.from_array(nptensor, tensor.name) tensor.CopyFrom(new_tensor) fp16_fix = True if fp16_fix: # Save FP16 model print("Found constants out of FP16 range, clipped to FP16 range") model_base_name += "_fix_outofrange_fp16" onnx.save(model, f=f"{gen_models_path}/{model_base_name}.onnx") print(f"Saving modified onnx file at {gen_models_path}/{model_base_name}.onnx") return model_base_name fp16_model_name = fix_onnx_fp16(gen_models_path=gen_models_path, model_base_name=model_base_name)

مرحلہ 3۔ ماڈل مرتب کریں۔

۔ qaic-exec کمانڈ لائن انٹرفیس (CLI) کمپائلر ٹول ماڈل کو مرتب کرنے کے لیے استعمال کیا جاتا ہے۔ اس کمپائلر کا ان پٹ مرحلہ 2 میں تیار کردہ ONNX فائل ہے۔ کمپائلر ایک بائنری فائل تیار کرتا ہے (جسے کیو پی سی، کے لئے Qualcomm پروگرام کنٹینر) کے ذریعہ بیان کردہ راستے میں -aic-binary-dir دلیل.

ذیل میں کمپائل کمانڈ میں، آپ ماڈل کو مرتب کرنے کے لیے چار AI کمپیوٹ کور اور ایک بیچ سائز کا استعمال کرتے ہیں۔

/opt/qti-aic/exec/qaic-exec -m=bert-base-cased/generatedModels/bert-base-cased_fix_outofrange_fp16.onnx -aic-num-cores=4 -convert-to-fp16 -onnx-define-symbol=batch,1 -onnx-define-symbol=sequence,128 -aic-binary-dir=bert-base-cased/generatedModels/bert-base-cased_fix_outofrange_fp16_qpc -aic-hw -aic-hw-version=2.0 -compile-only

QPC میں تیار کیا گیا ہے۔ bert-base-cased/generatedModels/bert-base-cased_fix_outofrange_fp16_qpc فولڈر.

مرحلہ 4۔ ماڈل چلائیں۔

DL100q مثال میں کلاؤڈ AI2 Qualcomm ایکسلریٹر پر اندازہ چلانے کے لیے ایک سیشن ترتیب دیں۔

Qualcomm qaic Python لائبریری APIs کا ایک سیٹ ہے جو کلاؤڈ AI100 ایکسلریٹر پر انفرنس چلانے کے لیے معاونت فراہم کرتا ہے۔

  1. سیشن کی مثال بنانے کے لیے سیشن API کال کا استعمال کریں۔ سیشن API کال qaic Python لائبریری کو استعمال کرنے کا انٹری پوائنٹ ہے۔
    qpcPath = 'bert-base-cased/generatedModels/bert-base-cased_fix_outofrange_fp16_qpc' bert_sess = qaic.Session(model_path= qpcPath+'/programqpc.bin', num_activations=1) bert_sess.setup() # Loads the network to the device. # Here we are reading out all the input and output shapes/types
    input_shape, input_type = bert_sess.model_input_shape_dict['input_ids']
    attn_shape, attn_type = bert_sess.model_input_shape_dict['attention_mask']
    output_shape, output_type = bert_sess.model_output_shape_dict['logits'] #create the input dictionary for given input sentence
    input_dict = {"input_ids": inputIds.numpy().astype(input_type), "attention_mask" : attentionMask.numpy().astype(attn_type)} #run inference on Cloud AI 100
    output = bert_sess.run(input_dict)

  2. آؤٹ پٹ بفر کے ساتھ ڈیٹا کو ری اسٹرکچر کریں۔ output_shape اور output_type.
    token_logits = np.frombuffer(output['logits'], dtype=output_type).reshape(output_shape)

  3. تیار کردہ آؤٹ پٹ کو ڈی کوڈ کریں۔
    mask_token_logits = torch.from_numpy(token_logits[0, mask_token_index, :]).unsqueeze(0)
    top_5_results = torch.topk(mask_token_logits, 5, dim=1)
    print("Model output (top5) from Qualcomm Cloud AI 100:")
    for i in range(5): idx = top_5_results.indices[0].tolist()[i] val = top_5_results.values[0].tolist()[i] word = tokenizer.decode([idx]) print(f"{i+1} :(word={word}, index={idx}, logit={round(val,2)})")

یہاں ان پٹ جملے کے نتائج ہیں "چٹائی پر کتا [MASK]۔"

1 :(word=sat, index=2068, logit=11.46)
2 :(word=landed, index=4860, logit=11.11)
3 :(word=spat, index=15732, logit=10.95)
4 :(word=settled, index=3035, logit=10.84)
5 :(word=was, index=1108, logit=10.75)

یہی ہے. صرف چند قدموں کے ساتھ، آپ نے ایک Amazon EC2 DL2q مثال پر ایک PyTorch ماڈل مرتب کیا اور چلایا۔ DL2q مثال پر آن بورڈنگ اور مرتب کرنے کے بارے میں مزید جاننے کے لیے، دیکھیں کلاؤڈ AI100 ٹیوٹوریل دستاویزات۔

اس بارے میں مزید جاننے کے لیے کہ کون سے DL ماڈل آرکیٹیکچرز AWS DL2q مثالوں اور موجودہ ماڈل سپورٹ میٹرکس کے لیے موزوں ہیں، دیکھیں Qualcomm Cloud AI100 دستاویزات.

اب دستیاب

آپ آج ہی یو ایس ویسٹ (اوریگون) اور یورپ (فرینکفرٹ) AWS ریجنز میں DL2q مثالیں شروع کر سکتے ہیں۔ مطالبے پرمحفوظ ہے، اور اسپاٹ مثالوں، یا a کے حصے کے طور پر بچت کا منصوبہ. ہمیشہ کی طرح Amazon EC2 کے ساتھ، آپ صرف وہی ادائیگی کرتے ہیں جو آپ استعمال کرتے ہیں۔ مزید معلومات کے لیے دیکھیں ایمیزون ای سی 2 کی قیمت.

DL2q مثالوں کو استعمال کرتے ہوئے تعینات کیا جا سکتا ہے۔ AWS ڈیپ لرننگ AMIs (DLAMI)، اور کنٹینر کی تصاویر منظم خدمات کے ذریعے دستیاب ہیں جیسے ایمیزون سیج میکر, ایمیزون لچکدار کبرنیٹس سروس (ایمیزون ای کے ایس), ایمیزون لچکدار کنٹینر سروس (ایمیزون ای سی ایس)، اور AWS ParallelCluster.

مزید معلومات کے ل visit ، ملاحظہ کریں ایمیزون EC2 DL2q مثال صفحہ، اور فیڈ بیک بھیجیں۔ AWS re: EC2 کے لیے پوسٹ یا آپ کے معمول کے AWS سپورٹ رابطوں کے ذریعے۔


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

ایمیزون EC2 DL2q مثال کے طور پر لاگت سے موثر، اعلی کارکردگی والے AI تخمینہ اب عام طور پر دستیاب ہے | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیاے کے رائے Qualcomm میں Cloud اور Datacenter AI مصنوعات اور حل کے لیے پروڈکٹ مینجمنٹ کے ڈائریکٹر ہیں۔ اس کے پاس پروڈکٹ کی حکمت عملی اور ترقی میں 20 سال سے زیادہ کا تجربہ ہے، جس میں کلاؤڈ میں AI تخمینہ کے لیے بہترین درجے کی کارکردگی اور کارکردگی/$ اینڈ ٹو اینڈ سلوشنز پر توجہ مرکوز ہے، استعمال کے کیسز کی وسیع رینج کے لیے، بشمول GenAI، LLMs، Auto اور Hybrid AI۔

ایمیزون EC2 DL2q مثال کے طور پر لاگت سے موثر، اعلی کارکردگی والے AI تخمینہ اب عام طور پر دستیاب ہے | ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی جیانینگ لینگ AWS ورلڈ وائیڈ اسپیشلسٹ آرگنائزیشن (WWSO) میں پرنسپل سولیوشن آرکیٹیکٹ ہیں۔ اسے HPC اور AI فیلڈ میں کام کرنے کا 15 سال سے زیادہ کا تجربہ ہے۔ AWS میں، وہ صارفین کو تیز رفتار کمپیوٹنگ مثالوں پر ان کے AI/ML ورک بوجھ کو تعینات کرنے، بہتر بنانے اور اسکیل کرنے میں مدد کرنے پر توجہ مرکوز کرتی ہے۔ وہ HPC اور AI شعبوں میں تکنیک کو یکجا کرنے کا شوق رکھتی ہے۔ جیاننگ نے بولڈر میں کولوراڈو یونیورسٹی سے کمپیوٹیشنل فزکس میں پی ایچ ڈی کی ڈگری حاصل کی ہے۔

ٹائم اسٹیمپ:

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