Praktik terbaik berikut akan membantu Anda merencanakan dan menggunakan Vertex AI Feature Store (Lama) dalam berbagai skenario. Panduan ini tidaklah lengkap.
Fitur model yang bersama-sama mendeskripsikan banyak entity
Beberapa fitur mungkin berlaku untuk banyak jenis entity. Misalnya, Anda mungkin memiliki nilai terhitung yang mencatat klik per produk berdasarkan pengguna. Fitur ini secara bersama-sama menjelaskan pasangan produk-pengguna.
Praktik terbaiknya, dalam hal ini, adalah membuat jenis entity terpisah untuk mengelompokkan fitur bersama. Anda dapat membuat jenis entity, seperti product-user
, untuk menampung fitur bersama.
Untuk ID entity, sambung ID entity individual, seperti ID entity produk dan pengguna individual. Satu-satunya persyaratan adalah ID harus berupa string. Jenis entity gabungan ini disebut jenis entity komposit.
Untuk mengetahui informasi selengkapnya, lihat membuat jenis entity.
Menggunakan kebijakan IAM untuk mengontrol akses di banyak tim
Gunakan peran dan kebijakan IAM untuk menetapkan berbagai tingkat akses ke berbagai grup pengguna. Misalnya, peneliti ML, data scientist, DevOps, dan site reliability engineer semuanya memerlukan akses ke featurestore yang sama, tetapi tingkat akses mereka dapat berbeda. Contoh, pengguna DevOps mungkin memerlukan izin untuk mengelola featurestore, tetapi tidak memerlukan akses ke konten featurestore.
Anda juga dapat membatasi akses ke featurestore atau jenis entity tertentu menggunakan kebijakan IAM tingkat resource.
Sebagai contoh, bayangkan organisasi Anda mencakup persona berikut. Karena setiap persona memerlukan tingkat akses yang berbeda, setiap persona diberi peran IAM bawaan yang berbeda. Anda juga dapat membuat dan menggunakan peran khusus Anda sendiri.
Persona | Deskripsi | Peran bawaan |
---|---|---|
Peneliti ML atau analis bisnis | Pengguna yang hanya melihat data tentang jenis entity tertentu | roles/aiplatform.featurestoreDataViewer (dapat diberikan di tingkat project atau resource) |
Data scientist atau data engineer | Pengguna yang bekerja dengan resource jenis entity tertentu. Untuk resource yang dimiliki, mereka dapat mendelegasikan akses ke akun utama lainnya. | roles/aiplatform.entityTypeOwner (dapat diberikan di tingkat project atau resource) |
IT atau DevOps | Pengguna yang harus memelihara dan menyesuaikan performa featurestore tertentu, tetapi tidak memerlukan akses ke data. | roles/aiplatform.featurestoreInstanceCreator (dapat diberikan di tingkat project atau resource) |
Pipeline impor data otomatis | Aplikasi yang menulis data ke jenis entity tertentu. | roles/aiplatform.featurestoreDataWriter (dapat diberikan di tingkat project atau resource) |
Site reliability engineer | Pengguna yang mengelola featurestore tertentu atau semua featurestore di sebuah project | roles/aiplatform.featurestoreAdmin (dapat diberikan di tingkat project atau resource) |
Global (semua pengguna Vertex AI Feature Store (Lama)) | Mengizinkan pengguna melihat dan menelusuri fitur yang ada. Jika menemukan fitur yang ingin digunakan, pengguna dapat meminta akses dari pemilik fitur tersebut. Bagi pengguna konsol Google Cloud, peran ini juga diperlukan untuk melihat halaman landing Vertex AI Feature Store (Legacy), halaman tugas impor, dan halaman tugas penyaluran batch. |
Berikan peran roles/aiplatform.featurestoreResourceViewer di tingkat project. |
Memantau dan menyesuaikan resource sesuai untuk mengoptimalkan impor batch
Tugas impor batch memerlukan pekerja untuk memproses dan menulis data, yang dapat meningkatkan penggunaan CPU featurestore Anda dan memengaruhi performa penayangan online. Jika mempertahankan performa penyaluran online menjadi prioritas, mulailah dengan satu worker untuk setiap sepuluh node penyaluran online. Selama proses impor, pantau penggunaan CPU dari penyimpanan online. Jika penggunaan CPU lebih rendah dari yang diperkirakan, tingkatkan jumlah pekerja untuk tugas impor batch di masa mendatang guna meningkatkan throughput. Jika penggunaan CPU lebih tinggi dari yang diperkirakan, tingkatkan jumlah node penyaluran online untuk meningkatkan kapasitas CPU atau menurunkan jumlah pekerja impor batch, yang keduanya dapat menurunkan penggunaan CPU.
Jika Anda meningkatkan jumlah node penyaluran online, perlu diingat bahwa Vertex AI Feature Store (Lama) memerlukan waktu sekitar 15 menit untuk mencapai performa optimal setelah Anda melakukan update.
Untuk mengetahui informasi selengkapnya, lihat memperbarui featurestore dan nilai fitur impor batch.
Untuk informasi selengkapnya tentang pemantauan featurestore, lihat metrik Cloud Monitoring.
Menggunakan kolom disableOnlineServing
saat mengisi ulang data historis
Pengisian ulang adalah proses mengimpor nilai fitur historis dan tidak memengaruhi nilai fitur terbaru. Dalam hal ini, Anda dapat menonaktifkan penyaluran online, yang akan melewati perubahan apa pun pada penyimpanan online. Untuk informasi selengkapnya, lihat Mengisi ulang data historis.
Menggunakan penskalaan otomatis untuk mengurangi biaya selama fluktuasi beban
Jika Anda menggunakan Vertex AI Feature Store (Lama) secara ekstensif dan sering mengalami fluktuasi beban dalam pola traffic Anda, gunakan penskalaan otomatis untuk mengoptimalkan biaya. Dengan penskalaan otomatis, Vertex AI Feature Store (Lama) dapat meninjau pola traffic dan otomatis meningkatkan atau menurunkan jumlah node sesuai dengan penggunaan CPU, alih-alih mempertahankan jumlah node yang tinggi. Opsi ini cocok dengan pola traffic yang mengalami peningkatan dan penurunan bertahap.
Untuk mempelajari penskalaan otomatis lebih lanjut, lihat Opsi penskalaan.
Menguji performa node penyaluran online untuk penyaluran real-time
Anda dapat memastikan performa featurestore selama penyaluran online real-time dengan menguji performa node penyaluran online Anda. Anda dapat menjalankan pengujian ini berdasarkan berbagai parameter tolok ukur, seperti QPS, latensi, dan API. Ikuti panduan berikut untuk menguji performa node penyaluran online:
Jalankan semua klien pengujian dari region yang sama, sebaiknya di Compute Engine atau Google Kubernetes Engine: Hal ini mencegah perbedaan akibat latensi jaringan yang dihasilkan oleh hop di seluruh region.
Gunakan gRPC API di SDK: gRPC API berperforma lebih baik daripada REST API. Jika Anda perlu menggunakan REST API, aktifkan opsi keep-alive HTTP untuk menggunakan kembali koneksi HTTP. Jika tidak, setiap permintaan akan menghasilkan koneksi HTTP baru, yang akan meningkatkan latensi.
Jalankan pengujian dengan durasi lebih lama: Jalankan pengujian dengan durasi lebih lama (15 menit atau lebih) dan dengan minimal 5 QPS untuk menghitung metrik secara lebih akurat.
Tambahkan periode "pemanasan": Jika Anda memulai pengujian setelah tidak aktif selama beberapa waktu, Anda mungkin melihat latensi yang tinggi saat koneksi aktif kembali. Untuk memperhitungkan periode awal latensi tinggi, Anda dapat menetapkan periode ini sebagai "periode pemanasan". Pembacaan data awal selama periode ini akan diabaikan. Anda juga dapat mengirim tingkat traffic artifisial yang rendah tetapi konsisten ke featurestore agar koneksi tetap aktif.
Jika diperlukan, aktifkan penskalaan otomatis: Jika Anda menduga traffic online akan meningkat dan menurun secara bertahap, aktifkan penskalaan otomatis. Jika penskalaan otomatis dipilih, Vertex AI akan otomatis mengubah jumlah node penyaluran online berdasarkan pemakaian CPU.
Untuk mempelajari lebih lanjut penyaluran online, lihat Penyaluran online. Untuk informasi selengkapnya tentang node penyaluran online, lihat Node penyaluran online.
Menentukan waktu mulai untuk mengoptimalkan biaya penyimpanan offline selama penyaluran batch dan ekspor batch
Untuk mengoptimalkan biaya penyimpanan offline selama penyaluran batch dan ekspor batch, Anda dapat menentukan startTime
dalam permintaan batchReadFeatureValues
atau exportFeatureValues
. Permintaan ini menjalankan kueri atas subset data fitur yang tersedia, berdasarkan startTime
yang ditentukan. Jika waktu mulai tidak ditentukan, seluruh volume data fitur yang tersedia akan dikueri, sehingga biaya penggunaan penyimpanan offline akan meningkat.