Dokumen dalam Framework Arsitektur: perspektif AI dan ML ini memberikan ringkasan tentang prinsip dan rekomendasi untuk membantu Anda mengoptimalkan performa workload AI dan ML di Google Cloud. Rekomendasi dalam dokumen ini selaras dengan pilar pengoptimalan performa Framework Arsitektur.
Sistem AI dan ML memungkinkan kemampuan otomatisasi dan pengambilan keputusan baru untuk organisasi Anda. Performa sistem ini dapat secara langsung memengaruhi pendorong bisnis Anda seperti pendapatan, biaya, dan kepuasan pelanggan. Untuk mewujudkan potensi penuh sistem AI dan ML, Anda perlu mengoptimalkan performanya berdasarkan sasaran bisnis dan persyaratan teknis. Proses pengoptimalan performa sering kali melibatkan kompromi tertentu. Misalnya, pilihan desain yang memberikan performa yang diperlukan dapat menyebabkan biaya yang lebih tinggi. Rekomendasi dalam dokumen ini memprioritaskan performa daripada pertimbangan lain seperti biaya.
Untuk mengoptimalkan performa AI dan ML, Anda perlu membuat keputusan terkait faktor-faktor seperti arsitektur model, parameter, dan strategi pelatihan. Saat Anda membuat keputusan ini, pertimbangkan seluruh siklus proses sistem AI dan ML serta lingkungan deployment-nya. Misalnya, LLM yang sangat besar dapat berperforma sangat baik pada infrastruktur pelatihan yang masif, tetapi model yang sangat besar mungkin tidak berperforma baik di lingkungan yang dibatasi kapasitas seperti perangkat seluler.
Menerjemahkan sasaran bisnis menjadi tujuan performa
Untuk membuat keputusan arsitektur yang mengoptimalkan performa, mulailah dengan kumpulan sasaran bisnis yang jelas. Desain sistem AI dan ML yang memberikan performa teknis yang diperlukan untuk mendukung sasaran dan prioritas bisnis Anda. Tim teknis Anda harus memahami pemetaan antara tujuan performa dan tujuan bisnis.
Pertimbangkan rekomendasi berikut:
- Menerjemahkan tujuan bisnis menjadi persyaratan teknis: Terjemahkan tujuan bisnis sistem AI dan ML Anda menjadi persyaratan performa teknis tertentu dan perkirakan efek dari tidak memenuhi persyaratan tersebut. Misalnya, untuk aplikasi yang memprediksi churn pelanggan, model ML harus berperforma baik pada metrik standar, seperti akurasi dan recall, dan aplikasi harus memenuhi persyaratan operasional seperti latensi rendah.
- Pantau performa di semua tahap siklus proses model: Selama eksperimen dan pelatihan setelah deployment model, pantau indikator performa utama (KPI) dan amati setiap penyimpangan dari tujuan bisnis.
- Otomatiskan evaluasi agar dapat direproduksi dan distandarisasi: Dengan platform dan metodologi yang standar dan sebanding untuk evaluasi eksperimen, engineer Anda dapat meningkatkan kecepatan peningkatan performa.
Menjalankan dan melacak eksperimen yang sering dilakukan
Untuk mengubah inovasi dan kreativitas menjadi peningkatan performa, Anda memerlukan budaya dan platform yang mendukung eksperimen. Peningkatan performa adalah proses yang berkelanjutan karena teknologi AI dan ML berkembang secara berkelanjutan dan cepat. Untuk mempertahankan proses iteratif yang cepat, Anda harus memisahkan ruang eksperimen dari platform pelatihan dan penayangan. Proses eksperimen yang standar dan andal sangatlah penting.
Pertimbangkan rekomendasi berikut:
- Mem-build lingkungan eksperimen: Peningkatan performa memerlukan lingkungan khusus, canggih, dan interaktif yang mendukung eksperimen dan pengembangan kolaboratif pipeline ML.
- Menanamkan eksperimen sebagai budaya: Jalankan eksperimen sebelum deployment produksi. Rilis versi baru secara iteratif dan selalu kumpulkan data performa. Bereksperimenlah dengan berbagai jenis data, transformasi fitur, algoritma, dan hyperparameter.
Membangun dan mengotomatiskan layanan pelatihan dan penyajian
Melatih dan menayangkan model AI adalah komponen inti dari layanan AI Anda. Anda memerlukan platform dan praktik yang andal yang mendukung pembuatan, deployment, dan penayangan model AI yang cepat dan andal. Investasikan waktu dan upaya untuk membuat platform dasar untuk tugas pelatihan dan penayangan AI inti Anda. Platform dasar ini membantu mengurangi waktu dan tenaga tim Anda serta meningkatkan kualitas output dalam jangka menengah dan panjang.
Pertimbangkan rekomendasi berikut:
- Gunakan komponen khusus AI dari layanan pelatihan: Komponen tersebut mencakup komponen komputasi dan MLOps berperforma tinggi seperti feature store, registry model, penyimpanan metadata, dan layanan evaluasi performa model.
- Gunakan komponen khusus AI dari layanan prediksi: Komponen tersebut menyediakan resource berperforma tinggi dan skalabel, mendukung pemantauan fitur, dan memungkinkan pemantauan performa model. Untuk mencegah dan mengelola degradasi performa, terapkan strategi deployment dan rollback yang andal.
Mencocokkan pilihan desain dengan persyaratan performa
Saat Anda membuat pilihan desain untuk meningkatkan performa, timbang dengan cermat apakah pilihan tersebut mendukung persyaratan bisnis Anda atau sia-sia dan berlawanan dengan tujuan. Untuk memilih infrastruktur, model, atau konfigurasi yang sesuai, identifikasi bottleneck performa dan nilai bagaimana hal tersebut terkait dengan ukuran performa Anda. Misalnya, meskipun pada akselerator GPU yang sangat canggih, tugas pelatihan Anda dapat mengalami bottleneck performa karena masalah I/O data dari lapisan penyimpanan atau karena keterbatasan performa model itu sendiri.
Pertimbangkan rekomendasi berikut:
- Mengoptimalkan konsumsi hardware berdasarkan sasaran performa: Untuk melatih dan menayangkan model ML yang memenuhi persyaratan performa, Anda perlu mengoptimalkan infrastruktur di lapisan komputasi, penyimpanan, dan jaringan. Anda harus mengukur dan memahami variabel yang memengaruhi sasaran performa Anda. Variabel ini berbeda untuk pelatihan dan inferensi.
- Fokus pada persyaratan khusus workload: Fokuskan upaya optimasi performa pada persyaratan unik workload AI dan ML Anda. Mengandalkan layanan terkelola untuk performa infrastruktur dasar.
- Memilih strategi pelatihan yang sesuai: Beberapa model dasar dan terlatih tersedia, dan lebih banyak model tersebut sering dirilis. Pilih strategi pelatihan yang dapat memberikan performa optimal untuk tugas Anda. Tentukan apakah Anda harus membuat model sendiri, menyesuaikan model terlatih pada data Anda, atau menggunakan API model terlatih.
- Pahami bahwa strategi pengoptimalan performa dapat memiliki tingkat pengembalian yang menurun: Jika strategi pengoptimalan performa tertentu tidak memberikan nilai bisnis inkremental yang terukur, berhentilah mengejar strategi tersebut.
Menautkan metrik performa ke pilihan desain dan konfigurasi
Untuk berinovasi, memecahkan masalah, dan menyelidiki masalah performa, buat kaitan yang jelas antara pilihan desain dan hasil performa. Selain eksperimen, Anda harus mencatat silsilah aset, deployment, output model, serta konfigurasi dan input yang menghasilkan output dengan andal.
Pertimbangkan rekomendasi berikut:
- Mem-build sistem garis keturunan data dan model: Semua aset yang di-deploy dan metrik performanya harus ditautkan kembali ke data, konfigurasi, kode, dan pilihan yang menghasilkan sistem yang di-deploy. Selain itu, output model harus ditautkan ke versi model tertentu dan cara output dihasilkan.
- Gunakan alat penjelasan untuk meningkatkan performa model: Gunakan dan standarkan alat serta benchmark untuk eksplorasi dan penjelasan model. Alat ini membantu engineer ML Anda memahami perilaku model dan meningkatkan performa atau menghapus bias.
Kontributor
Penulis:
- Benjamin Sadik | Customer Engineer Spesialis AI dan ML
- Filipe Gracio, PhD | Customer Engineer
Kontributor lainnya:
- Kumar Dhanagopal | Developer Solusi Lintas Produk
- Marwan Al Shawi | Partner Customer Engineer
- Zach Seils | Networking Specialist