Organisasi menggunakan pembelajaran mesin (ML) dan layanan AI untuk meningkatkan pengalaman pelanggan, mengurangi biaya operasional, dan membuka peluang baru untuk meningkatkan hasil bisnis. Data mendukung kasus penggunaan ML dan AI dan merupakan aset strategis bagi organisasi. Saat data tumbuh dengan kecepatan eksponensial, organisasi ingin menyiapkan platform data yang terintegrasi, hemat biaya, dan berperforma baik untuk melakukan praproses data, melakukan rekayasa fitur, serta membangun, melatih, dan mengoperasionalkan model ML dalam skala besar. Untuk mencapainya, AWS menawarkan platform data modern terpadu yang didukung oleh Layanan Penyimpanan Sederhana Amazon (Amazon S3) sebagai data lake dengan alat yang dibuat khusus dan mesin pemrosesan untuk mendukung analitik dan beban kerja ML. Untuk pengalaman ML terpadu, Anda dapat menggunakan Studio Amazon SageMaker, Yang menawarkan integrasi asli dengan sesi interaktif AWS Glue untuk melakukan rekayasa fitur dalam skala besar dengan perlindungan data sensitif. Dalam posting ini, kami menunjukkan bagaimana menerapkan solusi ini.
Amazon SageMaker adalah layanan ML terkelola sepenuhnya yang memungkinkan Anda membuat, melatih, dan menerapkan model dalam skala besar untuk berbagai kasus penggunaan. Untuk pelatihan model, Anda dapat menggunakan salah satu dari algoritme bawaan dalam SageMaker untuk mulai melatih dan menerapkan model ML dengan cepat.
Komponen kunci dari proses pembangunan dan pengembangan model adalah rekayasa fitur. Lem AWS adalah salah satu opsi yang disarankan untuk mencapai rekayasa fitur dalam skala besar. AWS Glue memungkinkan Anda menjalankan integrasi dan transformasi data secara terdistribusi pada infrastruktur Apache Spark tanpa server, dan memudahkan penggunaan pustaka Spark ML yang populer untuk rekayasa fitur dan pengembangan model. Selain itu, Anda dapat menggunakan AWS Glue untuk pemrosesan data bertahap penanda pekerjaan, menyerap data dari lebih dari 100 sumber menggunakan konektor, dan jalankan beban kerja yang tajam atau tidak dapat diprediksi menggunakan penskalaan otomatis.
Persyaratan penting lainnya untuk aplikasi berbasis ML adalah keamanan data dan kontrol akses. Sudah menjadi tuntutan umum untuk memiliki kontrol yang lebih ketat pada siapa yang dapat mengakses data paling sensitif sebagai bagian dari proses pembuatan model dan rekayasa fitur dengan mengikuti prinsip akses dengan hak istimewa terkecil. Untuk mencapai ini, Anda dapat memanfaatkan integrasi AWS Glue dengan Formasi Danau AWS untuk peningkatan tata kelola dan pengelolaan aset data lake. Dengan Lake Formation, Anda dapat mengonfigurasi kebijakan keamanan dan kontrol akses data terperinci di atas data lake Amazon S3 Anda. Kebijakan ditentukan di satu lokasi terpusat, yang memungkinkan beberapa analitik dan layanan ML, seperti AWS Glue, Amazon Athena, dan SageMaker, untuk berinteraksi dengan data yang disimpan di Amazon S3.
Lem AWS mencakup a deteksi informasi identitas pribadi (PII). transformasi yang memberikan kemampuan untuk mendeteksi, menyamarkan, atau menghapus entitas sebagaimana diperlukan, untuk meningkatkan kepatuhan dan tata kelola. Dengan transformasi PII, Anda dapat mendeteksi data PII dalam kumpulan data dan secara otomatis menerapkan kontrol akses terperinci menggunakan Lake Formation untuk membatasi data sensitif bagi grup pengguna yang berbeda.
Gunakan kasing
Kami fokus pada kasus penggunaan model kecenderungan yang mencakup kumpulan data pemasaran pelanggan dan melibatkan dua persona pengguna: seorang insinyur data dan ilmuwan data. Kumpulan data berisi informasi per pelanggan, termasuk sumber prospek, catatan kontak, peran pekerjaan, beberapa bendera, tampilan halaman per kunjungan, dan banyak lagi. Kumpulan data juga mencakup informasi sensitif seperti nomor telepon pribadi.
Insinyur data bertanggung jawab untuk membangun pipa pemrosesan data ujung ke ujung, termasuk persiapan data, prapemrosesan, dan kontrol akses. Ilmuwan data bertanggung jawab atas rekayasa fitur, serta melatih dan menerapkan model ML. Perhatikan bahwa ilmuwan data tidak diizinkan mengakses data sensitif PII apa pun untuk rekayasa fitur atau melatih model ML.
Sebagai bagian dari kasus penggunaan ini, teknisi data membuat pipeline data untuk memproses awal set data, memindai set data untuk informasi PII apa pun, dan membatasi akses kolom PII ke pengguna ilmuwan data. Akibatnya, saat data scientist menggunakan set data untuk melakukan rekayasa fitur dan membuat model ML, mereka tidak memiliki akses ke kolom sensitif PII (dalam hal ini nomor telepon). Proses rekayasa fitur melibatkan konversi kolom tipe string ke format yang optimal untuk model ML. Sebagai kasus penggunaan tingkat lanjut, Anda dapat memperluas pola akses ini untuk menerapkan keamanan tingkat baris dan tingkat sel menggunakan Lake Formation.
Ikhtisar solusi
Solusinya berisi langkah-langkah tingkat tinggi berikut:
- Siapkan sumber daya dengan Formasi AWS Cloud.
- Praproses dataset, termasuk deteksi PII dan kontrol akses terperinci, pada sesi interaktif AWS Glue.
- Lakukan rekayasa fitur pada sesi interaktif AWS Glue.
- Latih dan terapkan model ML menggunakan algoritme XGBoost bawaan SageMaker.
- Evaluasi model ML.
Diagram berikut menggambarkan arsitektur solusi.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda harus memiliki prasyarat berikut:
Siapkan sumber daya dengan AWS CloudFormation
Posting ini menyertakan template CloudFormation untuk pengaturan cepat. Anda dapat meninjau dan menyesuaikannya sesuai dengan kebutuhan Anda. Jika Anda lebih suka menyiapkan sumber daya di Konsol Manajemen AWS dan AWS CLI daripada AWS CloudFormation, lihat instruksi di lampiran di akhir posting ini.
Template CloudFormation menghasilkan sumber daya berikut:
- Bucket S3 dengan kumpulan data sampel
- An AWS Lambda berfungsi untuk memuat dataset
- Identitas AWS dan Manajemen Akses (IAM) grup, pengguna, peran, dan kebijakan
- Pengaturan dan izin danau data Lake Formation
- Profil pengguna SageMaker
Untuk membuat sumber daya Anda, selesaikan langkah-langkah berikut:
- Masuk ke konsol.
- Pilih Luncurkan Stack:
- Pilih Selanjutnya.
- Untuk Insinyur DataPwd dan Ilmuwan DataPwd, masukkan kata sandi Anda sendiri untuk pengguna data engineer dan data scientist.
- Untuk NamaDatabase Lem, Masuk
demo
. - Untuk NamaTabel Lem, Masuk
web_marketing
. - Untuk S3BucketNameForInput, Masuk
blog-studio-pii-dataset-
. - Untuk S3BucketNameForOutput, Masuk
blog-studio-output-
. - Untuk SageMakerDomainId, masukkan ID domain SageMaker yang Anda siapkan di langkah prasyarat.
- Pilih Selanjutnya.
- Di halaman berikutnya, pilih Selanjutnya.
- Tinjau detailnya di halaman terakhir dan pilih Saya mengakui bahwa AWS CloudFormation dapat menciptakan sumber daya IAM.
- Pilih membuat.
Pembuatan tumpukan dapat memakan waktu hingga 10 menit. Tumpukan membuat peran IAM dan profil pengguna SageMaker untuk dua persona: insinyur data dan ilmuwan data. Itu juga membuat demo dan tabel basis data web_marketing
dengan kumpulan data sampel.
Pada saat pembuatan stack, persona data engineer memiliki akses penuh ke tabel, tetapi persona data scientist belum memiliki akses ke tabel.
Praproses dataset
Mari mulai praproses data pada sesi interaktif AWS Glue. Persona data engineer ingin memverifikasi data untuk melihat apakah ada data sensitif atau tidak, dan memberikan izin akses minimal kepada persona data scientist. Anda dapat mengunduh buku catatan dari lokasi ini.
- Masuk ke konsol menggunakan pengguna insinyur data.
- Di konsol SageMaker, pilih pengguna.
- Pilih pengguna insinyur data dan pilih Buka Studio.
- Buat buku catatan baru dan pilih SparkAnalytics 1.0 untuk Gambar dan Lem PySpark untuk Inti.
- Mulai sesi interaktif dengan keajaiban berikut untuk menginstal versi Boto3 yang lebih baru (ini diperlukan untuk menggunakan
create_data_cells_filter
metode): - Inisialisasi sesi:
- Buat AWS Glue DynamicFrame dari tabel yang baru dibuat, dan menyelesaikan jenis pilihan berdasarkan skema katalog, karena kami ingin menggunakan skema yang ditentukan dalam katalog alih-alih skema yang disimpulkan secara otomatis berdasarkan data:
- Validasi dalam tabel apakah ada data PII menggunakan deteksi PII AWS Glue:
- Verifikasi apakah kolom yang diklasifikasikan sebagai PII berisi data sensitif atau tidak (jika tidak, perbarui class_map untuk menghapus kolom yang tidak sensitif):
- Siapkan izin Lake Formation menggunakan filter sel data untuk kolom yang terdeteksi secara otomatis, dan batasi kolom untuk persona ilmuwan data:
- Masuk ke Studio sebagai ilmuwan data untuk melihat bahwa kolom PII tidak terlihat. Anda dapat mengunduh buku catatan dari lokasi ini.
- Buat buku catatan baru dan pilih SparkAnalytics 1.0 untuk Gambar dan Lem PySpark untuk Inti:
Lakukan rekayasa fitur
Kami menggunakan pustaka Apache Spark ML untuk melakukan rekayasa fitur sebagai pengguna data-scientist dan kemudian menulis kembali hasilnya ke Amazon S3.
- Di sel berikut, kami menerapkan fitur dari Pustaka Apache Spark ML:
StringIndexer
memetakan kolom string label ke kolom indeks label.OneHotEncoder
memetakan fitur kategorikal, yang direpresentasikan sebagai indeks label, ke vektor biner dengan paling banyak satu nilai tunggal yang menunjukkan adanya fitur kategorikal tertentu. Transformasi ini digunakan untuk algoritme ML yang mengharapkan fitur berkelanjutan.VectorAssembler
adalah transformator yang menggabungkan daftar kolom tertentu menjadi satu kolom vektor, yang kemudian digunakan dalam melatih model ML untuk algoritme seperti regresi logistik dan pohon keputusan.
- DataFrame akhir yang diubah dapat dibuat menggunakan pustaka Pipeline. Sebuah pipa ditentukan sebagai urutan tahapan. Tahapan ini dijalankan secara berurutan dan input DataFrame diubah saat melewati setiap tahapan.
- Selanjutnya, kami membagi set data menjadi melatih, memvalidasi, dan menguji DataFrame dan menyimpannya di bucket S3 untuk melatih model ML (berikan ID akun AWS Anda dalam kode berikut):
Latih dan terapkan model ML
Di bagian sebelumnya, kami telah menyelesaikan rekayasa fitur, termasuk mengonversi kolom string seperti region
, jobrole
, dan usedpromo
ke dalam format yang optimal untuk model ML. Kami juga menyertakan kolom seperti pageviewspervisit
dan totalwebvisits
, yang akan membantu kami memprediksi kecenderungan pelanggan untuk membeli produk.
Kami sekarang melatih model ML dengan membaca dataset pelatihan dan validasi menggunakan algoritme XGBoost bawaan SageMaker. Kemudian kami menerapkan model dan menjalankan pemeriksaan akurasi. Anda dapat mengunduh buku catatan dari lokasi ini.
Di sel berikut, kami membaca data dari bucket S3 kedua, yang menyertakan output dari operasi rekayasa fitur kami. Kemudian kami menggunakan algoritme bawaan XGBoost untuk melatih model.
- Buka buku catatan baru. Memilih Ilmu Data untuk Gambar dan Python 3 untuk Inti (berikan ID akun AWS Anda dalam kode berikut):
- Saat pelatihan selesai, kami dapat menerapkan model menggunakan layanan hosting SageMaker:
Evaluasi model ML
Kami menggunakan kumpulan data pengujian untuk mengevaluasi model dan menghapus titik akhir inferensi setelah selesai untuk menghindari biaya berkelanjutan.
- Evaluasi model dengan kode berikut:
Hasil akurasi untuk sample run adalah 84.6 %. Ini bisa sedikit berbeda untuk proses Anda karena pemisahan acak dari kumpulan data.
- Kami dapat menghapus titik akhir inferensi dengan kode berikut:
Membersihkan
Sekarang ke langkah terakhir, membersihkan sumber daya.
- Kosongkan dua keranjang yang dibuat melalui tumpukan CloudFormation.
- Hapus aplikasi yang terkait dengan pengguna
profiles data-scientist
dandata-engineer
dalam Studio. - Hapus tumpukan CloudFormation.
Kesimpulan
Dalam postingan ini, kami mendemonstrasikan solusi yang memungkinkan persona seperti insinyur data dan ilmuwan data untuk melakukan rekayasa fitur dalam skala besar. Dengan sesi interaktif AWS Glue, Anda dapat dengan mudah mencapai rekayasa fitur dalam skala besar dengan deteksi PII otomatis dan kontrol akses terperinci tanpa perlu mengelola infrastruktur dasar apa pun. Dengan menggunakan Studio sebagai titik masuk tunggal, Anda bisa mendapatkan pengalaman yang disederhanakan dan terintegrasi untuk membangun alur kerja ML end-to-end: mulai dari menyiapkan dan mengamankan data hingga membuat, melatih, menyesuaikan, dan menerapkan model ML. Untuk mempelajari lebih lanjut, kunjungi Memulai sesi interaktif AWS Glue dan Studio Amazon SageMaker.
Kami sangat senang dengan kemampuan baru ini dan ingin melihat apa yang akan Anda bangun dengannya!
Lampiran: Siapkan sumber daya melalui konsol dan AWS CLI
Selesaikan instruksi di bagian ini untuk menyiapkan sumber daya menggunakan konsol dan AWS CLI, bukan template CloudFormation.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda harus memiliki akses ke AWS CLI (lihat Memulai dengan AWS CLI) atau gunakan akses baris perintah dari AWS CloudShell.
Konfigurasikan grup, pengguna, peran, dan kebijakan IAM
Di bagian ini, kami membuat dua pengguna IAM: insinyur data dan ilmuwan data, yang termasuk dalam grup platform data grup IAM. Kemudian kami menambahkan satu kebijakan IAM ke grup IAM.
- Di konsol IAM, buat kebijakan di tab JSON untuk membuat kebijakan terkelola IAM baru bernama
DataPlatformGroupPolicy
. Kebijakan tersebut mengizinkan pengguna dalam grup untuk mengakses Studio, tetapi hanya menggunakan profil pengguna SageMaker dengan tag yang cocok dengan nama pengguna IAM mereka. Gunakan dokumen kebijakan JSON berikut untuk memberikan izin: - Buat grup IAM bernama
data-platform-group
. - Cari dan lampirkan kebijakan terkelola AWS bernama DataPlatformGroupPolicy ke grup.
- Buat pengguna IAM disebut data-engineer dan data-scientist di bawah grup IAM data-platform-group.
- Buat kebijakan terkelola baru bernama SageMakerExecutionPolicy (berikan ID Wilayah dan akun Anda dalam kode berikut):
- Buat kebijakan terkelola baru bernama
SageMakerAdminPolicy
: - Buat peran IAM untuk SageMaker untuk insinyur data (data-engineer), yang digunakan sebagai peran eksekusi profil pengguna yang sesuai. Di Lampirkan kebijakan izin halaman, AmazonSageMakerFullAccess (kebijakan terkelola AWS) dilampirkan secara default. Anda menghapus kebijakan ini nanti untuk mempertahankan hak istimewa minimum.
- Untuk Nama peran, gunakan konvensi penamaan yang diperkenalkan di awal bagian ini untuk menamai peran SageMakerStudioExecutionRole_data-engineer.
- Untuk Tag, tambahkan nama profil pengguna kunci dan insinyur data nilai.
- Pilih Buat peran.
- Untuk menambahkan kebijakan yang tersisa, di Peran halaman, pilih nama peran yang baru saja Anda buat.
- Bawah izin, hapus kebijakan AmazonSageMakerFullAccess.
- pada Lampirkan kebijakan izin halaman, pilih kebijakan terkelola AWS AwsGlueSessionUserRestrictedServiceRole, dan kebijakan terkelola pelanggan SageMakerExecutionPolicy dan SageMakerAdminPolicy yang Anda buat.
- Pilih Lampirkan kebijakan.
- memodifikasi hubungan kepercayaan peran Anda:
- Buat peran IAM untuk SageMaker untuk ilmuwan data (ilmuwan data), yang digunakan sebagai peran eksekusi profil pengguna yang sesuai.
- Untuk Nama peran, beri nama peran SageMakerStudioExecutionRole_data-scientist.
- Untuk Tag, tambahkan nama profil pengguna utama dan nilai data-scientist.
- Pilih Buat peran.
- Untuk menambahkan kebijakan yang tersisa, di Peran halaman, pilih nama peran yang baru saja Anda buat.
- Bawah izin, hapus kebijakan AmazonSageMakerFullAccess.
- pada Lampirkan kebijakan izin halaman, pilih kebijakan terkelola AWS AwsGlueSessionUserRestrictedServiceRole, dan kebijakan terkelola pelanggan SageMakerExecutionPolicy yang Anda buat.
- Pilih Lampirkan kebijakan.
- memodifikasi hubungan kepercayaan peran Anda:
Konfigurasikan profil pengguna SageMaker
Untuk membuat profil pengguna SageMaker Anda dengan studiouserid
tag, selesaikan langkah-langkah berikut:
- Gunakan AWS CLI atau CloudShell untuk membuat profil pengguna Studio untuk teknisi data (berikan ID akun dan ID domain Studio Anda dalam kode berikut):
- Ulangi langkah untuk membuat profil pengguna untuk data scientist, dengan mengganti ID akun dan ID domain Studio:
Buat bucket S3 dan unggah kumpulan data sampel
Di bagian ini, Anda membuat dua bucket S3. Bucket pertama memiliki kumpulan data sampel yang terkait dengan pemasaran web. Bucket kedua digunakan oleh data scientist untuk menyimpan keluaran dari tugas rekayasa fitur, dan kumpulan data keluaran ini digunakan untuk melatih model ML.
Pertama, buat bucket S3 untuk input data:
- Unduh kumpulan data.
- Pada konsol Amazon S3, pilih Ember di panel navigasi.
- Pilih Buat ember.
- Untuk Daerah, pilih Wilayah dengan domain SageMaker yang menyertakan profil pengguna yang Anda buat.
- Untuk Nama ember, Masuk
blog-studio-pii-dataset-
. - Pilih Buat ember.
- Pilih ember yang Anda buat dan pilih Unggah.
- Dalam majalah Pilih file bagian, pilih Tambahkan file dan unggah kumpulan data yang Anda unduh.
Sekarang Anda membuat keranjang untuk data keluaran: - pada Ember halaman, pilih Buat ember.
- Untuk Daerah, pilih Wilayah dengan domain SageMaker yang menyertakan profil pengguna yang Anda buat.
- Untuk Nama ember, Masuk
blog-studio-output-
. - Pilih Buat ember.
Buat database dan tabel AWS Glue
Di bagian ini, Anda membuat database dan tabel AWS Glue untuk set data.
- Di konsol Formasi Danau, di bawah Katalog data di panel navigasi, pilih Database.
- Pilih Tambahkan database.
- Untuk Nama, masukkan demo.
- Pilih Buat database.
- Bawah Katalog data, pilih Meja.
- Untuk Nama, Masuk
web_marketing
. - Untuk Basis Data, pilih
demo
. - Untuk Sertakan jalur, masukkan jalur bucket S3 Anda untuk memasukkan data.
- Untuk Klasifikasi, pilih CSV.
- Bawah Skema, pilih Unggah Skema.
- Masukkan larik JSON berikut ke dalam kotak teks:
- Pilih Unggah.
- Pilih Kirim.
- Bawah Detail tabel, pilih Edit tabel.
- Bawah Properti tabel, pilih Add.
- Untuk kunci, Masuk
skip.header.line.count
, Dan untuk Nilai, masukkan 1. - Pilih Save.
Konfigurasikan izin Lake Formation
Di bagian ini, Anda menyiapkan izin Lake Formation untuk mengizinkan peran IAM SageMakerStudioExecutionRole_data-engineer
untuk membuat database dan mendaftarkan lokasi S3 di dalam Lake Formation.
Pertama, daftarkan lokasi danau data untuk mengelola tabel di bawah lokasi di izin Formasi Danau:
- Pilih Lokasi data lake.
- Pilih Daftarkan lokasi.
- Untuk Jalur Amazon S3, Masuk
s3://blog-studio-pii-dataset-/
(ember yang berisi kumpulan data). - Pilih Daftarkan lokasi.
Sekarang Anda memberikan izin database dan tabel Lake Formation ke peran IAMSageMakerStudioExecutionRole_data-engineer
danSageMakerStudioExecutionRole_data-scientist
.Pertama, berikan izin database untukSageMakerStudioExecutionRole_data-engineer
: - Bawah izin, pilih Izin danau data.
- Bawah izin data, pilih Hibah.
- Untuk Kepala sekolah, pilih Pengguna dan peran IAM, dan pilih peran
SageMakerStudioExecutionRole_data-engineer
. - Untuk Tag kebijakan atau resource katalog, pilih Sumber daya katalog data bernama.
- Untuk Database, pilih demo.
- Untuk Izin basis data, memilih besar.
- Pilih Hibah.
Selanjutnya, berikan izin tabel untukSageMakerStudioExecutionRole_data-engineer
: - Bawah izin data, pilih Hibah.
- Untuk Kepala sekolah, pilih Pengguna dan peran IAM, dan pilih peran
SageMakerStudioExecutionRole_data-engineer
. - Untuk Tag kebijakan atau resource katalog, pilih Sumber daya katalog data bernama.
- Untuk Database, pilih
demo
. - Untuk Meja, pilih
web_marketing
. - Untuk tabel izin, memilih besar.
- Untuk Dapat diterima izin, memilih besar.
- Pilih Hibah.
Terakhir, berikan izin basis data untukSageMakerStudioExecutionRole_data-scientist
: - Bawah izin data, pilih Hibah.
- Untuk Kepala sekolah, pilih Pengguna dan peran IAM, dan pilih peran
SageMakerStudioExecutionRole_data-scientist
. - Untuk Tag kebijakan atau resource katalog, pilih Sumber daya katalog data bernama.
- Untuk Database, pilih
demo
. - Untuk Izin basis data, memilih Menggambarkan.
- Pilih Hibah.
Tentang Penulis
Praveen Kumar adalah Arsitek Solusi Analisis di AWS dengan keahlian dalam merancang, membangun, dan mengimplementasikan data modern dan platform analitik menggunakan layanan cloud-native. Bidang minatnya adalah teknologi tanpa server, gudang data cloud modern, streaming, dan aplikasi ML.
Noritaka Sekiyama adalah Arsitek Big Data Utama di tim AWS Glue. Dia senang berkolaborasi dengan tim yang berbeda untuk memberikan hasil seperti postingan ini. Di waktu luangnya, ia menikmati bermain video game bersama keluarganya.
- Lanjutan (300)
- AI
- ai seni
- generator seni ai
- punya robot
- Amazon SageMaker
- kecerdasan buatan
- sertifikasi kecerdasan buatan
- kecerdasan buatan dalam perbankan
- robot kecerdasan buatan
- robot kecerdasan buatan
- perangkat lunak kecerdasan buatan
- Data Besar AWS
- Lem AWS
- Formasi Danau AWS
- Pembelajaran Mesin AWS
- blockchain
- konferensi blockchain
- kecerdasan
- kecerdasan buatan percakapan
- konferensi kripto
- dall's
- belajar mendalam
- google itu
- Mesin belajar
- plato
- plato ai
- Kecerdasan Data Plato
- Permainan Plato
- Data Plato
- permainan plato
- skala ai
- sintaksis
- pemikiran kepemimpinan
- zephyrnet.dll