Amazon SageMaker adalah layanan pembelajaran mesin (ML) yang dikelola sepenuhnya. Dengan SageMaker, ilmuwan data dan pengembang dapat dengan cepat dan mudah membuat dan melatih model ML, lalu menerapkannya langsung ke lingkungan yang siap untuk produksi dan dihosting. Sagemaker menyediakan instans notebook pembuat Jupyter terintegrasi untuk akses mudah ke sumber data Anda untuk eksplorasi dan analisis, sehingga Anda tidak perlu mengelola server. Ini juga menyediakan algoritme ML umum yang dioptimalkan untuk berjalan secara efisien terhadap data yang sangat besar dalam lingkungan terdistribusi.
SageMaker mengharuskan data pelatihan untuk model ML ada di dalamnya Amazon Simple Storage Service (Amazon S3), Amazon Elastic File System (Amazon EFS), atau Amazon FSx for Luster (untuk informasi selengkapnya, lihat Mengakses Data Pelatihan). Untuk melatih model menggunakan data yang disimpan di luar tiga layanan penyimpanan yang didukung, data harus diserap terlebih dahulu ke dalam salah satu layanan ini (biasanya Amazon S3). Ini membutuhkan pembangunan pipa data (menggunakan alat seperti Pengatur Data Amazon SageMaker) untuk memindahkan data ke Amazon S3. Namun, pendekatan ini dapat menimbulkan tantangan manajemen data dalam hal mengelola siklus hidup media penyimpanan data ini, menyusun kontrol akses, audit data, dan seterusnya, semua untuk tujuan pementasan data pelatihan selama pekerjaan pelatihan. Dalam situasi seperti itu, mungkin diinginkan agar data dapat diakses oleh SageMaker di media penyimpanan singkat yang terpasang pada instans pelatihan singkat tanpa penyimpanan perantara data di Amazon S3.
Posting ini menunjukkan cara untuk melakukan ini menggunakan Kepingan salju sebagai sumber data dan dengan mengunduh data langsung dari Snowflake ke dalam contoh pekerjaan Pelatihan SageMaker.
Ikhtisar solusi
Kami menggunakan Kumpulan Data Perumahan California sebagai dataset pelatihan untuk postingan ini dan melatih model ML untuk memprediksi nilai rata-rata rumah untuk setiap distrik. Kami menambahkan data ini ke Snowflake sebagai tabel baru. Kami membuat wadah pelatihan khusus yang mengunduh data langsung dari tabel Snowflake ke dalam instans pelatihan daripada mengunduh data terlebih dahulu ke dalam bucket S3. Setelah data diunduh ke dalam instance pelatihan, skrip pelatihan khusus melakukan tugas persiapan data, lalu melatih model ML menggunakan Penaksir XGBoost. Semua kode untuk posting ini tersedia di GitHub repo.
Gambar berikut menunjukkan arsitektur tingkat tinggi dari solusi yang diusulkan untuk menggunakan Snowflake sebagai sumber data untuk melatih model ML dengan SageMaker.
Langkah-langkah alur kerjanya adalah sebagai berikut:
- Menyiapkan buku catatan SageMaker dan Identitas AWS dan Manajemen Akses (IAM) dengan izin yang sesuai untuk mengizinkan akses SageMaker Registry Kontainer Elastis Amazon (Amazon ECR), Secrets Manager, dan layanan lain dalam akun AWS Anda.
- Simpan kredensial akun Snowflake Anda di AWS Secrets Manager.
- Serap data dalam tabel di akun Snowflake Anda.
- Buat gambar kontainer kustom untuk pelatihan model ML dan dorong ke Amazon ECR.
- Luncurkan tugas Pelatihan SageMaker untuk melatih model ML. Contoh pelatihan mengambil kredensial Snowflake dari Secrets Manager dan kemudian menggunakan kredensial ini untuk mendownload dataset dari Snowflake secara langsung. Ini adalah langkah yang meniadakan kebutuhan untuk mengunduh data terlebih dahulu ke dalam bucket S3.
- Model ML terlatih disimpan dalam bucket S3.
Prasyarat
Untuk mengimplementasikan solusi yang diberikan dalam posting ini, Anda harus memiliki Akun AWS, Sebuah Akun kepingan salju dan keakraban dengan SageMaker.
Siapkan peran SageMaker Notebook dan IAM
Kami menggunakan AWS CloudFormation untuk membuat notebook SageMaker bernama aws-aiml-blogpost-sagemaker-snowflake-example
dan peran IAM dipanggil SageMakerSnowFlakeExample
. Memilih Luncurkan Stack untuk Wilayah tempat Anda ingin menerapkan sumber daya.
Simpan kredensial Snowflake di Secrets Manager
Simpan kredensial Snowflake Anda sebagai rahasia di Secrets Manager. Untuk instruksi tentang cara membuat rahasia, lihat Create an AWS Secrets Manager secret
.
- Sebutkan rahasianya
snowflake_credentials
. Ini diperlukan karena kode disnowflake-load-dataset.ipynb
mengharapkan rahasia untuk disebut itu. - Buat rahasia sebagai pasangan kunci-nilai dengan dua kunci:
- nama pengguna โ Nama pengguna Kepingan Salju Anda.
- kata sandi โ Kata sandi yang terkait dengan nama pengguna Snowflake Anda.
Serap data dalam tabel di akun Snowflake Anda
Untuk menyerap data, selesaikan langkah-langkah berikut:
- Di konsol SageMaker, pilih notebook di panel navigasi.
- Pilih notebook aws-aiml-blogpost-sagemaker-snowflake-example dan pilih Buka JupyterLab.
- Pilih
snowflake-load-dataset.ipynb
untuk membukanya di JupyterLab. Notebook ini akan menelan Kumpulan Data Perumahan California ke meja Kepingan Salju. - Di buku catatan, edit konten sel berikut untuk mengganti nilai placeholder dengan yang cocok dengan akun kepingan salju Anda:
- Pada menu Jalankan, pilih Jalankan Semua Sel untuk menjalankan kode di notebook ini. Ini akan mengunduh dataset secara lokal ke dalam notebook dan kemudian memasukkannya ke dalam tabel Snowflake.
Cuplikan kode berikut di notebook menyerap kumpulan data ke Snowflake. Lihat snowflake-load-dataset.ipynb
notebook untuk kode lengkap.
- Tutup buku catatan setelah semua sel berjalan tanpa kesalahan. Data Anda sekarang tersedia di Snowflake. Tangkapan layar berikut menunjukkan
california_housing
tabel yang dibuat di Snowflake.
Jalankan sagemaker-snowflake-example.ipynb
buku catatan
Notebook ini membuat wadah pelatihan khusus dengan koneksi Snowflake, mengekstrak data dari Snowflake ke dalam penyimpanan singkat instans pelatihan tanpa mementaskannya di Amazon S3, dan melakukan pelatihan model XGBoost Paralel Data Terdistribusi (DDP) pada data. Pelatihan DDP tidak diperlukan untuk pelatihan model pada kumpulan data sekecil itu; itu disertakan di sini untuk ilustrasi fitur SageMaker yang baru dirilis.
Buat wadah khusus untuk pelatihan
Kami sekarang membuat wadah khusus untuk tugas pelatihan model ML. Perhatikan bahwa akses root diperlukan untuk membuat wadah Docker. Notebook SageMaker ini diterapkan dengan akses root diaktifkan. Jika kebijakan organisasi perusahaan Anda tidak mengizinkan akses root ke sumber daya cloud, Anda mungkin ingin menggunakan file Docker berikut dan skrip shell untuk membuat container Docker di tempat lain (misalnya, laptop Anda) lalu mendorongnya ke Amazon ECR. Kami menggunakan wadah berdasarkan gambar wadah SageMaker XGBoost 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.5-1
dengan tambahan sebagai berikut:
- Grafik Konektor Kepingan Salju untuk Python untuk mengunduh data dari tabel Kepingan Salju ke instans pelatihan.
- Skrip Python untuk terhubung ke Secrets Manager untuk mengambil kredensial Snowflake.
Menggunakan konektor Snowflake dan skrip Python memastikan bahwa pengguna yang menggunakan gambar penampung ini untuk pelatihan model ML tidak perlu menulis kode ini sebagai bagian dari skrip pelatihan mereka dan dapat menggunakan fungsi ini yang sudah tersedia untuk mereka.
Berikut ini adalah Dockerfile untuk wadah pelatihan:
Gambar kontainer dibuat dan didorong ke Amazon ECR. Gambar ini digunakan untuk melatih model ML.
Latih model ML menggunakan tugas Pelatihan SageMaker
Setelah kita berhasil membuat image container dan mendorongnya ke Amazon ECR, kita dapat mulai menggunakannya untuk pelatihan model.
- Kami membuat satu set skrip Python untuk mengunduh data dari Snowflake menggunakan Konektor Kepingan Salju untuk Python, siapkan datanya lalu gunakan
XGBoost Regressor
untuk melatih model ML. Ini adalah langkah mengunduh data secara langsung ke instans pelatihan yang menghindari penggunaan Amazon S3 sebagai penyimpanan perantara untuk data pelatihan. - Kami memfasilitasi pelatihan Paralel Data Terdistribusi dengan meminta kode pelatihan mengunduh subkumpulan data acak sehingga setiap instans pelatihan mengunduh jumlah data yang sama dari Snowflake. Misalnya, jika ada dua node pelatihan, maka setiap node mengunduh sampel acak 50% dari baris di tabel Kepingan Salju. Lihat kode berikut:
- Kami kemudian memberikan skrip pelatihan ke SageMaker SDK
Estimator
beserta direktori source agar semua script yang kita buat dapat disediakan ke training container saat training job dijalankan menggunakanEstimator.fit
Metode:Untuk informasi lebih lanjut, lihat Siapkan Skrip Pelatihan Scikit-Learn.
- Setelah pelatihan model selesai, model yang dilatih tersedia sebagai a
model.tar.gz
file di bucket SageMaker default untuk Wilayah:
Anda sekarang dapat menerapkan model terlatih untuk mendapatkan inferensi pada data baru! Untuk instruksi, lihat Buat titik akhir Anda dan terapkan model Anda.
Membersihkan
Untuk menghindari timbulnya biaya di masa mendatang, hapus sumber daya. Anda dapat melakukannya dengan menghapus template CloudFormation yang digunakan untuk membuat peran IAM dan notebook SageMaker.
Anda harus menghapus sumber daya Snowflake secara manual dari konsol Snowflake.
Kesimpulan
Dalam postingan ini, kami menunjukkan cara mengunduh data yang disimpan dalam tabel Snowflake ke instans tugas Pelatihan SageMaker dan melatih model XGBoost menggunakan wadah pelatihan khusus. Pendekatan ini memungkinkan kami untuk secara langsung mengintegrasikan Snowflake sebagai sumber data dengan notebook SageMaker tanpa membuat data dipentaskan di Amazon S3.
Kami mendorong Anda untuk mempelajari lebih lanjut dengan menjelajahi SDK Python Amazon SageMaker dan membangun solusi menggunakan contoh implementasi yang disediakan dalam postingan ini dan kumpulan data yang relevan dengan bisnis Anda. Jika Anda memiliki pertanyaan atau saran, tinggalkan komentar.
Tentang penulis
Amit Arora adalah arsitek spesialis AI dan ML di Amazon Web Services, membantu pelanggan perusahaan menggunakan layanan pembelajaran mesin berbasis cloud untuk menskalakan inovasi mereka dengan cepat. Dia juga dosen tambahan di MS data science and analytics program di Georgetown University di Washington DC
Divya Muralidharan adalah Arsitek Solusi di Amazon Web Services. Dia bersemangat membantu pelanggan perusahaan memecahkan masalah bisnis dengan teknologi. Dia memiliki gelar Magister Ilmu Komputer dari Rochester Institute of Technology. Di luar kantor, dia menghabiskan waktu untuk memasak, bernyanyi, dan menanam tanaman.
Sergei Ermolin adalah Arsitek Solusi AIML Utama di AWS. Sebelumnya, dia adalah arsitek solusi perangkat lunak untuk pembelajaran mendalam, analitik, dan teknologi data besar di Intel. Seorang veteran Silicon Valley dengan hasrat untuk pembelajaran mesin dan kecerdasan buatan, Sergey telah tertarik pada jaringan saraf sejak masa pra-GPU, ketika dia menggunakannya untuk memprediksi perilaku penuaan kristal kuarsa dan jam atom cesium di Hewlett-Packard. Sergey memegang MSEE dan sertifikat CS dari Stanford dan gelar BS dalam fisika dan teknik mesin dari California State University, Sacramento. Di luar pekerjaan, Sergey menikmati pembuatan anggur, bermain ski, bersepeda, berlayar, dan menyelam. Sergey juga seorang pilot sukarelawan untuk Penerbangan Malaikat.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/use-snowflake-as-a-data-source-to-train-ml-models-with-amazon-sagemaker/
- :adalah
- $NAIK
- 1
- 10
- 7
- 8
- a
- Tentang Kami
- mengakses
- dapat diakses
- Akun
- tambahan
- Setelah
- terhadap
- Penuaan
- AI
- AIML
- algoritma
- Semua
- memungkinkan
- sudah
- Amazon
- AmazonFSx
- Amazon SageMaker
- Amazon Web Services
- jumlah
- analisis
- analisis
- dan
- Lain
- pendekatan
- sesuai
- arsitektur
- ADALAH
- buatan
- kecerdasan buatan
- AS
- terkait
- At
- audit
- menulis
- tersedia
- AWS
- Formasi AWS Cloud
- mendasarkan
- berdasarkan
- BE
- karena
- Besar
- Big data
- membangun
- Bangunan
- dibangun di
- bisnis
- by
- california
- bernama
- CAN
- Sel
- sertifikat
- menantang
- beban
- Pilih
- Pembersihan
- Jam
- awan
- kode
- Kolom
- Kolom
- komentar
- Umum
- lengkap
- komputer
- Komputer Ilmu
- Terhubung
- koneksi
- konsul
- Wadah
- mengandung
- isi
- kontrol
- membuat
- dibuat
- menciptakan
- membuat
- Surat kepercayaan
- adat
- pelanggan
- data
- manajemen data
- Persiapan data
- ilmu data
- penyimpanan data
- tanggal Waktu
- Hari
- DDP
- Memutuskan
- mendalam
- belajar mendalam
- Default
- Derajat
- menyebarkan
- dikerahkan
- pengembang
- langsung
- didistribusikan
- distrik
- Buruh pelabuhan
- Dont
- Download
- download
- setiap
- mudah
- efisien
- antara
- menghilangkan
- di tempat lain
- diaktifkan
- mendorong
- Titik akhir
- Teknik
- Memastikan
- Enterprise
- Lingkungan Hidup
- kesalahan
- contoh
- menjalankan
- ada
- mengharapkan
- eksplorasi
- Menjelajahi
- Ekstrak
- sangat
- memudahkan
- adil
- Keakraban
- Fitur
- Angka
- File
- terakhir
- Pertama
- cocok
- berikut
- berikut
- Untuk
- dari
- penuh
- sepenuhnya
- fungsi
- masa depan
- mendapatkan
- mendapatkan
- GitHub
- akan
- Pertumbuhan
- Memiliki
- memiliki
- membantu
- di sini
- tingkat tinggi
- memegang
- host
- host
- Rumah
- perumahan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- HTTPS
- identitas
- gambar
- melaksanakan
- implementasi
- mengimpor
- in
- memasukkan
- termasuk
- indeks
- informasi
- inovasi
- install
- contoh
- Lembaga
- instruksi
- mengintegrasikan
- terpadu
- Intel
- Intelijen
- tertarik
- IT
- Pekerjaan
- kunci-kunci
- laptop
- besar
- Terakhir
- BELAJAR
- pengetahuan
- Meninggalkan
- siklus hidup
- ln
- lokal
- mesin
- Mesin belajar
- mengelola
- berhasil
- pengelolaan
- manajer
- pelaksana
- manual
- sesuai
- mekanis
- Media
- medium
- menu
- metode
- ML
- model
- model
- lebih
- pindah
- MS
- nama
- Navigasi
- Perlu
- kebutuhan
- jaringan
- jaringan saraf
- New
- berikutnya
- simpul
- node
- buku catatan
- jumlah
- obyek
- of
- Office
- on
- ONE
- Buka
- dioptimalkan
- urutan
- organisasi
- Lainnya
- di luar
- paket
- panda
- pane
- Paralel
- bagian
- gairah
- bergairah
- Kata Sandi
- melakukan
- Izin
- Fisika
- pilot
- pipa saluran
- placeholder
- tanaman
- plato
- Kecerdasan Data Plato
- Data Plato
- Kebijakan
- diisi
- Pos
- meramalkan
- Mempersiapkan
- menyajikan
- sebelumnya
- Utama
- masalah
- program
- diusulkan
- memberikan
- disediakan
- menyediakan
- tujuan
- Dorong
- terdorong
- Ular sanca
- Pertanyaan
- segera
- acak
- cepat
- agak
- Baca
- baru-baru ini
- arsip
- mengurangi
- wilayah
- dirilis
- relevan
- menggantikan
- merupakan
- wajib
- membutuhkan
- Sumber
- kembali
- Peran
- akar
- BARIS
- Run
- Sacramento
- pembuat bijak
- pelayaran
- Save
- Skala
- Ilmu
- ilmuwan
- scikit-belajar
- script
- SDK
- Rahasia
- Server
- layanan
- Layanan
- set
- Bentuknya
- Kulit
- harus
- Pertunjukkan
- penting
- Silikon
- Silicon Valley
- Sederhana
- sejak
- situasi
- kecil
- So
- Perangkat lunak
- larutan
- Solusi
- MEMECAHKAN
- sumber
- sumber
- Space
- spesialis
- pementasan
- awal
- Negara
- Pernyataan
- Langkah
- Tangga
- penyimpanan
- tersimpan
- subnet
- berhasil
- seperti itu
- mendukung
- Didukung
- sistem
- tabel
- tugas
- Teknologi
- Teknologi
- Template
- istilah
- bahwa
- Grafik
- Sumber
- mereka
- Mereka
- Ini
- tiga
- Melalui
- waktu
- untuk
- alat
- Total
- Pelatihan VE
- terlatih
- Pelatihan
- kereta
- khas
- universitas
- Memperbarui
- us
- menggunakan
- Pengguna
- Pengguna
- Lembah
- nilai
- Nilai - Nilai
- veteran
- sukarelawan
- Washington
- Cara..
- jaringan
- layanan web
- yang
- SIAPA
- akan
- dengan
- dalam
- tanpa
- Kerja
- menulis
- XGBoost
- Kamu
- Anda
- zephyrnet.dll