Dokumen dalam Google Cloud Framework yang Dirancang dengan Baik: Perspektif AI dan ML ini memberikan ringkasan prinsip dan rekomendasi untuk mendesain dan mengoperasikan sistem AI dan ML yang andal di Google Cloud. Bagian ini membahas cara mengintegrasikan praktik keandalan dan kemampuan observasi tingkat lanjut ke dalam cetak biru arsitektur Anda. Rekomendasi dalam dokumen ini selaras dengan pilar keandalan dari Google Cloud Framework yang Dirancang dengan Baik.
Dalam lanskap AI dan ML yang berkembang pesat, sistem yang andal sangat penting untuk memastikan kepuasan pelanggan dan mencapai sasaran bisnis. Untuk memenuhi permintaan unik ML prediktif dan AI generatif, Anda memerlukan sistem AI dan ML yang kuat, andal, dan mudah beradaptasi. Untuk menangani kompleksitas MLOps—dari pengembangan hingga deployment dan peningkatan berkelanjutan—Anda harus menggunakan pendekatan yang mengutamakan keandalan. Google Cloud menawarkan infrastruktur AI yang dibuat khusus dan selaras dengan prinsip site reliability engineering (SRE) serta memberikan fondasi yang kuat untuk sistem AI dan ML yang andal.
Rekomendasi dalam dokumen ini dipetakan ke prinsip inti berikut:
- Pastikan infrastruktur dapat diskalakan dan sangat tersedia
- Menggunakan arsitektur modular dan yang dikaitkan secara longgar
- Membangun platform MLOps end-to-end otomatis
- Mempertahankan kepercayaan dan kontrol melalui tata kelola data dan model
- Menerapkan praktik keandalan dan kemampuan observasi yang holistik
Pastikan infrastruktur ML dapat diskalakan dan sangat tersedia
Sistem AI dan ML yang andal di cloud memerlukan infrastruktur yang skalabel dan sangat tersedia. Sistem ini memiliki permintaan yang dinamis, beragam kebutuhan resource, dan dependensi penting pada ketersediaan model. Arsitektur yang skalabel beradaptasi dengan beban yang berfluktuasi dan variasi dalam volume data atau permintaan inferensi. Ketersediaan tinggi (HA) membantu memastikan ketahanan terhadap kegagalan di tingkat komponen, zona, atau region.
Untuk membangun infrastruktur ML yang skalabel dan sangat tersedia, pertimbangkan rekomendasi berikut.
Menerapkan kemampuan penskalaan otomatis dan dinamis
Workload AI dan ML bersifat dinamis, dengan permintaan yang berfluktuasi berdasarkan tingkat kedatangan data, frekuensi pelatihan, dan volume traffic inferensi. Penskalaan otomatis dan dinamis mengadaptasi resource infrastruktur dengan lancar terhadap fluktuasi permintaan. Penskalaan workload secara efektif membantu mencegah downtime, mempertahankan performa, dan mengoptimalkan biaya.
Untuk menskalakan otomatis workload AI dan ML, gunakan produk dan fitur berikut di Google Cloud:
- Pipeline pemrosesan data: Buat pipeline data di Dataflow. Konfigurasi pipeline untuk menggunakan fitur penskalaan otomatis horizontal Dataflow, yang menyesuaikan jumlah instance pekerja secara dinamis berdasarkan pemanfaatan CPU, paralelisme pipeline, dan data yang tertunda. Anda dapat mengonfigurasi parameter penskalaan otomatis melalui opsi pipeline saat meluncurkan tugas.
- Tugas pelatihan: Otomatiskan penskalaan tugas pelatihan menggunakan pelatihan kustom Vertex AI. Anda dapat menentukan spesifikasi worker pool seperti jenis mesin, jenis dan jumlah akselerator, serta jumlah worker pool. Untuk tugas yang dapat mentoleransi gangguan dan untuk tugas yang kode pelatihannya menerapkan pembuatan titik pemeriksaan, Anda dapat mengurangi biaya dengan menggunakan Spot VM.
- Inferensi online: Untuk inferensi online, gunakan endpoint Vertex AI. Untuk mengaktifkan penskalaan otomatis, konfigurasikan jumlah replika minimum dan maksimum. Tentukan minimal dua replika untuk HA. Vertex AI secara otomatis menyesuaikan jumlah replika berdasarkan traffic dan metrik penskalaan otomatis yang dikonfigurasi, seperti pemakaian CPU dan pemakaian replika.
- Workload dalam container di Google Kubernetes Engine: Konfigurasi penskalaan otomatis di tingkat node dan Pod. Konfigurasi penskala otomatis cluster dan penyediaan otomatis node untuk menyesuaikan jumlah node berdasarkan permintaan resource Pod yang tertunda seperti CPU, memori, GPU, dan TPU. Gunakan Horizontal Pod Autoscaler (HPA) untuk deployment guna menentukan kebijakan penskalaan berdasarkan metrik seperti penggunaan CPU dan memori. Anda juga dapat melakukan penskalaan berdasarkan metrik AI dan ML kustom, seperti penggunaan GPU atau TPU dan permintaan prediksi per detik.
- Layanan dalam container tanpa server: Deploy layanan di Cloud Run dan konfigurasi penskalaan otomatis dengan menentukan jumlah minimum dan maksimum instance container. Gunakan praktik terbaik untuk menskalakan otomatis instance yang mendukung GPU dengan menentukan jenis akselerator. Cloud Run secara otomatis menskalakan instance antara batas minimum dan maksimum yang dikonfigurasi berdasarkan permintaan yang masuk. Jika tidak ada permintaan, aplikasi akan diskalakan secara efisien ke nol instance. Anda dapat memanfaatkan penskalaan otomatis yang didorong permintaan Cloud Run untuk men-deploy agen Vertex AI dan men-deploy beban kerja pihak ketiga seperti model terkuantisasi menggunakan Ollama, inferensi model LLM menggunakan vLLM, dan Huggingface Text Generation Inference (TGI).
Desain untuk HA dan fault tolerance
Untuk workload AI dan ML tingkat produksi, Anda harus memastikan operasi berkelanjutan dan ketahanan terhadap kegagalan. Untuk menerapkan HA dan toleransi terhadap kesalahan, Anda harus membangun redundansi dan replikasi ke dalam arsitektur di Google Cloud. Pendekatan ini membantu memastikan bahwa kegagalan komponen individual tidak menyebabkan kegagalan sistem secara keseluruhan.
- Untuk HA dan latensi rendah dalam penyajian model, terutama untuk model inferensi real-time dan AI generatif, distribusikan deployment Anda di beberapa lokasi.
- Untuk ketersediaan dan ketahanan global, deploy model ke beberapa endpoint Vertex AI di seluruh region Google Cloud atau gunakan endpoint global.
- Gunakan load balancing global untuk merutekan traffic.
- Untuk pelatihan di MIG GKE atau Compute Engine, terapkan pemantauan untuk error Xid. Saat Anda mengidentifikasi error Xid, lakukan tindakan perbaikan yang sesuai. Misalnya, mereset GPU, mereset instance Compute Engine, atau memicu penggantian hardware menggunakan perintah gcloud CLI report faulty host.
- Pelajari solusi pelatihan yang toleran terhadap kesalahan atau elastis dan tangguh seperti resep untuk menggunakan Google Resiliency Library atau integrasi logika Pelatihan yang tangguh dengan Pathways untuk workload TPU.
Terapkan redundansi untuk komponen AI dan ML penting di Google Cloud. Berikut adalah contoh produk dan fitur yang memungkinkan Anda menerapkan redundansi resource:
- Deploy cluster regional GKE di beberapa zona.
- Pastikan redundansi data untuk set data dan titik pemeriksaan dengan menggunakan bucket multi-region atau dual-region Cloud Storage.
- Gunakan Spanner untuk penyimpanan metadata yang sangat tersedia dan konsisten secara global.
- Konfigurasi replika baca Cloud SQL untuk database operasional.
- Pastikan database vektor untuk retrieval augmented generation (RAG) memiliki ketersediaan tinggi dan bersifat multi-zona atau multi-region.
Mengelola resource secara proaktif dan mengantisipasi persyaratan
Pengelolaan resource yang efektif penting untuk membantu Anda mengoptimalkan biaya, performa, dan keandalan. Workload AI dan ML bersifat dinamis dan ada permintaan tinggi untuk hardware khusus seperti GPU dan TPU. Oleh karena itu, Anda harus menerapkan pengelolaan resource proaktif dan memastikan ketersediaan resource.
Rencanakan kapasitas berdasarkan data pemantauan historis, seperti pemanfaatan GPU atau TPU dan kecepatan throughput, dari Cloud Monitoring dan log di Cloud Logging. Analisis data telemetri ini menggunakan BigQuery atau Looker Studio dan perkirakan permintaan GPU di masa mendatang berdasarkan pertumbuhan atau model baru. Analisis pola dan tren penggunaan resource membantu Anda memprediksi kapan dan di mana Anda memerlukan akselerator khusus yang penting.
- Validasi perkiraan kapasitas melalui pengujian beban yang ketat. Simulasikan traffic pada layanan AI dan ML seperti penayangan dan pipeline menggunakan alat seperti Apache JMeter atau LoadView.
- Menganalisis perilaku sistem saat mengalami tekanan.
- Untuk mengantisipasi dan memenuhi peningkatan permintaan workload dalam produksi, identifikasi kebutuhan resource secara proaktif. Pantau latensi, throughput, error, dan pemakaian resource, terutama pemakaian GPU dan TPU. Tingkatkan kuota resource jika perlu.
- Untuk penayangan AI generatif, lakukan pengujian di bawah beban serentak yang tinggi dan identifikasi tingkat saat ketersediaan akselerator membatasi performa.
- Lakukan pemantauan berkelanjutan untuk kueri model dan siapkan
notifikasi proaktif untuk agen.
- Gunakan dasbor kebertampakan model untuk melihat metrik yang dikumpulkan oleh Cloud Monitoring, seperti kueri model per detik (QPS), throughput token, dan latensi token pertama.
Mengoptimalkan ketersediaan dan perolehan resource
Optimalkan biaya dan pastikan ketersediaan resource dengan memilih resource komputasi yang sesuai secara strategis berdasarkan persyaratan workload.
- Untuk inferensi 24x7 yang stabil atau untuk workload pelatihan dengan persyaratan kapasitas tetap atau dapat diprediksi, gunakan diskon abonemen (CUD) untuk VM dan akselerator.
Untuk node GKE dan VM Compute Engine, gunakan kemampuan Spot VM dan Dynamic Workload Scheduler (DWS):
- Untuk tugas fault-tolerant seperti evaluasi dan workload eksperimen, gunakan Spot VM. Spot VM dapat di-preempt, tetapi dapat membantu mengurangi biaya keseluruhan Anda.
- Untuk mengelola risiko preempti untuk akselerator yang sangat diminati, Anda dapat memastikan ketersediaan yang lebih baik dengan menggunakan DWS.
- Untuk pelatihan batch kompleks yang memerlukan GPU kelas atas agar dapat berjalan hingga tujuh hari, gunakan mode DWS Flex-Start.
- Untuk beban kerja yang berjalan lebih lama hingga tiga bulan, gunakan mode Kalender untuk mencadangkan GPU (H100 dan H200) dan TPU (Trillium) tertentu.
Untuk mengoptimalkan inferensi AI di GKE, Anda dapat menjalankan mesin vLLM yang secara dinamis menggunakan TPU dan GPU untuk memenuhi kebutuhan kapasitas dan performa yang berfluktuasi. Untuk mengetahui informasi selengkapnya, lihat Fungibilitas GPU/TPU vLLM.
Untuk skenario lanjutan dengan kebutuhan resource dan topologi yang kompleks yang melibatkan akselerator, gunakan alat untuk mengabstraksi pengelolaan resource.
- Cluster Director memungkinkan Anda men-deploy dan mengelola grup akselerator dengan kolokasi dan penjadwalan untuk pelatihan multi-GPU (A3 Ultra H200 dan A4 B200). Cluster Director mendukung cluster GKE dan Slurm.
- Ray on Vertex AI mengabstraksi infrastruktur komputasi terdistribusi. Layanan ini memungkinkan aplikasi meminta resource untuk pelatihan dan penayangan tanpa perlu mengelola VM dan container secara langsung.
Mendistribusikan traffic masuk ke beberapa instance
Load balancing yang efektif sangat penting untuk aplikasi AI yang memiliki permintaan yang berfluktuasi. Load balancing mendistribusikan traffic, mengoptimalkan pemanfaatan resource, menyediakan HA dan latensi rendah, serta membantu memastikan pengalaman pengguna yang lancar.
- Inferensi dengan berbagai kebutuhan resource: Terapkan load balancing berdasarkan metrik model. GKE Inference Gateway memungkinkan Anda men-deploy model di balik load balancer dengan perutean yang mendukung model. Gateway memprioritaskan instance dengan akselerator GPU dan TPU untuk tugas yang intensif secara komputasi seperti AI generatif dan inferensi LLM. Konfigurasi health check mendetail untuk menilai status model. Gunakan framework penayangan seperti vLLM atau Triton untuk metrik LLM dan integrasikan metrik ke Cloud Monitoring dengan menggunakan Google Cloud Managed Service for Prometheus.
- Workload inferensi yang memerlukan GPU atau TPU: Untuk memastikan bahwa workload inferensi AI dan ML yang penting berjalan secara konsisten di mesin yang sesuai dengan persyaratan workload, terutama saat ketersediaan GPU dan TPU terbatas, gunakan class komputasi kustom GKE. Anda dapat menentukan profil komputasi tertentu dengan kebijakan pengganti untuk penskalaan otomatis. Misalnya, Anda dapat menentukan profil yang menentukan prioritas yang lebih tinggi untuk instance GPU atau TPU yang dicadangkan. Profil dapat mencakup penggantian untuk menggunakan Spot VM yang hemat biaya jika resource yang dicadangkan tidak tersedia untuk sementara.
- AI Generatif di berbagai platform orkestrasi: Gunakan load balancer terpusat. Misalnya, untuk efisiensi biaya dan pengelolaan, Anda dapat merutekan permintaan yang memiliki kebutuhan GPU rendah ke Cloud Run dan merutekan tugas yang lebih kompleks dan intensif GPU ke GKE. Untuk komunikasi antarlayanan dan pengelolaan kebijakan, terapkan mesh layanan menggunakan Cloud Service Mesh. Pastikan logging dan pemantauan yang konsisten dengan menggunakan Cloud Logging dan Cloud Monitoring.
- Distribusi beban global: Untuk menyeimbangkan beban traffic dari pengguna global yang memerlukan latensi rendah, gunakan Load Balancer Aplikasi eksternal global. Konfigurasi perutean geolokasi ke region terdekat dan terapkan failover. Tetapkan replikasi endpoint regional di Vertex AI atau GKE. Konfigurasi Cloud CDN untuk aset statis. Pantau traffic dan latensi global menggunakan Cloud Monitoring.
- Pengelolaan traffic terperinci: Untuk permintaan yang memiliki berbagai jenis atau kompleksitas data dan permintaan yang berjalan lama, terapkan pengelolaan traffic terperinci.
- Konfigurasi perutean berbasis konten untuk mengarahkan permintaan ke backend khusus berdasarkan atribut seperti jalur dan header URL. Misalnya, permintaan langsung ke backend yang mendukung GPU untuk model gambar atau video dan ke backend yang dioptimalkan untuk CPU untuk model berbasis teks.
- Untuk permintaan AI generatif yang berjalan lama atau workload batch, gunakan WebSockets atau gRPC. Terapkan pengelolaan traffic untuk menangani waktu tunggu dan buffering. Konfigurasi waktu tunggu dan percobaan ulang permintaan serta terapkan pembatasan frekuensi dan kuota menggunakan API Gateway atau Apigee.
Menggunakan arsitektur modular dan yang dikaitkan secara longgar
Dalam arsitektur AI dan ML modular yang dikaitkan secara longgar, sistem yang kompleks dibagi menjadi komponen yang lebih kecil dan mandiri yang berinteraksi melalui antarmuka yang ditentukan dengan baik. Arsitektur ini meminimalkan dependensi modul, menyederhanakan pengembangan dan pengujian, meningkatkan reproduksibilitas, dan meningkatkan toleransi terhadap kesalahan dengan membatasi kegagalan. Pendekatan modular sangat penting untuk mengelola kompleksitas, mempercepat inovasi, dan memastikan pemeliharaan jangka panjang.
Untuk mendesain arsitektur modular dan yang tidak terlalu terikat untuk workload AI dan ML, pertimbangkan rekomendasi berikut.
Menerapkan modul atau komponen kecil yang mandiri
Pisahkan sistem AI dan ML end-to-end Anda menjadi modul atau komponen kecil yang mandiri. Setiap modul atau komponen bertanggung jawab atas fungsi tertentu, seperti penyerapan data, transformasi fitur, pelatihan model, penyajian inferensi, atau evaluasi. Desain modular memberikan beberapa manfaat utama untuk sistem AI dan ML: peningkatan kemudahan pemeliharaan, peningkatan skalabilitas, kemampuan penggunaan kembali, serta fleksibilitas dan ketangkasan yang lebih besar.
Bagian berikut menjelaskan produk, fitur, dan alat yang dapat Anda gunakan untuk mendesain arsitektur modular untuk sistem AI dan ML Anda. Google Cloud
Microservice dalam container di GKE
Untuk sistem AI dan ML yang kompleks atau pipeline AI generatif rumit yang memerlukan orkestrasi terperinci, terapkan modul sebagai microservice yang diorkestrasi menggunakan GKE. Kemasi setiap tahap yang berbeda sebagai microservice individual dalam container Docker. Tahapan yang berbeda ini mencakup penyerapan data yang disesuaikan untuk berbagai format, prapemrosesan data atau rekayasa fitur khusus, pelatihan model terdistribusi atau penyesuaian model dasar besar, evaluasi, atau penayangan.
Deploy microservice yang di-container di GKE dan manfaatkan penskalaan otomatis berdasarkan pemakaian CPU dan memori atau metrik kustom seperti pemakaian GPU, update berkelanjutan, dan konfigurasi yang dapat direproduksi dalam manifes YAML. Pastikan komunikasi yang efisien antara microservice dengan menggunakan penemuan layanan GKE. Untuk pola asinkron, gunakan antrean pesan seperti Pub/Sub.
Pendekatan microservice di GKE membantu Anda membangun platform yang skalabel dan tangguh untuk tugas-tugas seperti aplikasi RAG yang kompleks, di mana tahapannya dapat dirancang sebagai layanan yang berbeda.
Layanan berbasis peristiwa tanpa server
Untuk tugas berbasis peristiwa yang dapat memanfaatkan penskalaan otomatis tanpa server, gunakan Cloud Run atau Cloud Run Functions. Layanan ini ideal untuk tugas asinkron seperti praproses atau untuk tugas inferensi yang lebih kecil. Memicu fungsi Cloud Run pada peristiwa, seperti file data baru yang dibuat di Cloud Storage atau update model di Artifact Registry. Untuk tugas atau layanan webhook yang memerlukan lingkungan container, gunakan Cloud Run.
Layanan Cloud Run dan fungsi Cloud Run dapat melakukan penskalaan dengan cepat dan melakukan penskalaan ke nol, yang membantu memastikan efisiensi biaya untuk workload yang berfluktuasi. Layanan ini cocok untuk komponen modular dalam alur kerja Agen Vertex AI. Anda dapat mengatur urutan komponen dengan Workflows atau Application Integration.
Layanan terkelola Vertex AI
Layanan Vertex AI mendukung modularitas dan membantu Anda menyederhanakan pengembangan dan deployment sistem AI dan ML. Layanan ini mengabstraksi kompleksitas infrastruktur sehingga Anda dapat berfokus pada logika aplikasi.
- Untuk mengorkestrasi alur kerja yang dibuat dari langkah-langkah modular, gunakan Vertex AI Pipelines.
- Untuk menjalankan kode AI dan ML kustom, kemas kode dalam container Docker yang dapat berjalan di layanan terkelola seperti pelatihan kustom Vertex AI dan prediksi Vertex AI.
- Untuk pipeline rekayasa fitur modular, gunakan Vertex AI Feature Store.
- Untuk eksplorasi dan pembuatan prototipe modular, gunakan lingkungan notebook seperti Vertex AI Workbench atau Colab Enterprise. Atur kode Anda ke dalam fungsi, class, dan skrip yang dapat digunakan kembali.
Aplikasi agentik
Untuk agen AI, Agent Development Kit (ADK) menyediakan kemampuan modular seperti Alat dan Status. Untuk mengaktifkan interoperabilitas antara framework seperti LangChain, LangGraph, LlamaIndex, dan Vertex AI, Anda dapat menggabungkan ADK dengan protokol Agent2Agent (A2A) dan Model Context Protocol (MCP). Interoperabilitas ini memungkinkan Anda menyusun alur kerja berbasis agen dengan menggunakan beragam komponen.
Anda dapat men-deploy agen di Vertex AI Agent Engine, yang merupakan runtime terkelola yang dioptimalkan untuk deployment agen yang skalabel. Untuk menjalankan agen yang di-container, Anda dapat memanfaatkan kemampuan penskalaan otomatis di Cloud Run.
Mendesain antarmuka yang jelas
Untuk membangun sistem software yang andal dan mudah dikelola, penting untuk memastikan bahwa komponen sistem digabungkan secara longgar dan dimodularisasi. Pendekatan ini menawarkan keuntungan yang signifikan, karena meminimalkan dependensi antara berbagai bagian sistem. Jika modul dikaitkan secara longgar, perubahan pada satu modul hanya akan berdampak minimal pada modul lain. Isolasi ini memungkinkan alur kerja pengembangan dan update independen untuk setiap modul.
Bagian berikut memberikan panduan untuk membantu memastikan komunikasi dan integrasi yang lancar antara modul sistem AI dan ML Anda.
Pilihan protokol
- Untuk akses universal, gunakan HTTP API, patuhi prinsip RESTful, dan gunakan JSON untuk pertukaran data yang tidak bergantung pada bahasa. Rancang endpoint API untuk mewakili tindakan pada resource.
- Untuk komunikasi internal berperforma tinggi antar-microservice, gunakan
gRPC
dengan Protocol Buffers (ProtoBuf)
untuk serialisasi yang efisien dan pengetikan yang ketat. Tentukan struktur data seperti
ModelInput, PredictionResult, atau data Alat ADK menggunakan file
.proto
, lalu buat binding bahasa. - Untuk kasus penggunaan yang performanya sangat penting, manfaatkan streaming gRPC untuk set data besar atau untuk alur berkelanjutan seperti aplikasi text-to-speech atau video live. Deploy layanan gRPC di GKE.
Dokumentasi yang terstandardisasi dan komprehensif
Terlepas dari protokol antarmuka yang Anda pilih, dokumentasi standar sangat penting. Spesifikasi OpenAPI mendeskripsikan RESTful API. Gunakan OpenAPI untuk mendokumentasikan AI dan ML API Anda: jalur, metode, parameter, format permintaan-respons yang ditautkan ke skema JSON, dan keamanan. Dokumentasi API yang komprehensif membantu meningkatkan penemuan dan integrasi klien. Untuk penulisan dan visualisasi API, gunakan alat UI seperti Swagger Editor. Untuk mempercepat pengembangan dan memastikan konsistensi, Anda dapat membuat SDK klien dan stub server menggunakan alat coding yang dibantu AI seperti Gemini Code Assist. Integrasikan dokumentasi OpenAPI ke dalam alur CI/CD Anda.
Interaksi dengan Google Cloud layanan terkelola seperti Vertex AI
Pilih antara abstraksi yang lebih tinggi dari Vertex AI SDK, yang lebih disukai untuk produktivitas pengembangan, dan kontrol terperinci yang disediakan REST API.
- Vertex AI SDK menyederhanakan tugas dan autentikasi. Gunakan SDK saat Anda perlu berinteraksi dengan Vertex AI.
- REST API adalah alternatif yang efektif, terutama jika interoperabilitas diperlukan di antara lapisan sistem Anda. Hal ini berguna untuk alat dalam bahasa yang tidak memiliki SDK atau saat Anda memerlukan kontrol terperinci.
Menggunakan API untuk mengisolasi modul dan mengabstraksi detail implementasi
Untuk keamanan, skalabilitas, dan visibilitas, Anda harus menerapkan pengelolaan API yang andal untuk layanan AI dan ML Anda. Untuk menerapkan pengelolaan API untuk antarmuka yang ditentukan, gunakan produk berikut:
- API Gateway: Untuk API yang diekspos dan dikelola secara eksternal, API Gateway menyediakan titik entri terpusat yang aman. SDK ini menyederhanakan akses ke layanan backend serverless, seperti API prediksi, pelatihan, dan data. API Gateway membantu menggabungkan titik akses, menerapkan kontrak API, dan mengelola kemampuan keamanan seperti kunci API dan OAuth 2.0. Untuk melindungi backend dari kelebihan beban dan memastikan keandalan, terapkan pembatasan frekuensi dan kuota penggunaan di API Gateway.
- Cloud Endpoints: Untuk menyederhanakan pengembangan dan deployment API di GKE dan Cloud Run, gunakan Cloud Endpoints, yang menawarkan solusi yang mudah digunakan developer untuk membuat kunci API. Layanan ini juga menyediakan pemantauan dan pelacakan terintegrasi untuk panggilan API serta mengotomatiskan pembuatan spesifikasi OpenAPI, yang menyederhanakan dokumentasi dan integrasi klien. Anda dapat menggunakan Cloud Endpoints untuk mengelola akses ke API AI dan ML internal atau yang dikontrol, seperti untuk memicu pelatihan dan mengelola penyimpanan fitur.
- Apigee: Untuk AI dan ML skala perusahaan, terutama API AI generatif yang canggih, Apigee menyediakan pengelolaan API yang canggih dan komprehensif. Gunakan Apigee untuk keamanan tingkat lanjut seperti perlindungan dari ancaman dan OAuth 2.0, untuk pengelolaan traffic seperti caching, kuota, dan mediasi, serta untuk analisis. Apigee dapat membantu Anda mendapatkan insight mendalam tentang pola penggunaan, performa, dan engagement API, yang sangat penting untuk memahami penggunaan API AI generatif.
Merencanakan degradasi yang lancar
Dalam sistem AI dan ML produksi, kegagalan komponen tidak dapat dihindari, seperti dalam sistem lainnya. Degradasi yang baik memastikan fungsi penting terus beroperasi, meskipun dengan performa yang berkurang. Pendekatan ini mencegah gangguan total dan meningkatkan ketersediaan secara keseluruhan. Degradasi yang lancar sangat penting untuk inferensi yang sensitif terhadap latensi, pelatihan terdistribusi, dan AI generatif.
Bagian berikut menjelaskan teknik yang Anda gunakan untuk merencanakan dan menerapkan penurunan kualitas yang lancar.
Isolasi kesalahan
- Untuk mengisolasi komponen yang rusak dalam arsitektur terdistribusi, terapkan pola pemutus sirkuit dengan menggunakan library ketahanan, seperti Resilience4j di Java dan CircuitBreaker di Python.
- Untuk mencegah kegagalan beruntun, konfigurasikan nilai minimum berdasarkan metrik beban kerja AI dan ML seperti tingkat error dan latensi, serta tentukan penggantian seperti model yang lebih sederhana dan data yang di-cache.
Redundansi komponen
Untuk komponen penting, terapkan redundansi dan failover otomatis. Misalnya, gunakan cluster multi-zona atau cluster regional GKE dan deploy layanan Cloud Run secara redundan di berbagai region. Untuk merutekan traffic ke instance yang responsif saat instance yang tidak responsif terdeteksi, gunakan Cloud Load Balancing.
Pastikan redundansi data dengan menggunakan bucket multi-regional Cloud Storage. Untuk pelatihan terdistribusi, terapkan pembuatan titik pemeriksaan asinkron untuk melanjutkan setelah terjadi kegagalan. Untuk pelatihan yang tangguh dan elastis, gunakan Pathways.
Pemantauan proaktif
Degradasi yang lancar membantu memastikan ketersediaan sistem selama terjadi kegagalan, tetapi Anda juga harus menerapkan langkah-langkah proaktif untuk health check berkelanjutan dan pemantauan yang komprehensif. Kumpulkan metrik yang khusus untuk AI dan ML, seperti latensi, throughput, dan pemakaian GPU. Selain itu, kumpulkan metrik penurunan performa model seperti penyimpangan model dan data menggunakan Cloud Monitoring dan Vertex AI Model Monitoring.
Pemeriksaan kesehatan dapat memicu kebutuhan untuk mengganti node yang rusak, men-deploy kapasitas yang lebih besar, atau secara otomatis memicu pelatihan ulang atau penyesuaian berkelanjutan pada pipeline yang menggunakan data yang diperbarui. Pendekatan proaktif ini membantu mencegah penurunan kualitas berbasis akurasi dan penurunan kualitas yang baik di tingkat sistem, serta membantu meningkatkan keandalan secara keseluruhan.
Praktik SRE
Untuk memantau kondisi sistem Anda, pertimbangkan untuk menerapkan praktik SRE guna mengimplementasikan tujuan tingkat layanan (SLO). Pemberitahuan tentang hilangnya anggaran error dan laju pengeluaran dapat menjadi indikator awal masalah keandalan sistem. Untuk mengetahui informasi selengkapnya tentang praktik SRE, lihat buku SRE Google.
Membangun platform MLOps end-to-end otomatis
Sistem AI dan ML yang tangguh, skalabel, dan andal di Google Cloud memerlukan platform MLOps menyeluruh yang otomatis untuk siklus proses pengembangan model. Siklus proses pengembangan mencakup penanganan data awal, pelatihan model berkelanjutan, deployment, dan pemantauan dalam produksi. Dengan mengotomatiskan tahap-tahap ini di Google Cloud, Anda dapat membuat proses yang dapat diulang, mengurangi toil manual, meminimalkan kesalahan, dan mempercepat laju inovasi.
Platform MLOps otomatis sangat penting untuk membangun keandalan tingkat produksi bagi aplikasi Anda. Otomatisasi membantu memastikan kualitas model, menjamin kemampuan reproduksi, serta memungkinkan integrasi dan pengiriman berkelanjutan artefak AI dan ML.
Untuk membangun platform MLOps end-to-end otomatis, pertimbangkan rekomendasi berikut.
Mengotomatiskan siklus proses pengembangan model
Elemen inti platform MLOps otomatis adalah orkestrasi seluruh alur kerja AI dan ML sebagai serangkaian langkah otomatis yang terhubung: mulai dari persiapan dan validasi data hingga pelatihan, evaluasi, deployment, dan pemantauan model.
- Gunakan
Vertex AI Pipelines
sebagai pengorkestrasi pusat Anda:
- Tentukan alur kerja end-to-end dengan komponen modular untuk pemrosesan data, pelatihan, evaluasi, dan deployment.
- Mengotomatiskan eksekusi pipeline menggunakan jadwal atau pemicu seperti data baru atau perubahan kode.
- Terapkan parameterisasi dan pembuatan versi otomatis untuk setiap eksekusi pipeline dan buat histori versi.
- Pantau progres pipeline dan penggunaan resource menggunakan logging dan tracing bawaan, serta integrasikan dengan pemberitahuan Cloud Monitoring.
- Tentukan pipeline ML Anda secara terprogram menggunakan Kubeflow Pipelines (KFP) SDK atau TensorFlow Extended SDK. Untuk mengetahui informasi selengkapnya, lihat Antarmuka untuk Vertex AI Pipelines.
- Mengatur operasi menggunakan Google Cloud layanan seperti Dataflow, pelatihan kustom Vertex AI, Vertex AI Model Registry, dan endpoint Vertex AI.
- Untuk alur kerja AI generatif, atur langkah-langkah untuk pengelolaan perintah, inferensi batch, evaluasi human-in-the-loop (HITL), dan koordinasi komponen ADK.
Mengelola infrastruktur sebagai kode
Infrastructure as code (IaC) sangat penting untuk mengelola infrastruktur sistem AI dan ML serta untuk memungkinkan deployment yang dapat direproduksi, skalabel, dan dapat dipertahankan. Kebutuhan infrastruktur sistem AI dan ML bersifat dinamis dan kompleks. Sistem ini sering kali memerlukan hardware khusus seperti GPU dan TPU. IaC membantu memitigasi risiko pengelolaan infrastruktur manual dengan memastikan konsistensi, memungkinkan rollback, dan membuat deployment dapat diulang.
Untuk mengelola resource infrastruktur Anda secara efektif sebagai kode, gunakan teknik berikut.
Mengotomatiskan penyediaan resource
Untuk mengelola IaC secara efektif di Google Cloud, tentukan dan sediakan resource infrastruktur AI dan ML Anda menggunakan Terraform. Infrastruktur dapat mencakup resource seperti berikut:
- Cluster GKE yang dikonfigurasi dengan kumpulan node. Kumpulan node dapat dioptimalkan berdasarkan persyaratan workload. Misalnya, Anda dapat menggunakan GPU A100, H100, H200, atau B200 untuk pelatihan, dan menggunakan GPU L4 untuk inferensi.
- Endpoint Vertex AI yang dikonfigurasi untuk penyaluran model, dengan jenis mesin dan kebijakan penskalaan yang ditentukan.
- Bucket Cloud Storage untuk data dan artefak.
Menggunakan template konfigurasi
Atur konfigurasi Terraform Anda sebagai template modular. Untuk mempercepat penyediaan resource AI dan ML, Anda dapat menggunakan Cluster Toolkit. Toolkit ini menyediakan blueprint contoh, yang merupakan template Terraform yang dikurasi Google yang dapat Anda gunakan untuk men-deploy cluster HPC, AI, dan ML yang siap digunakan di Slurm atau GKE. Anda dapat menyesuaikan kode Terraform dan mengelolanya di sistem kontrol versi Anda. Untuk mengotomatiskan alur kerja penyediaan dan pembaruan resource, Anda dapat mengintegrasikan kode ke dalam pipeline CI/CD menggunakan Cloud Build.
Mengotomatiskan perubahan konfigurasi
Setelah Anda menyediakan infrastruktur, kelola perubahan konfigurasi berkelanjutan secara deklaratif:
- Di lingkungan yang berfokus pada Kubernetes, kelola Google Cloud resource Anda sebagai objek Kubernetes menggunakan Config Connector.
- Tentukan dan kelola resource Vertex AI seperti set data, model, dan endpoint, instance Cloud SQL, topik Pub/Sub, dan bucket Cloud Storage menggunakan manifes YAML.
- Deploy manifes ke cluster GKE Anda untuk mengintegrasikan konfigurasi aplikasi dan infrastruktur.
- Otomatiskan update konfigurasi menggunakan pipeline CI/CD dan gunakan template untuk menangani perbedaan lingkungan.
- Terapkan konfigurasi untuk kebijakan Identity and Access Management (IAM) dan akun layanan menggunakan IaC.
Melakukan integrasi dengan CI/CD
- Otomatiskan siklus proses resource infrastruktur Google Cloud dengan mengintegrasikan IaC ke pipeline CI/CD menggunakan alat seperti Cloud Build dan Infrastructure Manager.
- Tentukan pemicu untuk update otomatis pada commit kode.
- Menerapkan pengujian dan validasi otomatis dalam pipeline. Misalnya, Anda dapat membuat skrip untuk menjalankan perintah Terraform
validate
danplan
secara otomatis. - Simpan konfigurasi sebagai artefak dan aktifkan pembuatan versi.
- Tentukan lingkungan terpisah, seperti dev, staging, dan prod, dengan konfigurasi berbeda dalam kontrol versi dan otomatiskan promosi lingkungan.
Memvalidasi perilaku model
Untuk mempertahankan akurasi dan relevansi model dari waktu ke waktu, otomatiskan proses pelatihan dan evaluasi dalam platform MLOps Anda. Otomatisasi ini, bersama dengan validasi yang ketat, membantu memastikan bahwa model berperilaku seperti yang diharapkan dengan data yang relevan sebelum di-deploy ke produksi.
- Siapkan pipeline pelatihan berkelanjutan, yang dipicu oleh data baru dan sinyal pemantauan seperti penyimpangan data atau yang berjalan sesuai jadwal.
- Untuk mengelola tugas pelatihan otomatis, seperti uji coba penyesuaian hyperparameter dan konfigurasi pelatihan terdistribusi untuk model yang lebih besar, gunakan pelatihan kustom Vertex AI.
- Untuk melakukan fine-tuning model fondasi, otomatiskan proses fine-tuning dan integrasikan tugas ke dalam pipeline Anda.
- Terapkan pembuatan versi model otomatis dan simpan artefak model terlatih dengan aman setelah setiap sesi pelatihan berhasil. Anda dapat menyimpan artefak di Cloud Storage atau mendaftarkannya di Model Registry.
- Tentukan metrik evaluasi dan tetapkan nilai minimum yang jelas, seperti akurasi minimum, rasio kesalahan maksimum, dan skor F1 minimum.
- Pastikan model memenuhi nilai minimum untuk lulus evaluasi secara otomatis dan dipertimbangkan untuk di-deploy.
- Mengotomatiskan evaluasi menggunakan layanan seperti evaluasi model di Vertex AI.
- Pastikan evaluasi mencakup metrik yang khusus untuk kualitas output yang dihasilkan, akurasi faktual, atribut keamanan, dan kepatuhan terhadap gaya atau format yang ditentukan.
- Untuk mencatat dan melacak parameter, versi kode, versi set data, dan hasil setiap operasi pelatihan dan evaluasi secara otomatis, gunakan Vertex AI Experiments. Pendekatan ini memberikan histori yang berguna untuk perbandingan, proses debug, dan kemampuan reproduksi.
- Untuk mengoptimalkan penyesuaian hyperparameter dan mengotomatiskan penelusuran konfigurasi model yang optimal berdasarkan tujuan yang Anda tetapkan, gunakan Vertex AI Vizier.
- Untuk memvisualisasikan metrik pelatihan dan men-debug selama pengembangan, gunakan Vertex AI TensorBoard.
Memvalidasi input dan output pipeline AI dan ML
Untuk memastikan keandalan dan integritas sistem AI dan ML Anda, Anda harus memvalidasi data saat data masuk ke sistem dan bergerak melalui pipeline. Anda juga harus memverifikasi input dan output di batas komponen. Validasi yang kuat untuk semua input dan output—data mentah, data yang diproses, konfigurasi, argumen, dan file—membantu mencegah perilaku yang tidak terduga dan mempertahankan kualitas model di seluruh siklus proses MLOps. Saat Anda mengintegrasikan pendekatan proaktif ini ke dalam platform MLOps, hal ini akan membantu mendeteksi error sebelum disebarkan ke seluruh sistem, serta menghemat waktu dan sumber daya.
Untuk memvalidasi input dan output pipeline AI dan ML Anda secara efektif, gunakan teknik berikut.
Mengotomatiskan validasi data
- Terapkan validasi data otomatis di pipeline penyerapan dan praproses data Anda menggunakan TensorFlow Data Validation (TFDV).
- Pantau distribusi data dari waktu ke waktu dengan kemampuan TFDV.
- Visualisasikan tren menggunakan alat yang terintegrasi dengan Cloud Monitoring untuk mendeteksi penyimpangan data. Anda dapat memicu pipeline pelatihan ulang model secara otomatis saat pola data berubah secara signifikan.
- Simpan hasil dan metrik validasi di BigQuery untuk analisis dan pelacakan historis serta arsipkan artefak validasi di Cloud Storage.
Memvalidasi konfigurasi pipeline dan data input
Untuk mencegah kegagalan pipeline atau perilaku tidak terduga yang disebabkan oleh setelan yang salah, terapkan validasi ketat untuk semua konfigurasi pipeline dan argumen command line:
- Tentukan skema yang jelas untuk file konfigurasi Anda seperti YAML atau JSON dengan menggunakan library validasi skema seperti jsonschema untuk Python. Validasi objek konfigurasi terhadap skema ini sebelum eksekusi pipeline dimulai dan sebelum komponen dijalankan.
- Terapkan validasi input untuk semua argumen command line dan parameter pipeline menggunakan library penguraian argumen seperti
argparse
. Validasi harus memeriksa jenis data yang benar, nilai yang valid, dan argumen yang diperlukan. - Dalam Vertex AI Pipelines, tentukan jenis dan properti yang diharapkan dari parameter komponen menggunakan fitur validasi input komponen bawaan.
- Untuk memastikan reproduksibilitas eksekusi pipeline dan mempertahankan jejak audit, simpan file konfigurasi yang divalidasi dan diberi versi di Cloud Storage atau Artifact Registry.
Memvalidasi file input dan output
Validasi file input dan output seperti set data, artefak model, dan laporan evaluasi untuk integritas dan kebenaran format:
- Validasi format file seperti CSV, Parquet, dan jenis gambar menggunakan pustaka.
- Untuk file besar atau artefak penting, validasi ukuran dan checksum file untuk mendeteksi kerusakan atau transfer yang tidak lengkap dengan menggunakan validasi data dan deteksi perubahan Cloud Storage.
- Lakukan validasi file menggunakan fungsi Cloud Run (misalnya, berdasarkan peristiwa upload file) atau dalam pipeline Dataflow.
- Simpan hasil validasi di BigQuery untuk pengambilan dan analisis yang lebih mudah.
Mengotomatiskan deployment dan menerapkan pemantauan berkelanjutan
Deployment otomatis dan pemantauan berkelanjutan model dalam produksi membantu memastikan keandalan, melakukan update cepat, dan mendeteksi masalah dengan segera. Hal ini mencakup pengelolaan versi model, deployment yang terkontrol, deployment otomatis menggunakan CI/CD, dan pemantauan komprehensif seperti yang dijelaskan di bagian berikut.
Mengelola versi model
Mengelola iterasi model dan artefak terkait menggunakan alat pembuatan versi:
- Untuk melacak versi dan metadata model serta menautkan ke artefak model pokok, gunakan Model Registry.
- Terapkan skema pembuatan versi yang jelas (seperti pembuatan versi semantik). Untuk setiap versi model, lampirkan metadata komprehensif seperti parameter pelatihan, metrik evaluasi dari pipeline validasi, dan versi set data.
- Simpan artefak model seperti file model, bobot yang telah dilatih sebelumnya, dan image container penayangan di Artifact Registry dan gunakan fitur pemberian versi dan pemberian tag-nya.
- Untuk memenuhi persyaratan keamanan dan tata kelola, tentukan kebijakan kontrol akses yang ketat untuk Model Registry dan Artifact Registry.
- Untuk mendaftarkan dan mengelola versi secara terprogram serta mengintegrasikan versi ke dalam pipeline CI/CD otomatis, gunakan Vertex AI SDK atau API.
Melakukan deployment terkontrol
Kontrol deployment versi model ke endpoint menggunakan kemampuan pengelolaan traffic platform penayangan Anda.
- Terapkan deployment bertahap dengan menggunakan fitur pemisahan traffic endpoint Vertex AI.
- Jika Anda men-deploy model ke GKE, gunakan teknik pengelolaan traffic lanjutan seperti deployment canary:
- Merutekan sebagian kecil traffic produksi ke versi model baru.
- Pantau terus performa dan tingkat error melalui metrik.
- Menetapkan bahwa model dapat diandalkan.
- Luncurkan versi ke semua traffic.
- Menjalankan
pengujian A/B
agen AI:
- Deploy dua versi agen model yang berbeda atau model yang sama sekali berbeda ke endpoint yang sama.
- Membagi traffic di seluruh deployment.
- Analisis hasil terhadap tujuan bisnis.
- Terapkan mekanisme rollback otomatis yang dapat dengan cepat mengembalikan traffic endpoint ke versi model stabil sebelumnya jika pemberitahuan pemantauan dipicu atau nilai minimum performa tidak tercapai.
- Konfigurasi setelan pemisahan traffic dan deployment secara terprogram dengan menggunakan Vertex AI SDK atau API.
- Gunakan Cloud Monitoring untuk melacak performa dan traffic di berbagai versi.
- Mengotomatiskan deployment dengan pipeline CI/CD. Anda dapat menggunakan Cloud Build untuk membangun container, membuat versi artefak, dan memicu deployment ke endpoint Vertex AI.
- Pastikan pipeline CI/CD mengelola versi dan menarik dari Artifact Registry.
- Sebelum mengalihkan traffic, lakukan pengujian endpoint otomatis untuk akurasi prediksi, latensi, throughput, dan fungsi API.
- Simpan semua konfigurasi dalam kontrol versi.
Pantau terus-menerus
- Gunakan
Pemantauan Model
untuk mendeteksi penurunan performa, penyimpangan data (perubahan dalam
distribusi input dibandingkan dengan pelatihan), dan penyimpangan prediksi (perubahan dalam
output model) secara otomatis.
- Konfigurasi tugas deteksi penyimpangan dengan nilai minimum dan pemberitahuan.
- Pantau performa real-time: latensi prediksi, throughput, tingkat error.
- Tentukan metrik kustom di Cloud Monitoring untuk KPI bisnis.
- Mengintegrasikan hasil Pemantauan Model dan metrik kustom dengan Cloud Monitoring untuk pemberitahuan dan dasbor.
- Konfigurasi saluran notifikasi seperti email, Slack, atau PagerDuty dan konfigurasi perbaikan otomatis.
- Untuk men-debug log prediksi, gunakan Cloud Logging.
- Mengintegrasikan pemantauan dengan manajemen insiden.
Untuk endpoint AI generatif, pantau karakteristik output seperti toksisitas dan koherensi:
- Pantau penayangan fitur untuk mendeteksi penyimpangan.
- Menerapkan validasi prediksi terperinci: memvalidasi output terhadap rentang dan format yang diharapkan menggunakan logika kustom.
- Pantau distribusi prediksi untuk perubahan.
- Validasi skema output.
- Mengonfigurasi pemberitahuan untuk output dan pergeseran yang tidak terduga.
- Lacak dan tanggapi peristiwa validasi real-time menggunakan Pub/Sub.
Pastikan output pemantauan komprehensif diumpankan kembali ke pelatihan berkelanjutan.
Menjaga kepercayaan dan kontrol melalui tata kelola data dan model
Keandalan AI dan ML melampaui waktu beroperasi teknis. Hal ini mencakup kepercayaan dan tata kelola data serta model yang andal. Output AI mungkin tidak akurat, bias, atau sudah tidak berlaku. Masalah tersebut mengikis kepercayaan dan dapat menyebabkan bahaya. Ketertelusuran yang komprehensif, kontrol akses yang kuat, validasi otomatis, dan praktik yang transparan membantu memastikan bahwa output AI dapat diandalkan, tepercaya, dan memenuhi standar etika.
Untuk mempertahankan kepercayaan dan kontrol melalui tata kelola data dan model, pertimbangkan rekomendasi berikut.
Membuat katalog data dan model untuk ketertelusuran
Untuk memfasilitasi penelusuran dan audit yang komprehensif, serta memahami silsilah aset AI dan ML Anda, pertahankan catatan data dan versi model yang kuat dan terpusat di sepanjang siklus prosesnya. Katalog data dan model yang andal berfungsi sebagai sumber tepercaya tunggal untuk semua artefak yang digunakan dan dihasilkan oleh pipeline AI dan ML Anda–mulai dari sumber data mentah dan set data yang diproses hingga versi model terlatih dan endpoint yang di-deploy.
Gunakan produk, alat, dan teknik berikut untuk membuat dan mengelola katalog aset data Anda:
- Buat katalog aset data di seluruh perusahaan menggunakan Dataplex Universal Catalog. Untuk menemukan dan membuat inventaris aset data secara otomatis, integrasikan Katalog Universal Dataplex dengan sistem penyimpanan Anda, seperti BigQuery, Cloud Storage, dan Pub/Sub.
- Pastikan data Anda sangat tersedia dan tahan lama dengan menyimpannya di bucket multi-region atau dual-region Cloud Storage. Data yang Anda upload ke bucket ini disimpan secara redundan di setidaknya dua lokasi geografis yang terpisah. Redundansi ini memberikan ketahanan bawaan terhadap pemadaman layanan regional dan membantu memastikan integritas data.
- Beri tag dan anotasi pada set data Anda dengan metadata bisnis yang relevan, informasi kepemilikan, tingkat sensitivitas, dan detail silsilah. Misalnya, tautkan set data yang diproses ke sumber mentahnya dan ke pipeline yang membuat set data tersebut.
- Buat repositori pusat untuk versi model menggunakan
Model Registry.
Daftarkan setiap versi model terlatih dan tautkan ke metadata terkait.
Metadata dapat mencakup hal berikut:
- Parameter pelatihan.
- Metrik evaluasi dari pipeline validasi.
- Versi set data yang digunakan untuk pelatihan, dengan silsilah yang dilacak kembali ke entri Katalog Universal Dataplex yang relevan.
- Versi kode yang menghasilkan set data.
- Detail tentang framework atau model dasar yang digunakan.
- Sebelum mengimpor model ke Model Registry, simpan artefak model seperti file model dan bobot yang telah dilatih sebelumnya di layanan seperti Cloud Storage. Simpan image container kustom untuk penayangan atau tugas pelatihan kustom di repositori yang aman seperti Artifact Registry.
- Untuk memastikan aset data dan model didaftarkan dan diperbarui secara otomatis di katalog masing-masing saat dibuat atau diubah, terapkan proses otomatis dalam pipeline MLOps Anda. Pengatalogan komprehensif ini memberikan ketertelusuran end-to-end dari data mentah hingga prediksi, yang memungkinkan Anda mengaudit input dan proses yang menghasilkan versi atau prediksi model tertentu. Kemampuan audit sangat penting untuk men-debug perilaku yang tidak terduga, memastikan kepatuhan terhadap kebijakan penggunaan data, dan memahami dampak perubahan data atau model dari waktu ke waktu.
- Untuk AI Generatif dan model dasar, katalog Anda juga harus melacak detail tentang model dasar spesifik yang digunakan, parameter penyesuaian, dan hasil evaluasi yang spesifik untuk kualitas dan keamanan output yang dihasilkan.
Menerapkan kontrol akses dan jalur audit yang ketat
Untuk mempertahankan kepercayaan dan kontrol dalam sistem AI dan ML Anda, penting bagi Anda untuk melindungi data dan model sensitif dari akses yang tidak sah dan memastikan akuntabilitas untuk semua perubahan.
- Terapkan kontrol akses yang ketat dan pertahankan jejak audit mendetail di semua komponen sistem AI dan ML Anda di Google Cloud.
- Tentukan izin terperinci di IAM untuk pengguna, grup, dan akun layanan yang berinteraksi dengan resource AI dan ML Anda.
- Ikuti prinsip hak istimewa terendah dengan cermat.
- Hanya berikan izin yang diperlukan minimum untuk tugas tertentu. Misalnya, akun layanan pelatihan memerlukan akses baca ke data pelatihan dan akses tulis untuk artefak model, tetapi layanan mungkin tidak memerlukan akses tulis ke endpoint penayangan produksi.
Terapkan kebijakan IAM secara konsisten di semua aset dan resource yang relevan dalam sistem AI dan ML Anda, termasuk yang berikut ini:
- Bucket Cloud Storage yang berisi data sensitif atau artefak model.
- Set data BigQuery.
- Resource Vertex AI, seperti repositori model, endpoint, pipeline, dan resource Feature Store.
- Resource komputasi, seperti cluster GKE dan layanan Cloud Run.
Gunakan audit dan log untuk merekam, memantau, dan menganalisis aktivitas akses:
- Aktifkan Cloud Audit Logs untuk semua layanan Google Cloud yang digunakan oleh sistem AI dan ML Anda.
- Konfigurasi log audit untuk merekam informasi mendetail tentang panggilan API, peristiwa akses data, dan perubahan konfigurasi yang dilakukan pada resource Anda. Pantau log untuk mendeteksi aktivitas mencurigakan, upaya akses yang tidak sah, atau modifikasi yang tidak terduga pada data penting atau aset model.
- Untuk analisis, pemberitahuan, dan visualisasi real-time, streaming log audit ke Cloud Logging.
- Untuk penyimpanan jangka panjang yang hemat biaya dan analisis keamanan retrospektif atau audit kepatuhan, ekspor log ke BigQuery.
- Untuk pemantauan keamanan terpusat, integrasikan log audit dengan sistem informasi keamanan dan manajemen peristiwa (SIEM) Anda. Tinjau kebijakan akses dan jejak audit secara rutin untuk memastikan kebijakan tersebut selaras dengan persyaratan tata kelola Anda dan mendeteksi potensi pelanggaran kebijakan.
- Untuk aplikasi yang menangani data sensitif, seperti informasi identitas pribadi (PII) untuk pelatihan atau inferensi, gunakan pemeriksaan Sensitive Data Protection dalam pipeline atau pada penyimpanan data.
- Untuk solusi AI generatif dan agentik, gunakan jejak audit untuk membantu melacak siapa yang mengakses model atau alat tertentu, data apa yang digunakan untuk penyesuaian atau pembuatan perintah, dan kueri apa yang dikirim ke endpoint produksi. Log audit membantu Anda memastikan akuntabilitas dan memberikan data penting untuk menyelidiki penyalahgunaan data atau pelanggaran kebijakan.
Mengatasi bias, transparansi, dan kemampuan penjelasan
Untuk membangun sistem AI dan ML yang tepercaya, Anda perlu mengatasi potensi bias yang melekat dalam data dan model, berupaya mencapai transparansi dalam perilaku sistem, dan memberikan kemampuan penjelasan untuk output model. Sangat penting untuk membangun sistem yang tepercaya di domain sensitif atau saat Anda menggunakan model kompleks seperti yang biasanya digunakan untuk aplikasi AI generatif.
- Terapkan praktik proaktif untuk mengidentifikasi dan memitigasi bias di seluruh siklus proses MLOps.
- Analisis data pelatihan untuk mengetahui bias dengan menggunakan alat yang mendeteksi kecondongan dalam distribusi fitur di berbagai kelompok demografi atau atribut sensitif.
- Mengevaluasi performa model secara keseluruhan dan performa di seluruh slice data yang telah ditentukan sebelumnya. Evaluasi tersebut membantu Anda mengidentifikasi performa atau bias yang berbeda-beda yang memengaruhi subkelompok tertentu.
Untuk transparansi dan kemampuan penjelasan model, gunakan alat yang membantu pengguna dan developer memahami alasan model membuat prediksi tertentu atau menghasilkan output tertentu.
- Untuk model tabel yang di-deploy di endpoint Vertex AI, buat atribusi fitur menggunakan Vertex Explainable AI. Atribusi fitur menunjukkan fitur input yang paling berkontribusi terhadap prediksi.
- Jelajahi perilaku model dan potensi bias pada set data secara interaktif menggunakan alat yang tidak bergantung pada model seperti What-If Tool, yang terintegrasi dengan TensorBoard.
- Integrasikan kemampuan penjelasan ke dalam dasbor pemantauan Anda. Dalam situasi ketika pemahaman tentang alasan model penting untuk membangun kepercayaan atau pengambilan keputusan, berikan data penjelasan langsung kepada pengguna akhir melalui antarmuka aplikasi Anda.
- Untuk model kompleks seperti LLM yang digunakan untuk model AI generatif, jelaskan proses yang diikuti agen, seperti dengan menggunakan log aktivitas. Penjelasan relatif sulit untuk model semacam itu, tetapi tetap penting.
- Dalam aplikasi RAG, berikan kutipan untuk informasi yang diambil. Anda juga dapat menggunakan teknik seperti rekayasa perintah untuk memandu model memberikan penjelasan atau menunjukkan langkah-langkah penalarannya.
- Mendeteksi perubahan perilaku atau output model yang mungkin mengindikasikan munculnya bias atau ketidakadilan dengan menerapkan pemantauan berkelanjutan dalam produksi. Dokumentasikan batasan model, kasus penggunaan yang dimaksudkan, dan potensi bias yang diketahui sebagai bagian dari metadata model di Model Registry.
Menerapkan praktik keandalan dan kemampuan observasi AI dan ML secara holistik
Observabilitas holistik sangat penting untuk mengelola sistem AI dan ML yang kompleks dalam produksi. Hal ini juga penting untuk mengukur keandalan sistem AI dan ML yang kompleks, terutama untuk AI generatif, karena kompleksitas, intensitas sumber daya, dan potensi output yang tidak dapat diprediksi. Observabilitas holistik melibatkan pengamatan infrastruktur, kode aplikasi, data, dan perilaku model untuk mendapatkan insight bagi deteksi, diagnosis, dan respons masalah yang proaktif. Kemampuan observasi ini pada akhirnya menghasilkan sistem yang berperforma tinggi dan andal. Untuk mencapai kemampuan observasi holistik, Anda perlu melakukan hal berikut:
- Mengadopsi prinsip SRE.
- Tentukan sasaran keandalan yang jelas.
- Melacak metrik di seluruh lapisan sistem.
- Gunakan insight dari kemampuan observasi untuk peningkatan berkelanjutan dan pengelolaan proaktif.
Untuk menerapkan praktik keandalan dan kemampuan observasi holistik untuk workload AI dan ML di Google Cloud, pertimbangkan rekomendasi berikut.
Menetapkan sasaran keandalan dan metrik bisnis
Identifikasi indikator kinerja utama (KPI) yang dipengaruhi secara langsung oleh sistem AI dan ML Anda. KPI dapat mencakup pendapatan yang dipengaruhi oleh rekomendasi AI, churn pelanggan yang diprediksi atau dimitigasi oleh sistem AI, serta engagement pengguna dan rasio konversi yang didorong oleh fitur AI generatif.
Untuk setiap KPI, tentukan metrik keandalan teknis yang sesuai yang memengaruhi KPI. Misalnya, jika KPI-nya adalah "kepuasan pelanggan terhadap asisten AI percakapan", maka metrik keandalan yang sesuai dapat mencakup hal berikut:
- Tingkat keberhasilan permintaan pengguna.
- Latensi respons: waktu hingga token pertama (TTFT) dan streaming token untuk LLM.
- Tingkat respons yang tidak relevan atau berbahaya.
- Tingkat keberhasilan penyelesaian tugas oleh agen.
Untuk pelatihan AI dan ML, metrik keandalan dapat mencakup pemanfaatan FLOPS model (MFU), iterasi per detik, token per detik, dan token per perangkat.
Untuk mengukur dan meningkatkan keandalan AI dan ML secara efektif, mulailah dengan menetapkan sasaran keandalan yang jelas dan selaras dengan tujuan bisnis secara keseluruhan. Terapkan pendekatan SRE dengan menentukan SLO yang mengukur tingkat keandalan dan performa yang dapat diterima untuk layanan AI dan ML Anda dari perspektif pengguna. Kuantifikasi metrik keandalan teknis ini dengan target SLO tertentu.
Berikut adalah contoh target SLO:
- 99,9% panggilan API harus menampilkan respons yang berhasil.
- Latensi inferensi persentil ke-95 harus di bawah 300 md.
- TTFT harus di bawah 500 md untuk 99% permintaan.
- Tingkat output berbahaya harus di bawah 0,1%.
Menyelaraskan SLO secara langsung dengan kebutuhan bisnis memastikan bahwa upaya keandalan difokuskan pada perilaku sistem yang paling penting yang memengaruhi pengguna dan bisnis. Pendekatan ini membantu mengubah keandalan menjadi properti teknik yang dapat diukur dan dapat ditindaklanjuti.
Memantau performa infrastruktur dan aplikasi
Lacak metrik infrastruktur di semua resource yang digunakan oleh sistem AI dan ML Anda. Metrik ini mencakup penggunaan prosesor (CPU, GPU, dan TPU), penggunaan memori, throughput dan latensi jaringan, serta I/O disk. Lacak metrik untuk lingkungan terkelola seperti pelatihan dan penayangan Vertex AI serta untuk resource yang dikelola sendiri seperti node GKE dan instance Cloud Run.
Pantau empat sinyal emas untuk aplikasi AI dan ML Anda:
- Latensi: Waktu untuk merespons permintaan.
- Traffic: Volume permintaan atau workload.
- Rasio error: Rasio permintaan atau operasi yang gagal.
- Saturasi: Penggunaan resource penting seperti CPU, memori, dan akselerator GPU atau TPU, yang menunjukkan seberapa dekat sistem Anda dengan batas kapasitas.
Lakukan pemantauan menggunakan teknik berikut:
- Kumpulkan, simpan, dan visualisasikan metrik infrastruktur dan aplikasi menggunakan
Cloud Monitoring.
Anda dapat menggunakan dasbor bawaan untuk layanan Google Cloud dan membuat dasbor kustom yang disesuaikan berdasarkan indikator performa spesifik dan kesehatan infrastruktur workload Anda.
- Kumpulkan dan integrasikan metrik dari framework penayangan khusus seperti vLLM atau NVIDIA Triton Inference Server ke dalam Cloud Monitoring menggunakan Google Cloud Managed Service for Prometheus.
- Buat dasbor dan konfigurasi pemberitahuan untuk metrik yang terkait dengan pelatihan kustom, endpoint, dan performa, serta untuk metrik yang diekspor Vertex AI ke Cloud Monitoring.
- Kumpulkan log mendetail dari aplikasi AI dan ML Anda serta infrastruktur yang mendasarinya menggunakan Cloud Logging. Log ini penting untuk pemecahan masalah dan analisis performa. Log ini memberikan konteks seputar peristiwa dan error.
- Tentukan masalah latensi dan pahami alur permintaan di seluruh microservice AI dan ML terdistribusi dengan menggunakan Cloud Trace. Kemampuan ini sangat penting untuk men-debug interaksi Vertex AI Agent yang kompleks atau pipeline inferensi multi-komponen.
- Identifikasi hambatan performa dalam blok fungsi di kode aplikasi menggunakan Cloud Profiler. Mengidentifikasi hambatan performa dapat membantu Anda mengoptimalkan penggunaan resource dan waktu eksekusi.
- Kumpulkan metrik spesifik terkait akselerator seperti penggunaan GPU per proses, penggunaan memori per proses, dan suhu yang terperinci, dengan menggunakan alat seperti NVIDIA Data Center GPU Manager (DCGM).
Menerapkan kemampuan observasi data dan model
Sistem AI generatif yang andal memerlukan data dan kemampuan observasi model yang kuat, yang dimulai dengan pemantauan pipeline end-to-end.
- Lacak kecepatan penyerapan data, volume yang diproses, dan latensi transformasi menggunakan layanan seperti Dataflow.
- Pantau tingkat keberhasilan dan kegagalan tugas dalam pipeline MLOps Anda, termasuk pipeline yang dikelola oleh Vertex AI Pipelines.
Penilaian berkelanjutan terhadap kualitas data sangat penting.
- Mengelola dan mengatur data menggunakan
Dataplex Universal Catalog:
- Evaluasi akurasi dengan memvalidasi terhadap kebenaran nyata atau dengan melacak tingkat deteksi pencilan.
- Pantau keaktualan berdasarkan usia data dan frekuensi pembaruan terhadap SLA.
- Menilai kelengkapan dengan melacak persentase nilai null dan rasio pengisian kolom wajib diisi.
- Pastikan validitas dan konsistensi melalui pemeriksaan kepatuhan skema dan duplikasi.
- Mendeteksi anomali secara proaktif dengan menggunakan pemberitahuan Cloud Monitoring dan melalui silsilah data yang jelas untuk ketertelusuran.
- Untuk sistem RAG, periksa relevansi konteks yang diambil dan dasar (atribusi ke sumber) respons.
- Pantau throughput kueri database vektor.
Metrik observabilitas model utama mencakup jumlah token input-output dan rasio error khusus model, seperti halusinasi atau kegagalan resolusi kueri. Untuk melacak metrik ini, gunakan Pemantauan Model.
- Terus pantau skor toksisitas output dan rating masukan pengguna.
- Mengotomatiskan penilaian output model terhadap kriteria yang ditentukan dengan menggunakan layanan evaluasi AI generatif.
- Pastikan performa berkelanjutan dengan memantau secara sistematis pergeseran data dan konsep dengan metrik tingkat error yang komprehensif.
Untuk melacak metrik model, Anda dapat menggunakan TensorBoard atau MLflow. Untuk analisis dan pembuatan profil mendalam guna memecahkan masalah performa, Anda dapat menggunakan pembuatan profil XLA PyTorch atau NVIDIA Nsight.
Kontributor
Penulis:
- Rick (Rugui) Chen | AI Infrastructure Field Solutions Architect
- Stef Ruinard | Generative AI Field Solutions Architect
Kontributor lainnya:
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
- Hossein Sarshar | AI Infrastructure Field Solution Architect
- Jose Andrade | Customer Engineer, SRE Specialist
- Kumar Dhanagopal | Cross-Product Solution Developer
- Laura Hyatt | Customer Engineer, FSI
- Olivier Martin | AI Infrastructure Field Solution Architect
- Radhika Kanakam | Program Lead, Google Cloud Well-Architected Framework