BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.

استقرار BLOOM-176B و OPT-30B در آمازون SageMaker با استنباط مدل بزرگ ظروف یادگیری عمیق و DeepSpeed

چند سال اخیر شاهد پیشرفت سریع در زمینه یادگیری عمیق بوده ایم. اگرچه سخت‌افزار بهبود یافته است، مانند آخرین نسل شتاب‌دهنده‌های NVIDIA و آمازون، متخصصان یادگیری ماشین پیشرفته (ML) هنوز به طور مرتب با مشکلاتی در استفاده از مدل‌های یادگیری عمیق بزرگ خود برای برنامه‌هایی مانند پردازش زبان طبیعی (NLP) مواجه می‌شوند.

در پست قبلی بحث کردیم قابلیت ها و تنظیمات قابل تنظیم in استقرار مدل آمازون SageMaker که می تواند استنتاج با این مدل های بزرگ را آسان تر کند. امروز، ما یک جدید را اعلام می کنیم آمازون SageMaker ظرف یادگیری عمیق (DLC) که می توانید از آن برای شروع استنتاج مدل های بزرگ در عرض چند دقیقه استفاده کنید. این DLC برخی از محبوب ترین کتابخانه های منبع باز را برای استنتاج موازی مدل، مانند DeepSpeed ​​و Hugging Face Accelerate، بسته بندی می کند.

در این پست، ما از یک DLC استنتاج مدل بزرگ SageMaker برای استقرار دو مدل از محبوب‌ترین مدل‌های NLP بزرگ استفاده می‌کنیم: BigScience. BLOOM-176B و متا OPT-30B از مخزن Hugging Face. به طور خاص، ما از سرویس دهی و تکنیک‌های موازی تانسور DeepSpeed ​​برای دستیابی به تأخیر 0.1 ثانیه در هر توکن در یک مورد استفاده از تولید متن استفاده می‌کنیم.

شما می توانید نمونه کامل نوت بوک های ما را در ما بیابید مخزن GitHub.

تکنیک های استنتاج مدل های بزرگ

مدل‌های زبان اخیراً از نظر اندازه و محبوبیت افزایش یافته‌اند. با دسترسی آسان از باغ وحش های مدل مانند Hugging Face و بهبود دقت و عملکرد در وظایف NLP مانند طبقه بندی و تولید متن، پزشکان به طور فزاینده ای به این مدل های بزرگ دست می یابند. با این حال، مدل‌های بزرگ اغلب آنقدر بزرگ هستند که در حافظه یک شتاب‌دهنده جای بگیرند. به عنوان مثال، مدل BLOOM-176B می تواند به بیش از 350 گیگابایت حافظه شتاب دهنده نیاز داشته باشد که بسیار بیشتر از ظرفیت شتاب دهنده های سخت افزاری موجود امروزی است. این امر نیاز به استفاده از تکنیک‌های موازی مدل از کتابخانه‌هایی مانند DeepSpeed ​​و Hugging Face Accelerate برای توزیع یک مدل در چندین شتاب‌دهنده برای استنتاج دارد. در این پست از ظرف استنتاج مدل بزرگ SageMaker برای تولید و مقایسه عملکرد تاخیر و توان عملیاتی با استفاده از این دو کتابخانه منبع باز.

DeepSpeed ​​و Accelerate از تکنیک های مختلفی برای بهینه سازی مدل های زبان بزرگ برای استنتاج استفاده می کنند. تفاوت اصلی در DeepSpeed ​​است استفاده از هسته های بهینه شده. این هسته ها می توانند با کاهش تنگناها در نمودار محاسباتی مدل، تأخیر استنتاج را به طور چشمگیری بهبود بخشند. توسعه هسته های بهینه شده ممکن است دشوار باشد و معمولاً مختص یک معماری مدل خاص هستند. DeepSpeed ​​از مدل های بزرگ محبوب مانند OPT و BLOOM با این هسته های بهینه شده پشتیبانی می کند. در مقابل، کتابخانه Accelerate Hugging Face شامل هسته های بهینه سازی شده در زمان نوشتن نیست. همانطور که در بخش نتایج خود بحث می کنیم، این تفاوت مسئول بیشتر مزیت عملکردی است که DeepSpeed ​​نسبت به Accelerate دارد.

تفاوت دوم بین DeepSpeed ​​و Accelerate نوع موازی مدل است. Accelerate از موازی خط لوله برای تقسیم یک مدل بین لایه های پنهان یک مدل استفاده می کند، در حالی که DeepSpeed ​​از موازی سازی تانسور برای تقسیم خود لایه ها استفاده می کند. موازی خط لوله یک رویکرد انعطاف پذیر است که از انواع مدل های بیشتری پشتیبانی می کند و می تواند در صورت استفاده از اندازه های بزرگتر، توان عملیاتی را بهبود بخشد. موازی سازی تانسور به ارتباطات بیشتری بین GPU ها نیاز دارد، زیرا لایه های مدل می توانند در چندین دستگاه پخش شوند، اما می توانند با درگیر کردن چندین GPU به طور همزمان، تأخیر استنتاج را بهبود بخشند. می توانید در مورد تکنیک های موازی سازی بیشتر بدانید مقدمه ای بر موازی سازی مدل و موازی سازی مدل.

بررسی اجمالی راه حل

برای میزبانی موثر مدل‌های زبان بزرگ، به ویژگی‌ها و پشتیبانی در زمینه‌های کلیدی زیر نیاز داریم:

  • راه حل های ساخت و آزمایش - با توجه به ماهیت تکراری توسعه ML، ما به توانایی ساختن، تکرار سریع و آزمایش نحوه رفتار نقطه پایانی استنتاج زمانی که این مدل‌ها میزبانی می‌شوند، نیاز داریم، از جمله توانایی شکست سریع. این مدل‌ها معمولاً فقط در نمونه‌های بزرگ‌تری مانند p4dn یا g5 میزبانی می‌شوند، و با توجه به اندازه مدل‌ها، چرخش یک نمونه استنتاج و اجرای هر تکرار آزمایشی ممکن است کمی طول بکشد. آزمایش محلی معمولاً دارای محدودیت هایی است زیرا برای آزمایش به یک نمونه مشابه از نظر اندازه نیاز دارید و به دست آوردن این مدل ها آسان نیست.
  • استقرار و اجرا در مقیاس - فایل‌های مدل باید در نمونه‌های استنتاج بارگذاری شوند، که با توجه به اندازه، خود چالشی است. Tar / Un-Tar به عنوان مثال برای Bloom-176B حدود 1 ساعت طول می کشد تا ایجاد شود و یک ساعت دیگر بارگذاری شود. ما به یک مکانیسم جایگزین نیاز داریم تا امکان دسترسی آسان به فایل های مدل را فراهم کند.
  • در حال بارگیری مدل به صورت تکی - برای یک فرآیند چندکاره، باید اطمینان حاصل کنیم که مدل فقط یک بار بارگذاری می شود تا در شرایط مسابقه قرار نگیریم و منابع غیر ضروری را بیشتر خرج نکنیم. در این پست راهی برای بارگذاری مستقیم از آن نشان می دهیم سرویس ذخیره سازی ساده آمازون (Amazon S3). با این حال، این تنها در صورتی کار می کند که از تنظیمات پیش فرض DJL استفاده کنیم. به‌علاوه، هرگونه مقیاس‌بندی نقاط پایانی باید بتواند در چند دقیقه به بالا بچرخد، که نیاز به بازنگری در نحوه بارگیری و توزیع مدل‌ها دارد.
  • چارچوب های شاردینگ – این مدل‌ها معمولاً باید با مکانیزم موازی تانسور یا با تقسیم خط لوله به عنوان تکنیک‌های معمولی تقسیم‌بندی باشند، و ما مفاهیم پیشرفته‌ای مانند تقسیم‌بندی ZeRO بر روی تقسیم‌بندی تانسور داریم. برای کسب اطلاعات بیشتر در مورد تکنیک های اشتراک گذاری، مراجعه کنید موازی سازی مدل. برای رسیدن به این هدف، می‌توانیم ترکیب‌های مختلفی داشته باشیم و از فریمورک‌های NIVIDIA، DeepSpeed ​​و دیگران استفاده کنیم. این نیاز به توانایی آزمایش BYOC یا استفاده از ظروف 1P و تکرار روی راه حل ها و اجرای آزمایش های محک دارد. همچنین ممکن است بخواهید گزینه های میزبانی مختلف مانند ناهمزمان، بدون سرور و موارد دیگر را آزمایش کنید.
  • انتخاب سخت افزار - انتخاب شما در سخت افزار با توجه به تمام نکات ذکر شده و الگوهای ترافیک بیشتر، نیازهای مورد استفاده و اندازه مدل تعیین می شود.

در این پست، از هسته های بهینه شده DeepSpeed ​​و تکنیک های موازی تانسور برای میزبانی BLOOM-176B و OPT-30B در SageMaker استفاده می کنیم. ما همچنین نتایج را از Accelerate مقایسه می کنیم تا مزایای عملکرد هسته های بهینه و موازی تانسور را نشان دهیم. برای اطلاعات بیشتر در مورد DeepSpeed ​​و Accelerate، مراجعه کنید استنتاج DeepSpeed: امکان استنتاج کارآمد مدل‌های ترانسفورماتور در مقیاس بی‌سابقه و استنتاج فوق العاده سریع BLOOM با سرعت عمیق و شتاب.

ما از DJLServing به عنوان راه حل ارائه مدل در این مثال استفاده می کنیم. DJLServing یک راه حل ارائه مدل جهانی با کارایی بالا است که توسط Deep Java Library (DJL) طراحی شده است که زبان برنامه نویسی آگنوستیک است. برای آشنایی بیشتر با DJL و DJLServing به ادامه مطلب مراجعه کنید استقرار مدل های بزرگ در Amazon SageMaker با استفاده از استنتاج موازی مدل DJLServing و DeepSpeed.

شایان ذکر است که هسته‌های بهینه‌شده می‌توانند منجر به تغییرات دقیق و یک نمودار محاسباتی اصلاح‌شده شوند که از نظر تئوری می‌تواند منجر به تغییر رفتار مدل شود. اگرچه این امر می‌تواند گاهاً نتیجه استنتاج را تغییر دهد، اما انتظار نداریم که این تفاوت‌ها تأثیری اساسی بر معیارهای ارزیابی اساسی یک مدل بگذارد. با این وجود، به پزشکان توصیه می‌شود هنگام استفاده از این هسته‌ها، خروجی‌های مدل را همانطور که انتظار می‌رود تأیید کنند.

مراحل زیر نحوه استقرار یک مدل BLOOM-176B در SageMaker با استفاده از DJLServing و یک ظرف استنتاج مدل بزرگ SageMaker را نشان می دهد. نمونه کامل آن نیز در ما موجود است مخزن GitHub.

با استفاده از DJLServing SageMaker DLC image

از کد زیر برای استفاده از تصویر DJLServing SageMaker DLC پس از جایگزینی منطقه با منطقه خاصی که نوت بوک را در آن اجرا می کنید استفاده کنید:

763104351884.dkr.ecr..amazonaws.com/djl-inference:0.19.0-deepspeed0.7.3-cu113
# example uri might be like 763104351884.dkr.ecr.us-east-1.amazonaws.com/djl-inference:0.19.0-deepspeed0.7.3-cu113

فایل مدل ما را ایجاد کنید

ابتدا یک فایل به نام ایجاد می کنیم serving.properties که فقط یک خط کد را شامل می شود. این به سرور مدل DJL می گوید که از موتور DeepSpeed ​​استفاده کند. فایل حاوی کد زیر است:

engine=DeepSpeed

serving.properties یک فایل تعریف شده توسط DJLServing است که برای پیکربندی پیکربندی هر مدل استفاده می شود.

بعد، ما خود را ایجاد می کنیم model.py فایل، که کد مورد نیاز برای بارگیری و سپس ارائه مدل را تعریف می کند. در کد ما در قسمت می خوانیم TENSOR_PARALLEL_DEGREE متغیر محیطی (مقدار پیش فرض 1 است). این تعداد دستگاه هایی را تعیین می کند که ماژول های موازی تانسور روی آنها توزیع شده اند. توجه داشته باشید که DeepSpeed ​​چند تعریف داخلی برای پارتیشن ارائه می دهد، از جمله یکی برای مدل های BLOOM. با مشخص کردن از آن استفاده می کنیم replace_method و relpace_with_kernel_inject. اگر یک مدل سفارشی دارید و به DeepSpeed ​​برای پارتیشن بندی موثر نیاز دارید، باید تغییر دهید relpace_with_kernel_inject به false و اضافه کنید injection_policy تا پارتیشن زمان اجرا کار کند. برای اطلاعات بیشتر مراجعه کنید مقداردهی اولیه برای استنتاج. برای مثال ما از مدل BLOOM از پیش پارتیشن بندی شده در DeepSpeed ​​استفاده کردیم.

در مرحله دوم، در model.py فایل، ما همچنین پس از چرخش نقطه پایانی، مدل را از آمازون S3 بارگذاری می کنیم. مدل در بارگذاری می شود /tmp فضای روی کانتینر زیرا SageMaker آن را نقشه می‌کشد /tmp به فروشگاه بلوک الاستیک آمازون حجم (Amazon EBS) که وقتی پارامتر ایجاد نقطه پایانی را مشخص می کنیم، نصب می شود VolumeSizeInGB. برای نمونه هایی مانند p4dn که با نمونه حجم از پیش ساخته شده است، می توانیم به استفاده از /tmp روی ظرف کد زیر را ببینید:

from djl_python import Input, Output
import os
import deepspeed
import torch
import torch.distributed as dist
import sys
import subprocess
import time
from glob import glob
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
from transformers.models.opt.modeling_opt import OPTDecoderLayer

predictor = None

def check_config():
    local_rank = os.getenv('LOCAL_RANK')
    
    if not local_rank:
        return False
    return True
    
def get_model():

    if not check_config():
        raise Exception("DJL:DeepSpeed configurations are not default. This code does not support non default configurations") 
    
    tensor_parallel = int(os.getenv('TENSOR_PARALLEL_DEGREE', '1'))
    local_rank = int(os.getenv('LOCAL_RANK', '0'))
    model_dir = "/tmp/model"
    bucket = os.environ.get("MODEL_S3_BUCKET")
    key_prefix = os.environ.get("MODEL_S3_PREFIX")
    print(f"rank: {local_rank}")
    if local_rank == 0:
        if f"{model_dir}/DONE" not in glob(f"{model_dir}/*"):
            print("Starting Model downloading files")
            try:
                proc_run = subprocess.run(
                    ["aws", "s3", "cp", "--recursive", f"s3://{bucket}/{key_prefix}", model_dir]
                )
                print("Model downloading finished")
                # write file when download complete. Could use dist.barrier() but this makes it easier to check if model is downloaded in case of retry
                with open(f"{model_dir}/DONE", "w") as f:
                    f.write("download_complete")
                    
                proc_run.check_returncode() # to throw the error in case there was one
                
            except subprocess.CalledProcessError as e:
                print ( "Model download failed: Error:nreturn code: ", e.returncode, "nOutput: ", e.stderr )
                raise # FAIL FAST  
                               
    dist.barrier()
                
    
    tokenizer = AutoTokenizer.from_pretrained(model_dir)
    
    # has to be FP16 as Int8 model loading not yet supported
    with deepspeed.OnDevice(dtype=torch.float16, device="meta"):
        model = AutoModelForCausalLM.from_config(
            AutoConfig.from_pretrained(model_dir), torch_dtype=torch.bfloat16
        )
    model = model.eval()
    
    model = deepspeed.init_inference(
        model,
        mp_size=tensor_parallel,
        dtype=torch.int8,
        base_dir = model_dir,
        checkpoint=os.path.join(model_dir, "ds_inference_config.json"),
        replace_method='auto',
        replace_with_kernel_inject=True
    )

    model = model.module
    dist.barrier()
    return model, tokenizer

DJLServing نصب زمان اجرا را روی هر بسته پیپ تعریف شده در آن مدیریت می کند requirement.txt. این فایل دارای:

awscli
boto3

ما یک دایرکتوری به نام ایجاد کرده ایم code و model.py, serving.propertiesو requirements.txt فایل ها قبلا در این دایرکتوری ایجاد شده اند. برای مشاهده فایل ها می توانید کد زیر را از ترمینال اجرا کنید:

mkdir -p code
cat code/model.py 
cat code/serving.properties 
cat code/requirements.txt 

شکل زیر ساختار آن را نشان می دهد model.tar.gz.

در نهایت، فایل مدل را ایجاد می کنیم و آن را در آمازون S3 آپلود می کنیم:

tar cvfz model.tar.gz code
s3_code_artifact = sess.upload_data("model.tar.gz", bucket, s3_code_prefix)

مدل را از Hugging Face دانلود و ذخیره کنید (اختیاری)

در این قسمت مراحل را برای شما فراهم کرده ایم که بخواهید مدل را در Amazon S3 دانلود کرده و از آنجا استفاده کنید. مراحل در فایل Jupyter در GitHub ارائه شده است. تصویر زیر تصویری از مراحل را نشان می دهد.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.

یک مدل SageMaker ایجاد کنید

اکنون یک را ایجاد می کنیم مدل SageMaker. ما استفاده می کنیم رجیستری ظروف الاستیک آمازون تصویر (Amazon ECR) ارائه شده توسط و مصنوع مدل از مرحله قبل برای ایجاد مدل SageMaker. در تنظیمات مدل، ما پیکربندی می کنیم TENSOR_PARALLEL_DEGREE=8، به این معنی که مدل در امتداد 8 پردازنده گرافیکی پارتیشن بندی شده است. کد زیر را ببینید:

PrimaryContainer={
        "Image": inference_image_uri,
        "ModelDataUrl": s3_code_artifact,
        "Environment": {
            "MODEL_S3_BUCKET": bucket,
            "MODEL_S3_PREFIX": s3_model_prefix,
            "TENSOR_PARALLEL_DEGREE": "8",
},

پس از اجرای سلول قبلی در فایل Jupyter، خروجی مشابه زیر را مشاهده می کنید:

{
    "ModelArn": "arn:aws:sagemaker:us-east-1::model/bloom-djl-ds-"
}

یک نقطه پایانی SageMaker ایجاد کنید

می توانید از هر نمونه ای با چندین پردازنده گرافیکی برای آزمایش استفاده کنید. در این دمو از یک نمونه p4d.24xlarge استفاده می کنیم. در کد زیر به نحوه تنظیم کردن آن توجه کنید ModelDataDownloadTimeoutInSeconds, ContainerStartupHealthCheckTimeoutInSecondsو VolumeSizeInGB پارامترهایی برای تطبیق با اندازه مدل بزرگ را VolumeSizeInGB پارامتر برای نمونه‌های GPU که از پیوست ولوم EBS پشتیبانی می‌کنند، کاربرد دارد.

endpoint_config_response = sm_client.create_endpoint_config(
    EndpointConfigName=endpoint_config_name,
    ProductionVariants=[
        {
            "VariantName": "variant1",
            "ModelName": model_name,
            "InstanceType": "ml.p4d.24xlarge",
            "InitialInstanceCount": 1,
            #"VolumeSizeInGB" : 200,
            "ModelDataDownloadTimeoutInSeconds": 2400,
            "ContainerStartupHealthCheckTimeoutInSeconds": 2400,
        },
    ],
)'

در نهایت، یک نقطه پایانی SageMaker ایجاد می کنیم:

create_endpoint_response = sm_client.create_endpoint(
    EndpointName=f"{endpoint_name}", EndpointConfigName=endpoint_config_name
)

می بینید که در کد زیر چاپ شده است:

{
    "EndpointArn": "arn:aws:sagemaker:us-east-1::endpoint/bloom-djl-ds-"
}

شروع نقطه پایانی ممکن است کمی طول بکشد. در صورت برخورد با آن می توانید چند بار دیگر امتحان کنید InsufficientInstanceCapacity یا می توانید درخواستی را به AWS برای افزایش محدودیت در حساب خود مطرح کنید.

تنظیم عملکرد

اگر قصد دارید از این پست و نوت بوک همراه با مدل دیگری استفاده کنید، ممکن است بخواهید برخی از پارامترهای قابل تنظیمی که SageMaker، DeepSpeed ​​و DJL ارائه می‌دهند را بررسی کنید. آزمایش مکرر با این پارامترها می تواند تأثیری اساسی بر تأخیر، توان عملیاتی و هزینه مدل بزرگ میزبان شما داشته باشد. برای کسب اطلاعات بیشتر در مورد پارامترهای تنظیم مانند تعداد کارگران، درجه موازی تانسور، اندازه صف کار و موارد دیگر، به تنظیمات سرویس DJL و استقرار مدل های بزرگ در Amazon SageMaker با استفاده از استنتاج موازی مدل DJLServing و DeepSpeed.

نتایج

در این پست، ما از DeepSpeed ​​برای میزبانی BLOOM-176B و OPT-30B در نمونه های SageMaker ML استفاده کردیم. جدول زیر نتایج عملکرد ما را خلاصه می کند، از جمله مقایسه با Hugging Face’s Accelerate. تأخیر تعداد میلی‌ثانیه‌های لازم برای تولید یک رشته 256 توکنی را چهار بار منعکس می‌کند.batch_size=4) از مدل. توان عملیاتی تعداد توکن های تولید شده در هر ثانیه را برای هر تست منعکس می کند. برای Hugging Face Accelerate، از بارگذاری پیش‌فرض کتابخانه با نقشه‌برداری حافظه GPU استفاده کردیم. برای DeepSpeed، ما از مکانیسم بارگیری سریعتر ایست بازرسی آن استفاده کردیم.

مدل کتابخانه دقت مدل اندازه دسته مدرک موازی نمونه، مثال زمان بارگذاری
(بازدید کنندگان)
تأخیر (خروجی توکن 4×256) .
. . . . . . . P50
(اماس)
P90
(اماس)
P99
(اماس)
ظرفیت تولید
(توکن ها/ثانیه)
BLOOM-176B در اعماق INT8 4 8 p4d.24xlarge 74.9 27,564 27,580 32,179 37.1
BLOOM-176B شتاب دادن INT8 4 8 p4d.24xlarge 669.4 92,694 92,735 103,292 11.0
OPT-30B در اعماق FP16 4 4 g5.24xlarge 239.4 11,299 11,302 11,576 90.6
OPT-30B شتاب دادن FP16 4 4 g5.24xlarge 533.8 63,734 63,737 67,605 16.1

از منظر تاخیر، DeepSpeed ​​برای BLOOM-3.4B حدود 176 برابر و برای OPT-5.6B 30 برابر سریعتر از Accelerate است. هسته های بهینه شده DeepSpeed ​​مسئول بیشتر این تفاوت در تاخیر هستند. با توجه به این نتایج، اگر مدل انتخابی شما پشتیبانی می‌شود، توصیه می‌کنیم از DeepSpeed ​​روی Accelerate استفاده کنید.

همچنین شایان ذکر است که زمان بارگذاری مدل با DeepSpeed ​​بسیار کوتاه‌تر بود، و اگر پیش‌بینی می‌کنید که نیاز به افزایش سریع تعداد نقاط پایانی خود دارید، آن را به گزینه بهتری تبدیل می‌کند. اگر مدل‌ها یا دقت‌های مدلی دارید که توسط DeepSpeed ​​پشتیبانی نمی‌شوند، تکنیک موازی خط لوله انعطاف‌پذیرتر Accelerate ممکن است گزینه بهتری باشد.

این نتایج همچنین تفاوت در تأخیر و توان عملیاتی اندازه های مختلف مدل را نشان می دهد. در آزمایش‌های ما، OPT-30B 2.4 برابر تعداد توکن‌ها در واحد زمان نسبت به BLOOM-176B در نوع نمونه‌ای که بیش از سه برابر ارزان‌تر است تولید می‌کند. بر اساس قیمت هر واحد توان عملیاتی، OPT-30B در نمونه g5.24xl 8.9 برابر بهتر از BLOOM-176B در نمونه p4d.24xl است. اگر محدودیت‌های تأخیر، توان عملیاتی یا هزینه سختی دارید، از کوچک‌ترین مدل ممکن استفاده کنید که همچنان نیازهای عملکردی را برآورده می‌کند.

پاک کردن

به عنوان بخشی از بهترین روش‌ها، همیشه توصیه می‌شود که نمونه‌های بی‌حرکت را حذف کنید. کد زیر به شما نشان می دهد که چگونه نمونه ها را حذف کنید.

# - Delete the end point
sm_client.delete_endpoint(EndpointName=endpoint_name)

# - In case the end point failed we still want to delete the model
sm_client.delete_endpoint_config(EndpointConfigName=endpoint_config_name)
sm_client.delete_model(ModelName=model_name)

به صورت اختیاری، نقطه بررسی مدل را از S3 خود حذف کنید

!aws s3 rm --recursive s3:///{s3_model_prefix}

نتیجه

در این پست، نحوه استفاده از ظروف استنتاج مدل بزرگ SageMaker برای میزبانی دو مدل زبان بزرگ BLOOM-176B و OPT-30B را نشان دادیم. ما از تکنیک‌های موازی مدل DeepSpeed ​​با چندین GPU در یک نمونه SageMaker ML استفاده کردیم.

برای جزئیات بیشتر در مورد Amazon SageMaker و قابلیت‌های استنتاج مدل بزرگ آن، مراجعه کنید Amazon SageMaker اکنون از استقرار مدل‌های بزرگ از طریق اندازه حجم قابل تنظیم و سهمیه‌های وقفه زمانی پشتیبانی می‌کند و استنتاج بلادرنگ.


درباره نویسندگان

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.سیمون زامارین یک معمار راه حل های AI/ML است که تمرکز اصلی آن کمک به مشتریان برای استخراج ارزش از دارایی های داده خود است. سایمون در اوقات فراغت خود از گذراندن وقت با خانواده، خواندن علمی تخیلی و کار بر روی پروژه های مختلف خانه DIY لذت می برد.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai. روپیند گروال یک معمار راه حل های تخصصی Sr Ai/ML با AWS است. او در حال حاضر روی ارائه مدل ها و MLO ها در SageMaker تمرکز دارد. قبل از این نقش، او به عنوان مهندس یادگیری ماشین، مدل‌های ساخت و میزبانی کار کرده است. خارج از محل کار او از بازی تنیس و دوچرخه سواری در مسیرهای کوهستانی لذت می برد.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.فرانک لیو یک مهندس نرم افزار برای AWS Deep Learning است. او بر ساخت ابزارهای یادگیری عمیق خلاقانه برای مهندسین نرم افزار و دانشمندان تمرکز دارد. در اوقات فراغت خود از پیاده روی با دوستان و خانواده لذت می برد.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.آلن تان یک مدیر ارشد محصول با تلاش های SageMaker در استنتاج مدل های بزرگ است. او علاقه زیادی به استفاده از یادگیری ماشینی در حوزه تجزیه و تحلیل دارد. خارج از محل کار، او از فضای باز لذت می برد.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.داوال پاتل یک معمار اصلی یادگیری ماشین در AWS است. او با سازمان‌هایی از شرکت‌های بزرگ گرفته تا استارت‌آپ‌های متوسط ​​در زمینه مشکلات مربوط به محاسبات توزیع‌شده و هوش مصنوعی کار کرده است. او بر روی یادگیری عمیق از جمله دامنه های NLP و Computer Vision تمرکز دارد. او به مشتریان کمک می کند تا به استنباط مدل با عملکرد بالا در SageMaker دست یابند.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.چینگ لان مهندس توسعه نرم افزار در AWS است. او روی چندین محصول چالش برانگیز در آمازون کار کرده است، از جمله راه حل های استنتاج ML با کارایی بالا و سیستم ثبت گزارش با کارایی بالا. تیم Qing با موفقیت اولین مدل میلیارد پارامتر را در تبلیغات آمازون با تاخیر بسیار کم مورد نیاز راه اندازی کرد. Qing دانش عمیقی در مورد بهینه سازی زیرساخت و شتاب یادگیری عمیق دارد.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.کینگوی لی یک متخصص یادگیری ماشین در خدمات وب آمازون است. او دکترای خود را دریافت کرد. در تحقیقات عملیات پس از اینکه حساب کمک هزینه تحقیقاتی مشاورش را شکست و نتوانست جایزه نوبل را که وعده داده بود تحویل دهد. در حال حاضر او به مشتریان در صنعت خدمات مالی و بیمه کمک می کند تا راه حل های یادگیری ماشینی را در AWS بسازند. در اوقات فراغت به مطالعه و تدریس علاقه دارد.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.رابرت ون دوسن مدیر محصول ارشد آمازون SageMaker است. او بهینه سازی مدل یادگیری عمیق را برای برنامه هایی مانند استنتاج مدل های بزرگ هدایت می کند.

BLOOM-176B و OPT-30B را در آمازون SageMaker با استنتاج مدل بزرگ ظروف یادگیری عمیق و DeepSpeed ​​PlatoBlockchain Data Intelligence استقرار دهید. جستجوی عمودی Ai.سیذارت ونکاتسان یک مهندس نرم افزار در AWS Deep Learning است. او در حال حاضر بر ساخت راه حل هایی برای استنتاج مدل های بزرگ تمرکز دارد. قبل از AWS او در سازمان خواربارفروشی آمازون کار می کرد و ویژگی های پرداخت جدید را برای مشتریان در سراسر جهان ایجاد می کرد. خارج از محل کار، او از اسکی، فضای باز و تماشای ورزش لذت می برد.

تمبر زمان:

بیشتر از آموزش ماشین AWS