Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan Vector Search

Last reviewed 2024-12-06 UTC

Dokumen ini menyediakan arsitektur referensi yang dapat Anda gunakan untuk mendesain infrastruktur untuk aplikasi AI generatif dengan retrieval-augmented generation (RAG) menggunakan Vector Search. Penelusuran Vektor adalah layanan Google Cloud yang terkelola sepenuhnya dan menyediakan infrastruktur penayangan yang dioptimalkan untuk pencocokan kemiripan vektor berskala sangat besar.

Audiens yang dituju untuk dokumen ini mencakup arsitek, developer, dan administrator aplikasi AI generatif. Dokumen ini mengasumsikan pemahaman dasar tentang konsep AI, machine learning (ML), dan model bahasa besar (LLM). Dokumen ini tidak memberikan panduan tentang cara mendesain dan mengembangkan aplikasi AI generatif.

Arsitektur

Diagram berikut menunjukkan tampilan tingkat tinggi arsitektur yang ditampilkan dokumen ini:

Tampilan secara umum dari alur penyerapan dan penyaluran data dalam arsitektur.

Arsitektur dalam diagram sebelumnya memiliki dua subsistem: penyerapan dan penayangan data.

  • Subsistem penyerapan data menyerap data yang diupload dari sumber eksternal. Subsistem menyiapkan data untuk RAG dan berinteraksi dengan Vertex AI untuk membuat penyematan untuk data yang diserap serta membuat dan memperbarui indeks vektor.
  • Subsistem penayangan berisi layanan frontend dan backend aplikasi AI generatif.
    • Layanan frontend menangani alur respons kueri dengan pengguna aplikasi dan meneruskan kueri ke layanan backend.
    • Layanan backend menggunakan Vertex AI untuk membuat embedding kueri, melakukan penelusuran kemiripan vektor, dan menerapkan filter keamanan dan petunjuk sistem Responsible AI.

Diagram berikut menunjukkan tampilan mendetail tentang arsitektur:

Tampilan mendetail tentang aliran penyerapan dan penayangan data dalam arsitektur.

Bagian berikut menjelaskan aliran data dalam setiap subsistem diagram arsitektur sebelumnya.

Subsistem penyerapan data

Subsistem penyerapan data menyerap data dari sumber eksternal dan menyiapkan data untuk RAG. Berikut adalah langkah-langkah dalam alur penyerapan dan persiapan data:

  1. Data diupload dari sumber eksternal ke bucket Cloud Storage. Sumber eksternal dapat berupa aplikasi, database, atau layanan streaming.
  2. Saat data diupload ke Cloud Storage, pesan dipublikasikan ke topik Pub/Sub.
  3. Saat menerima pesan, topik Pub/Sub akan memicu tugas Cloud Run.
  4. Tugas Cloud Run mengurai data mentah, memformatnya sesuai kebutuhan, dan membaginya menjadi beberapa bagian.
  5. Tugas Cloud Run menggunakan Vertex AI Embeddings API untuk membuat penyematan potongan menggunakan model penyematan yang Anda tentukan. Vertex AI mendukung model teks dan multimodal embedding.
  6. Tugas Cloud Run membuat indeks Vector Search dari penyematan, lalu men-deploy indeks tersebut.

Saat data baru diserap, langkah-langkah sebelumnya akan dilakukan untuk data baru tersebut dan indeks akan diperbarui menggunakan update streaming.

Saat memproses permintaan pengguna, subsistem penayangan menggunakan indeks Vector Search untuk penelusuran kesamaan vektor. Bagian berikut menjelaskan alur penayangan.

Subsistem penayangan

Subsistem penayangan menangani alur respons kueri antara aplikasi AI generatif dan penggunanya. Berikut adalah langkah-langkah dalam alur penayangan:

  1. Pengguna mengirimkan kueri bahasa alami ke layanan Cloud Run yang menyediakan antarmuka frontend (seperti chatbot) untuk aplikasi AI generatif.
  2. Layanan frontend meneruskan kueri pengguna ke layanan Cloud Run backend.
  3. Layanan backend memproses kueri dengan melakukan hal berikut:
    1. Mengonversi kueri menjadi penyematan menggunakan model dan parameter penyematan yang sama dengan yang digunakan subsistem penyerapan data untuk menghasilkan penyematan data yang diserap.
    2. Mengambil data dasar yang relevan dengan melakukan penelusuran kemiripan vektor untuk embedding kueri di indeks Penelusuran Vektor.
    3. Membuat perintah yang ditambahkan dengan menggabungkan kueri asli dengan data dasar.
    4. Mengirim perintah yang ditambahkan ke LLM yang di-deploy di Vertex AI.
  4. LLM menghasilkan respons.
  5. Untuk setiap perintah, Vertex AI menerapkan filter keamanan Responsible AI yang telah Anda konfigurasi, lalu mengirim respons yang difilter dan skor keamanan AI ke layanan backend Cloud Run.
  6. Aplikasi mengirimkan respons kepada pengguna melalui layanan frontend Cloud Run.

Anda dapat menyimpan dan melihat log aktivitas respons kueri di Cloud Logging, dan Anda dapat menyiapkan pemantauan berbasis log menggunakan Cloud Monitoring. Anda juga dapat memuat respons yang dihasilkan ke BigQuery untuk analisis offline.

Pengoptimal perintah Vertex AI membantu Anda meningkatkan perintah dalam skala besar, baik selama desain perintah awal maupun untuk penyesuaian perintah yang sedang berlangsung. Pengoptimal perintah mengevaluasi respons model Anda terhadap serangkaian contoh perintah yang diberikan oleh engineer ML. Output evaluasi mencakup respons model terhadap contoh perintah, skor untuk metrik yang ditentukan engineer ML, dan kumpulan petunjuk sistem yang dioptimalkan yang dapat Anda pertimbangkan untuk digunakan.

Produk yang digunakan

Arsitektur referensi ini menggunakan produk Google Cloud berikut:

  • Vertex AI: Platform ML yang memungkinkan Anda melatih dan men-deploy model ML dan aplikasi AI, serta menyesuaikan LLM untuk digunakan dalam aplikasi yang didukung teknologi AI.
  • Vector Search: Layanan pencocokan kemiripan vektor yang memungkinkan Anda menyimpan, mengindeks, dan menelusuri data yang terkait atau memiliki kemiripan semantik.
  • Cloud Run: Platform komputasi serverless yang memungkinkan Anda menjalankan container langsung di atas infrastruktur Google yang skalabel.
  • Cloud Storage: Penyimpanan objek berbiaya rendah tanpa batas untuk berbagai jenis data. Data dapat diakses dari dalam dan luar Google Cloud, dan direplikasi di seluruh lokasi untuk redundansi.
  • Pub/Sub: Layanan pesan asinkron dan skalabel yang memisahkan layanan yang menghasilkan pesan dari layanan yang memproses pesan tersebut.
  • Cloud Logging: Sistem pengelolaan log real-time dengan penyimpanan, penelusuran, analisis, dan pemberitahuan.
  • Cloud Monitoring: Layanan yang memberikan visibilitas terkait performa, ketersediaan, dan kondisi aplikasi serta infrastruktur Anda.
  • BigQuery: Data warehouse perusahaan yang membantu Anda mengelola dan menganalisis data dengan fitur bawaan seperti analisis geospasial machine learning dan business intelligence.

Kasus penggunaan

RAG adalah teknik yang efektif untuk meningkatkan kualitas output yang dihasilkan dari LLM. Bagian ini memberikan contoh kasus penggunaan yang dapat Anda gunakan untuk aplikasi AI generatif yang kompatibel dengan RAG.

Rekomendasi produk yang dipersonalisasi

Situs belanja online mungkin menggunakan chatbot yang didukung LLM untuk membantu pelanggan menemukan produk atau mendapatkan bantuan terkait belanja. Pertanyaan dari pengguna dapat ditingkatkan dengan menggunakan data historis tentang perilaku pembelian pengguna dan pola interaksi situs. Data tersebut mungkin mencakup ulasan dan masukan pengguna yang disimpan di datastore tidak terstruktur atau metrik terkait penelusuran yang disimpan di data warehouse analisis web. Pertanyaan yang ditingkatkan kemudian dapat diproses oleh LLM untuk menghasilkan respons yang dipersonalisasi yang mungkin dianggap lebih menarik dan menarik oleh pengguna.

Sistem bantuan klinis

Dokter di rumah sakit perlu menganalisis dan mendiagnosis kondisi kesehatan pasien dengan cepat untuk membuat keputusan tentang perawatan dan pengobatan yang sesuai. Aplikasi AI generatif yang menggunakan LLM medis seperti Med-PaLM dapat digunakan untuk membantu dokter dalam proses diagnosis klinis mereka. Respons yang dihasilkan aplikasi dapat didasarkan pada rekam medis pasien historis dengan memberikan konteks pada perintah dokter dengan data dari database rekam medis elektronik (EHR) rumah sakit atau dari pusat informasi eksternal seperti PubMed.

Riset hukum yang didukung AI generatif memungkinkan pengacara membuat kueri dengan cepat untuk sejumlah besar statuta dan hukum kasus untuk mengidentifikasi preseden hukum yang relevan atau meringkas konsep hukum yang kompleks. Output riset tersebut dapat ditingkatkan dengan meningkatkan perintah pengacara dengan data yang diambil dari korpus kontrak eksklusif firma hukum, komunikasi hukum sebelumnya, dan catatan kasus internal. Pendekatan desain ini memastikan bahwa respons yang dihasilkan relevan dengan domain hukum yang menjadi spesialisasi pengacara.

Alternatif desain

Bagian ini menyajikan pendekatan desain alternatif yang dapat Anda pertimbangkan untuk aplikasi AI generatif yang kompatibel dengan RAG di Google Cloud.

Alternatif infrastruktur AI

Jika Anda ingin memanfaatkan kemampuan penyimpanan vektor dari database Google Cloud yang dikelola sepenuhnya seperti AlloyDB untuk PostgreSQL atau Cloud SQL untuk aplikasi RAG Anda, lihat Infrastruktur untuk aplikasi AI generatif yang kompatibel dengan RAG menggunakan Vertex AI dan AlloyDB untuk PostgreSQL.

Jika Anda ingin mem-build dan men-deploy aplikasi AI generatif berkemampuan RAG dengan cepat menggunakan alat dan model open source Ray, Hugging Face, dan LangChain, lihat Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Google Kubernetes Engine (GKE).

Opsi hosting aplikasi

Dalam arsitektur yang ditampilkan dalam dokumen ini, Cloud Run adalah host untuk layanan aplikasi AI generatif dan tugas pemrosesan data. Cloud Run adalah platform aplikasi terkelola sepenuhnya yang berfokus pada developer. Jika memerlukan fleksibilitas konfigurasi dan kontrol yang lebih besar atas infrastruktur komputasi, Anda dapat men-deploy aplikasi ke cluster GKE atau ke VM Compute Engine.

Keputusan untuk menggunakan Cloud Run, GKE, atau Compute Engine sebagai host aplikasi Anda melibatkan kompromi antara fleksibilitas konfigurasi dan upaya pengelolaan. Dengan opsi Cloud Run serverless, Anda men-deploy aplikasi ke lingkungan yang telah dikonfigurasi sebelumnya dan memerlukan upaya pengelolaan minimal. Dengan VM Compute Engine dan penampung GKE, Anda bertanggung jawab untuk mengelola resource komputasi yang mendasarinya, tetapi Anda memiliki fleksibilitas dan kontrol konfigurasi yang lebih besar. Untuk informasi selengkapnya tentang cara memilih layanan hosting aplikasi yang sesuai, lihat dokumen berikut:

Opsi lain

Untuk mengetahui informasi tentang opsi infrastruktur lain, model yang didukung, dan teknik dasar yang dapat Anda gunakan untuk aplikasi AI generatif diGoogle Cloud, lihat Memilih model dan infrastruktur untuk aplikasi AI generatif Anda.

Pertimbangan desain

Bagian ini menjelaskan faktor desain, praktik terbaik, dan rekomendasi desain yang harus Anda pertimbangkan saat menggunakan arsitektur referensi ini untuk mengembangkan topologi yang memenuhi persyaratan khusus Anda untuk keamanan, keandalan, biaya, dan performa.

Panduan di bagian ini tidak lengkap. Bergantung pada persyaratan khusus aplikasi Anda dan Google Cloud serta produk dan fitur pihak ketiga yang Anda gunakan, mungkin ada faktor desain dan kompromi tambahan yang harus Anda pertimbangkan.

Keamanan, kepatuhan, dan privasi

Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk mendesain topologi di Google Cloud yang memenuhi persyaratan keamanan dan kepatuhan workload Anda.

Produk Pertimbangan dan rekomendasi desain
Vertex AI

Kontrol keamanan: Vertex AI mendukung kontrol keamanan Google Cloud yang dapat Anda gunakan untuk memenuhi persyaratan Anda terkait residensi data, enkripsi data, keamanan jaringan, dan transparansi akses. Untuk mengetahui informasi selengkapnya, lihat Kontrol keamanan untuk Vertex AI dan Kontrol keamanan untuk AI Generatif.

Akses model: Anda dapat menyiapkan kebijakan organisasi untuk membatasi jenis dan versi LLM yang dapat digunakan dalam project Google Cloud . Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke model Model Garden.

Tanggung jawab bersama: Vertex AI mengamankan infrastruktur yang mendasarinya dan menyediakan alat serta kontrol keamanan untuk membantu Anda melindungi data, kode, dan model Anda. Untuk mengetahui informasi selengkapnya, lihat Tanggung jawab bersama Vertex AI.

Perlindungan data: Gunakan Cloud Data Loss Prevention API untuk menemukan dan melakukan de-identifikasi data sensitif, seperti informasi identitas pribadi (PII), dalam perintah dan respons serta dalam data log. Untuk mengetahui informasi selengkapnya, lihat video ini: Melindungi data sensitif di aplikasi AI.

Cloud Run

Keamanan traffic masuk (layanan frontend): Untuk mengontrol akses eksternal ke aplikasi, nonaktifkan URL run.app default dari layanan Cloud Run frontend dan siapkan Load Balancer Aplikasi eksternal regional. Bersama dengan load balancing traffic masuk ke aplikasi, load balancer menangani pengelolaan sertifikat SSL. Untuk perlindungan tambahan, Anda dapat menggunakan kebijakan keamanan Google Cloud Armor untuk memberikan pemfilteran permintaan, perlindungan DDoS, dan pembatasan kapasitas untuk layanan.

Keamanan traffic masuk (layanan backend): Layanan Cloud Run untuk backend aplikasi dalam arsitektur ini tidak memerlukan akses dari internet. Untuk memastikan bahwa hanya klien internal yang dapat mengakses layanan, tetapkan parameter ingress ke internal. Untuk informasi selengkapnya, lihat Membatasi traffic masuk jaringan untuk Cloud Run.

Enkripsi data: Secara default, Cloud Run mengenkripsi data menggunakan kunci enkripsi milik Google dan dikelola Google . Untuk melindungi container dengan menggunakan kunci yang Anda kontrol, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK). Untuk informasi selengkapnya, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.

Keamanan image container: Untuk memastikan bahwa hanya image container resmi yang di-deploy ke tugas dan layanan Cloud Run, Anda dapat menggunakan Otorisasi Biner.

Residensi data: Cloud Run membantu Anda memenuhi persyaratan residensi data. Instance penampung Cloud Run berjalan dalam region yang Anda pilih.

Untuk panduan selengkapnya tentang keamanan penampung, lihat Tips pengembangan Cloud Run umum.

Cloud Storage

Enkripsi data: Secara default, data yang disimpan di Cloud Storage dienkripsi menggunakan kunci enkripsi milik Google dan dikelola Google . Jika diperlukan, Anda dapat menggunakan CMEK atau kunci Anda sendiri yang Anda kelola menggunakan metode pengelolaan eksternal seperti kunci enkripsi yang disediakan pelanggan (CSEK). Untuk mengetahui informasi selengkapnya, lihat Opsi enkripsi data.

Kontrol akses: Cloud Storage mendukung dua metode untuk mengontrol akses pengguna ke bucket dan objek Anda: Identity and Access Management (IAM) dan daftar kontrol akses (ACL). Dalam sebagian besar kasus, sebaiknya gunakan IAM, yang memungkinkan Anda memberikan izin di tingkat bucket dan project. Untuk informasi selengkapnya, lihat Ringkasan kontrol akses.

Perlindungan data: Data yang Anda muat ke dalam subsistem penyerapan data melalui Cloud Storage mungkin menyertakan data sensitif. Untuk melindungi data tersebut, Anda dapat menggunakan Perlindungan Data Sensitif untuk menemukan, mengklasifikasikan, dan melakukan de-identifikasi data. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Perlindungan Data Sensitif dengan Cloud Storage.

Kontrol jaringan: Untuk mengurangi risiko pemindahan data yang tidak sah dari Cloud Storage, Anda dapat membuat perimeter layanan menggunakan Kontrol Layanan VPC.

Residensi data: Cloud Storage membantu Anda memenuhi persyaratan residensi data. Data disimpan atau direplikasi dalam region yang Anda tentukan.

Pub/Sub

Enkripsi data: Secara default, Pub/Sub mengenkripsi semua pesan, baik dalam penyimpanan maupun dalam pengiriman, menggunakan kunci enkripsi milik Google dan dikelola Google . Pub/Sub mendukung penggunaan CMEK untuk enkripsi pesan di lapisan aplikasi. Untuk informasi selengkapnya, lihat Mengonfigurasi enkripsi pesan.

Residensi data: Jika memiliki persyaratan residensi data, untuk memastikan data pesan disimpan di lokasi tertentu, Anda dapat mengonfigurasi kebijakan penyimpanan pesan.

Cloud Logging

Audit aktivitas administratif: Logging aktivitas administratif diaktifkan secara default untuk semua layanan Google Cloud yang digunakan dalam arsitektur referensi ini. Anda dapat mengakses log melalui Cloud Logging dan menggunakan log untuk memantau panggilan API atau tindakan lain yang mengubah konfigurasi atau metadata resource Google Cloud .

Audit akses data: Pencatatan log peristiwa akses data diaktifkan secara default untuk BigQuery. Untuk layanan lain yang digunakan dalam arsitektur ini, Anda dapat mengaktifkan log audit Akses Data. Anda dapat menggunakan log ini untuk memantau hal berikut:

  • Panggilan API yang membaca konfigurasi atau metadata resource.
  • Permintaan pengguna untuk membuat, mengubah, atau membaca data resource yang disediakan pengguna.

Keamanan data log: Google tidak mengakses atau menggunakan data di Cloud Logging.

Residensi data: Untuk membantu memenuhi persyaratan residensi data, Anda dapat mengonfigurasi Cloud Logging untuk menyimpan data log di region yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Membuat log secara regional.

Semua produk dalam arsitektur

Memitigasi risiko pemindahan data yang tidak sah: Untuk mengurangi risiko pemindahan data yang tidak sah, buat perimeter Kontrol Layanan VPC di sekitar infrastruktur. Kontrol Layanan VPC mendukung semua layanan yang digunakan dalam arsitektur referensi ini.

Pengoptimalan pasca-deployment: Setelah men-deploy aplikasi di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi yang dapat membantu Anda mengoptimalkan lebih lanjut keamanan resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat Menemukan rekomendasi di Hub Rekomendasi.

Kontrol akses: Ikuti prinsip hak istimewa terendah untuk setiap layanan cloud.

Untuk panduan umum terkait keamanan untuk deployment AI dan ML diGoogle Cloud, lihat referensi berikut:

Keandalan

Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk membangun dan mengoperasikan infrastruktur yang andal untuk deployment Anda di Google Cloud.

Produk Pertimbangan dan rekomendasi desain
Vector Search

Penskalaan kueri: Untuk memastikan bahwa indeks Penelusuran Vektor dapat menangani peningkatan beban kueri, Anda dapat mengonfigurasi penskalaan otomatis untuk endpoint indeks. Saat beban kueri meningkat, jumlah node akan otomatis ditingkatkan hingga maksimum yang Anda tentukan. Untuk informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis.

Cloud Run

Ketahanan terhadap pemadaman infrastruktur: Cloud Run adalah layanan regional. Data disimpan secara sinkron di beberapa zona dalam satu region. Traffic akan otomatis di-load balanced di seluruh zona. Jika terjadi pemadaman layanan zona, Cloud Run akan terus berjalan dan data tidak akan hilang. Jika terjadi pemadaman layanan region, Cloud Run akan berhenti berjalan hingga Google menyelesaikan pemadaman layanan tersebut.

Penanganan kegagalan: Setiap tugas atau tugas Cloud Run dapat gagal. Untuk menangani kegagalan tersebut, Anda dapat menggunakan percobaan ulang tugas dan checkpoint. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik percobaan ulang tugas dan checkpoint.

Cloud Storage Ketersediaan data: Anda dapat membuat bucket Cloud Storage di salah satu dari tiga jenis lokasi: regional, dual-region, atau multi-region. Data yang disimpan di bucket regional direplikasi secara sinkron di beberapa zona dalam satu region. Untuk ketersediaan yang lebih tinggi, Anda dapat menggunakan bucket dual-region atau multi-region, tempat data direplikasi secara asinkron di seluruh region.
Pub/Sub

Kontrol kapasitas: Untuk menghindari error selama periode lonjakan sementara dalam traffic pesan, Anda dapat membatasi kapasitas permintaan publikasi dengan mengonfigurasi kontrol alur di setelan penayang.

Penanganan kegagalan: Untuk menangani upaya publikasi yang gagal, sesuaikan variabel permintaan percobaan ulang sesuai kebutuhan. Untuk informasi selengkapnya, lihat Mencoba ulang permintaan.

BigQuery Ketahanan terhadap pemadaman infrastruktur: Data yang Anda muat ke BigQuery disimpan secara sinkron di dua zona dalam region yang Anda tentukan. Redundansi ini membantu memastikan data Anda tidak hilang saat pemadaman zona terjadi. Untuk mengetahui informasi selengkapnya tentang fitur keandalan di BigQuery, lihat Memahami keandalan.
Semua produk dalam arsitektur Pengoptimalan pasca-deployment: Setelah men-deploy aplikasi di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi guna mengoptimalkan keandalan resource cloud Anda lebih lanjut. Tinjau rekomendasi dan terapkan rekomendasi tersebut sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat Menemukan rekomendasi di Hub Rekomendasi.

Untuk ringkasan prinsip-prinsip dalam mendesain dan mengoperasikan sistem AI dan ML yang andal di Google Cloud, lihat Perspektif keandalan AI dan ML dalam Framework Arsitektur Google Cloud .

Pengoptimalan biaya

Bagian ini memberikan panduan untuk mengoptimalkan biaya penyiapan dan pengoperasian topologi Google Cloud yang Anda buat menggunakan arsitektur referensi ini.

Produk Pertimbangan dan rekomendasi desain
Vector Search

Penagihan untuk Vector Search bergantung pada ukuran indeks, kueri per detik (QPS), serta jumlah dan jenis mesin node yang Anda gunakan untuk endpoint indeks. Untuk beban kerja dengan QPS tinggi, pengelompokan kueri dapat membantu mengurangi biaya. Untuk mengetahui informasi tentang cara memperkirakan biaya Vector Search, lihat Contoh harga Vector Search.

Untuk meningkatkan penggunaan node komputasi tempat indeks Penelusuran Vektor di-deploy, Anda dapat mengonfigurasi penskalaan otomatis untuk endpoint indeks. Jika permintaan rendah, jumlah node akan dikurangi secara otomatis ke jumlah minimum yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis.

Cloud Run

Saat membuat tugas dan layanan Cloud Run, Anda menentukan jumlah memori dan CPU yang akan dialokasikan ke instance container. Untuk mengontrol biaya, mulailah dengan alokasi CPU dan memori default (minimum). Untuk meningkatkan performa, Anda dapat meningkatkan alokasi dengan mengonfigurasi batas CPU dan batas memori. Untuk informasi selengkapnya, lihat dokumentasi berikut:

Jika Anda dapat memprediksi persyaratan CPU dan memori dari tugas dan layanan Cloud Run, Anda dapat menghemat uang dengan mendapatkan diskon untuk penggunaan yang dikomitmenkan. Untuk mengetahui informasi selengkapnya, lihat Diskon abonemen Cloud Run.

Cloud Storage Untuk bucket Cloud Storage yang Anda gunakan untuk memuat data ke dalam subsistem penyerapan data, pilih class penyimpanan yang sesuai. Saat memilih class penyimpanan, pertimbangkan persyaratan retensi data dan frekuensi akses workload Anda. Misalnya, untuk mengontrol biaya penyimpanan, Anda dapat memilih class Standar dan menggunakan Object Lifecycle Management. Tindakan ini memungkinkan downgrade otomatis objek ke kelas penyimpanan dengan biaya lebih rendah atau penghapusan objek berdasarkan kondisi yang Anda tetapkan.
Cloud Logging

Untuk mengontrol biaya penyimpanan log, Anda dapat melakukan hal berikut:

  • Kurangi volume log dengan mengecualikan atau memfilter entri log yang tidak diperlukan. Untuk mengetahui informasi selengkapnya, lihat Filter pengecualian.
  • Kurangi periode retensi entri log. Untuk informasi selengkapnya, lihat Mengonfigurasi retensi kustom.
BigQuery BigQuery memungkinkan Anda memperkirakan biaya kueri sebelum menjalankannya. Untuk mengoptimalkan biaya kueri, Anda perlu mengoptimalkan penyimpanan dan komputasi kueri. Untuk mengetahui informasi selengkapnya, lihat Memperkirakan dan mengontrol biaya.
Semua produk dalam arsitektur Setelah men-deploy aplikasi di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi guna mengoptimalkan biaya resource cloud Anda lebih lanjut. Tinjau rekomendasi dan terapkan rekomendasi tersebut sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat Menemukan rekomendasi di Hub Rekomendasi.

Untuk memperkirakan biaya resource Google Cloud , gunakan Google Cloud Kalkulator Harga.

Untuk mengetahui ringkasan prinsip guna mengoptimalkan biaya sistem AI Anda sepanjang siklus proses ML, lihat Perspektif pengoptimalan biaya AI dan ML dalam Google Cloud Architecture Framework.

Pengoptimalan performa

Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk mendesain topologi di Google Cloud yang memenuhi persyaratan performa workload Anda.

Produk Pertimbangan dan rekomendasi desain
Vector Search

Saat membuat indeks, tetapkan ukuran shard, jenis pengukuran jarak, dan jumlah penyematan untuk setiap node daun berdasarkan persyaratan performa Anda. Misalnya, jika aplikasi Anda sangat sensitif terhadap variabilitas latensi, sebaiknya gunakan ukuran shard yang besar. Untuk informasi selengkapnya, lihat Parameter konfigurasi yang memengaruhi performa.

Saat Anda mengonfigurasi kapasitas komputasi node tempat indeks Vector Search di-deploy, pertimbangkan persyaratan performa Anda. Pilih jenis mesin yang sesuai dan tetapkan jumlah maksimum node berdasarkan beban kueri yang Anda harapkan. Untuk informasi selengkapnya, lihat Setelan deployment yang memengaruhi performa.

Konfigurasikan parameter kueri untuk indeks Vertex Search berdasarkan persyaratan Anda terkait performa, ketersediaan, dan biaya kueri. Misalnya, parameter approximateNeighborsCount menentukan jumlah tetangga yang harus diambil sebelum pengurutan ulang yang sama persis dilakukan. Mengurangi nilai parameter ini dapat membantu mengurangi latensi dan biaya. Untuk informasi selengkapnya, lihat Setelan waktu kueri yang memengaruhi performa.

Indeks yang terbaru membantu meningkatkan akurasi respons yang dihasilkan. Anda dapat memperbarui indeks Vector Search menggunakan update batch atau streaming. Pembaruan streaming memungkinkan Anda melakukan kueri mendekati real-time pada data yang diperbarui. Untuk informasi selengkapnya, lihat Mengupdate dan mem-build ulang indeks aktif.

Cloud Run

Secara default, setiap instance container Cloud Run dialokasikan satu CPU dan memori 512 MiB. Bergantung pada persyaratan performa, Anda dapat mengonfigurasi batas CPU dan batas memori. Untuk informasi selengkapnya, lihat dokumentasi berikut:

Untuk memastikan latensi yang optimal bahkan setelah periode tanpa traffic, Anda dapat mengonfigurasi jumlah minimum instance. Jika instance tersebut tidak ada aktivitas, CPU dan memori yang dialokasikan ke instance akan ditagih dengan harga yang lebih rendah.

Untuk panduan pengoptimalan performa selengkapnya, lihat Tips pengembangan Cloud Run umum.

Cloud Storage Untuk mengupload file besar, Anda dapat menggunakan metode yang disebut upload komposit paralel. Dengan strategi ini, file besar dibagi menjadi beberapa bagian. Potongan diupload ke Cloud Storage secara paralel, lalu data direkomposisi di cloud. Jika bandwidth jaringan dan kecepatan disk bukan faktor pembatas, upload komposit paralel dapat lebih cepat daripada operasi upload reguler. Namun, strategi ini memiliki beberapa keterbatasan dan implikasi biaya. Untuk mengetahui informasi selengkapnya, lihat Upload komposit paralel.
BigQuery

BigQuery menyediakan grafik eksekusi kueri yang dapat Anda gunakan untuk menganalisis performa kueri dan mendapatkan insight performa untuk masalah seperti pertentangan slot dan kuota shuffle yang tidak memadai. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan insight performa kueri.

Setelah mengatasi masalah yang diidentifikasi melalui insight performa kueri, Anda dapat mengoptimalkan kueri lebih lanjut dengan menggunakan teknik seperti mengurangi volume data input dan output. Untuk mengetahui informasi selengkapnya, lihat Mengoptimalkan komputasi kueri.

Semua produk dalam arsitektur Setelah men-deploy aplikasi di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi guna mengoptimalkan performa resource cloud Anda lebih lanjut. Tinjau rekomendasi dan terapkan rekomendasi tersebut sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat Menemukan rekomendasi di Hub Rekomendasi.

Untuk ringkasan prinsip guna mengoptimalkan performa workload AI dan ML Anda di Google Cloud, lihat Perspektif pengoptimalan performa AI dan ML dalam Framework Arsitektur Google Cloud .

Langkah selanjutnya

Kontributor

Penulis: Kumar Dhanagopal | Developer Solusi Lintas Produk

Kontributor lainnya: