آمازون SageMaker یک سرویس یادگیری ماشینی (ML) کاملاً مدیریت شده است. با SageMaker، دانشمندان و توسعه دهندگان داده می توانند به سرعت و به راحتی مدل های ML را بسازند و آموزش دهند و سپس مستقیماً آنها را در یک محیط میزبان آماده تولید مستقر کنند. Sagemaker یک نمونه نوت بوک نویسندگی Jupyter را برای دسترسی آسان به منابع داده شما برای کاوش و تجزیه و تحلیل فراهم می کند، بنابراین نیازی به مدیریت سرورها ندارید. همچنین الگوریتمهای رایج ML را ارائه میکند که برای اجرای کارآمد در برابر دادههای بسیار بزرگ در یک محیط توزیعشده بهینه شدهاند.
SageMaker نیاز دارد که داده های آموزشی برای یک مدل ML در هر یک از آنها وجود داشته باشد سرویس ذخیره سازی ساده آمازون (Amazon S3)، سیستم فایل الاستیک آمازون (Amazon EFS) یا Amazon FSx for Luster (برای اطلاعات بیشتر، به داده های آموزشی دسترسی مراجعه کنید). به منظور آموزش مدلی با استفاده از داده های ذخیره شده خارج از سه سرویس ذخیره سازی پشتیبانی شده، ابتدا باید داده ها در یکی از این سرویس ها (معمولا آمازون S3) وارد شوند. این امر مستلزم ایجاد خط لوله داده (با استفاده از ابزارهایی مانند Amazon SageMaker Data Rangler) برای انتقال داده ها به آمازون S3. با این حال، این رویکرد ممکن است یک چالش مدیریت داده از نظر مدیریت چرخه حیات این رسانه ذخیرهسازی داده، ایجاد کنترلهای دسترسی، ممیزی دادهها و غیره ایجاد کند، همه به منظور مرحلهبندی دادههای آموزشی در طول مدت کار آموزشی. در چنین شرایطی، ممکن است مطلوب باشد که داده های قابل دسترسی SageMaker در رسانه های ذخیره سازی زودگذر متصل به نمونه های آموزشی زودگذر بدون ذخیره سازی میانی داده ها در Amazon S3.
این پست راهی برای انجام این کار با استفاده از آن نشان می دهد دانه برف به عنوان منبع داده و با دانلود مستقیم داده ها از Snowflake در یک نمونه شغلی SageMaker Training.
بررسی اجمالی راه حل
ما با استفاده از مجموعه داده مسکن کالیفرنیا به عنوان یک مجموعه داده آموزشی برای این پست و آموزش یک مدل ML برای پیش بینی ارزش خانه متوسط برای هر منطقه. این داده ها را به عنوان جدول جدید به Snowflake اضافه می کنیم. ما یک محفظه آموزشی سفارشی ایجاد می کنیم که داده ها را مستقیماً از جدول Snowflake در نمونه آموزشی بارگیری می کند نه اینکه ابتدا داده ها را در یک سطل S3 بارگیری کند. پس از دانلود داده ها در نمونه آموزشی، اسکریپت آموزشی سفارشی وظایف آماده سازی داده را انجام می دهد و سپس مدل ML را با استفاده از تخمینگر XGBoost. همه کدهای این پست در آدرس موجود است GitHub repo.
شکل زیر معماری سطح بالای راه حل پیشنهادی برای استفاده از Snowflake به عنوان منبع داده برای آموزش مدل های ML با SageMaker را نشان می دهد.
مراحل گردش کار به شرح زیر است:
- یک نوت بوک SageMaker و یک هویت AWS و مدیریت دسترسی نقش (IAM) با مجوزهای مناسب برای دسترسی به SageMaker رجیستری ظروف الاستیک آمازون (Amazon ECR)، Secrets Manager، و سایر خدمات در حساب AWS شما.
- اعتبار حساب Snowflake خود را در AWS Secrets Manager ذخیره کنید.
- داده ها را در یک جدول در حساب Snowflake خود مصرف کنید.
- یک تصویر ظرف سفارشی برای آموزش مدل ML ایجاد کنید و آن را به Amazon ECR فشار دهید.
- یک کار آموزشی SageMaker برای آموزش مدل ML راه اندازی کنید. نمونه آموزشی اعتبارنامههای Snowflake را از Secrets Manager بازیابی میکند و سپس از این اعتبارنامهها برای دانلود مستقیم مجموعه داده از Snowflake استفاده میکند. این مرحله ای است که نیازی به دانلود داده ها برای اولین بار در یک سطل S3 را از بین می برد.
- مدل آموزش دیده ML در یک سطل S3 ذخیره می شود.
پیش نیازها
برای پیاده سازی راه حل ارائه شده در این پست، باید یک حساب AWS، یک حساب دانه برف و آشنایی با SageMaker.
یک SageMaker Notebook و نقش IAM را تنظیم کنید
ما از AWS CloudFormation برای ایجاد یک نوت بوک SageMaker به نام استفاده می کنیم aws-aiml-blogpost-sagemaker-snowflake-example
و یک نقش IAM به نام SageMakerSnowFlakeExample
. انتخاب کنید Stack را راه اندازی کنید برای منطقه ای که می خواهید منابع را در آن مستقر کنید.
مشخصات Snowflake را در Secrets Manager ذخیره کنید
اعتبارنامه Snowflake خود را به عنوان یک راز در Secrets Manager ذخیره کنید. برای راهنمایی در مورد چگونگی ایجاد یک راز، مراجعه کنید Create an AWS Secrets Manager secret
.
- راز را نام ببرید
snowflake_credentials
. این مورد نیاز است زیرا کد درsnowflake-load-dataset.ipynb
انتظار دارد که راز به این نام خوانده شود. - رمز را به عنوان یک جفت کلید-مقدار با دو کلید ایجاد کنید:
- نام کاربری – نام کاربری Snowflake شما.
- کلمه عبور – رمز عبور مرتبط با نام کاربری Snowflake شما.
داده ها را در یک جدول در حساب Snowflake خود مصرف کنید
برای دریافت داده ها، مراحل زیر را انجام دهید:
- در کنسول SageMaker، را انتخاب کنید نوت بوک در صفحه ناوبری
- نوت بوک aws-aiml-blogpost-sagemaker-snowflake-example را انتخاب کنید و انتخاب کنید JupyterLab را باز کنید.
- را انتخاب کنید
snowflake-load-dataset.ipynb
برای باز کردن آن در JupyterLab. این نوت بوک را بلعیده است مجموعه داده مسکن کالیفرنیا به یک میز دانه برف - در نوت بوک، محتویات سلول زیر را ویرایش کنید تا مقادیر مکاننما را با چیزی که با حساب snowflake شما مطابقت دارد جایگزین کنید:
- در منوی Run، را انتخاب کنید اجرای همه سلول ها برای اجرای کد در این نوت بوک. با این کار مجموعه داده به صورت محلی در دفترچه یادداشت بارگیری می شود و سپس آن را در جدول Snowflake وارد می کند.
قطعه کد زیر در نوت بوک مجموعه داده را در Snowflake وارد می کند. را ببینید snowflake-load-dataset.ipynb
نوت بوک برای کد کامل
- پس از اجرای تمام سلول ها بدون هیچ خطایی، نوت بوک را ببندید. داده های شما اکنون در Snowflake موجود است. تصویر زیر نشان می دهد
california_housing
جدول ایجاد شده در Snowflake.
اجرا کن sagemaker-snowflake-example.ipynb
دفتر یادداشت
این نوت بوک یک محفظه آموزشی سفارشی با اتصال Snowflake ایجاد میکند، دادهها را از Snowflake به ذخیرهسازی موقت نمونه آموزشی بدون مرحلهبندی آن در Amazon S3 استخراج میکند و آموزش مدل XGBoost با توزیع دادههای موازی (DDP) را روی دادهها انجام میدهد. آموزش DDP برای آموزش مدل در چنین مجموعه داده کوچکی لازم نیست. برای نشان دادن یکی دیگر از ویژگی های SageMaker که اخیراً منتشر شده است، در اینجا گنجانده شده است.
یک کانتینر سفارشی برای آموزش ایجاد کنید
اکنون یک ظرف سفارشی برای کار آموزش مدل ML ایجاد می کنیم. توجه داشته باشید که برای ایجاد کانتینر Docker به دسترسی ریشه نیاز است. این نوت بوک SageMaker با دسترسی ریشه فعال شده است. اگر خطمشیهای سازمان سازمانی شما اجازه دسترسی ریشه به منابع ابری را نمیدهد، ممکن است بخواهید از فایل Docker و اسکریپتهای پوسته زیر برای ساختن ظرف Docker در جای دیگری (مثلاً لپتاپ) و سپس فشار دادن آن به Amazon ECR استفاده کنید. ما از ظرف بر اساس تصویر ظرف SageMaker XGBoost استفاده می کنیم 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.5-1
با اضافات زیر:
- La رابط دانه برف برای پایتون برای دانلود داده ها از جدول Snowflake به نمونه آموزشی.
- یک اسکریپت پایتون برای اتصال به Secrets Manager برای بازیابی اعتبارنامه Snowflake.
استفاده از رابط Snowflake و اسکریپت پایتون تضمین می کند که کاربرانی که از این تصویر ظرف برای آموزش مدل ML استفاده می کنند، مجبور نیستند این کد را به عنوان بخشی از اسکریپت آموزشی خود بنویسند و می توانند از این قابلیت که از قبل برای آنها در دسترس است استفاده کنند.
Dockerfile برای کانتینر آموزشی زیر است:
تصویر کانتینر ساخته شده و به Amazon ECR منتقل شده است. این تصویر برای آموزش مدل ML استفاده می شود.
با استفاده از SageMaker Training مدل ML را آموزش دهید
پس از ایجاد موفقیت آمیز تصویر ظرف و فشار دادن آن به Amazon ECR، می توانیم از آن برای آموزش مدل استفاده کنیم.
- ما مجموعه ای از اسکریپت های پایتون را برای دانلود داده ها از Snowflake با استفاده از آن ایجاد می کنیم رابط دانه برف برای پایتون، داده ها را آماده کرده و سپس از آن استفاده کنید
XGBoost Regressor
برای آموزش مدل ML. این مرحله دانلود مستقیم دادهها در نمونه آموزشی است که از استفاده از Amazon S3 به عنوان ذخیرهسازی میانی برای دادههای آموزشی اجتناب میکند. - ما آموزش موازی دادههای توزیعشده را با دانلود کد آموزشی زیرمجموعهای تصادفی از دادهها تسهیل میکنیم به طوری که هر نمونه آموزشی مقدار مساوی داده را از Snowflake دانلود میکند. برای مثال، اگر دو گره آموزشی وجود داشته باشد، هر گره یک نمونه تصادفی از 50 درصد از ردیفهای جدول Snowflake را دانلود میکند. کد زیر را ببینید:
- سپس اسکریپت آموزشی را به SageMaker SDK ارائه می کنیم
Estimator
همراه با دایرکتوری منبع، به طوری که تمام اسکریپت هایی که ایجاد می کنیم می توانند در محفظه آموزشی در هنگام اجرای کار آموزشی با استفاده ازEstimator.fit
روش:برای اطلاعات بیشتر به مراجعه کنید یک اسکریپت آموزشی Scikit-Learn تهیه کنید.
- پس از اتمام آموزش مدل، مدل آموزش دیده به صورت a موجود می باشد
model.tar.gz
فایل در سطل پیش فرض SageMaker برای منطقه:
اکنون می توانید مدل آموزش دیده را برای استنتاج بر روی داده های جدید مستقر کنید! برای دستورالعمل، مراجعه کنید نقطه پایانی خود را ایجاد کنید و مدل خود را مستقر کنید.
پاک کردن
برای جلوگیری از تحمیل هزینه در آینده، منابع را حذف کنید. می توانید این کار را با حذف الگوی CloudFormation مورد استفاده برای ایجاد نقش IAM و نوت بوک SageMaker انجام دهید.
شما باید منابع Snowflake را به صورت دستی از کنسول Snowflake حذف کنید.
نتیجه
در این پست نشان دادیم که چگونه داده های ذخیره شده در جدول Snowflake را در یک نمونه کار SageMaker Training بارگیری کنیم و یک مدل XGBoost را با استفاده از یک ظرف آموزشی سفارشی آموزش دهیم. این رویکرد به ما امکان میدهد مستقیماً Snowflake را بهعنوان منبع داده با نوتبوک SageMaker ادغام کنیم، بدون اینکه دادهها در Amazon S3 مرحلهبندی شوند.
ما شما را تشویق می کنیم تا با کاوش در این قسمت بیشتر بیاموزید Amazon SageMaker Python SDK و ساخت یک راه حل با استفاده از پیاده سازی نمونه ارائه شده در این پست و مجموعه داده مرتبط با کسب و کار شما. اگر سوال یا پیشنهادی دارید، کامنت بگذارید.
درباره نویسندگان
آمیت آرورا یک معمار متخصص هوش مصنوعی و ML در خدمات وب آمازون است که به مشتریان سازمانی کمک می کند تا از خدمات یادگیری ماشینی مبتنی بر ابر استفاده کنند تا نوآوری های خود را به سرعت گسترش دهند. او همچنین یک مدرس کمکی در برنامه علوم داده و تجزیه و تحلیل MS در دانشگاه جورج تاون در واشنگتن دی سی است.
دیویا مورالیدهران یک معمار راه حل در خدمات وب آمازون است. او مشتاق کمک به مشتریان سازمانی برای حل مشکلات تجاری با فناوری است. او دارای مدرک کارشناسی ارشد در علوم کامپیوتر از موسسه فناوری روچستر است. او در خارج از دفتر وقت خود را صرف آشپزی، آواز خواندن و پرورش گیاهان می کند.
سرگئی ارمولین یک معمار اصلی AIML Solutions در AWS است. پیش از این، او معمار راه حل های نرم افزاری برای یادگیری عمیق، تجزیه و تحلیل و فناوری های کلان داده در اینتل بود. سرگی که کهنه سرباز سیلیکون ولی با اشتیاق به یادگیری ماشینی و هوش مصنوعی، از روزهای قبل از GPU که از آنها برای پیش بینی رفتار پیری کریستال های کوارتز و ساعت های اتمی سزیم در هیولت پاکارد استفاده می کرد، به شبکه های عصبی علاقه داشت. سرگئی دارای گواهینامه MSEE و CS از استنفورد و مدرک کارشناسی فیزیک و مهندسی مکانیک از دانشگاه ایالتی کالیفرنیا، ساکرامنتو است. سرگئی خارج از محل کار، از شرابسازی، اسکی، دوچرخهسواری، قایقرانی و غواصی لذت میبرد. سرگئی همچنین یک خلبان داوطلب برای پرواز فرشته.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/use-snowflake-as-a-data-source-to-train-ml-models-with-amazon-sagemaker/
- :است
- $UP
- 1
- 10
- 7
- 8
- a
- درباره ما
- دسترسی
- در دسترس
- حساب
- اضافات
- پس از
- در برابر
- سالخورده
- AI
- AIML
- الگوریتم
- معرفی
- اجازه می دهد تا
- قبلا
- آمازون
- آمازون FSx
- آمازون SageMaker
- آمازون خدمات وب
- مقدار
- تحلیل
- علم تجزیه و تحلیل
- و
- دیگر
- روش
- مناسب
- معماری
- هستند
- مصنوعی
- هوش مصنوعی
- AS
- مرتبط است
- At
- حسابرسی
- تالیف
- در دسترس
- AWS
- AWS CloudFormation
- پایه
- مستقر
- BE
- زیرا
- بزرگ
- بزرگ داده
- ساختن
- بنا
- ساخته
- کسب و کار
- by
- کالیفرنیا
- نام
- CAN
- سلول ها
- گواهی نامه
- به چالش
- بار
- را انتخاب کنید
- تمیز کاری
- ساعت
- ابر
- رمز
- ستون
- ستون ها
- توضیح
- مشترک
- کامل
- کامپیوتر
- علم کامپیوتر
- اتصال
- ارتباط
- کنسول
- ظرف
- شامل
- محتویات
- گروه شاهد
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- مجوزها و اعتبارات
- سفارشی
- مشتریان
- داده ها
- مدیریت اطلاعات
- آماده سازی داده ها
- علم اطلاعات
- ذخیره سازی داده ها
- زمان قرار
- روز
- DDP
- تصمیم گیری
- عمیق
- یادگیری عمیق
- به طور پیش فرض
- درجه
- گسترش
- مستقر
- توسعه دهندگان
- مستقیما
- توزیع شده
- ناحیه
- کارگر بارانداز
- آیا
- دانلود
- دانلود
- هر
- به آسانی
- موثر
- هر دو
- حذف می شود
- در جای دیگر
- فعال
- تشویق
- نقطه پایانی
- مهندسی
- تضمین می کند
- سرمایه گذاری
- محیط
- خطا
- مثال
- اجرا کردن
- وجود دارد
- انتظار می رود
- اکتشاف
- بررسی
- عصاره ها
- خیلی
- تسهیل کردن
- منصفانه
- آشنایی
- ویژگی
- شکل
- پرونده
- نهایی
- نام خانوادگی
- مناسب
- پیروی
- به دنبال آن است
- برای
- از جانب
- کامل
- کاملا
- قابلیت
- آینده
- دریافت کنید
- گرفتن
- GitHub
- رفتن
- در حال رشد
- آیا
- داشتن
- کمک
- اینجا کلیک نمایید
- در سطح بالا
- دارای
- میزبانی
- میزبان
- خانه
- مسکن
- چگونه
- چگونه
- اما
- HTML
- HTTPS
- هویت
- تصویر
- انجام
- پیاده سازی
- واردات
- in
- شامل
- مشمول
- شاخص
- اطلاعات
- نوآوری
- نصب
- نمونه
- موسسه
- دستورالعمل
- ادغام
- یکپارچه
- اینتل
- اطلاعات
- علاقه مند
- IT
- کار
- کلید
- لپ تاپ
- بزرگ
- نام
- یاد گرفتن
- یادگیری
- ترک کردن
- wifecycwe
- ln
- به صورت محلی
- دستگاه
- فراگیری ماشین
- مدیریت
- اداره می شود
- مدیریت
- مدیر
- مدیریت
- دستی
- مطابق
- مکانیکی
- رسانه ها
- متوسط
- فهرست
- روش
- ML
- مدل
- مدل
- بیش
- حرکت
- MS
- نام
- جهت یابی
- نیاز
- نیازهای
- شبکه
- شبکه های عصبی
- جدید
- بعد
- گره
- گره
- دفتر یادداشت
- عدد
- هدف
- of
- دفتر
- on
- ONE
- باز کن
- بهینه
- سفارش
- کدام سازمان ها
- دیگر
- خارج از
- بسته
- پانداها
- قطعه
- موازی
- بخش
- شور
- احساساتی
- کلمه عبور
- انجام می دهد
- مجوز
- فیزیک
- خلبان
- خط لوله
- حفره یا سوراخ
- گیاهان
- افلاطون
- هوش داده افلاطون
- PlatoData
- سیاست
- پر جمعیت
- پست
- پیش بینی
- آماده
- در حال حاضر
- قبلا
- اصلی
- مشکلات
- برنامه
- پیشنهاد شده
- ارائه
- ارائه
- فراهم می کند
- هدف
- فشار
- تحت فشار قرار دادند
- پــایتــون
- سوالات
- به سرعت
- تصادفی
- سریعا
- نسبتا
- خواندن
- تازه
- سوابق
- را کاهش می دهد
- منطقه
- منتشر شد
- مربوط
- جایگزین کردن
- نشان دهنده
- ضروری
- نیاز
- منابع
- برگشت
- نقش
- ریشه
- ROW
- دویدن
- ساکرامنتو
- حکیم ساز
- کشتیرانی
- ذخیره
- مقیاس
- علم
- دانشمندان
- یادگیری
- اسکریپت
- sdk
- راز
- سرور
- سرویس
- خدمات
- تنظیم
- شکل
- صدف
- باید
- نشان می دهد
- قابل توجه
- سیلیکون
- سیلیکون ولی (Silicon Valley)
- ساده
- پس از
- شرایط
- کوچک
- So
- نرم افزار
- راه حل
- مزایا
- حل
- منبع
- منابع
- فضا
- متخصص
- استقرار
- شروع
- دولت
- بیانیه
- گام
- مراحل
- ذخیره سازی
- ذخیره شده
- زیرشبکه ها
- موفقیت
- چنین
- پشتیبانی
- پشتیبانی
- سیستم
- جدول
- وظایف
- فن آوری
- پیشرفته
- قالب
- قوانین و مقررات
- که
- La
- منبع
- شان
- آنها
- اینها
- سه
- از طریق
- زمان
- به
- ابزار
- جمع
- قطار
- آموزش دیده
- آموزش
- قطار
- به طور معمول
- دانشگاه
- بروزرسانی
- us
- استفاده کنید
- کاربر
- کاربران
- دره
- ارزش
- ارزشها
- کهنه سرباز
- داوطلب
- واشنگتن
- مسیر..
- وب
- خدمات وب
- که
- WHO
- اراده
- با
- در داخل
- بدون
- مهاجرت کاری
- نوشتن
- XGBoost
- شما
- شما
- زفیرنت