Dokumen dalam Google Cloud Framework yang Dirancang dengan Baik ini menjelaskan prinsip dan rekomendasi untuk membantu Anda mendesain, membangun, dan mengelola beban kerja AI dan ML di Google Cloud yang memenuhi tujuan operasional, keamanan, keandalan, biaya, dan performa Anda.
Target audiens untuk dokumen ini mencakup pengambil keputusan, arsitek, administrator, developer, dan operator yang mendesain, membuat, men-deploy, dan memelihara workload AI dan ML di Google Cloud.
Halaman berikut menjelaskan prinsip dan rekomendasi khusus untuk AI dan ML, untuk setiap pilar Well-Architected Framework:
- Perspektif AI dan ML: Keunggulan operasional
- Perspektif AI dan ML: Keamanan
- Perspektif AI dan ML: Keandalan
- Perspektif AI dan ML: Pengoptimalan biaya
- Perspektif AI dan ML: Pengoptimalan performa
Kontributor
Penulis:
- Benjamin Sadik | Customer Engineer Spesialis AI dan ML
- Charlotte Gistelinck, PhD | Partner Engineer
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
- Isaac Lo | AI Business Development Manager
- Kamilla Kurta | GenAI/ML Specialist Customer Engineer
- Mohamed Fawzi | Benelux Security and Compliance Lead
- Rick (Rugui) Chen | AI Infrastructure Field Solutions Architect
- Sannya Dang | AI Solution Architect
Kontributor lainnya:
- Daniel Lees | Cloud Security Architect
- Gary Harmson | Principal Architect
- Jose Andrade | Customer Engineer, SRE Specialist
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist
- Radhika Kanakam | Program Lead, Google Cloud Well-Architected Framework
- Ryan Cox | Principal Architect
- Samantha He | Technical Writer
- Stef Ruinard | Generative AI Field Solutions Architect
- Wade Holmes | Global Solutions Director
- Zach Seils | Networking Specialist
Perspektif AI dan ML: Keunggulan operasional
Dokumen dalam Well-Architected Framework: Perspektif AI dan ML ini memberikan ringkasan prinsip dan rekomendasi untuk membangun dan mengoperasikan sistem AI dan ML yang andal di Google Cloud. Rekomendasi ini membantu Anda menyiapkan elemen dasar seperti kemampuan observasi, otomatisasi, dan skalabilitas. Rekomendasi dalam dokumen ini selaras dengan pilar keunggulan operasional dari Google Cloud Well-Architected Framework.
Keunggulan operasional dalam domain AI dan ML adalah kemampuan untuk men-deploy, mengelola, dan mengatur sistem serta pipeline AI dan ML yang membantu mendorong tujuan strategis organisasi Anda secara lancar. Keunggulan operasional memungkinkan Anda merespons perubahan secara efisien, mengurangi kompleksitas operasional, dan memastikan bahwa operasi Anda tetap selaras dengan sasaran bisnis.
Rekomendasi dalam dokumen ini dipetakan ke prinsip inti berikut:
- Membangun fondasi yang kuat untuk pengembangan model
- Mengotomatiskan siklus proses pengembangan model
- Menerapkan kemampuan observasi
- Membangun budaya keunggulan operasional
- Desain untuk skalabilitas
Membangun fondasi yang kuat untuk pengembangan model
Untuk mengembangkan dan men-deploy sistem AI yang skalabel dan andal yang membantu Anda mencapai sasaran bisnis, fondasi pengembangan model yang kuat sangat penting. Fondasi tersebut memungkinkan alur kerja yang konsisten, mengotomatiskan langkah-langkah penting untuk mengurangi kesalahan, dan memastikan bahwa model dapat diskalakan sesuai permintaan. Dasar pengembangan model yang kuat memastikan sistem ML Anda dapat diupdate, ditingkatkan, dan dilatih ulang dengan lancar. Dasar ini juga membantu Anda menyelaraskan performa model dengan kebutuhan bisnis, men-deploy solusi AI yang berdampak dengan cepat, dan beradaptasi dengan persyaratan yang berubah.
Untuk membangun fondasi yang kuat dalam mengembangkan model AI, pertimbangkan rekomendasi berikut.
Mendefinisikan masalah dan hasil yang diinginkan
Sebelum memulai project AI atau ML, Anda harus memahami dengan jelas masalah bisnis yang akan diselesaikan dan hasil yang diinginkan. Mulai dengan garis besar tujuan bisnis dan uraikan tujuan menjadi indikator performa utama (KPI) yang terukur. Untuk mengatur dan mendokumentasikan definisi masalah dan hipotesis Anda di lingkungan notebook Jupyter, gunakan alat seperti Vertex AI Workbench. Untuk menerapkan pembuatan versi untuk kode dan dokumen serta mendokumentasikan project, sasaran, dan asumsi Anda, gunakan alat seperti Git. Untuk mengembangkan dan mengelola perintah untuk aplikasi AI generatif, Anda dapat menggunakan Vertex AI Studio.
Kumpulkan dan lakukan prapemrosesan data yang diperlukan
Untuk menerapkan pra-pemrosesan dan transformasi data, Anda dapat menggunakan Dataflow (untuk Apache Beam), Dataproc (untuk Apache Spark), atau BigQuery jika proses berbasis SQL sesuai. Untuk memvalidasi skema dan mendeteksi anomali, gunakan TensorFlow Data Validation (TFDV) dan manfaatkan pemindaian kualitas data otomatis di BigQuery jika berlaku.
Untuk AI generatif, kualitas data mencakup akurasi, relevansi, keragaman, dan keselarasan dengan karakteristik output yang diperlukan. Jika data dunia nyata tidak mencukupi atau tidak seimbang, Anda dapat membuat data sintetis untuk membantu meningkatkan keandalan dan generalisasi model. Untuk membuat set data sintetis berdasarkan pola yang ada atau untuk meningkatkan data pelatihan agar performa model lebih baik, gunakan BigQuery DataFrames dan Gemini. Data sintetis sangat berharga untuk AI generatif karena dapat membantu meningkatkan keragaman perintah dan keandalan model secara keseluruhan. Saat Anda membuat set data untuk menyesuaikan model AI generatif, pertimbangkan untuk menggunakan kemampuan pembuatan data sintetis di Vertex AI.
Untuk tugas AI generatif seperti fine-tuning atau reinforcement learning from human feedback (RLHF), pastikan label secara akurat mencerminkan kualitas, relevansi, dan keamanan output yang dihasilkan.
Pilih pendekatan ML yang sesuai
Saat mendesain model dan parameter, pertimbangkan kompleksitas model dan kebutuhan komputasinya. Bergantung pada tugasnya (seperti klasifikasi, regresi, atau pembuatan), pertimbangkan untuk menggunakan pelatihan kustom Vertex AI untuk pembuatan model kustom atau AutoML untuk tugas ML yang lebih sederhana. Untuk aplikasi umum, Anda juga dapat mengakses model terlatih melalui Vertex AI Model Garden. Anda dapat bereksperimen dengan berbagai model dasar canggih untuk berbagai kasus penggunaan, seperti membuat teks, gambar, dan kode.
Anda mungkin ingin menyempurnakan model dasar terlatih untuk mencapai performa optimal bagi kasus penggunaan spesifik Anda. Untuk persyaratan performa tinggi dalam pelatihan kustom, konfigurasikan Cloud Tensor Processing Unit (TPU) atau resource GPU untuk mempercepat pelatihan dan inferensi model deep learning, seperti model bahasa besar (LLM) dan model difusi.
Menyiapkan kontrol versi untuk kode, model, dan data
Untuk mengelola dan men-deploy versi kode secara efektif, gunakan alat seperti GitHub atau GitLab. Alat ini menyediakan fitur kolaborasi yang andal, strategi percabangan, dan integrasi dengan pipeline CI/CD untuk memastikan proses pengembangan yang lancar.
Gunakan solusi yang sesuai untuk mengelola setiap artefak sistem ML Anda, seperti contoh berikut:
- Untuk artefak kode seperti image container dan komponen pipeline, Artifact Registry menyediakan solusi penyimpanan yang skalabel yang dapat membantu meningkatkan keamanan. Artifact Registry juga menyertakan pembuatan versi dan dapat berintegrasi dengan Cloud Build dan Cloud Deploy.
- Untuk mengelola artefak data, seperti set data yang digunakan untuk pelatihan dan evaluasi, gunakan solusi seperti BigQuery atau Cloud Storage untuk penyimpanan dan pembuatan versi.
- Untuk menyimpan metadata dan penunjuk ke lokasi data, gunakan sistem kontrol versi atau katalog data terpisah.
Untuk menjaga konsistensi dan pembuatan versi data fitur, gunakan Vertex AI Feature Store. Untuk melacak dan mengelola artefak model, termasuk biner dan metadata, gunakan Vertex AI Model Registry, yang memungkinkan Anda menyimpan, mengatur, dan men-deploy versi model dengan lancar.
Untuk memastikan keandalan model, terapkan Vertex AI Model Monitoring. Mendeteksi penyimpangan data, melacak performa, dan mengidentifikasi anomali dalam produksi. Untuk sistem AI generatif, pantau perubahan kualitas output dan kepatuhan terhadap keamanan.
Mengotomatiskan siklus proses pengembangan model
Otomatisasi membantu Anda menyederhanakan setiap tahap siklus proses AI dan ML. Otomatisasi mengurangi upaya manual dan menstandardisasi proses, yang menghasilkan peningkatan efisiensi operasional dan risiko kesalahan yang lebih rendah. Alur kerja otomatis memungkinkan iterasi yang lebih cepat, deployment yang konsisten di seluruh lingkungan, dan hasil yang lebih andal, sehingga sistem Anda dapat diskalakan dan disesuaikan dengan lancar.
Untuk mengotomatiskan siklus proses pengembangan sistem AI dan ML, pertimbangkan rekomendasi berikut.
Menggunakan sistem orkestrasi pipeline terkelola
Gunakan Vertex AI Pipelines untuk mengotomatiskan setiap langkah siklus proses ML—mulai dari persiapan data hingga pelatihan, evaluasi, dan deployment model. Untuk mempercepat deployment dan meningkatkan konsistensi di seluruh project, otomatiskan tugas berulang dengan eksekusi pipeline terjadwal, pantau alur kerja dengan metrik eksekusi, dan kembangkan template pipeline yang dapat digunakan kembali untuk alur kerja standar. Kemampuan ini mencakup model AI generatif, yang sering kali memerlukan langkah-langkah khusus seperti rekayasa perintah, pemfilteran respons, dan evaluasi human-in-the-loop. Untuk AI generatif, Vertex AI Pipelines dapat mengotomatiskan langkah-langkah ini, termasuk evaluasi output yang dihasilkan terhadap metrik kualitas dan pedoman keamanan. Untuk meningkatkan keragaman perintah dan keandalan model, alur kerja otomatis juga dapat mencakup teknik augmentasi data.
Mengimplementasikan pipeline CI/CD
Untuk mengotomatiskan pembangunan, pengujian, dan deployment model ML, gunakan Cloud Build. Layanan ini sangat efektif saat Anda menjalankan rangkaian pengujian untuk kode aplikasi, yang memastikan infrastruktur, dependensi, dan pengemasan model memenuhi persyaratan deployment Anda.
Sistem ML sering kali memerlukan langkah-langkah tambahan di luar pengujian kode. Misalnya, Anda perlu melakukan uji beban pada model dalam berbagai beban, melakukan evaluasi massal untuk menilai performa model di berbagai set data, dan memvalidasi integritas data sebelum melatih ulang. Untuk menyimulasikan beban kerja yang realistis untuk pengujian daya tahan, Anda dapat menggunakan alat seperti Locust, Grafana k6, atau Apache JMeter. Untuk mengidentifikasi hambatan, pantau metrik utama seperti latensi, rasio error, dan pemanfaatan resource melalui Cloud Monitoring. Untuk AI generatif, pengujian juga harus mencakup evaluasi yang spesifik untuk jenis konten yang dihasilkan, seperti kualitas teks, kesetiaan gambar, atau fungsi kode. Evaluasi ini dapat melibatkan metrik otomatis seperti perplexitas untuk model bahasa atau evaluasi dengan campur tangan manusia untuk aspek yang lebih bernuansa seperti kreativitas dan keamanan.
Untuk menerapkan tugas pengujian dan evaluasi, Anda dapat mengintegrasikan Cloud Build dengan layanan Google Cloud lainnya. Misalnya, Anda dapat menggunakan Vertex AI Pipelines untuk evaluasi model otomatis, BigQuery untuk analisis data skala besar, dan validasi pipeline Dataflow untuk validasi fitur.
Anda dapat lebih meningkatkan kualitas pipeline CI/CD dengan menggunakan Vertex AI untuk pelatihan berkelanjutan guna mengaktifkan pelatihan ulang model secara otomatis pada data baru. Khusus untuk AI generatif, agar output yang dihasilkan tetap relevan dan beragam, proses pelatihan ulang mungkin melibatkan pembaruan model secara otomatis dengan data atau perintah pelatihan baru. Anda dapat menggunakan Vertex AI Model Garden untuk memilih model dasar terbaru yang tersedia untuk penyesuaian. Praktik ini memastikan model tetap terbaru dan dioptimalkan untuk kebutuhan bisnis Anda yang terus berkembang.
Menerapkan rilis model yang aman dan terkontrol
Untuk meminimalkan risiko dan memastikan deployment yang andal, terapkan pendekatan rilis model yang memungkinkan Anda mendeteksi masalah sejak dini, memvalidasi performa, dan melakukan roll back dengan cepat jika diperlukan.
Untuk mengemas model dan aplikasi ML Anda ke dalam image container dan men-deploy-nya, gunakan Cloud Deploy. Anda dapat men-deploy model ke endpoint Vertex AI.
Terapkan rilis terkontrol untuk aplikasi dan sistem AI Anda dengan menggunakan strategi seperti rilis uji coba. Untuk aplikasi yang menggunakan model terkelola seperti Gemini, sebaiknya rilis versi aplikasi baru secara bertahap kepada sebagian pengguna sebelum deployment penuh. Dengan pendekatan ini, Anda dapat mendeteksi potensi masalah sejak dini, terutama saat Anda menggunakan model AI generatif yang output-nya dapat bervariasi.
Untuk merilis model yang di-fine-tune, Anda dapat menggunakan Cloud Deploy untuk mengelola deployment versi model, dan menggunakan strategi rilis terbatas untuk meminimalkan risiko. Dengan model terkelola dan model yang di-fine-tune, tujuan rilis terkontrol adalah untuk menguji perubahan dengan audiens terbatas sebelum Anda merilis aplikasi dan model kepada semua pengguna.
Untuk validasi yang andal, gunakan Vertex AI Experiments untuk membandingkan model baru dengan model yang sudah ada, dan gunakan Vertex AI model evaluation untuk menilai performa model. Khusus untuk AI generatif, tentukan metrik evaluasi yang selaras dengan kasus penggunaan yang dimaksud dan potensi risikonya. Anda dapat menggunakan layanan evaluasi AI generatif di Vertex AI untuk menilai metrik seperti toksisitas, koherensi, akurasi faktual, dan kepatuhan terhadap pedoman keamanan.
Untuk memastikan keandalan deployment, Anda memerlukan rencana rollback yang andal. Untuk sistem ML tradisional, gunakan Vertex AI Model Monitoring untuk mendeteksi penyimpangan data dan penurunan performa. Untuk model AI generatif, Anda dapat melacak metrik yang relevan dan menyiapkan pemberitahuan untuk perubahan kualitas output atau munculnya konten berbahaya dengan menggunakan evaluasi model Vertex AI bersama dengan Cloud Logging dan Cloud Monitoring. Konfigurasi pemberitahuan berdasarkan metrik khusus AI generatif untuk memicu prosedur rollback jika diperlukan. Untuk melacak silsilah model dan mengembalikan ke versi stabil terbaru, gunakan insight dari Vertex AI Model Registry.
Menerapkan kemampuan observasi
Perilaku sistem AI dan ML dapat berubah seiring waktu karena perubahan pada data atau lingkungan dan update pada model. Sifat dinamis ini membuat kemampuan pengamatan menjadi sangat penting untuk mendeteksi masalah performa, bias, atau perilaku yang tidak terduga. Hal ini terutama berlaku untuk model AI generatif karena outputnya dapat sangat bervariasi dan subjektif. Dengan Observability, Anda dapat secara proaktif mengatasi perilaku yang tidak terduga dan memastikan sistem AI dan ML Anda tetap andal, akurat, dan adil.
Untuk menerapkan kemampuan observasi pada sistem AI dan ML, pertimbangkan rekomendasi berikut.
Memantau performa secara berkelanjutan
Gunakan metrik dan kriteria keberhasilan untuk evaluasi berkelanjutan model setelah deployment.
Anda dapat menggunakan Vertex AI Model Monitoring untuk secara proaktif melacak performa model, mengidentifikasi perbedaan performa pelatihan dan penayangan serta penyimpangan prediksi, dan menerima pemberitahuan untuk memicu pelatihan ulang model yang diperlukan atau intervensi lainnya. Untuk memantau secara efektif diferensiasi performa pelatihan dan penayangan, buat set data standar yang mewakili distribusi data ideal, dan gunakan TFDV untuk menganalisis data pelatihan dan membuat skema dasar.
Konfigurasi Model Monitoring untuk membandingkan distribusi data input dengan set data standar untuk deteksi skew otomatis. Untuk model ML tradisional, fokus pada metrik seperti akurasi, presisi, perolehan, skor F1, AUC-ROC, dan kerugian log. Tentukan nilai minimum kustom untuk pemberitahuan di Pemantauan Model. Untuk AI generatif, gunakan layanan evaluasi AI generatif untuk terus memantau output model dalam produksi. Anda juga dapat mengaktifkan metrik evaluasi otomatis untuk kualitas respons, keamanan, kepatuhan terhadap petunjuk, perujukan, gaya penulisan, dan panjang teks. Untuk menilai kualitas, relevansi, keamanan, dan kepatuhan terhadap pedoman output yang dihasilkan, Anda dapat menggabungkan evaluasi human-in-the-loop.
Buat loop umpan balik untuk melatih ulang model secara otomatis dengan Vertex AI Pipelines saat Pemantauan Model memicu pemberitahuan. Gunakan insight ini untuk terus meningkatkan kualitas model Anda.
Mengevaluasi model selama pengembangan
Sebelum men-deploy LLM dan model AI generatif lainnya, evaluasi model tersebut secara menyeluruh selama fase pengembangan. Gunakan evaluasi model Vertex AI untuk mencapai performa yang optimal dan mengurangi risiko. Gunakan evaluasi cepat Vertex AI untuk memungkinkan Google Cloud evaluasi berjalan secara otomatis berdasarkan set data dan perintah yang Anda berikan.
Anda juga dapat menentukan dan mengintegrasikan metrik kustom yang spesifik untuk kasus penggunaan Anda. Untuk mendapatkan masukan tentang konten yang dihasilkan, integrasikan alur kerja human-in-the-loop dengan menggunakan Vertex AI Model Evaluation.
Gunakan pengujian adversarial untuk mengidentifikasi kerentanan dan potensi mode kegagalan. Untuk mengidentifikasi dan memitigasi potensi bias, gunakan teknik seperti analisis subgrup dan pembuatan kontrafaktual. Gunakan insight yang dikumpulkan dari evaluasi yang diselesaikan selama fase pengembangan untuk menentukan strategi pemantauan model dalam produksi. Siapkan solusi Anda untuk pemantauan berkelanjutan seperti yang dijelaskan di bagian Pantau performa secara berkelanjutan dalam dokumen ini.
Memantau ketersediaan
Untuk mendapatkan visibilitas terkait kondisi dan performa endpoint dan infrastruktur yang di-deploy, gunakan Cloud Monitoring. Untuk endpoint Vertex AI, lacak metrik utama seperti rasio permintaan, rasio error, latensi, dan pemanfaatan resource, serta siapkan pemberitahuan untuk anomali. Untuk mengetahui informasi selengkapnya, lihat Metrik Cloud Monitoring untuk Vertex AI.
Pantau performa infrastruktur dasar, yang dapat mencakup instance Compute Engine, cluster Google Kubernetes Engine (GKE), serta TPU dan GPU. Dapatkan rekomendasi pengoptimalan otomatis dari Active Assist. Jika Anda menggunakan penskalaan otomatis, pantau perilaku penskalaan untuk memastikan penskalaan otomatis merespons perubahan pola traffic dengan tepat.
Lacak status deployment model, termasuk rilis canary dan rollback, dengan mengintegrasikan Cloud Deploy dengan Cloud Monitoring. Selain itu, pantau potensi ancaman dan kerentanan keamanan menggunakan Security Command Center.
Menyiapkan pemberitahuan kustom untuk nilai minimum khusus bisnis
Untuk mengidentifikasi dan memperbaiki anomali serta masalah secara tepat waktu, siapkan pemberitahuan kustom berdasarkan nilai minimum yang spesifik untuk tujuan bisnis Anda. Contoh produk yang dapat Anda gunakan untuk menerapkan sistem pemberitahuan kustom meliputi: Google Cloud
- Cloud Logging: Mengumpulkan, menyimpan, dan menganalisis log dari semua komponen sistem AI dan ML Anda.
- Cloud Monitoring: Buat dasbor kustom untuk memvisualisasikan metrik dan tren utama, serta tentukan metrik kustom berdasarkan kebutuhan Anda. Konfigurasi pemberitahuan untuk mendapatkan notifikasi tentang masalah penting, dan integrasikan pemberitahuan dengan alat pengelolaan insiden Anda seperti PagerDuty atau Slack.
- Error Reporting: Otomatis menangkap dan menganalisis error dan pengecualian.
- Cloud Trace: Menganalisis performa sistem terdistribusi dan mengidentifikasi bottleneck. Pelacakan sangat berguna untuk memahami latensi antara berbagai komponen pipeline AI dan ML Anda.
- Cloud Profiler: Terus menganalisis performa kode Anda dalam produksi dan mengidentifikasi hambatan performa dalam penggunaan CPU atau memori.
Membangun budaya keunggulan operasional
Mengalihkan fokus dari sekadar membangun model menjadi membangun solusi AI yang berkelanjutan, andal, dan berdampak. Mendukung tim untuk terus belajar, berinovasi, dan meningkatkan kualitas, sehingga menghasilkan siklus pengembangan yang lebih cepat, mengurangi error, dan meningkatkan efisiensi. Dengan memprioritaskan otomatisasi, standardisasi, dan pertimbangan etis, Anda dapat memastikan bahwa inisiatif AI dan ML Anda secara konsisten memberikan nilai, mengurangi risiko, dan mempromosikan pengembangan AI yang bertanggung jawab.
Untuk membangun budaya keunggulan operasional bagi sistem AI dan ML Anda, pertimbangkan rekomendasi berikut.
Otomatisasi dan standardisasi juara
Untuk menekankan efisiensi dan konsistensi, sematkan otomatisasi dan praktik standar ke dalam setiap tahap siklus proses AI dan ML. Otomatisasi mengurangi kesalahan manual dan memungkinkan tim berfokus pada inovasi. Standardisasi memastikan bahwa proses dapat diulang dan diskalakan di seluruh tim dan project.
Memprioritaskan pembelajaran dan peningkatan berkelanjutan
Menciptakan lingkungan yang menjadikan pendidikan dan eksperimen berkelanjutan sebagai prinsip inti. Dorong tim untuk terus mengikuti perkembangan AI dan ML, serta berikan kesempatan untuk belajar dari project sebelumnya. Budaya rasa ingin tahu dan adaptasi mendorong inovasi dan memastikan bahwa tim siap menghadapi tantangan baru.
Menumbuhkan akuntabilitas dan rasa memiliki
Bangun kepercayaan dan keselarasan dengan peran, tanggung jawab, dan metrik keberhasilan yang ditentukan dengan jelas. Berdayakan tim untuk membuat keputusan yang tepat dalam batas-batas ini, dan tetapkan cara yang transparan untuk mengukur progres. Rasa kepemilikan memotivasi tim dan memastikan tanggung jawab kolektif atas hasil.
Menyematkan pertimbangan etika dan keamanan AI
Prioritaskan pertimbangan etika di setiap tahap pengembangan. Mendorong tim untuk berpikir kritis tentang dampak solusi AI mereka, dan memicu diskusi tentang keadilan, bias, dan dampak sosial. Prinsip yang jelas dan mekanisme akuntabilitas memastikan bahwa sistem AI Anda selaras dengan nilai-nilai organisasi dan meningkatkan kepercayaan.
Mendesain untuk skalabilitas
Untuk mengakomodasi volume data dan permintaan pengguna yang terus meningkat serta memaksimalkan nilai investasi AI, sistem AI dan ML Anda harus dapat diskalakan. Sistem harus beradaptasi dan bekerja secara optimal untuk menghindari hambatan performa yang menghambat efektivitas. Saat mendesain untuk skalabilitas, Anda memastikan bahwa infrastruktur AI dapat menangani pertumbuhan dan mempertahankan responsivitas. Gunakan infrastruktur yang skalabel, rencanakan kapasitas, dan terapkan strategi seperti penskalaan horizontal dan layanan terkelola.
Untuk mendesain sistem AI dan ML Anda agar dapat diskalakan, pertimbangkan rekomendasi berikut.
Merencanakan kapasitas dan kuota
Menilai pertumbuhan di masa mendatang, dan merencanakan kapasitas infrastruktur dan kuota resource Anda dengan tepat. Bekerja samalah dengan pemangku kepentingan bisnis untuk memahami pertumbuhan yang diproyeksikan, lalu tentukan persyaratan infrastruktur yang sesuai.
Gunakan Cloud Monitoring untuk menganalisis penggunaan resource historis, mengidentifikasi tren, dan memproyeksikan kebutuhan di masa mendatang. Lakukan pengujian beban secara rutin untuk menyimulasikan workload dan mengidentifikasi hambatan.
Pahami Google Cloud kuota untuk layanan yang Anda gunakan, seperti Compute Engine, Vertex AI, dan Cloud Storage. Minta peningkatan kuota secara proaktif melalui konsol Google Cloud , dan berikan alasan peningkatan dengan data dari perkiraan dan pengujian beban. Pantau penggunaan kuota dan siapkan pemberitahuan untuk mendapatkan notifikasi saat penggunaan mendekati batas kuota.
Untuk mengoptimalkan penggunaan resource berdasarkan permintaan, sesuaikan ukuran resource Anda, gunakan Spot VM untuk workload batch yang fault-tolerant, dan terapkan penskalaan otomatis.
Bersiap menghadapi peristiwa puncak
Pastikan sistem Anda dapat menangani lonjakan traffic atau workload yang tiba-tiba selama acara puncak. Dokumentasikan strategi acara puncak Anda dan lakukan latihan rutin untuk menguji kemampuan sistem Anda dalam menangani peningkatan beban.
Untuk meningkatkan skala resource secara agresif saat permintaan melonjak, konfigurasikan kebijakan penskalaan otomatis di Compute Engine dan GKE. Untuk pola puncak yang dapat diprediksi, pertimbangkan untuk menggunakan penskalaan otomatis prediktif. Untuk memicu penskalaan otomatis berdasarkan sinyal khusus aplikasi, gunakan metrik kustom di Cloud Monitoring.
Mendistribusikan traffic di beberapa instance aplikasi menggunakan Cloud Load Balancing. Pilih jenis load balancer yang sesuai berdasarkan kebutuhan aplikasi Anda. Untuk pengguna yang didistribusikan secara geografis, Anda dapat menggunakan load balancing global untuk merutekan traffic ke instance terdekat yang tersedia. Untuk arsitektur berbasis microservice yang kompleks, pertimbangkan untuk menggunakan Cloud Service Mesh.
Simpan konten statis ke dalam cache di edge jaringan Google menggunakan Cloud CDN. Untuk meng-cache data yang sering diakses, Anda dapat menggunakan Memorystore, yang menawarkan layanan dalam memori yang terkelola sepenuhnya untuk Redis, Valkey, atau Memcached.
Pisahkan komponen sistem Anda dengan menggunakan Pub/Sub untuk pengiriman pesan real-time dan Cloud Tasks untuk eksekusi tugas asinkron
Menskalakan aplikasi untuk produksi
Untuk memastikan penayangan yang skalabel dalam produksi, Anda dapat menggunakan layanan terkelola seperti Vertex AI distributed training dan Vertex AI Inference. Inferensi Vertex AI memungkinkan Anda mengonfigurasi jenis mesin untuk node prediksi saat men-deploy model ke endpoint atau meminta prediksi batch. Untuk beberapa konfigurasi, Anda dapat menambahkan GPU. Pilih jenis mesin dan akselerator yang sesuai untuk mengoptimalkan latensi, throughput, dan biaya.
Untuk menskalakan aplikasi AI dan Python yang kompleks serta workload kustom di seluruh resource komputasi terdistribusi, Anda dapat menggunakan Ray di Vertex AI. Fitur ini dapat membantu mengoptimalkan performa dan memungkinkan integrasi yang lancar dengan layananGoogle Cloud . Ray on Vertex AI menyederhanakan komputasi terdistribusi dengan menangani pengelolaan cluster, penjadwalan tugas, dan transfer data. Layanan ini terintegrasi dengan layanan Vertex AI lainnya seperti pelatihan, prediksi, dan pipeline. Ray menyediakan fault tolerance dan penskalaan otomatis, serta membantu Anda menyesuaikan infrastruktur dengan perubahan workload. Vertex AI menawarkan framework terpadu untuk pelatihan terdistribusi, penyesuaian hyperparameter, reinforcement learning, dan serving model. Gunakan Ray untuk prapemrosesan data terdistribusi dengan Dataflow atau Dataproc, pelatihan model yang dipercepat, penyesuaian hyperparameter yang dapat diskalakan, reinforcement learning, dan prediksi batch yang diparalelkan.
Kontributor
Penulis:
- Charlotte Gistelinck, PhD | Partner Engineer
- Sannya Dang | AI Solution Architect
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
Kontributor lainnya:
- Gary Harmson | Principal Architect
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Ryan Cox | Principal Architect
- Stef Ruinard | Generative AI Field Solutions Architect
Perspektif AI dan ML: Keamanan
Dokumen dalam Framework yang Dirancang dengan Baik: Perspektif AI dan ML ini memberikan ringkasan prinsip dan rekomendasi untuk memastikan bahwa deployment AI dan ML Anda memenuhi persyaratan keamanan dan kepatuhan organisasi Anda. Rekomendasi dalam dokumen ini selaras dengan pilar keamanan dari Google Cloud Well-Architected Framework.
Deployment workload AI dan ML yang aman adalah persyaratan penting, terutama di lingkungan perusahaan. Untuk memenuhi persyaratan ini, Anda perlu menerapkan pendekatan keamanan holistik yang dimulai dari konseptualisasi awal solusi AI dan ML Anda, serta diperluas ke pengembangan, deployment, dan operasi berkelanjutan. Google Cloud menawarkan alat dan layanan yang andal yang dirancang untuk membantu mengamankan beban kerja AI dan ML Anda.
Tentukan sasaran dan persyaratan yang jelas
Lebih mudah untuk mengintegrasikan kontrol keamanan dan kepatuhan yang diperlukan di awal proses desain dan pengembangan Anda, daripada menambahkan kontrol setelah pengembangan. Sejak awal proses desain dan pengembangan, buat keputusan yang sesuai untuk lingkungan risiko spesifik dan prioritas bisnis spesifik Anda.
Pertimbangkan rekomendasi berikut:
- Mengidentifikasi potensi vektor serangan dan menerapkan perspektif keamanan dan kepatuhan sejak awal. Saat mendesain dan mengembangkan sistem AI, pantau area serangan, potensi risiko, dan kewajiban yang mungkin Anda hadapi.
- Selaraskan upaya keamanan AI dan ML Anda dengan sasaran bisnis Anda dan pastikan keamanan menjadi bagian integral dari strategi Anda secara keseluruhan. Pahami efek pilihan keamanan Anda terhadap sasaran bisnis utama Anda.
Menjaga keamanan data dan mencegah kehilangan atau kesalahan penanganan
Data adalah aset berharga dan sensitif yang harus dijaga keamanannya. Keamanan data membantu Anda mempertahankan kepercayaan pengguna, mendukung tujuan bisnis, dan memenuhi persyaratan kepatuhan.
Pertimbangkan rekomendasi berikut:
- Jangan mengumpulkan, menyimpan, atau menggunakan data yang tidak benar-benar diperlukan untuk sasaran bisnis Anda. Jika memungkinkan, gunakan data sintetis atau data yang sepenuhnya anonim.
- Pantau pengumpulan, penyimpanan, dan transformasi data. Mempertahankan log untuk semua aktivitas akses dan manipulasi data. Log ini membantu Anda mengaudit akses data, mendeteksi upaya akses yang tidak sah, dan mencegah akses yang tidak diinginkan.
- Terapkan tingkat akses yang berbeda (misalnya, tidak ada akses, hanya baca, atau tulis) berdasarkan peran pengguna. Pastikan izin ditetapkan berdasarkan prinsip hak istimewa terendah. Pengguna hanya boleh memiliki izin minimum yang diperlukan untuk memungkinkan mereka melakukan aktivitas peran mereka.
- Menerapkan tindakan seperti enkripsi, perimeter yang aman, dan pembatasan pada pergerakan data. Tindakan ini membantu Anda mencegah pemindahan data yang tidak sah dan kehilangan data.
- Lindungi sistem pelatihan ML Anda dari pencemaran data.
Menjaga keamanan dan ketahanan pipeline AI terhadap upaya perusakan
Kode AI dan ML Anda serta pipeline yang ditentukan kode adalah aset penting. Kode yang tidak diamankan dapat dimodifikasi, yang dapat menyebabkan kebocoran data, kegagalan kepatuhan, dan gangguan pada aktivitas bisnis penting. Menjaga keamanan kode AI dan ML Anda membantu memastikan integritas dan nilai model serta output model Anda.
Pertimbangkan rekomendasi berikut:
- Gunakan praktik coding yang aman, seperti pengelolaan dependensi atau validasi dan sanitasi input, selama pengembangan model untuk mencegah kerentanan.
- Lindungi kode pipeline dan artefak model Anda, seperti file, bobot model, dan spesifikasi deployment, dari akses tidak sah. Terapkan tingkat akses yang berbeda untuk setiap artefak berdasarkan peran dan kebutuhan pengguna.
- Terapkan silsilah dan pelacakan aset serta operasi pipeline Anda. Penerapan ini membantu Anda memenuhi persyaratan kepatuhan dan menghindari kompromi pada sistem produksi.
Men-deploy di sistem yang aman dengan alat dan artefak yang aman
Pastikan kode dan model Anda berjalan di lingkungan aman yang memiliki sistem kontrol akses yang kuat dengan jaminan keamanan untuk alat dan artefak yang di-deploy di lingkungan tersebut.
Pertimbangkan rekomendasi berikut:
- Latih dan deploy model Anda di lingkungan yang aman yang memiliki kontrol akses yang sesuai dan perlindungan terhadap penggunaan atau manipulasi yang tidak sah.
- Ikuti pedoman Supply-chain Levels for Software Artifacts (SLSA) standar untuk artefak khusus AI Anda, seperti model dan paket software.
- Sebaiknya gunakan image container bawaan yang divalidasi dan didesain khusus untuk workload AI.
Melindungi dan memantau input
Sistem AI memerlukan input untuk membuat prediksi, menghasilkan konten, atau mengotomatiskan tindakan. Beberapa input dapat menimbulkan risiko atau digunakan sebagai vektor serangan yang harus dideteksi dan dibersihkan. Mendeteksi potensi input berbahaya sejak dini membantu Anda menjaga keamanan sistem AI dan memastikan sistem tersebut beroperasi sesuai yang diinginkan.
Pertimbangkan rekomendasi berikut:
- Terapkan praktik yang aman untuk mengembangkan dan mengelola perintah bagi sistem AI generatif, dan pastikan perintah tersebut diperiksa untuk mengetahui apakah ada niat berbahaya.
- Pantau input ke sistem prediktif atau generatif untuk mencegah masalah seperti endpoint yang kelebihan beban atau perintah yang tidak dirancang untuk ditangani oleh sistem.
- Pastikan hanya pengguna yang dituju dari sistem yang di-deploy yang dapat menggunakannya.
Memantau, mengevaluasi, dan bersiap untuk menanggapi output
Sistem AI memberikan nilai karena menghasilkan output yang meningkatkan, mengoptimalkan, atau mengotomatiskan pengambilan keputusan oleh manusia. Untuk menjaga integritas dan kredibilitas sistem dan aplikasi AI Anda, Anda harus memastikan bahwa outputnya aman dan sesuai dengan parameter yang diharapkan. Anda juga memerlukan rencana untuk merespons insiden.
Pertimbangkan rekomendasi berikut:
- Pantau output model AI dan ML Anda dalam produksi, dan identifikasi masalah performa, keamanan, dan kepatuhan.
- Mengevaluasi performa model dengan menerapkan metrik dan langkah-langkah keamanan yang andal, seperti mengidentifikasi respons generatif di luar cakupan atau output ekstrem dalam model prediktif. Kumpulkan masukan pengguna tentang performa model.
- Terapkan prosedur respons insiden dan pemberitahuan yang andal untuk mengatasi potensi masalah.
Kontributor
Penulis:
- Kamilla Kurta | GenAI/ML Specialist Customer Engineer
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
- Mohamed Fawzi | Benelux Security and Compliance Lead
Kontributor lainnya:
- Daniel Lees | Cloud Security Architect
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Wade Holmes | Global Solutions Director
Perspektif AI dan ML: Keandalan
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
Perspektif AI dan ML: Pengoptimalan biaya
Dokumen dalam Well-Architected Framework: Perspektif AI dan ML ini memberikan ringkasan prinsip dan rekomendasi untuk mengoptimalkan biaya sistem AI Anda di sepanjang siklus proses ML. Dengan mengadopsi pendekatan pengelolaan biaya yang proaktif dan terinformasi, organisasi Anda dapat mewujudkan potensi penuh sistem AI dan ML sekaligus mempertahankan disiplin keuangan. Rekomendasi dalam dokumen ini selaras dengan pilar pengoptimalan biaya dari Google Cloud Framework yang Dirancang dengan Baik.
Sistem AI dan ML dapat membantu Anda mendapatkan insight berharga dan kemampuan prediktif dari data. Misalnya, Anda dapat mengurangi hambatan dalam proses internal, meningkatkan kualitas pengalaman pengguna, dan mendapatkan insight pelanggan yang lebih mendalam. Cloud menawarkan sejumlah besar resource dan waktu perolehan nilai yang cepat tanpa investasi awal yang besar untuk workload AI dan ML. Untuk memaksimalkan nilai bisnis dan menyelaraskan pembelanjaan dengan tujuan bisnis, Anda perlu memahami pendorong biaya, mengoptimalkan biaya secara proaktif, menyiapkan kontrol pembelanjaan, dan menerapkan praktik FinOps.
Rekomendasi dalam dokumen ini dipetakan ke prinsip inti berikut:
- Menentukan dan mengukur biaya dan laba
- Mengoptimalkan alokasi resource
- Menerapkan praktik tata kelola dan pengelolaan data
- Mengotomatiskan dan menyederhanakan dengan MLOps
- Menggunakan layanan terkelola dan model terlatih
Menentukan dan mengukur biaya dan laba
Untuk mengelola biaya AI dan ML secara efektif di Google Cloud, Anda harus menentukan dan mengukur biaya resource cloud serta nilai bisnis inisiatif AI dan ML Anda. Untuk membantu Anda melacak pengeluaran secara terperinci, Google Cloud menyediakan alat pengelolaan biaya dan penagihan yang komprehensif, seperti berikut:
- Laporan dan tabel Penagihan Cloud
- Dasbor, anggaran, dan pemberitahuan Looker Studio
- Cloud Monitoring
- Cloud Logging
Untuk membuat keputusan yang tepat tentang alokasi dan pengoptimalan resource, pertimbangkan rekomendasi berikut.
Menetapkan sasaran dan KPI bisnis
Menyelaraskan pilihan teknis dalam project AI dan ML Anda dengan tujuan bisnis dan indikator kinerja utama (KPI).
Tentukan tujuan strategis dan KPI yang berfokus pada ROI
Pastikan project AI dan ML selaras dengan tujuan strategis seperti pertumbuhan pendapatan, pengurangan biaya, kepuasan pelanggan, dan efisiensi. Libatkan pemangku kepentingan untuk memahami prioritas bisnis. Tentukan tujuan AI dan ML yang spesifik, terukur, dapat dicapai, relevan, dan terikat waktu (SMART). Misalnya, tujuan SMART adalah: "Kurangi waktu penanganan chat untuk dukungan pelanggan sebesar 15% dalam 6 bulan dengan menggunakan chatbot AI".
Untuk mencapai progres menuju sasaran bisnis dan mengukur laba atas investasi (ROI), tentukan KPI untuk kategori metrik berikut:
- Biaya untuk pelatihan, inferensi, penyimpanan, dan resource jaringan, termasuk biaya per unit tertentu (seperti biaya per inferensi, titik data, atau tugas). Metrik ini membantu Anda mendapatkan insight tentang peluang efisiensi dan pengoptimalan biaya. Anda dapat melacak biaya ini menggunakan laporan Penagihan Cloud dan dasbor Cloud Monitoring.
- Metrik nilai bisnis seperti pertumbuhan pendapatan, penghematan biaya, kepuasan pelanggan, efisiensi, akurasi, dan adopsi. Anda dapat melacak metrik ini menggunakan analisis BigQuery dan dasbor Looker.
Metrik khusus industri seperti berikut:
- Industri retail: mengukur peningkatan pendapatan dan churn
- Industri kesehatan: mengukur waktu pasien dan hasil pasien
- Industri keuangan: mengukur pengurangan penipuan
Metrik khusus project. Anda dapat melacak metrik ini menggunakan Vertex AI Experiments dan evaluasi.
- AI Prediktif: mengukur akurasi dan presisi
- AI Generatif: mengukur adopsi, kepuasan, dan kualitas konten
- AI computer vision: mengukur akurasi
Mendorong budaya kesadaran biaya dan pengoptimalan berkelanjutan
Terapkan prinsip FinOps untuk memastikan bahwa setiap project AI dan ML memiliki perkiraan biaya dan cara untuk mengukur serta melacak biaya sebenarnya di sepanjang siklus prosesnya. Pastikan bahwa biaya dan manfaat bisnis proyek Anda telah menetapkan pemilik dan akuntabilitas yang jelas.
Untuk mengetahui informasi selengkapnya, lihat Mendorong budaya kesadaran biaya dalam pilar Pengoptimalan Biaya di Google Cloud Framework yang Dirancang dengan Baik.
Mendorong nilai dan pengoptimalan berkelanjutan melalui iterasi dan masukan
Petakan aplikasi AI dan ML Anda langsung ke sasaran bisnis Anda dan ukur ROI-nya.
Untuk memvalidasi hipotesis ROI Anda, mulailah dengan project uji coba dan gunakan siklus pengoptimalan iteratif berikut:
- Pantau secara berkelanjutan dan analisis data: Pantau KPI dan biaya untuk mengidentifikasi penyimpangan dan peluang pengoptimalan.
- Lakukan penyesuaian berbasis data: Optimalkan strategi, model, infrastruktur, dan alokasi resource berdasarkan insight data.
- Perbaiki secara iteratif: Sesuaikan tujuan dan KPI bisnis berdasarkan hal-hal yang Anda pelajari dan kebutuhan bisnis yang terus berubah. Iterasi ini membantu Anda mempertahankan relevansi dan keselarasan strategis.
- Buat siklus masukan: Tinjau performa, biaya, dan nilai dengan pemangku kepentingan untuk menentukan pengoptimalan berkelanjutan dan perencanaan project mendatang.
Mengelola data penagihan dengan Penagihan Cloud dan label
Pengoptimalan biaya yang efektif memerlukan visibilitas ke sumber setiap elemen biaya. Rekomendasi di bagian ini dapat membantu Anda menggunakan alat Google Cloud untuk mendapatkan insight terperinci tentang biaya AI dan ML Anda. Anda juga dapat mengatribusikan biaya ke project, tim, dan aktivitas AI dan ML tertentu. Insight ini menjadi dasar untuk pengoptimalan biaya.
Mengatur dan memberi label Google Cloud resource
- Susun project dan resource Anda dalam hierarki yang mencerminkan struktur organisasi serta alur kerja AI dan ML Anda. Untuk melacak dan menganalisis biaya di berbagai tingkat, atur resource Anda menggunakan organisasi, folder, dan project. Google Cloud Untuk mengetahui informasi selengkapnya, lihat Menentukan hierarki resource untuk Google Cloud zona landing Anda.
- Terapkan label yang bermakna ke resource Anda. Anda dapat menggunakan label yang menunjukkan project, tim, lingkungan, nama model, set data, kasus penggunaan, dan persyaratan performa. Label memberikan konteks yang berharga untuk data penagihan Anda dan memungkinkan analisis biaya terperinci.
- Pertahankan konsistensi dalam konvensi pelabelan di semua project AI dan ML Anda. Konvensi pelabelan yang konsisten memastikan data penagihan Anda teratur dan dapat dianalisis dengan mudah.
Menggunakan alat terkait penagihan
- Untuk memfasilitasi analisis dan pelaporan yang mendetail, ekspor data penagihan ke BigQuery. BigQuery memiliki kemampuan kueri yang canggih yang memungkinkan Anda menganalisis data penagihan untuk membantu Anda memahami biaya.
- Untuk menggabungkan biaya menurut label, project, atau jangka waktu tertentu, Anda dapat menulis kueri SQL kustom di BigQuery. Kueri tersebut memungkinkan Anda mengatribusikan biaya ke aktivitas AI dan ML tertentu, seperti pelatihan model, penyesuaian hyperparameter, atau inferensi.
- Untuk mengidentifikasi anomali biaya atau lonjakan pembelanjaan yang tidak terduga, gunakan kemampuan analisis di BigQuery. Pendekatan ini dapat membantu Anda mendeteksi potensi masalah atau inefisiensi dalam workload AI dan ML.
- Untuk mengidentifikasi dan mengelola biaya yang tidak terduga, gunakan dasbor deteksi anomali di Penagihan Cloud.
- Untuk mendistribusikan biaya di berbagai tim atau departemen berdasarkan penggunaan resource, gunakan fitur alokasi biaya Google Cloud's. Alokasi biaya meningkatkan akuntabilitas dan transparansi.
- Untuk mendapatkan insight tentang pola pembelanjaan, pelajari laporan Penagihan Cloud bawaan. Anda dapat memfilter dan menyesuaikan laporan ini untuk berfokus pada project atau layanan AI dan ML tertentu.
Memantau resource secara terus-menerus dengan dasbor, pemberitahuan, dan laporan
Untuk membuat cara yang skalabel dan tangguh untuk melacak biaya, Anda memerlukan pemantauan dan pelaporan berkelanjutan. Dasbor, pemberitahuan, dan laporan merupakan dasar untuk pelacakan biaya yang efektif. Dengan fondasi ini, Anda dapat mempertahankan akses konstan ke informasi biaya, mengidentifikasi area pengoptimalan, dan memastikan keselarasan antara tujuan bisnis dan biaya.
Membuat sistem pelaporan
Buat laporan terjadwal dan bagikan kepada pemangku kepentingan yang sesuai.
Gunakan Cloud Monitoring untuk mengumpulkan metrik dari berbagai sumber, termasuk aplikasi, infrastruktur, dan layanan seperti Compute Engine, Google Kubernetes Engine (GKE), dan fungsi Cloud Run. Google Cloud Untuk memvisualisasikan metrik dan log secara real time, Anda dapat menggunakan dasbor Cloud Monitoring bawaan atau membuat dasbor kustom. Dasbor kustom memungkinkan Anda menentukan dan menambahkan metrik untuk melacak aspek tertentu dari sistem Anda, seperti performa model, panggilan API, atau KPI tingkat bisnis.
Gunakan Cloud Logging untuk pengumpulan dan penyimpanan log secara terpusat dari aplikasi, sistem, dan Google Cloud layanan Anda. Gunakan log untuk tujuan berikut:
- Lacak biaya dan pemanfaatan resource seperti CPU, memori, penyimpanan, dan jaringan.
- Identifikasi kasus penyediaan berlebih (jika resource tidak dimanfaatkan sepenuhnya) dan penyediaan kurang (jika resource tidak mencukupi). Penyediaan yang berlebihan akan menimbulkan biaya yang tidak perlu. Penyediaan yang kurang akan memperlambat waktu pelatihan dan dapat menyebabkan masalah performa.
- Identifikasi resource yang tidak ada aktivitas atau kurang dimanfaatkan, seperti VM dan GPU, lalu lakukan langkah-langkah untuk mematikan atau menyesuaikan ukurannya guna mengoptimalkan biaya.
- Identifikasi lonjakan biaya untuk mendeteksi peningkatan penggunaan atau biaya resource yang tiba-tiba dan tidak terduga.
Gunakan Looker atau Looker Studio untuk membuat dasbor dan laporan interaktif. Hubungkan dasbor dan laporan ke berbagai sumber data, termasuk BigQuery dan Cloud Monitoring.
Menetapkan nilai minimum pemberitahuan berdasarkan KPI utama
Untuk KPI Anda, tentukan nilai minimum yang akan memicu pemberitahuan. Ambang batas pemberitahuan yang bermakna dapat membantu Anda menghindari kelelahan akibat pemberitahuan. Buat kebijakan pemberitahuan di Cloud Monitoring untuk mendapatkan notifikasi terkait KPI Anda. Misalnya, Anda dapat menerima notifikasi saat akurasi turun di bawah nilai minimum tertentu atau latensi melebihi batas yang ditentukan. Pemberitahuan berdasarkan data log dapat memberi tahu Anda tentang potensi masalah biaya secara real time. Dengan adanya pemberitahuan tersebut, Anda dapat segera mengambil tindakan korektif dan mencegah kerugian finansial lebih lanjut.
Mengoptimalkan alokasi resource
Untuk mencapai efisiensi biaya untuk workload AI dan ML di Google Cloud, Anda harus mengoptimalkan alokasi resource. Untuk membantu Anda menghindari pengeluaran yang tidak perlu dan memastikan bahwa workload Anda memiliki resource yang dibutuhkan agar dapat berjalan secara optimal, sesuaikan alokasi resource dengan kebutuhan workload Anda.
Untuk mengoptimalkan alokasi resource cloud ke workload AI dan ML, pertimbangkan rekomendasi berikut.
Menggunakan penskalaan otomatis untuk menyesuaikan resource secara dinamis
Gunakan layanan Google Cloud yang mendukung penskalaan otomatis, yang secara otomatis menyesuaikan alokasi resource agar sesuai dengan permintaan saat ini. Penskalaan otomatis memberikan manfaat berikut:
- Pengoptimalan biaya dan performa: Anda tidak perlu membayar resource yang tidak digunakan. Pada saat yang sama, penskalaan otomatis memastikan bahwa sistem Anda memiliki resource yang diperlukan untuk bekerja secara optimal, bahkan pada beban puncak.
- Peningkatan efisiensi: Anda membebaskan tim Anda untuk berfokus pada tugas lain.
- Peningkatan ketangkasan: Anda dapat merespons permintaan yang berubah dengan cepat dan mempertahankan ketersediaan tinggi untuk aplikasi Anda.
Tabel berikut merangkum teknik yang dapat Anda gunakan untuk menerapkan penskalaan otomatis untuk berbagai tahap project AI Anda.
Tahap | Teknik penskalaan otomatis |
---|---|
Pelatihan |
|
Inferensi |
|
Mulai dengan model dan dataset kecil
Untuk membantu mengurangi biaya, uji hipotesis ML dalam skala kecil jika memungkinkan dan gunakan pendekatan iteratif. Pendekatan ini, dengan model dan set data yang lebih kecil, memberikan manfaat berikut:
- Biaya yang lebih rendah sejak awal: Daya komputasi, penyimpanan, dan waktu pemrosesan yang lebih sedikit dapat menghasilkan biaya yang lebih rendah selama fase eksperimen dan pengembangan awal.
- Iterasi yang lebih cepat: Waktu pelatihan yang lebih singkat diperlukan, sehingga Anda dapat melakukan iterasi lebih cepat, menjelajahi pendekatan alternatif, dan mengidentifikasi arah yang menjanjikan secara lebih efisien.
- Kompleksitas yang berkurang: Proses debug, analisis, dan interpretasi hasil yang lebih sederhana, sehingga mempercepat siklus pengembangan.
- Pemanfaatan resource yang efisien: Mengurangi kemungkinan penyediaan resource yang berlebihan. Anda hanya menyediakan resource yang diperlukan untuk workload saat ini.
Pertimbangkan rekomendasi berikut:
- Gunakan data sampel terlebih dahulu: Latih model Anda pada subset perwakilan data Anda. Dengan pendekatan ini, Anda dapat menilai performa model dan mengidentifikasi potensi masalah tanpa memproses seluruh set data.
- Bereksperimen dengan menggunakan notebook: Mulai dengan instance yang lebih kecil dan lakukan penskalaan sesuai kebutuhan. Anda dapat menggunakan Vertex AI Workbench, lingkungan notebook Jupyter terkelola yang cocok untuk bereksperimen dengan berbagai arsitektur model dan set data.
Mulai dengan model yang lebih sederhana atau terlatih: Gunakan Vertex AI Model Garden untuk menemukan dan menjelajahi model terlatih. Model tersebut memerlukan lebih sedikit resource komputasi. Tingkatkan kompleksitas secara bertahap sesuai kebutuhan berdasarkan persyaratan performa.
- Gunakan model terlatih untuk tugas seperti klasifikasi gambar dan natural language processing. Untuk menghemat biaya pelatihan, Anda dapat melakukan penyesuaian model pada set data yang lebih kecil terlebih dahulu.
- Gunakan BigQuery ML untuk data terstruktur. BigQuery ML memungkinkan Anda membuat dan men-deploy model langsung di dalam BigQuery. Pendekatan ini bisa hemat biaya untuk eksperimen awal, karena Anda dapat memanfaatkan model harga per kueri untuk BigQuery.
Penskalaan untuk pengoptimalan resource: Gunakan infrastruktur fleksibel Google Cloud untuk menskalakan resource sesuai kebutuhan. Mulailah dengan instance yang lebih kecil dan sesuaikan ukuran atau jumlahnya jika diperlukan.
Menemukan persyaratan resource melalui eksperimen
Persyaratan resource untuk beban kerja AI dan ML dapat sangat bervariasi. Untuk mengoptimalkan alokasi resource dan biaya, Anda harus memahami kebutuhan spesifik workload melalui eksperimen sistematis. Untuk mengidentifikasi konfigurasi yang paling efisien untuk model Anda, uji berbagai konfigurasi dan analisis performanya. Kemudian, berdasarkan persyaratan, sesuaikan ukuran resource yang Anda gunakan untuk pelatihan dan penayangan.
Kami merekomendasikan pendekatan berikut untuk eksperimen:
- Mulai dengan tolok ukur: Mulai dengan konfigurasi tolok ukur berdasarkan perkiraan awal Anda tentang persyaratan workload. Untuk membuat tolok ukur, Anda dapat menggunakan estimator biaya untuk beban kerja baru atau menggunakan laporan penagihan yang ada. Untuk mengetahui informasi selengkapnya, lihat Membuka biaya sebenarnya AI perusahaan di Google Cloud.
- Pahami kuota Anda: Sebelum meluncurkan eksperimen yang ekstensif, pelajari Google Cloud kuotaproject Anda untuk resource dan API yang akan Anda gunakan. Kuota menentukan rentang konfigurasi yang dapat Anda uji secara realistis. Dengan memahami kuota, Anda dapat bekerja dalam batas resource yang tersedia selama fase eksperimen.
- Bereksperimen secara sistematis: Sesuaikan parameter seperti jumlah CPU, jumlah memori, jumlah dan jenis GPU dan TPU, serta kapasitas penyimpanan. Pelatihan Vertex AI dan prediksi Vertex AI memungkinkan Anda bereksperimen dengan berbagai jenis dan konfigurasi mesin.
Memantau pemanfaatan, biaya, dan performa: Lacak pemanfaatan resource, biaya, dan metrik performa utama seperti waktu pelatihan, latensi inferensi, dan akurasi model, untuk setiap konfigurasi yang Anda coba.
- Untuk melacak pemanfaatan resource dan metrik performa, Anda dapat menggunakan konsol Vertex AI.
- Untuk mengumpulkan dan menganalisis metrik performa mendetail, gunakan Cloud Monitoring.
- Untuk melihat biaya, gunakan laporan Penagihan Cloud dan dasbor Cloud Monitoring.
- Untuk mengidentifikasi hambatan performa dalam model dan mengoptimalkan pemanfaatan resource, gunakan alat pembuatan profil seperti Vertex AI TensorBoard.
Menganalisis biaya: Bandingkan biaya dan performa setiap konfigurasi untuk mengidentifikasi opsi yang paling hemat biaya.
Tetapkan target peningkatan dan batas resource berdasarkan kuota: Tentukan batas waktu kapan penskalaan mulai menghasilkan pengurangan performa, seperti pengurangan minimal dalam waktu pelatihan atau latensi untuk peningkatan biaya yang signifikan. Pertimbangkan kuota project saat menetapkan nilai minimum ini. Tentukan titik saat biaya dan potensi implikasi kuota dari penskalaan lebih lanjut tidak lagi dijustifikasi oleh peningkatan performa.
Perbaiki secara iteratif: Ulangi proses eksperimen dengan konfigurasi yang lebih baik berdasarkan temuan Anda. Selalu pastikan penggunaan resource tetap berada dalam kuota yang dialokasikan dan sesuai dengan batas biaya-manfaat yang ditetapkan.
Menggunakan MLOps untuk mengurangi inefisiensi
Seiring makin banyaknya organisasi yang menggunakan ML untuk mendorong inovasi dan efisiensi, pengelolaan siklus proses ML secara efektif menjadi sangat penting. Operasi ML (MLOps) adalah serangkaian praktik yang mengotomatiskan dan menyederhanakan siklus proses ML, mulai dari pengembangan model hingga deployment dan pemantauan.
Menyelaraskan MLOps dengan faktor biaya
Untuk memanfaatkan MLOps demi efisiensi biaya, identifikasi pendorong biaya utama dalam siklus proses ML. Kemudian, Anda dapat menerapkan dan mengimplementasikan praktik MLOps yang selaras dengan pendorong biaya. Prioritaskan dan terapkan fitur MLOps yang menangani pendorong biaya yang paling berdampak. Pendekatan ini membantu memastikan jalur yang dapat dikelola dan berhasil untuk penghematan biaya yang signifikan.
Menerapkan MLOps untuk pengoptimalan biaya
Berikut adalah praktik MLOps umum yang membantu mengurangi biaya:
- Kontrol versi: Alat seperti Git dapat membantu Anda melacak versi kode, data, dan model. Kontrol versi memastikan hasil dapat direproduksi, memfasilitasi kolaborasi, dan mencegah pengerjaan ulang yang mahal yang dapat disebabkan oleh masalah pembuatan versi.
- Continuous integration dan continuous delivery (CI/CD): Cloud Build dan Artifact Registry memungkinkan Anda menerapkan pipeline CI/CD untuk mengotomatiskan build, pengujian, dan deployment model ML Anda. Pipeline CI/CD memastikan penggunaan resource yang efisien dan meminimalkan biaya yang terkait dengan intervensi manual.
- Observabilitas: Cloud Monitoring dan Cloud Logging memungkinkan Anda melacak performa model dalam produksi, mengidentifikasi masalah, dan memicu pemberitahuan untuk intervensi proaktif. Kemampuan pengamatan memungkinkan Anda mempertahankan akurasi model, mengoptimalkan alokasi resource, dan mencegah periode nonaktif atau penurunan performa yang merugikan.
- Pelatihan ulang model: Vertex AI Pipelines menyederhanakan proses pelatihan ulang model secara berkala atau saat performa menurun. Saat Anda menggunakan Vertex AI Pipelines untuk pelatihan ulang, hal ini akan membantu memastikan bahwa model Anda tetap akurat dan efisien, yang dapat mencegah penggunaan resource yang tidak perlu dan mempertahankan performa yang optimal.
- Pengujian dan evaluasi otomatis: Vertex AI membantu Anda mempercepat dan menstandardisasi evaluasi model. Terapkan pengujian otomatis di seluruh siklus proses ML untuk memastikan kualitas dan keandalan model Anda. Pengujian tersebut dapat membantu Anda menemukan error sejak awal, mencegah masalah yang merugikan dalam produksi, dan mengurangi kebutuhan pengujian manual yang ekstensif.
Untuk mengetahui informasi selengkapnya, lihat MLOps: Pipeline otomatisasi dan continuous delivery di machine learning.
Menerapkan praktik pengelolaan dan tata kelola data
Praktik pengelolaan dan tata kelola data yang efektif sangat penting untuk pengoptimalan biaya. Data yang teratur dengan baik dapat mendorong tim untuk menggunakan kembali set data, menghindari duplikasi yang tidak perlu, dan mengurangi upaya untuk mendapatkan data berkualitas tinggi. Dengan mengelola data secara proaktif, Anda dapat mengurangi biaya penyimpanan, meningkatkan kualitas data, dan memastikan bahwa model ML Anda dilatih dengan data yang paling relevan dan berharga.
Untuk menerapkan praktik tata kelola dan pengelolaan data, pertimbangkan rekomendasi berikut.
Menetapkan dan menerapkan framework tata kelola data
Meningkatnya popularitas AI dan ML telah menjadikan data sebagai aset paling berharga bagi organisasi yang sedang menjalani transformasi digital. Framework yang andal untuk tata kelola data adalah persyaratan penting untuk mengelola workload AI dan ML secara efektif dan efisien dalam skala besar. Framework tata kelola data dengan kebijakan, prosedur, dan peran yang ditentukan dengan jelas memberikan pendekatan terstruktur untuk mengelola data di seluruh siklus prosesnya. Framework tersebut membantu meningkatkan kualitas data, meningkatkan keamanan, meningkatkan pemanfaatan, dan mengurangi redundansi.
Menetapkan kerangka kerja tata kelola data
Ada banyak framework yang sudah ada sebelumnya untuk tata kelola data, seperti framework yang dipublikasikan oleh EDM Council, dengan opsi yang tersedia untuk berbagai industri dan ukuran organisasi. Pilih dan sesuaikan framework yang sesuai dengan kebutuhan dan prioritas spesifik Anda.
Menerapkan framework tata kelola data
Google Cloud menyediakan layanan dan alat berikut untuk membantu Anda menerapkan framework tata kelola data yang andal:
Dataplex Universal Catalog adalah data fabric cerdas yang membantu Anda menyatukan data terdistribusi dan mengotomatiskan tata kelola data tanpa perlu menggabungkan set data di satu tempat. Hal ini membantu mengurangi biaya untuk mendistribusikan dan mengelola data, memfasilitasi penemuan data, dan mendorong penggunaan kembali.
- Untuk mengatur data, gunakan abstraksi Dataplex Universal Catalog dan siapkan data lake dan zona logis.
- Untuk mengelola akses ke data lake dan zona, gunakan Google Grup dan peran Dataplex Universal Catalog.
- Untuk menyederhanakan proses kualitas data, aktifkan kualitas data otomatis.
Dataplex Universal Catalog juga merupakan layanan pengelolaan metadata yang skalabel dan terkelola sepenuhnya. Katalog memberikan fondasi yang memastikan bahwa aset data dapat diakses dan dapat digunakan kembali.
- Metadata dari sumber yang didukung Google Cloud secara otomatis di-ingest ke dalam katalog universal. Untuk sumber data di luar Google Cloud, buat entri kustom.
- Untuk meningkatkan penemuan dan pengelolaan aset data, perbanyak metadata teknis dengan metadata bisnis menggunakan aspek.
- Pastikan ilmuwan data dan praktisi ML memiliki izin yang memadai untuk mengakses Katalog Universal Dataplex dan menggunakan fungsi penelusuran.
BigQuery sharing memungkinkan Anda bertukar aset data secara efisien dan aman di seluruh organisasi untuk mengatasi tantangan terkait keandalan dan biaya data.
- Siapkan pertukaran data dan pastikan aset data pilihan dapat dilihat sebagai listingan.
- Gunakan ruang bersih data untuk mengelola akses ke data sensitif secara aman dan berkolaborasi secara efisien dengan tim dan organisasi eksternal dalam proyek AI dan ML.
- Pastikan ilmuwan data dan praktisi ML memiliki izin yang memadai untuk melihat dan memublikasikan set data ke berbagi BigQuery.
Membuat set data dan fitur yang dapat digunakan kembali di seluruh siklus proses ML
Untuk mendapatkan manfaat efisiensi dan biaya yang signifikan, gunakan kembali set data dan fitur di beberapa project ML. Jika Anda menghindari upaya rekayasa data dan pengembangan fitur yang berlebihan, organisasi Anda dapat mempercepat pengembangan model, mengurangi biaya infrastruktur, dan membebaskan resource berharga untuk tugas penting lainnya.
Google Cloud menyediakan layanan dan alat berikut untuk membantu Anda menggunakan kembali set data dan fitur:
- Praktisi Data dan ML dapat memublikasikan produk data untuk memaksimalkan penggunaan ulang di seluruh tim. Produk data kemudian dapat ditemukan dan digunakan melalui Katalog Universal Dataplex dan berbagi BigQuery.
- Untuk set data tabulasi dan terstruktur, Anda dapat menggunakan Vertex AI Feature Store untuk meningkatkan penggunaan kembali dan menyederhanakan pengelolaan fitur melalui BigQuery.
- Anda dapat menyimpan data tidak terstruktur di Cloud Storage dan mengelola data tersebut menggunakan tabel objek BigQuery dan URL bertanda tangan.
- Anda dapat mengelola embedding vektor dengan menyertakan metadata dalam indeks Vector Search.
Mengotomatiskan dan merampingkan dengan MLOps
Manfaat utama penerapan praktik MLOps adalah pengurangan biaya teknologi dan personel. Otomatisasi membantu Anda menghindari duplikasi aktivitas ML dan mengurangi beban kerja data scientist dan engineer ML.
Untuk mengotomatiskan dan menyederhanakan pengembangan ML dengan MLOps, pertimbangkan rekomendasi berikut.
Mengotomatiskan dan menstandardisasi pengumpulan dan pemrosesan data
Untuk membantu mengurangi upaya dan waktu pengembangan ML, otomatiskan dan standarkan teknologi pengumpulan dan pemrosesan data Anda.
Mengotomatiskan pengumpulan dan pemrosesan data
Bagian ini merangkum produk, alat, dan teknik yang dapat Anda gunakan untuk mengotomatiskan pengumpulan dan pemrosesan data.
Identifikasi dan pilih sumber data yang relevan untuk tugas AI dan ML Anda:
- Opsi database seperti Cloud SQL, Spanner, AlloyDB untuk PostgreSQL, Firestore, dan BigQuery. Pilihan Anda bergantung pada persyaratan Anda, seperti latensi pada akses tulis (statis atau dinamis), volume data (tinggi atau rendah), dan format data (terstruktur, tidak terstruktur, atau semi-terstruktur). Untuk mengetahui informasi selengkapnya, lihat databaseGoogle Cloud .
- Data lake seperti Cloud Storage dengan BigLake.
- Dataplex Universal Catalog untuk mengatur data di seluruh sumber.
- Platform peristiwa streaming seperti Pub/Sub, Dataflow, atau Apache Kafka.
- API eksternal.
Untuk setiap sumber data, pilih alat penyerapan:
- Dataflow: Untuk pemrosesan data batch dan streaming dari berbagai sumber, dengan integrasi komponen ML. Untuk arsitektur berbasis peristiwa, Anda dapat menggabungkan Dataflow dengan Eventarc untuk memproses data secara efisien untuk ML. Untuk meningkatkan efisiensi tugas MLOps dan ML, gunakan GPU dan kemampuan penyesuaian yang tepat.
- Fungsi Cloud Run: Untuk penyerapan data yang digerakkan oleh peristiwa yang dipicu oleh perubahan pada sumber data untuk aplikasi real-time.
- BigQuery: Untuk penyerapan data tabular klasik dengan akses yang sering.
Pilih alat untuk transformasi dan pemuatan data:
- Gunakan alat seperti Dataflow atau Dataform untuk mengotomatiskan transformasi data seperti penskalaan fitur, encoding variabel kategoris, dan pembuatan fitur baru dalam batch, streaming, atau real time. Alat yang Anda pilih bergantung pada persyaratan dan layanan yang dipilih.
- Gunakan Vertex AI Feature Store untuk mengotomatiskan pembuatan dan pengelolaan fitur. Anda dapat memusatkan fitur untuk digunakan kembali di berbagai model dan project.
Menstandardisasi pengumpulan dan pemrosesan data
Untuk menemukan, memahami, dan mengelola aset data, gunakan layanan pengelolaan metadata seperti Dataplex Universal Catalog. Hal ini membantu Anda menstandardisasi definisi data dan memastikan konsistensi di seluruh organisasi Anda.
Untuk menerapkan standardisasi dan menghindari biaya pemeliharaan beberapa penerapan kustom, gunakan pipeline pelatihan dan orkestrasi otomatis. Untuk informasi selengkapnya, lihat bagian berikutnya.
Mengotomatiskan pipeline pelatihan dan menggunakan kembali aset yang ada
Untuk meningkatkan efisiensi dan produktivitas dalam MLOps, pipeline pelatihan otomatis sangat penting. Google Cloud menawarkan serangkaian alat dan layanan yang andal untuk membangun dan men-deploy pipeline pelatihan, dengan penekanan yang kuat pada penggunaan kembali aset yang ada. Pipeline pelatihan otomatis membantu mempercepat pengembangan model, memastikan konsistensi, dan mengurangi upaya yang berlebihan.
Mengotomatiskan pipeline pelatihan
Tabel berikut menjelaskan layanan dan fitur Google Cloud yang dapat Anda gunakan untuk mengotomatiskan berbagai fungsi pipeline pelatihan.
Fungsi | Layanan dan fiturGoogle Cloud |
---|---|
Orkestrasi: Tentukan alur kerja ML yang kompleks yang terdiri dari beberapa langkah dan dependensi. Anda dapat menentukan setiap langkah sebagai tugas yang di-container secara terpisah, yang membantu Anda mengelola dan menskalakan setiap tugas dengan mudah. |
|
Pembuatan versi: Lacak dan kontrol berbagai versi pipeline dan komponen untuk memastikan reproduksibilitas dan auditabilitas. | Menyimpan template pipeline Kubeflow di repositori Kubeflow Pipelines di Artifact Registry. |
Kemampuan penggunaan ulang: Gunakan kembali komponen dan artefak pipeline yang ada, seperti set data yang telah disiapkan dan model terlatih, untuk mempercepat pengembangan. | Simpan template pipeline Anda di Cloud Storage dan bagikan template tersebut di seluruh organisasi Anda. |
Pemantauan: Pantau eksekusi pipeline untuk mengidentifikasi dan mengatasi masalah. | Gunakan Cloud Logging dan Cloud Monitoring. Untuk mengetahui informasi selengkapnya, lihat Memantau resource secara berkelanjutan dengan dasbor, pemberitahuan, dan laporan. |
Memperluas kemampuan penggunaan ulang di luar pipeline
Cari peluang untuk memperluas penggunaan ulang di luar pipeline pelatihan. Berikut adalah contoh kemampuan Google Cloud yang memungkinkan Anda menggunakan kembali fitur, set data, model, dan kode ML.
- Vertex AI Feature Store menyediakan repositori terpusat untuk mengatur, menyimpan, dan menyalurkan fitur ML. Dengan fitur ini, Anda dapat menggunakan kembali fitur di berbagai project dan model, yang dapat meningkatkan konsistensi dan mengurangi upaya rekayasa fitur. Anda dapat menyimpan, membagikan, dan mengakses fitur untuk kasus penggunaan online dan offline.
- Set data Vertex AI memungkinkan tim membuat dan mengelola set data secara terpusat, sehingga organisasi Anda dapat memaksimalkan penggunaan ulang dan mengurangi duplikasi data. Tim Anda dapat menelusuri dan menemukan set data menggunakan Katalog Universal Dataplex.
- Vertex AI Model Registry memungkinkan Anda menyimpan, mengelola, dan men-deploy model terlatih. Model Registry memungkinkan Anda menggunakan kembali model di pipeline berikutnya atau untuk prediksi online, yang membantu Anda memanfaatkan upaya pelatihan sebelumnya.
- Container kustom memungkinkan Anda mengemas kode pelatihan dan dependensi ke dalam container, lalu menyimpan container di Artifact Registry. Dengan container kustom, Anda dapat menyediakan lingkungan pelatihan yang konsisten dan dapat direproduksi di berbagai pipeline dan project.
Menggunakan layanan Google Cloud untuk evaluasi dan penyesuaian model
Google Cloud menawarkan serangkaian alat dan layanan canggih untuk menyederhanakan dan mengotomatiskan evaluasi dan penyesuaian model. Alat dan layanan ini dapat membantu Anda mempercepat waktu produksi dan mengurangi resource yang diperlukan untuk pelatihan dan pemantauan berkelanjutan. Dengan menggunakan layanan ini, tim AI dan ML Anda dapat meningkatkan performa model dengan lebih sedikit iterasi yang mahal, mencapai hasil yang lebih cepat, dan meminimalkan pemborosan resource komputasi.
Menggunakan evaluasi dan eksperimen model yang hemat resource
Mulai project AI dengan eksperimen sebelum Anda meningkatkan skala solusi. Dalam eksperimen Anda, lacak berbagai metadata seperti versi set data, parameter model, dan jenis model. Untuk reproduksibilitas dan perbandingan hasil lebih lanjut, gunakan pelacakan metadata selain pembuatan versi kode, mirip dengan kemampuan di Git. Untuk menghindari hilangnya informasi atau men-deploy versi yang salah dalam produksi, gunakan Vertex AI Experiments sebelum Anda menerapkan tugas pelatihan atau deployment skala penuh.
Vertex AI Experiments memungkinkan Anda melakukan hal berikut:
- Sederhanakan dan otomatiskan pelacakan dan penemuan metadata melalui UI dan API yang mudah digunakan untuk beban kerja yang siap produksi.
- Menganalisis metrik performa model dan membandingkan metrik di beberapa model.
Setelah model dilatih, pantau terus performa dan pergeseran data seiring waktu untuk data yang masuk. Untuk menyederhanakan proses ini, gunakan Vertex AI Model Monitoring untuk langsung mengakses model yang dibuat di Model Registry. Model Monitoring juga mengotomatiskan pemantauan untuk data dan hasil melalui prediksi online dan batch. Anda dapat mengekspor hasilnya ke BigQuery untuk analisis dan pelacakan lebih lanjut.
Memilih strategi optimal untuk mengotomatiskan pelatihan
Untuk penyesuaian hyperparameter, sebaiknya gunakan pendekatan berikut:
- Untuk mengotomatiskan proses menemukan hyperparameter optimal untuk model Anda, gunakan penyesuaian hyperparameter Vertex AI. Vertex AI menggunakan algoritma canggih untuk menjelajahi ruang hyperparameter dan mengidentifikasi konfigurasi terbaik.
- Untuk penyesuaian hyperparameter yang efisien, pertimbangkan untuk menggunakan teknik pengoptimalan Bayesian, terutama saat Anda menangani model yang kompleks dan set data yang besar.
Untuk pelatihan terdistribusi, sebaiknya gunakan pendekatan berikut:
Untuk set data besar dan model kompleks, gunakan infrastruktur pelatihan terdistribusi Vertex AI. Pendekatan ini memungkinkan Anda melatih model di beberapa mesin, yang membantu mengurangi waktu pelatihan dan biaya terkait secara signifikan. Gunakan alat seperti berikut:
- Penyesuaian Vertex AI untuk melakukan penyesuaian yang diawasi pada Gemini, Imagen, dan model lainnya.
- Pelatihan Vertex AI atau Ray di Vertex AI untuk pelatihan terdistribusi kustom.
Pilih framework ML yang dioptimalkan, seperti Keras dan PyTorch, yang mendukung pelatihan terdistribusi dan penggunaan resource yang efisien.
Menggunakan AI yang dapat dijelaskan
Penting untuk memahami alasan model membuat keputusan tertentu dan mengidentifikasi potensi bias atau area yang perlu ditingkatkan. Gunakan Vertex Explainable AI untuk mendapatkan insight tentang prediksi model Anda. Vertex Explainable AI menawarkan cara untuk mengotomatiskan penjelasan berbasis fitur dan berbasis contoh yang ditautkan ke eksperimen Vertex AI Anda.
- Berbasis fitur: Untuk memahami fitur mana yang paling berpengaruh dalam prediksi model Anda, analisis atribusi fitur. Pemahaman ini dapat memandu upaya rekayasa fitur dan meningkatkan kemampuan interpretasi model.
- Berbasis contoh: Untuk menampilkan daftar contoh (biasanya dari set pelatihan) yang paling mirip dengan input, Vertex AI menggunakan penelusuran tetangga terdekat. Karena input yang serupa umumnya menghasilkan prediksi yang serupa, Anda dapat menggunakan penjelasan ini untuk mengeksplorasi dan menjelaskan perilaku model.
Menggunakan layanan terkelola dan model terlatih
Terapkan pendekatan inkremental untuk pemilihan model dan pengembangan model. Pendekatan ini membantu Anda menghindari biaya berlebih yang terkait dengan memulai dari awal setiap saat. Untuk mengontrol biaya, gunakan framework ML, layanan terkelola, dan model terlatih.
Untuk mendapatkan nilai maksimum dari layanan terkelola dan model terlatih, pertimbangkan rekomendasi berikut.
Menggunakan notebook untuk eksplorasi dan eksperimen
Lingkungan Notebook sangat penting untuk eksperimen ML yang hemat biaya. Notebook menyediakan ruang interaktif dan kolaboratif bagi data scientist dan engineer untuk menjelajahi data, mengembangkan model, berbagi pengetahuan, dan melakukan iterasi secara efisien. Kolaborasi dan berbagi pengetahuan melalui notebook secara signifikan mempercepat pengembangan, peninjauan kode, dan transfer pengetahuan. Notebook membantu menyederhanakan alur kerja dan mengurangi upaya yang berulang.
Daripada membeli dan mengelola hardware mahal untuk lingkungan pengembangan, Anda dapat menggunakan infrastruktur yang dapat diskalakan dan on-demand dari Vertex AI Workbench dan Colab Enterprise.
Vertex AI Workbench adalah lingkungan pengembangan notebook Jupyter untuk seluruh alur kerja data science. Anda dapat berinteraksi dengan Vertex AI dan layanan Google Cloud lainnya dari dalam notebook Jupyter instance. Integrasi dan fitur Vertex AI Workbench membantu Anda melakukan hal berikut:
- Mengakses dan menjelajahi data dari notebook Jupyter menggunakan integrasi BigQuery dan Cloud Storage.
- Mengotomatiskan update berulang pada model menggunakan eksekusi terjadwal kode yang berjalan di Vertex AI.
- Proses data secara cepat dengan menjalankan notebook di cluster Dataproc.
- Jalankan notebook sebagai langkah di dalam pipeline menggunakan Vertex AI Pipelines.
Colab Enterprise adalah lingkungan notebook kolaboratif dan terkelola yang memiliki kemampuan keamanan dan kepatuhan Google Cloud. Colab Enterprise sangat ideal jika prioritas project Anda mencakup pengembangan kolaboratif dan mengurangi upaya untuk mengelola infrastruktur. Colab Enterprise terintegrasi dengan layananGoogle Cloud dan bantuan berteknologi AI yang menggunakan Gemini. Colab Enterprise memungkinkan Anda melakukan hal berikut:
- Bekerja di notebook tanpa perlu mengelola infrastruktur.
- Bagikan notebook dengan satu pengguna, grup Google, atau domain Google Workspace. Anda dapat mengontrol akses notebook melalui Identity and Access Management (IAM).
- Berinteraksi dengan fitur yang terintegrasi dalam Vertex AI dan BigQuery.
Untuk melacak perubahan dan mengembalikan ke versi sebelumnya jika perlu, Anda dapat mengintegrasikan notebook dengan alat kontrol versi seperti Git.
Mulai dengan model yang sudah ada dan terlatih
Melatih model yang kompleks dari awal, terutama model deep learning, memerlukan resource komputasi dan waktu yang signifikan. Untuk mempercepat pemilihan model dan proses pengembangan, mulailah dengan model yang sudah ada dan terlatih. Model ini, yang dilatih dengan set data yang sangat besar, menghilangkan kebutuhan untuk melatih model dari awal dan secara signifikan mengurangi biaya dan waktu pengembangan.
Mengurangi biaya pelatihan dan pengembangan
Pilih model atau API yang sesuai untuk setiap tugas ML dan gabungkan untuk membuat proses pengembangan ML end-to-end.
Vertex AI Model Garden menawarkan banyak koleksi model terlatih untuk tugas seperti klasifikasi gambar, deteksi objek, dan natural language processing. Model dikelompokkan ke dalam kategori berikut:
- Model Google seperti rangkaian model Gemini dan Imagen untuk pembuatan gambar.
- Model open source seperti Gemma dan Llama.
- Model pihak ketiga dari partner seperti Anthropic dan Mistral AI.
Google Cloud menyediakan API AI dan ML yang memungkinkan developer mengintegrasikan kemampuan AI canggih ke dalam aplikasi tanpa perlu membangun model dari awal.
- Cloud Vision API memungkinkan Anda mendapatkan insight dari gambar. API ini berguna untuk aplikasi seperti analisis gambar, moderasi konten, dan entri data otomatis.
- Cloud Natural Language API memungkinkan Anda menganalisis teks untuk memahami struktur dan maknanya. API ini berguna untuk tugas-tugas seperti analisis masukan pelanggan, kategorisasi konten, dan pemahaman tren media sosial.
- Speech-to-Text API mengonversi audio menjadi teks. API ini mendukung berbagai bahasa dan dialek.
- Video Intelligence API menganalisis konten video untuk mengidentifikasi objek, adegan, dan tindakan. Gunakan API ini untuk analisis konten video, moderasi konten, dan penelusuran video.
- Document AI API memproses dokumen untuk mengekstrak, mengklasifikasikan, dan memahami data. API ini membantu Anda mengotomatiskan alur kerja pemrosesan dokumen.
- Dialogflow API memungkinkan pembuatan antarmuka percakapan, seperti chatbot dan asisten suara. Anda dapat menggunakan API ini untuk membuat bot layanan pelanggan dan asisten virtual.
- Gemini API di Vertex AI memberikan akses ke model AI serbaguna Google yang paling canggih.
Mengurangi biaya penyesuaian
Untuk membantu mengurangi kebutuhan akan data yang ekstensif dan waktu komputasi, sesuaikan model terlatih Anda pada set data tertentu. Sebaiknya gunakan pendekatan berikut:
- Transfer pembelajaran: Gunakan pengetahuan dari model terlatih untuk tugas baru, bukan memulai dari awal. Pendekatan ini memerlukan lebih sedikit data dan waktu komputasi, yang membantu mengurangi biaya.
- Penyesuaian adaptor (penyesuaian efisien parameter): Menyesuaikan model dengan tugas atau domain baru tanpa melakukan fine-tuning penuh. Pendekatan ini memerlukan resource komputasi yang jauh lebih rendah dan set data yang lebih kecil.
- Supervised fine tuning: Menyesuaikan perilaku model dengan set data berlabel. Pendekatan ini menyederhanakan pengelolaan infrastruktur yang mendasarinya dan upaya pengembangan yang diperlukan untuk tugas pelatihan kustom.
Menjelajahi dan bereksperimen menggunakan Vertex AI Studio
Vertex AI Studio dapat Anda gunakan untuk menguji, membuat prototipe, dan men-deploy aplikasi AI generatif dengan cepat.
- Integrasi dengan Model Garden: Memberikan akses cepat ke model terbaru dan memungkinkan Anda men-deploy model secara efisien untuk menghemat waktu dan biaya.
- Akses terpadu ke model khusus: Menggabungkan akses ke berbagai model dan API terlatih, termasuk yang digunakan untuk chat, teks, media, terjemahan, dan ucapan. Akses terpadu ini dapat membantu Anda mengurangi waktu yang dihabiskan untuk menelusuri dan mengintegrasikan setiap layanan.
Menggunakan layanan terkelola untuk melatih atau menayangkan model
Layanan terkelola dapat membantu mengurangi biaya pelatihan model dan menyederhanakan pengelolaan infrastruktur, sehingga Anda dapat berfokus pada pengembangan dan pengoptimalan model. Pendekatan ini dapat menghasilkan manfaat biaya yang signifikan dan peningkatan efisiensi.
Mengurangi overhead operasional
Untuk mengurangi kompleksitas dan biaya pengelolaan infrastruktur, gunakan layanan terkelola seperti berikut:
- Pelatihan Vertex AI menyediakan lingkungan yang terkelola sepenuhnya untuk melatih model Anda dalam skala besar. Anda dapat memilih dari berbagai container bawaan dengan framework ML populer atau menggunakan container kustom Anda sendiri. Google Cloud menangani penyediaan, penskalaan, dan pemeliharaan infrastruktur, sehingga Anda akan mengalami overhead operasional yang lebih rendah.
- Prediksi Vertex AI menangani penskalaan infrastruktur, penyeimbangan beban, dan perutean permintaan. Anda mendapatkan ketersediaan dan performa tinggi tanpa intervensi manual.
- Ray on Vertex AI menyediakan cluster Ray yang terkelola sepenuhnya. Anda dapat menggunakan cluster untuk menjalankan workload AI kustom yang kompleks dan melakukan banyak komputasi (penyesuaian hyperparameter, penyesuaian model, pelatihan model terdistribusi, dan reinforcement learning dari umpan balik manusia) tanpa perlu mengelola infrastruktur Anda sendiri.
Menggunakan layanan terkelola untuk mengoptimalkan pemanfaatan resource
Untuk mengetahui detail tentang pemanfaatan resource yang efisien, lihat Mengoptimalkan pemanfaatan resource.
Kontributor
Penulis:
- Isaac Lo | AI Business Development Manager
- Anastasia Prokaeva | Field Solutions Architect, Generative AI
- Amy Southwood | Technical Solutions Consultant, Data Analytics & AI
Kontributor lainnya:
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist
Perspektif AI dan ML: Pengoptimalan performa
Dokumen dalam Framework yang Dirancang dengan Baik: Perspektif AI dan ML ini memberikan ringkasan prinsip dan rekomendasi untuk membantu Anda mengoptimalkan performa workload AI dan ML di Google Cloud. Rekomendasi dalam dokumen ini selaras dengan pilar pengoptimalan performa dari Google Cloud Framework yang Dirancang dengan Baik.
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, Anda perlu mengoptimalkan performanya berdasarkan sasaran bisnis dan persyaratan teknis Anda. 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 membuat keputusan ini, pertimbangkan seluruh siklus proses sistem AI dan ML serta lingkungan deployment-nya. Misalnya, LLM yang sangat besar dapat memiliki performa yang sangat tinggi pada infrastruktur pelatihan yang besar, tetapi model yang sangat besar mungkin tidak memiliki performa yang baik di lingkungan dengan kapasitas terbatas seperti perangkat seluler.
Menerjemahkan sasaran bisnis menjadi tujuan performa
Untuk membuat keputusan arsitektur yang mengoptimalkan performa, mulailah dengan serangkaian 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 sasaran bisnis.
Pertimbangkan rekomendasi berikut:
- Terjemahkan tujuan bisnis menjadi persyaratan teknis: Terjemahkan tujuan bisnis sistem AI dan ML Anda menjadi persyaratan performa teknis yang spesifik dan nilai efek jika persyaratan tersebut tidak terpenuhi. Misalnya, untuk aplikasi yang memprediksi penghentian pelanggan, model ML harus berperforma baik pada metrik standar, seperti akurasi dan perolehan, 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 penyimpangan dari tujuan bisnis.
- Mengotomatiskan evaluasi agar dapat direproduksi dan distandardisasi: Dengan platform dan metodologi yang distandardisasi dan dapat dibandingkan 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 berkelanjutan karena teknologi AI dan ML terus berkembang dengan cepat. Untuk mempertahankan proses iteratif yang cepat, Anda perlu memisahkan ruang eksperimen dari platform pelatihan dan penayangan Anda. Proses eksperimen yang standar dan andal sangat penting.
Pertimbangkan rekomendasi berikut:
- Membangun lingkungan eksperimen: Peningkatan performa memerlukan lingkungan khusus, canggih, dan interaktif yang mendukung eksperimen dan pengembangan kolaboratif pipeline ML.
- Tanamkan eksperimen sebagai budaya: Jalankan eksperimen sebelum deployment produksi apa pun. Rilis versi baru secara berulang dan selalu kumpulkan data performa. Bereksperimenlah dengan berbagai jenis data, transformasi fitur, algoritma, dan hyperparameter.
Membangun dan mengotomatiskan layanan pelatihan dan penyajian
Pelatihan dan inferensi 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. Luangkan waktu dan upaya untuk membuat platform dasar bagi tugas pelatihan dan penyajian AI inti Anda. Platform dasar ini membantu mengurangi waktu dan upaya tim Anda serta meningkatkan kualitas output dalam jangka menengah dan panjang.
Pertimbangkan rekomendasi berikut:
- Menggunakan komponen layanan pelatihan khusus AI: Komponen tersebut mencakup komputasi berperforma tinggi dan komponen MLOps seperti feature store, registry model, metadata store, dan layanan evaluasi performa model.
- Menggunakan komponen khusus AI dari layanan prediksi: Komponen tersebut menyediakan resource berperforma tinggi dan dapat diskalakan, mendukung pemantauan fitur, dan memungkinkan pemantauan performa model. Untuk mencegah dan mengelola penurunan performa, terapkan strategi deployment dan rollback yang andal.
Menyesuaikan pilihan desain dengan persyaratan performa
Saat membuat pilihan desain untuk meningkatkan performa, nilai dengan cermat apakah pilihan tersebut mendukung persyaratan bisnis Anda atau boros dan kontraproduktif. Untuk memilih infrastruktur, model, atau konfigurasi yang tepat, identifikasi hambatan performa dan nilai bagaimana hambatan tersebut terkait dengan ukuran performa Anda. Misalnya, bahkan pada akselerator GPU yang sangat canggih, tugas pelatihan Anda dapat mengalami bottleneck performa karena masalah I/O data dari lapisan penyimpanan atau karena batasan performa model itu sendiri.
Pertimbangkan rekomendasi berikut:
- Mengoptimalkan konsumsi hardware berdasarkan sasaran performa: Untuk melatih dan menayangkan model ML yang memenuhi persyaratan performa Anda, 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.
- Berfokus pada persyaratan khusus workload: Fokuskan upaya pengoptimalan performa Anda pada persyaratan unik workload AI dan ML Anda. Mengandalkan layanan terkelola untuk performa infrastruktur dasar.
- Pilih strategi pelatihan yang sesuai: Beberapa model dasar dan terlatih tersedia, dan model serupa lainnya sering dirilis. Pilih strategi pelatihan yang dapat memberikan performa optimal untuk tugas Anda. Tentukan apakah Anda harus membuat model sendiri, menyesuaikan model terlatih sebelumnya pada data Anda, atau menggunakan API model terlatih sebelumnya.
- Menyadari bahwa strategi pengoptimalan performa dapat memiliki pengurangan hasil: Jika strategi pengoptimalan performa tertentu tidak memberikan nilai bisnis inkremental yang dapat diukur, hentikan penggunaan strategi tersebut.
Menghubungkan metrik performa dengan pilihan desain dan konfigurasi
Untuk berinovasi, memecahkan masalah, dan menyelidiki masalah performa, buat hubungan 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 secara andal.
Pertimbangkan rekomendasi berikut:
- Bangun sistem silsilah 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.
- Menggunakan alat penjelasan untuk meningkatkan performa model: Terapkan dan standarisasi alat serta tolok ukur untuk eksplorasi dan penjelasan model. Alat ini membantu engineer ML Anda memahami perilaku model dan meningkatkan performa atau menghilangkan bias.
Kontributor
Penulis:
- Benjamin Sadik | Customer Engineer Spesialis AI dan ML
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
Kontributor lainnya:
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Zach Seils | Networking Specialist