Ini adalah posting blog tamu yang ditulis bersama Hussain Jagirdar dari Games24x7.
Game24x7 adalah salah satu platform multi-game paling berharga di India dan menghibur lebih dari 100 juta pemain di berbagai game keterampilan. Dengan "Science of Gaming" sebagai filosofi inti mereka, mereka telah memungkinkan visi informatika end-to-end seputar dinamika game, platform game, dan pemain dengan mengkonsolidasikan arah penelitian ortogonal AI game, ilmu data game, dan riset pengguna game. AI dan tim ilmu data menyelami sejumlah besar data multidimensi dan menjalankan berbagai kasus penggunaan seperti pengoptimalan perjalanan pemain, deteksi aksi game, hiperpersonalisasi, pelanggan 360, dan lainnya di AWS.
Games24x7 menggunakan kerangka kerja bertenaga AI otomatis, berbasis data, untuk penilaian perilaku setiap pemain melalui interaksi pada platform dan menandai pengguna dengan perilaku anomali. Mereka telah membangun model pembelajaran mendalam ScarceGAN, yang berfokus pada identifikasi sampel yang sangat langka atau langka dari data telemetri longitudinal multidimensi dengan label kecil dan lemah. Karya ini telah dipublikasikan di CIKM'21 dan open source untuk identifikasi kelas langka untuk data telemetri longitudinal. Kebutuhan untuk produksi dan adopsi model sangat penting untuk menciptakan tulang punggung di belakang mengaktifkan permainan game yang bertanggung jawab di platform mereka, di mana pengguna yang ditandai dapat dibawa melalui perjalanan moderasi dan kontrol yang berbeda.
Dalam postingan ini, kami membagikan bagaimana Games24x7 meningkatkan pipeline pelatihan mereka untuk penggunaan platform game yang bertanggung jawab Amazon SageMaker.
Tantangan pelanggan
Tim DS/AI di Games24x7 menggunakan berbagai layanan yang disediakan oleh AWS, termasuk notebook SageMaker, Fungsi Langkah AWS, AWS Lambda, dan Amazon ESDM, untuk membangun saluran pipa untuk berbagai kasus penggunaan. Untuk menangani penyimpangan dalam distribusi data, dan karena itu untuk melatih kembali model ScarceGAN mereka, mereka menemukan bahwa sistem yang ada memerlukan solusi MLOps yang lebih baik.
Dalam pipeline sebelumnya melalui Step Functions, satu basis kode monolit menjalankan prapemrosesan, pelatihan ulang, dan evaluasi data. Ini menjadi hambatan dalam memecahkan masalah, menambah, atau menghapus langkah, atau bahkan membuat beberapa perubahan kecil di infrastruktur secara keseluruhan. Fungsi langkah ini menginisialisasi sekelompok instans untuk mengekstraksi dan memproses data dari S3 dan langkah selanjutnya dari pra-pemrosesan, pelatihan, evaluasi akan berjalan pada satu instans EC2 besar. Dalam skenario di mana pipeline gagal pada langkah mana pun, seluruh alur kerja perlu dimulai kembali dari awal, yang mengakibatkan proses berulang dan peningkatan biaya. Semua metrik pelatihan dan evaluasi diperiksa secara manual dari Amazon Simple Storage Service (Amazon S3). Tidak ada mekanisme untuk meneruskan dan menyimpan metadata dari beberapa percobaan yang dilakukan pada model. Karena pemantauan model terdesentralisasi, penyelidikan menyeluruh dan pemilihan model terbaik membutuhkan waktu berjam-jam dari tim ilmu data. Akumulasi dari semua upaya ini telah menghasilkan produktivitas tim yang lebih rendah dan biaya overhead yang meningkat. Selain itu, dengan tim yang berkembang pesat, sangat menantang untuk membagikan pengetahuan ini ke seluruh tim.
Karena konsep MLOps sangat luas dan menerapkan semua langkah akan membutuhkan waktu, kami memutuskan bahwa pada tahap pertama kami akan membahas masalah inti berikut:
- Lingkungan yang aman, terkontrol, dan menggunakan template untuk melatih kembali model deep learning internal kami menggunakan praktik terbaik industri
- Lingkungan pelatihan berparameter untuk mengirim kumpulan parameter yang berbeda untuk setiap tugas pelatihan ulang dan mengaudit proses terakhir
- Kemampuan untuk melacak metrik pelatihan dan metrik evaluasi secara visual, serta memiliki metadata untuk melacak dan membandingkan eksperimen
- Kemampuan untuk menskalakan setiap langkah secara individual dan menggunakan kembali langkah sebelumnya jika terjadi kegagalan langkah
- Satu lingkungan khusus untuk mendaftarkan model, menyimpan fitur, dan memanggil pipeline inferensi
- Kumpulan alat modern yang dapat meminimalkan persyaratan komputasi, menurunkan biaya, dan mendorong pengembangan dan pengoperasian ML yang berkelanjutan dengan menggabungkan fleksibilitas penggunaan instans yang berbeda untuk langkah yang berbeda
- Membuat template tolok ukur pipeline MLOps canggih yang dapat digunakan di berbagai tim ilmu data
Games24x7 mulai mengevaluasi solusi lain, termasuk Pipeline Amazon SageMaker Studio. Solusi yang sudah ada melalui Step Functions memiliki keterbatasan. Pipeline studio memiliki fleksibilitas untuk menambah atau menghapus langkah kapan saja. Selain itu, keseluruhan arsitektur dan ketergantungan datanya di antara setiap langkah dapat divisualisasikan melalui DAG. Evaluasi dan penyempurnaan langkah-langkah pelatihan ulang menjadi cukup efisien setelah kami mengadopsi berbagai fungsi Amazon SageMaker seperti Amazon SageMaker Studio, Pipelines, Processing, Training, model registry, serta eksperimen dan uji coba. Tim Arsitektur Solusi AWS menunjukkan penyelaman mendalam yang luar biasa dan sangat berperan dalam desain dan implementasi solusi ini.
Ikhtisar solusi
Diagram berikut menggambarkan arsitektur solusi.
Penyelesaiannya menggunakan a Studio SageMaker lingkungan untuk menjalankan eksperimen pelatihan ulang. Kode untuk menjalankan skrip pipeline tersedia di notebook Studio, dan kita dapat mengubah hyperparameter dan input/output saat menjalankan pipeline. Ini sangat berbeda dari metode kami sebelumnya di mana kami memiliki semua parameter yang dikodekan dalam skrip dan semua proses terkait erat. Ini membutuhkan modularisasi kode monolitik ke dalam langkah-langkah yang berbeda.
Diagram berikut mengilustrasikan proses monolitik asli kami.
Modularisasi
Untuk menskalakan, melacak, dan menjalankan setiap langkah secara individual, kode monolitik perlu dimodulasi. Ketergantungan parameter, data, dan kode di antara setiap langkah telah dihapus, dan modul bersama untuk komponen bersama di seluruh langkah telah dibuat. Ilustrasi modularisasi ditunjukkan di bawah ini: -
Untuk setiap modul, pengujian dilakukan secara lokal menggunakan SDK SageMaker Modus skrip untuk pelatihan, pengolahan dan evaluasi yang diperlukan perubahan kecil dalam kode untuk dijalankan dengan SageMaker. Itu pengujian mode lokal untuk deep learning script bisa dilakukan baik pada notebook SageMaker jika sudah digunakan atau dengan menggunakan Mode Lokal menggunakan SageMaker Pipelines dalam hal langsung dimulai dengan Pipa. Ini membantu memvalidasi apakah skrip khusus kami akan berjalan pada instans SageMaker.
Setiap modul kemudian diuji secara terpisah menggunakan SageMaker Training/processing SDK's using Modus skrip dan menjalankannya secara berurutan menggunakan instans SageMaker untuk setiap langkah seperti langkah pelatihan di bawah ini:
Amazon S3 digunakan untuk mendapatkan data sumber untuk diproses dan kemudian menyimpan data perantara, bingkai data, dan hasil NumPy kembali ke Amazon S3 untuk langkah selanjutnya. Setelah pengujian integrasi antara modul individu untuk pra-pemrosesan, pelatihan, evaluasi selesai, itu SageMaker Pipeline SDK yang terintegrasi dengan SageMaker Python SDK yang telah kita gunakan pada langkah-langkah di atas, memungkinkan kita untuk merangkai semua modul ini secara terprogram dengan meneruskan parameter input, data, metadata, dan output dari setiap langkah sebagai input ke langkah berikutnya.
Kita dapat menggunakan kembali kode Sagemaker Python SDK sebelumnya untuk menjalankan modul satu per satu ke dalam proses berbasis Sagemaker Pipeline SDK. Hubungan antara setiap langkah pipa ditentukan oleh ketergantungan data antar langkah.
Langkah terakhir dari pipa adalah sebagai berikut:
- Preprocessing data
- Pelatihan ulang
- Evaluasi
- Registrasi model
Di bagian berikut, kami membahas setiap langkah secara lebih mendetail saat dijalankan dengan SDK SageMaker Pipeline.
Preprocessing data
Langkah ini mengubah data input mentah dan praproses dan membaginya menjadi rangkaian pelatihan, validasi, dan pengujian. Untuk langkah pemrosesan ini, kami membuat contoh tugas pemrosesan SageMaker Prosesor Framework TensorFlow, yang mengambil skrip kami, menyalin data dari Amazon S3, lalu menarik image Docker yang disediakan dan dikelola oleh SageMaker. Kontainer Docker ini memungkinkan kami meneruskan dependensi pustaka kami di file requirements.txt sambil menyertakan semua pustaka TensorFlow, dan meneruskan jalur untuk source_dir untuk skrip. Data pelatihan dan validasi masuk ke langkah pelatihan, dan data uji diteruskan ke langkah evaluasi. Bagian terbaik dari penggunaan penampung ini adalah memungkinkan kami untuk meneruskan berbagai masukan dan keluaran sebagai lokasi S3 yang berbeda, yang kemudian dapat diteruskan sebagai ketergantungan langkah ke langkah berikutnya dalam alur SageMaker.
Pelatihan ulang
Kami membungkus modul pelatihan melalui Pipa SageMaker TrainingStep API dan menggunakan image container deep learning yang sudah tersedia melalui estimator TensorFlow Framework (juga dikenal sebagai mode Script) untuk Pelatihan SageMaker. Mode skrip memungkinkan kami untuk memiliki sedikit perubahan pada kode pelatihan kami, dan kontainer Docker pra-bangun SageMaker menangani Python, versi Framework, dan seterusnya. ProcessingOutputs dari Data_Preprocessing
langkah diteruskan sebagai TrainingInput dari langkah ini.
Semua hyperparameter melewati estimator melalui file JSON. Untuk setiap zaman dalam pelatihan kami, kami telah mengirimkan metrik pelatihan kami melalui stdOut dalam skrip. Karena kami ingin melacak metrik tugas pelatihan yang sedang berlangsung dan membandingkannya dengan tugas pelatihan sebelumnya, kami hanya perlu mengurai StdOut ini dengan menentukan definisi metrik melalui regex untuk mengambil metrik dari StdOut untuk setiap zaman.
Sangat menarik untuk memahami bahwa SageMaker Pipelines secara otomatis terintegrasi dengan API Eksperimen SageMaker, yang secara default membuat komponen eksperimen, uji coba, dan uji coba untuk setiap proses. Hal ini memungkinkan kami untuk membandingkan metrik pelatihan seperti akurasi dan presisi di berbagai proses seperti yang ditunjukkan di bawah ini.
Untuk setiap tugas pelatihan yang dijalankan, kami membuat empat model berbeda ke Amazon S3 berdasarkan definisi bisnis kustom kami.
Evaluasi
Langkah ini memuat model terlatih dari Amazon S3 dan mengevaluasi metrik khusus kami. ProcessingStep ini mengambil model dan data pengujian sebagai inputnya dan membuang laporan kinerja model di Amazon S3.
Kami menggunakan metrik khusus, jadi untuk mendaftarkan metrik khusus ini ke registri model, kami perlu mengonversi skema metrik evaluasi yang disimpan di Amazon S3 sebagai CSV ke Kualitas Model SageMaker keluaran JSON. Kemudian kita dapat mendaftarkan lokasi metrik JSON evaluasi ini ke registri model.
Tangkapan layar berikut menunjukkan contoh bagaimana kami mengonversi CSV ke format JSON kualitas Model Sagemaker.
Registrasi model
Seperti disebutkan sebelumnya, kami membuat beberapa model dalam satu langkah pelatihan, jadi kami harus menggunakan integrasi SageMaker Pipelines Lambda untuk mendaftarkan keempat model ke dalam registri model. Untuk pendaftaran model tunggal kita dapat menggunakan ModelLangkah API untuk membuat model SageMaker di registri. Untuk setiap model, fungsi Lambda mengambil artefak model dan metrik evaluasi dari Amazon S3 dan membuat paket model ke ARN tertentu, sehingga keempat model dapat didaftarkan ke dalam satu registri model. API SageMaker Python juga memungkinkan kami mengirim metadata khusus yang ingin kami berikan untuk memilih model terbaik. Ini terbukti menjadi tonggak utama produktivitas karena semua model sekarang dapat dibandingkan dan diaudit dari satu jendela. Kami menyediakan metadata untuk membedakan model satu sama lain secara unik. Ini juga membantu dalam menyetujui model tunggal dengan bantuan tinjauan sejawat dan tinjauan manajemen berdasarkan metrik model.
Blok kode di atas menunjukkan contoh bagaimana kami menambahkan metadata melalui input paket model ke registri model bersama dengan metrik model.
Tangkapan layar di bawah ini menunjukkan betapa mudahnya kami membandingkan metrik dari versi model yang berbeda setelah didaftarkan.
Doa Saluran Pipa
Pipa dapat dipanggil melalui Jembatan Acara , Sagemaker Studio atau SDK diri. Doa menjalankan pekerjaan berdasarkan ketergantungan data antar langkah.
Kesimpulan
Dalam postingan ini, kami mendemonstrasikan bagaimana Games24x7 mengubah aset MLOps mereka melalui pipeline SageMaker. Kemampuan untuk melacak metrik pelatihan dan metrik evaluasi secara visual, dengan lingkungan berparameter, menskalakan langkah-langkah secara individual dengan platform pemrosesan yang tepat dan registri model pusat terbukti menjadi tonggak utama dalam standarisasi dan memajukan alur kerja yang dapat diaudit, dapat digunakan kembali, efisien, dan dapat dijelaskan . Proyek ini adalah cetak biru di berbagai tim ilmu data dan telah meningkatkan produktivitas keseluruhan dengan memungkinkan anggota untuk mengoperasikan, mengelola, dan berkolaborasi dengan praktik terbaik.
Jika Anda memiliki kasus penggunaan serupa dan ingin memulai, kami sarankan untuk menggunakan SageMaker Modus skrip dan Contoh ujung ke ujung SageMaker menggunakan Sagemaker Studio. Contoh-contoh ini memiliki detail teknis yang telah dibahas di blog ini.
Strategi data modern memberi Anda rencana komprehensif untuk mengelola, mengakses, menganalisis, dan menindaklanjuti data. AWS menyediakan rangkaian layanan terlengkap untuk seluruh perjalanan data ujung ke ujung untuk semua beban kerja, semua jenis data, dan semua hasil bisnis yang diinginkan. Pada gilirannya, ini menjadikan AWS tempat terbaik untuk membuka nilai dari data Anda dan mengubahnya menjadi wawasan.
Tentang Penulis
Husain Jagirdar adalah Ilmuwan Senior โ Riset Terapan di Games24x7. Dia saat ini terlibat dalam upaya penelitian di bidang AI yang dapat dijelaskan dan pembelajaran mendalam. Pekerjaannya baru-baru ini melibatkan pemodelan generatif yang mendalam, pemodelan deret waktu, dan subarea terkait pembelajaran mesin dan AI. Dia juga sangat menyukai MLOps dan menstandardisasi proyek yang menuntut batasan seperti skalabilitas, keandalan, dan sensitivitas.
Sumir Kumar adalah Arsitek Solusi di AWS dan memiliki pengalaman lebih dari 13 tahun di industri teknologi. Di AWS, dia bekerja sama dengan pelanggan utama AWS untuk merancang dan mengimplementasikan solusi berbasis cloud yang memecahkan masalah bisnis yang kompleks. Dia sangat menyukai analitik data dan pembelajaran mesin dan memiliki rekam jejak yang terbukti dalam membantu organisasi membuka potensi penuh data mereka menggunakan AWS Cloud.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Mencetak Masa Depan bersama Adryenn Ashley. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/how-games24x7-transformed-their-retraining-mlops-pipelines-with-amazon-sagemaker/
- :adalah
- 1
- 10
- 100
- 11
- 7
- a
- kemampuan
- Tentang Kami
- atas
- mengakses
- akumulasi
- ketepatan
- ACM
- di seluruh
- Bertindak
- Tindakan
- menambahkan
- Tambahan
- Selain itu
- alamat
- diadopsi
- Adopsi
- Setelah
- AI
- Semua
- Membiarkan
- memungkinkan
- sudah
- Amazon
- Amazon SageMaker
- Studio Amazon SageMaker
- analisis
- menganalisa
- dan
- api
- terapan
- arsitektur
- ADALAH
- DAERAH
- sekitar
- AS
- penilaian
- Aktiva
- At
- Audit
- bisa diaudit
- diaudit
- Otomatis
- secara otomatis
- tersedia
- AWS
- kembali
- Tulang punggung
- berdasarkan
- BE
- karena
- Awal
- di belakang
- makhluk
- di bawah
- patokan
- TERBAIK
- Praktik Terbaik
- Lebih baik
- antara
- Memblokir
- Blog
- Bangunan
- dibangun di
- bisnis
- by
- CAN
- kasus
- kasus
- pusat
- rantai
- menantang
- perubahan
- Perubahan
- kelas
- rapat
- awan
- Kelompok
- kode
- Basis kode
- Berkolaborasi
- membandingkan
- dibandingkan
- lengkap
- kompleks
- komponen
- komponen
- luas
- menghitung
- konsep
- konsolidasi
- kendala
- Wadah
- Wadah
- kontrol
- dikendalikan
- mengubah
- dikonversi
- Core
- Biaya
- Biaya
- bisa
- tercakup
- membuat
- dibuat
- menciptakan
- membuat
- Sekarang
- adat
- pelanggan
- pelanggan
- data
- Data Analytics
- ilmu data
- strategi data
- Data-driven
- Terdesentralisasi
- memutuskan
- dedicated
- mendalam
- menyelam dalam
- belajar mendalam
- Default
- mendefinisikan
- Permintaan
- menunjukkan
- Ketergantungan
- Mendesain
- diinginkan
- rinci
- rincian
- Deteksi
- ditentukan
- Pengembangan
- berbeda
- langsung
- ditemukan
- membahas
- membedakan
- distribusi
- Buruh pelabuhan
- turun
- mendorong
- dinamika
- setiap
- Terdahulu
- mudah
- efisien
- upaya
- antara
- mempekerjakan
- diaktifkan
- memungkinkan
- ujung ke ujung
- Seluruh
- Lingkungan Hidup
- masa
- mengevaluasi
- evaluasi
- Bahkan
- Setiap
- contoh
- contoh
- eksekusi
- ada
- sistem yang ada
- pengalaman
- eksperimen
- luas
- ekstrak
- sangat
- Gagal
- Fitur
- File
- terakhir
- Pertama
- ditandai
- bendera
- keluwesan
- berfokus
- berikut
- berikut
- Untuk
- format
- Kerangka
- dari
- penuh
- fungsi
- fungsionalitas
- fungsi
- lebih lanjut
- permainan
- Gamers
- Games
- game
- platform game
- menghasilkan
- generatif
- mendapatkan
- memberikan
- Go
- Pergi
- besar
- Tamu
- menangani
- Menangani
- Sulit
- Memiliki
- memiliki
- membantu
- membantu
- membantu
- membantu
- JAM
- Seterpercayaapakah Olymp Trade? Kesimpulan
- HTML
- HTTPS
- Identifikasi
- gambar
- gambar
- melaksanakan
- implementasi
- mengimplementasikan
- mengimpor
- ditingkatkan
- in
- termasuk
- Termasuk
- menggabungkan
- Pada meningkat
- sendiri-sendiri
- Secara individual
- industri
- Infrastruktur
- memasukkan
- wawasan
- contoh
- instrumental
- terpadu
- integrasi
- interaksi
- menarik
- investigasi
- terlibat
- isolasi
- masalah
- IT
- perulangan
- NYA
- Diri
- Pekerjaan
- Jobs
- perjalanan
- jpg
- json
- kunci
- pengetahuan
- dikenal
- Label
- besar
- pengetahuan
- perpustakaan
- Perpustakaan
- 'like'
- keterbatasan
- terkait
- beban
- lokal
- tempat
- lokasi
- mesin
- Mesin belajar
- utama
- MEMBUAT
- Membuat
- mengelola
- pengelolaan
- manual
- mekanisme
- Anggota
- tersebut
- Metadata
- metode
- metrik
- Metrik
- batu
- juta
- minimal
- minor
- ML
- MLOps
- mode
- model
- model
- moderasi
- modern
- Modul
- Modul
- pemantauan
- Monolitis
- lebih
- paling
- beberapa
- nama
- Perlu
- berikutnya
- buku catatan
- mati rasa
- of
- on
- ONE
- terus-menerus
- Buka
- beroperasi
- Operasi
- optimasi
- urutan
- organisasi
- asli
- Lainnya
- keluaran
- secara keseluruhan
- paket
- parameter
- terpenting
- bagian
- lulus
- Lulus
- melewati
- Lewat
- bergairah
- path
- prestasi
- filsafat
- pipa saluran
- Tempat
- rencana
- Platform
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- Bermain
- pemain
- pemain
- kebanyakan
- Titik
- Pos
- potensi
- didukung
- praktek
- Ketelitian
- sebelumnya
- masalah
- proses
- proses
- pengolahan
- produktifitas
- proyek
- memprojeksikan
- properties
- terbukti
- terbukti
- disediakan
- menyediakan
- diterbitkan
- Menarik
- Ular sanca
- kualitas
- LANGKA
- Mentah
- baru
- sarankan
- catatan
- regex
- daftar
- terdaftar
- Pendaftaran
- pendaftaran
- terkait
- Hubungan
- keandalan
- Dihapus
- menghapus
- ulang
- laporan
- wajib
- Persyaratan
- penelitian
- tanggung jawab
- Gaming bertanggung jawab
- restart
- Hasil
- kembali
- dapat digunakan kembali
- menggunakan kembali
- Review
- Peran
- Run
- berjalan
- pembuat bijak
- Pipa SageMaker
- Skalabilitas
- Skala
- skala
- Langka
- skenario
- Ilmu
- ilmuwan
- screenshot
- script
- SDK
- bagian
- aman
- mengirim
- senior
- Kepekaan
- Urutan
- layanan
- Layanan
- set
- set
- Share
- berbagi
- Menunjukkan
- ditunjukkan
- Pertunjukkan
- mirip
- Sederhana
- tunggal
- ketrampilan
- kecil
- So
- larutan
- Solusi
- MEMECAHKAN
- beberapa
- sumber
- tertentu
- Berpisah
- Tahap
- standardisasi
- mulai
- Mulai
- state-of-the-art
- statistika
- Langkah
- Tangga
- penyimpanan
- menyimpan
- tersimpan
- Penyelarasan
- studio
- seperti itu
- berkelanjutan
- sistem
- Dibutuhkan
- tim
- tim
- Teknis
- Teknologi
- Template
- tensorflow
- uji
- pengujian
- bahwa
- Grafik
- Daerah
- Sumber
- mereka
- Mereka
- karena itu
- Ini
- Melalui
- waktu
- untuk
- jalur
- Pelatihan VE
- terlatih
- Pelatihan
- berubah
- percobaan
- uji
- MENGHIDUPKAN
- jenis
- memahami
- unik
- membuka kunci
- us
- menggunakan
- gunakan case
- Pengguna
- Pengguna
- pengesahan
- Berharga
- nilai
- variasi
- berbagai
- penglihatan
- ingin
- yang
- sementara
- seluruh
- akan
- dengan
- dalam
- Kerja
- bekerja
- akan
- dibungkus
- tahun
- Kamu
- Anda
- zephyrnet.dll