Dokumen dalam Framework Arsitektur: perspektif AI dan ML ini memberikan ringkasan tentang prinsip dan rekomendasi untuk mendesain dan mengoperasikan sistem AI dan ML yang andal di Google Cloud. Panduan ini membahas cara mengintegrasikan praktik keandalan dan kemampuan observasi lanjutan ke dalam blueprint arsitektur Anda. Rekomendasi dalam dokumen ini selaras dengan pilar keandalan Framework Arsitektur.
Dalam lanskap AI dan ML yang berkembang pesat, sistem yang andal sangat penting untuk memastikan kepuasan pelanggan dan mencapai sasaran bisnis. Anda memerlukan sistem AI dan ML yang andal, dapat diandalkan, dan dapat disesuaikan untuk memenuhi permintaan unik ML prediktif dan AI generatif. Untuk menangani kompleksitas MLOps—mulai dari pengembangan hingga deployment dan peningkatan berkelanjutan—Anda perlu menggunakan pendekatan keandalan-terlebih-dahulu. Google Cloud menawarkan infrastruktur AI khusus yang selaras dengan prinsip Site Reliability Engineering (SRE) dan memberikan fondasi yang andal untuk sistem AI dan ML yang andal.
Memastikan infrastruktur skalabel dan sangat tersedia
Dengan merancang skalabilitas dan ketersediaan, Anda memungkinkan aplikasi menangani berbagai tingkat permintaan tanpa gangguan layanan atau penurunan performa. Artinya, layanan AI Anda masih tersedia bagi pengguna selama pemadaman infrastruktur dan saat traffic sangat tinggi.
Pertimbangkan rekomendasi berikut:
- Rancang sistem AI Anda dengan kemampuan penskalaan otomatis dan dinamis untuk menangani fluktuasi permintaan. Hal ini membantu memastikan performa yang optimal, bahkan selama lonjakan traffic.
- Kelola resource secara proaktif dan antisipasi kebutuhan mendatang melalui pengujian beban dan pemantauan performa. Gunakan data historis dan analisis prediktif untuk membuat keputusan yang tepat tentang alokasi resource.
- Buat desain untuk ketersediaan tinggi dan fault tolerance dengan mengadopsi arketipe deployment multi-zona dan multi-region di Google Cloud dan dengan menerapkan redundansi dan replikasi.
- Mendistribusikan traffic masuk di beberapa instance layanan dan endpoint AI dan ML Anda. Load balancing membantu mencegah satu instance dari kelebihan beban dan membantu memastikan performa dan ketersediaan yang konsisten.
Menggunakan arsitektur modular dan yang dikaitkan secara longgar
Agar sistem AI Anda tahan terhadap kegagalan di setiap komponen, gunakan arsitektur modular. Misalnya, desain komponen pemrosesan data dan validasi data sebagai modul terpisah. Saat komponen tertentu gagal, arsitektur modular membantu meminimalkan periode nonaktif dan memungkinkan tim Anda mengembangkan dan men-deploy perbaikan dengan lebih cepat.
Pertimbangkan rekomendasi berikut:
- Pisahkan sistem AI dan ML Anda menjadi modul atau komponen mandiri yang kecil. Pendekatan ini mendorong penggunaan kembali kode, menyederhanakan pengujian dan pemeliharaan, serta memungkinkan Anda mengembangkan dan men-deploy setiap komponen secara independen.
- Buat desain modul yang dikaitkan secara longgar dengan antarmuka yang jelas. Pendekatan ini meminimalkan dependensi, dan memungkinkan Anda melakukan update dan perubahan independen tanpa memengaruhi seluruh sistem.
- Buat rencana untuk degradasi halus. Saat komponen gagal, bagian lain sistem harus terus memberikan tingkat fungsi yang memadai.
- Gunakan API untuk membuat batas yang jelas antar-modul dan untuk menyembunyikan detail implementasi tingkat modul. Pendekatan ini memungkinkan Anda mengupdate atau mengganti setiap komponen tanpa memengaruhi interaksi dengan bagian sistem lainnya.
Membuat platform MLOps otomatis
Dengan platform MLOps otomatis, tahap dan output siklus proses model Anda akan lebih andal. Dengan mempromosikan konsistensi, pengaitan longgar, dan modularitas, serta dengan mengekspresikan operasi dan infrastruktur sebagai kode, Anda akan menghapus langkah manual yang rapuh dan mempertahankan sistem AI dan ML yang lebih andal dan dapat diandalkan.
Pertimbangkan rekomendasi berikut:
- Otomatiskan siklus proses pengembangan model, mulai dari persiapan dan validasi data hingga pelatihan, evaluasi, deployment, dan pemantauan model.
- Mengelola infrastruktur sebagai kode (IaC). Pendekatan ini memungkinkan kontrol versi yang efisien, rollback cepat jika diperlukan, dan deployment berulang.
- Validasi bahwa model Anda berperilaku seperti yang diharapkan dengan data yang relevan. Otomatiskan pemantauan performa model Anda, dan buat pemberitahuan yang sesuai untuk output yang tidak terduga.
- Validasi input dan output pipeline AI dan ML Anda. Misalnya, validasi data, konfigurasi, argumen perintah, file, dan prediksi. Konfigurasikan pemberitahuan untuk nilai yang tidak terduga atau tidak diizinkan.
- Gunakan strategi kontrol versi terkelola untuk endpoint model Anda. Strategi semacam ini memungkinkan rilis inkremental dan pemulihan cepat jika terjadi masalah.
Menjaga kepercayaan dan kontrol melalui tata kelola data dan model
Keandalan sistem AI dan ML bergantung pada kemampuan kepercayaan dan tata kelola data dan model Anda. Output AI dapat gagal memenuhi ekspektasi secara diam-diam. Misalnya, output mungkin konsisten secara formal, tetapi mungkin salah atau tidak diinginkan. Dengan menerapkan pelacakan dan tata kelola yang kuat, Anda dapat memastikan bahwa outputnya dapat diandalkan dan tepercaya.
Pertimbangkan rekomendasi berikut:
- Gunakan katalog data dan model untuk melacak dan mengelola aset Anda secara efektif. Untuk memfasilitasi pelacakan dan audit, pertahankan catatan data dan versi model yang komprehensif selama siklus proses.
- Terapkan kontrol akses dan audit trail yang ketat untuk melindungi data dan model sensitif.
- Atasi masalah bias yang penting dalam AI, terutama dalam aplikasi AI generatif. Untuk membangun kepercayaan, usahakan transparansi dan kemampuan menjelaskan dalam output model.
- Otomatiskan pembuatan statistik fitur dan terapkan deteksi anomali untuk mengidentifikasi masalah data secara proaktif. Untuk memastikan keandalan model, buat mekanisme untuk mendeteksi dan memitigasi dampak perubahan dalam distribusi data.
Mengimplementasikan praktik keandalan dan kemampuan observasi AI dan ML secara menyeluruh
Untuk terus meningkatkan kualitas operasi AI, Anda perlu menentukan sasaran keandalan yang bermakna dan mengukur progres. Observabilitas adalah elemen dasar sistem yang andal. Observabilitas memungkinkan Anda mengelola operasi yang sedang berlangsung dan peristiwa penting. Kemampuan observasi yang diterapkan dengan baik membantu Anda membuat dan mempertahankan layanan yang andal bagi pengguna.
Pertimbangkan rekomendasi berikut:
- Melacak metrik infrastruktur untuk prosesor (CPU, GPU, dan TPU) dan untuk resource lain seperti penggunaan memori, latensi jaringan, dan penggunaan disk. Lakukan pengujian beban dan pemantauan performa. Gunakan hasil pengujian dan metrik dari pemantauan untuk mengelola penskalaan dan kapasitas untuk sistem AI dan ML Anda.
- Tetapkan sasaran keandalan dan lacak metrik aplikasi. Ukur metrik seperti throughput dan latensi untuk aplikasi AI yang Anda buat. Pantau pola penggunaan aplikasi dan endpoint yang diekspos.
- Tetapkan metrik khusus model seperti akurasi atau indikator keamanan untuk mengevaluasi keandalan model. Lacak metrik ini dari waktu ke waktu untuk mengidentifikasi penyimpangan atau degradasi. Untuk kontrol versi dan otomatisasi yang efisien, tentukan konfigurasi pemantauan sebagai kode.
- Tentukan dan lacak metrik tingkat bisnis untuk memahami dampak model dan keandalan Anda terhadap hasil bisnis. Untuk mengukur keandalan layanan AI dan ML Anda, pertimbangkan untuk mengadopsi pendekatan SRE dan menentukan tujuan tingkat layanan (SLO).
Kontributor
Penulis:
- Rick (Rugui) Chen | AI Infrastructure Solutions Architect
- Filipe Gracio, PhD | Customer Engineer
Kontributor lainnya:
- Jose Andrade | Enterprise Infrastructure Customer Engineer
- Kumar Dhanagopal | Developer Solusi Lintas Produk
- Marwan Al Shawi | Partner Customer Engineer