Dokumen ini memberikan arsitektur referensi yang dapat Anda gunakan untuk mendesain infrastruktur aplikasi AI generatif dengan retrieval-augmented generation (RAG) menggunakan Vector Search. Vector Search adalah layanan terkelola sepenuhnya Google Cloud yang menyediakan infrastruktur penayangan yang dioptimalkan untuk pencocokan kesamaan vektor dalam skala yang 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 disajikan dalam dokumen ini:
Arsitektur pada diagram sebelumnya memiliki dua subsistem: penyerapan dan penyajian data.
- Subsistem penyerapan data menyerap data yang diupload dari sumber eksternal. Subsistem menyiapkan data untuk RAG dan berinteraksi dengan Vertex AI untuk membuat embedding untuk data yang diserap serta membangun dan memperbarui indeks vektor.
- Subsistem inferensi berisi layanan frontend dan backend aplikasi AI generatif.
- Layanan frontend menangani alur kueri-respons 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 serta petunjuk sistem AI yang Bertanggung Jawab.
Diagram berikut menunjukkan tampilan mendetail arsitektur:
Bagian berikut menjelaskan aliran data dalam setiap subsistem pada 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 penyiapan data:
- Data diupload dari sumber eksternal ke bucket Cloud Storage. Sumber eksternal dapat berupa aplikasi, database, atau layanan streaming.
- Saat data diupload ke Cloud Storage, pesan akan dipublikasikan ke topik Pub/Sub.
- Saat menerima pesan, topik Pub/Sub akan memicu fungsi Cloud Run.
- Fungsi Cloud Run mengurai data mentah, memformatnya sesuai kebutuhan, dan membaginya menjadi beberapa bagian.
- Fungsi ini menggunakan Vertex AI Embeddings API untuk membuat embedding potongan dengan menggunakan model embedding yang Anda tentukan. Vertex AI mendukung model embedding teks dan multimodal.
- Fungsi ini kemudian membuat indeks Vector Search dari embedding, lalu men-deploy indeks.
Saat data baru di-ingest, langkah-langkah sebelumnya dilakukan untuk data baru dan indeks diupdate menggunakan update streaming.
Saat memproses permintaan pengguna, subsistem inferensi menggunakan indeks Vector Search untuk penelusuran kesamaan vektor. Bagian berikut menjelaskan alur penayangan.
Subsistem inferensi
Subsistem inferensi menangani alur kueri-respons antara aplikasi AI generatif dan penggunanya. Berikut adalah langkah-langkah dalam alur penayangan:
- Pengguna mengirimkan kueri bahasa alami ke layanan Cloud Run yang menyediakan antarmuka frontend (seperti chatbot) untuk aplikasi AI generatif.
- Layanan frontend meneruskan kueri pengguna ke layanan Cloud Run backend.
- Layanan backend memproses kueri dengan melakukan hal berikut:
- Mengonversi kueri menjadi embedding menggunakan model dan parameter embedding yang sama dengan yang digunakan subsistem penyerapan data untuk membuat embedding data yang diserap.
- Mengambil data perujukan yang relevan dengan melakukan penelusuran kesamaan vektor untuk embedding kueri di indeks Vector Search.
- Membuat prompt yang telah di-augmentasi dengan menggabungkan kueri asli dengan data perujukan.
- Mengirimkan perintah yang telah di-augmentasi ke LLM yang di-deploy di Vertex AI.
- LLM menghasilkan respons.
- Untuk setiap perintah, Vertex AI menerapkan filter keamanan Responsible AI yang telah Anda konfigurasi, lalu mengirimkan respons yang difilter dan skor keamanan AI ke layanan backend Cloud Run.
- Aplikasi mengirimkan respons kepada pengguna melalui layanan frontend Cloud Run.
Anda dapat menyimpan dan melihat log aktivitas kueri-respons 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 kualitas perintah dalam skala besar, baik selama desain perintah awal maupun untuk penyesuaian perintah berkelanjutan. Pengoptimal perintah mengevaluasi respons model Anda terhadap serangkaian contoh perintah yang diberikan oleh engineer ML. Output evaluasi mencakup respons model terhadap perintah contoh, skor untuk metrik yang ditentukan oleh engineer ML, dan serangkaian 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 AI.
- Vector Search: Layanan pencocokan kemiripan vektor yang memungkinkan Anda menyimpan, mengindeks, dan menelusuri data yang memiliki kemiripan atau keterkaitan semantik.
- Cloud Run: Platform komputasi serverless yang memungkinkan Anda menjalankan container langsung di atas infrastruktur Google yang bersifat skalabel.
- Fungsi Cloud Run: Platform komputasi serverless yang memungkinkan Anda menjalankan fungsi tujuan tunggal langsung di Google Cloud.
- Cloud Storage: Penyimpanan objek berbiaya rendah dan tanpa batas untuk beragam jenis data. Data dapat diakses dari dalam dan luar Google Cloud, serta direplikasi di berbagai 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 machine learning, analisis geospasial, dan business intelligence.
Kasus penggunaan
RAG adalah teknik efektif untuk meningkatkan kualitas output yang dihasilkan dari LLM. Bagian ini memberikan contoh kasus penggunaan yang dapat Anda gunakan untuk aplikasi AI generatif berkemampuan RAG.
Rekomendasi produk yang dipersonalisasi
Situs belanja online dapat menggunakan chatbot yang didukung LLM untuk membantu pelanggan menemukan produk atau mendapatkan bantuan terkait belanja. Pertanyaan dari pengguna dapat dilengkapi dengan menggunakan data historis tentang perilaku pembelian pengguna dan pola interaksi situs. Data tersebut dapat mencakup ulasan dan masukan pengguna yang disimpan di penyimpanan data 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 lebih menarik dan memikat bagi 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 tepat. 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 catatan pasien historis dengan mengontekstualisasikan perintah dokter dengan data dari database catatan kesehatan elektronik (EHR) rumah sakit atau dari pusat informasi eksternal seperti PubMed.
Penelitian hukum yang efisien
Riset hukum yang didukung teknologi AI generatif memungkinkan pengacara dengan cepat mengkueri sejumlah besar hukum dan hukum kasus untuk mengidentifikasi preseden hukum yang relevan atau meringkas konsep hukum yang kompleks. Hasil riset tersebut dapat ditingkatkan dengan melengkapi perintah pengacara menggunakan 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 berkemampuan RAG di Google Cloud.
Alternatif infrastruktur AI
Jika Anda ingin memanfaatkan kemampuan penyimpanan vektor dari database yang dikelola sepenuhnya seperti AlloyDB untuk PostgreSQL atau Cloud SQL untuk aplikasi RAG Anda, lihat Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan AlloyDB untuk PostgreSQL. Google Cloud
Jika Anda ingin membangun 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 GKE dan Cloud SQL.
Opsi hosting aplikasi
Dalam arsitektur yang ditampilkan dalam dokumen ini, Cloud Run adalah host untuk aplikasi AI generatif dan pemrosesan data. Cloud Run adalah platform aplikasi terkelola sepenuhnya yang berfokus pada developer. Jika Anda 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 pertimbangan antara fleksibilitas konfigurasi dan upaya pengelolaan. Dengan opsi Cloud Run serverless, Anda men-deploy aplikasi ke lingkungan yang telah dikonfigurasi sebelumnya dan hanya memerlukan sedikit upaya pengelolaan. Dengan VM Compute Engine dan container GKE, Anda bertanggung jawab untuk mengelola resource komputasi yang mendasarinya, tetapi Anda memiliki fleksibilitas dan kontrol konfigurasi yang lebih besar. Untuk mengetahui informasi selengkapnya tentang cara memilih layanan hosting aplikasi yang sesuai, lihat dokumen berikut:
- Apakah aplikasi saya cocok untuk Cloud Run?
- Pilih lingkungan runtime penampung terkelola
- Menghosting Aplikasi di Google Cloud
Opsi lain
Untuk mengetahui informasi tentang opsi infrastruktur lainnya, model yang didukung, dan teknik perujukan 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 spesifik Anda terkait keamanan, keandalan, biaya, dan performa.
Panduan di bagian ini tidak lengkap. Bergantung pada persyaratan spesifik aplikasi Anda serta produk dan fitur pihak pertama dan pihak ketiga yang Anda gunakan, mungkin ada faktor desain dan pertimbangan tambahan yang harus Anda pertimbangkan. Google Cloud
Keamanan, kepatuhan, dan privasi
Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk merancang topologi yang memenuhi persyaratan keamanan dan kepatuhan workload Anda. Google Cloud
Produk | Pertimbangan dan rekomendasi desain |
---|---|
Vertex AI |
Kontrol keamanan: Vertex AI mendukung Google Cloud kontrol keamanan 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 serta menyediakan alat dan 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 informasi selengkapnya, tonton video ini: Melindungi data sensitif di aplikasi AI. |
Cloud Run |
Keamanan ingress (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. Selain menyeimbangkan beban traffic masuk ke aplikasi, load balancer menangani pengelolaan sertifikat SSL. Untuk perlindungan tambahan, Anda dapat menggunakan kebijakan keamanan Google Cloud Armor untuk menyediakan pemfilteran permintaan, perlindungan DDoS, dan pembatasan kecepatan untuk layanan.
Keamanan ingress (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, setel
parameter Enkripsi data: Secara default, Cloud Run mengenkripsi data menggunakan Google-owned and Google-managed encryption key. 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 layanan Cloud Run, Anda dapat menggunakan Otorisasi Biner. Residensi data: Cloud Run membantu Anda memenuhi persyaratan residensi data. Instance container Cloud Run berjalan dalam region yang Anda pilih. Untuk panduan selengkapnya tentang keamanan container, lihat Tips pengembangan Cloud Run umum. |
Cloud Storage |
Enkripsi data: Secara default, data yang disimpan di Cloud Storage dienkripsi menggunakan Google-owned and Google-managed encryption keys. Jika diperlukan, Anda dapat menggunakan CMEK atau kunci Anda sendiri yang Anda kelola dengan 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 mengetahui informasi selengkapnya, lihat Ringkasan kontrol akses. Perlindungan data: Data yang Anda muat ke subsistem penyerapan data melalui Cloud Storage mungkin mencakup data sensitif. Untuk melindungi data tersebut, Anda dapat menggunakan Sensitive Data Protection untuk menemukan, mengklasifikasikan, dan melakukan de-identifikasi data tersebut. 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 saat disimpan maupun saat dikirim, dengan menggunakan Google-owned and Google-managed encryption keys. Pub/Sub mendukung penggunaan CMEK untuk enkripsi pesan di lapisan aplikasi. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi enkripsi pesan. Residensi data: Jika Anda memiliki persyaratan residensi data, untuk memastikan bahwa data pesan disimpan di lokasi tertentu, Anda dapat mengonfigurasi kebijakan penyimpanan pesan. |
Cloud Logging |
Audit aktivitas administratif: Pencatatan 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 lainnya yang mengubah konfigurasi atau metadata Google Cloud resource. Audit akses data: Pencatatan 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:
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 Mengelompokkan log berdasarkan wilayah. |
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 seputar infrastruktur. Kontrol Layanan VPC mendukung semua layanan yang digunakan dalam arsitektur referensi ini. Pengoptimalan setelah deployment: Setelah men-deploy aplikasi Anda 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 kebutuhan untuk lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel 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 di Google Cloud, lihat referensi berikut:
- (Blog) Memperkenalkan Secure AI Framework Google
- (Dokumentasi) Perspektif keamanan AI dan ML dalam Google Cloud Well-Architected Framework
- (Dokumentasi) Tanggung jawab bersama Vertex AI
- (Laporan Resmi) AI Generatif, Privasi, dan Google Cloud
- (Video) Melindungi data sensitif di aplikasi AI
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 ditingkatkan secara otomatis hingga maksimum yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis. |
Cloud Run |
Ketahanan terhadap gangguan 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. |
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 kecepatan: Untuk menghindari error selama periode lonjakan sementara dalam traffic pesan, Anda dapat membatasi kecepatan permintaan publikasi dengan mengonfigurasi kontrol alur di setelan publisher. Penanganan kegagalan: Untuk menangani upaya publikasi yang gagal, sesuaikan variabel retry-request sesuai kebutuhan. Untuk mengetahui informasi selengkapnya, lihat Mengirim ulang permintaan. |
BigQuery | Ketahanan terhadap gangguan 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 terjadi gangguan zona. Untuk mengetahui informasi selengkapnya tentang fitur keandalan di BigQuery, lihat Memahami keandalan. |
Semua produk dalam arsitektur | Pengoptimalan pasca-deployment: Setelah men-deploy aplikasi Anda di Google Cloud, gunakan layanan Active Assist untuk mendapatkan rekomendasi guna mengoptimalkan lebih lanjut keandalan resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel Menemukan rekomendasi di Hub Rekomendasi. |
Untuk prinsip dan rekomendasi keandalan yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Keandalan dalam Well-Architected Framework.
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 QPS tinggi, pengelompokan kueri dapat membantu mengurangi biaya. Untuk mengetahui informasi tentang cara memperkirakan biaya Vector Search, lihat Contoh penetapan harga Vector Search. Untuk meningkatkan pemanfaatan node komputasi tempat indeks Vector Search 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 informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis. |
Cloud Run |
Saat membuat 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 dapat memprediksi persyaratan CPU dan memori layanan Cloud Run, Anda dapat menghemat uang dengan mendapatkan diskon untuk penggunaan yang berkomitmen. 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 kelas penyimpanan yang sesuai. Saat memilih kelas penyimpanan, pertimbangkan persyaratan retensi data dan frekuensi akses workload Anda. Misalnya, untuk mengontrol biaya penyimpanan, Anda dapat memilih kelas Standard dan menggunakan Object Lifecycle Management. Dengan demikian, objek dapat diturunkan kelasnya secara otomatis ke kelas penyimpanan berbiaya lebih rendah atau dihapus berdasarkan kondisi yang Anda tetapkan. |
Cloud Logging |
Untuk mengontrol biaya penyimpanan log, Anda dapat melakukan hal berikut:
|
BigQuery | BigQuery memungkinkan Anda memperkirakan biaya kueri sebelum Anda 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 lebih lanjut biaya resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel Menemukan rekomendasi di Hub Rekomendasi. |
Untuk memperkirakan biaya resource Google Cloud , gunakan Google Cloud Kalkulator Harga.
Untuk prinsip dan rekomendasi pengoptimalan biaya yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Pengoptimalan biaya dalam Well-Architected Framework.
Pengoptimalan performa
Bagian ini menjelaskan pertimbangan dan rekomendasi desain untuk mendesain topologi di Google Cloud yang memenuhi persyaratan performa beban kerja Anda.
Produk | Pertimbangan dan rekomendasi desain |
---|---|
Vector Search |
Saat membuat indeks, tetapkan ukuran shard, jenis pengukuran jarak, dan jumlah embedding untuk setiap node daun berdasarkan persyaratan performa Anda. Misalnya, jika aplikasi Anda sangat sensitif terhadap variabilitas latensi, sebaiknya gunakan ukuran shard yang besar. Untuk mengetahui informasi selengkapnya, lihat Parameter konfigurasi yang memengaruhi performa. Saat 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 mengetahui informasi selengkapnya, lihat Setelan deployment yang memengaruhi performa.
Konfigurasi parameter kueri untuk indeks Vertex Search berdasarkan
persyaratan Anda untuk performa, ketersediaan, dan biaya kueri.
Misalnya, parameter Indeks yang terbaru akan membantu meningkatkan akurasi respons yang dihasilkan. Anda dapat mengupdate indeks Vector Search menggunakan update batch atau streaming. Pembaruan streaming memungkinkan Anda melakukan kueri hampir real-time pada data yang diperbarui. Untuk mengetahui informasi selengkapnya, lihat Mengupdate dan membangun 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 umum Cloud Run. |
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 disusun ulang di cloud. Jika bandwidth jaringan dan kecepatan disk bukan merupakan faktor pembatas, upload komposit paralel dapat lebih cepat daripada operasi upload reguler. Namun, strategi ini memiliki beberapa batasan 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 informasi selengkapnya, lihat Mendapatkan insight performa kueri. Setelah mengatasi masalah yang Anda identifikasi melalui insight performa kueri, Anda dapat mengoptimalkan kueri lebih lanjut dengan menggunakan teknik seperti mengurangi volume data input dan output. Untuk 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 lebih lanjut performa resource cloud Anda. Tinjau rekomendasi dan terapkan sesuai dengan lingkungan Anda. Untuk mengetahui informasi selengkapnya, lihat artikel Menemukan rekomendasi di Hub Rekomendasi. |
Untuk prinsip dan rekomendasi pengoptimalan performa yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Pengoptimalan performa dalam Well-Architected Framework.
Deployment
Untuk men-deploy topologi yang didasarkan pada arsitektur referensi ini, Anda dapat mendownload dan menggunakan konfigurasi sampel Terraform yang tersedia di repositori di GitHub. Ikuti petunjuk dalam README di repositori. Kode contoh tidak ditujukan untuk kasus penggunaan produksi.
Langkah berikutnya
- Memilih model dan infrastruktur untuk aplikasi AI generatif Anda
- Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan Vertex AI dan AlloyDB untuk PostgreSQL
- Infrastruktur untuk aplikasi AI generatif berkemampuan RAG menggunakan GKE dan Cloud SQL
- Untuk mengetahui ringkasan prinsip dan rekomendasi arsitektur yang khusus untuk workload AI dan ML di Google Cloud, lihat perspektif AI dan ML dalam Well-Architected Framework.
- Untuk mengetahui lebih banyak tentang arsitektur referensi, diagram, dan praktik terbaik lainnya, jelajahi Pusat Arsitektur Cloud.
Kontributor
Penulis: Kumar Dhanagopal | Cross-Product Solution Developer
Kontributor lainnya:
- Assaf Namer | Principal Cloud Security Architect
- Deepak Michael | Networking Specialist Customer Engineer
- Divam Anand | Product Strategy and Operations Lead
- Eran Lewis | Senior Product Manager
- Jerome Simms | Director, Product Management
- Katie McLaughlin | Senior Developer Relations Engineer
- Mark Schlagenhauf | Technical Writer, Networking
- Megan O'Keefe | Head of Industry Compete, Cloud Platform Evaluations Team
- Nicholas McNamara | Product and Commercialization Strategy Principal
- Preston Holmes | Outbound Product Manager - App Acceleration
- Rob Edwards | Technology Practice Lead, DevOps
- Victor Moreno | Product Manager, Cloud Networking
- Wietse Venema | Developer Relations Engineer