FeatureStore adalah platform terpusat untuk manajemen dan berbagi data dalam Platform for AI (PAI). Platform ini mengorganisasi, menyimpan, dan mengelola data fitur untuk pembelajaran mesin dan pelatihan AI. FeatureStore menyederhanakan berbagi fitur lintas tim, menjamin konsistensi antara data offline dan online, serta menyediakan akses fitur online yang efisien.
Apa itu FeatureStore?
FeatureStore adalah alat manajemen fitur dalam platform PAI yang menyimpan dan mengelola data fitur untuk layanan offline maupun online.
FeatureStore terintegrasi dengan produk Alibaba Cloud seperti DataHub, Flink, Hologres, dan Tablestore. Platform ini juga mencakup FeatureDB, yaitu database fitur yang dirancang khusus untuk pencarian dan rekomendasi. Aplikasi dapat menerima log perilaku serta properti item dan pengguna secara real-time dari DataHub, lalu menyinkronkannya langsung ke MaxCompute. Data tersebut juga dapat diproses oleh Flink, kemudian dituliskan ke online store melalui FeatureStore. Mesin rekomendasi, aplikasi pertumbuhan pengguna, dan aplikasi pengendalian risiko kemudian memanggil software development kit (SDK) FeatureStore untuk mengakses data fitur di online store.
Gambar berikut menunjukkan proses pemasukan data dari MaxCompute dan DataHub, pemrosesan untuk perhitungan fitur dan manajemen sampel model, serta penerbitan ke online store untuk aplikasi klien.
Istilah
Feature entity: Feature entity adalah kumpulan bernama dari tabel fitur. Misalnya, dalam skenario rekomendasi, Anda dapat menetapkan dua feature entity: user dan item, karena semua fitur tabel termasuk dalam sisi pengguna atau sisi item.
Feature view: Feature view adalah kelompok fitur yang berisi informasi tentang sekumpulan fitur beserta fitur turunannya. Feature view merupakan bagian dari keseluruhan set fitur suatu feature entity dan memetakan tabel fitur offline ke tabel fitur online.
Join ID: Join ID adalah bidang dalam tabel fitur yang menghubungkan feature view dengan feature entity. Setiap feature entity memiliki Join ID untuk menghubungkan fitur dari beberapa feature view.
CatatanSetiap feature view memiliki primary key atau index key untuk mengambil data fiturnya. Namun, nama index key pada feature view dapat berbeda dari nama Join ID.
Misalnya, dalam skenario rekomendasi, Join ID dapat diatur sebagai user_id dan item_id, yang merupakan primary key dari tabel user dan item.
Label table: Label table menyimpan label untuk pelatihan model. Tabel ini berisi target pelatihan model dan Join ID dari feature entity. Dalam skenario rekomendasi, tabel ini biasanya diperoleh dari tabel perilaku menggunakan operasi seperti
group by user_id/item_id/request_id.
Skenario
Sistem rekomendasi dan pengurutan iklan: Gunakan FeatureStore untuk mengelola fitur pengguna dan item secara terpusat, termasuk riwayat penjelajahan pengguna, catatan pembelian, dan persona pengguna. Kemampuan baca-tulis fitur real-time dari FeatureStore dapat meningkatkan performa model, sehingga meningkatkan akurasi dan efektivitas pengiriman iklan.
Pengurutan hasil mesin pencari: Dalam skenario ini, data fitur mencakup tingkat kecocokan kata kunci, click-through rate (CTR), dan volume penjualan. Gunakan FeatureStore untuk melatih model pengurutan. Model ini mengurutkan hasil recall dari mesin pencari seperti Elasticsearch atau OpenSearch. Hasil recall tersebut kemudian digunakan untuk meminta layanan scoring dari model TensorFlow di EAS, sehingga memberikan hasil pencarian yang lebih akurat dan personal sesuai niat pencarian dan preferensi pengguna.
Pertumbuhan pengguna atau pengendalian risiko: Gunakan FeatureStore untuk mengelola data fitur seperti informasi pribadi pengguna, perilaku transaksi, dan catatan kredit. Gabungkan data ini dengan model pembelajaran mesin, seperti XGBoost dan GBDT, untuk melakukan penilaian risiko. Hal ini meningkatkan akurasi dan efisiensi pengendalian risiko.
Sinkronisasi data KV offline ke online store: Gunakan FeatureStore untuk mengelola data fitur seperti tabel atribut produk dan atribut pengguna. Hal ini menyederhanakan tugas penjadwalan untuk menyinkronkan data offline ke online store.
Fitur
Dukungan untuk berbagai sumber data
FeatureStore mengelola seluruh proses dari fitur hingga model dan mendukung berbagai sumber data offline dan online tempat Anda dapat mendaftarkan serta mengelola tabel fitur.
Sumber data berikut didukung:
Offline store: MaxCompute
Online stores: FeatureDB, Hologres, dan Tablestore
Setelah Anda mendaftarkan tabel fitur di FeatureStore, Anda memperoleh manfaat berikut:
Sinkronisasi otomatis: Anda dapat secara otomatis membangun tabel online dan offline, sehingga menjamin konsistensi antara data online dan offline.
Penghematan biaya: Fitur hanya perlu disimpan sekali dan dapat dibagikan di antara beberapa tim, sehingga mengurangi biaya sumber daya.
Peningkatan efisiensi: FeatureStore menghemat waktu. Operasi kompleks, seperti mengekspor tabel pelatihan atau mengimpor data ke database online, kini dapat diselesaikan hanya dengan satu baris kode.
Manajemen fitur offline dan real-time
Platform fitur ini dapat mengelola offline feature views dan real-time feature views. Fitur offline mencakup fitur atribut dan statistik pengguna serta item. Fitur real-time mencakup pengguna atau item baru yang diterbitkan dan dituliskan langsung ke online store seperti Hologres melalui Flink. Fitur ini juga mencakup fitur yang dianalisis secara statistik berdasarkan jendela waktu, seperti jumlah klik, penerusan, pembelian, serta tingkat konversi dalam satu jam.
Manajemen fitur statistik real-time dan fitur urutan pengguna
Kompleksitas dan kebutuhan real-time dari fitur model umumnya meningkat seiring waktu. Oleh karena itu, diperlukan manajemen terhadap fitur statistik real-time dan fitur urutan perilaku pengguna yang dihitung oleh Flink secara real-time. FeatureStore mendefinisikan fitur urutan pengguna secara offline, seperti urutan ID item yang diklik oleh pengguna. Namun, hanya urutan ID item saja tidak cukup. Model sering menggunakan fitur atribut (SideInfo) dari item tersebut. Mengirimkan SideInfo secara online melalui jaringan mengonsumsi volume data yang besar. Di EasyRec, SDK FeatureStore melakukan cache terhadap fitur item. Hal ini mengurangi waktu respons inferensi dan meningkatkan kinerja inferensi.
Asosiasi otomatis dan ekspor sampel model
Anda dapat menggunakan PAI-FeatureStore untuk mengelola sampel yang dihasilkan. Terutama ketika model menggunakan fitur dari real-time feature view, gunakan fitur Create Model Feature. Fitur ini secara otomatis menghasilkan sampel yang benar berdasarkan informasi pembaruan fitur real-time yang dicatat di FeatureDB. Fitur ini secara otomatis mengasosiasikan fitur real-time, sehingga Anda tidak perlu menerapkan callback interface di mesin PAI-Rec.
Berbagi fitur baru dan lama
Ketika developer algoritma atau BI membuat kumpulan fitur pengguna atau item baru, Anda dapat merancang ModelFeature baru untuk menghubungkan fitur baru dan lama yang diperlukan oleh set data pelatihan. Gunakan FeatureStore SDK untuk mengekspor sampel guna pelatihan offline. Anda juga dapat menggunakan FeatureStore SDK untuk menerbitkan sampel ke online store untuk layanan online. Ketika beberapa model mereferensikan feature view yang sama, hanya satu salinan yang disimpan secara online. Manajemen fitur ini sangat menguntungkan rekayasa algoritma, terutama saat Anda menambahkan fitur untuk mengoptimalkan model secara iteratif.
SDK multi-bahasa
FeatureStore menyediakan SDK Go, Java, dan Python. SDK ini membantu Anda menggunakan fitur FeatureStore dalam solusi gabungan PAI-REC dan EasyRecProcessor. Gunakan SDK Java untuk memanggil EasyRecProcessor atau mesin scoring model lain dari engine server-side Anda sendiri, seperti pencarian, rekomendasi, dan pengendalian risiko. SDK Python memungkinkan Anda mengakses data di online store untuk melakukan analitik data, pemodelan, dan tugas lainnya.
SDK pembangkit fitur
Pembangkitan fitur mengacu pada pendefinisian dan pembuatan fitur. Anda dapat dengan mudah mendefinisikan fitur menggunakan skrip Python, lalu mengeksekusi skrip tersebut untuk menghasilkan fitur yang diperlukan. Selanjutnya, daftarkan fitur tersebut di platform PAI-FeatureStore. feature generation SDK adalah kode open source independen berbasis MaxCompute SQL yang digunakan untuk mengurangi kompleksitas pembangkitan fitur. Proses implementasinya menggunakan data antara tingkat harian. Saat Anda menggunakan data perilaku 30 hari untuk menghitung fitur statistik preferensi pengguna, Anda dapat menghemat sumber daya komputasi secara signifikan.
Integrasi mendalam dengan mesin rekomendasi EasyRec
FeatureStore terintegrasi secara mendalam dengan EasyRec dan TorchEasyRec. Platform ini mendukung rekayasa fitur (FG) dan pelatihan model yang efisien. Anda dapat langsung menerapkan model secara online ke EasyRec Processor dan TorchEasyRec Processor. Hal ini membantu Anda membangun sistem rekomendasi berperforma tinggi dalam waktu singkat. EasyRec menyediakan cache memori untuk tabel fitur item dan menawarkan scoring model yang efisien.
FeatureStore Cpp SDK yang terintegrasi ke dalam EasyRec Processor dioptimalkan untuk skenario berskala besar. Setelah menggunakan FeatureStore:
Penggunaan memori: FeatureStore Cpp SDK bawaan dalam EasyRec Processor mengoptimalkan penyimpanan fitur. Penggunaan memori berkurang hingga 50% dibandingkan caching memori native. Penghematan ini semakin signifikan saat Anda memproses banyak fitur, sehingga membantu mengurangi konsumsi sumber daya.
Waktu pengambilan fitur: Offline feature views dapat dengan cepat menyimpan cache fitur ke memori. Kecepatannya lebih dari 5 kali lipat dibandingkan menggunakan sumber data online. Hal ini meningkatkan kecepatan dan mengurangi beban pada sumber data online. Stabilitas tinggi dari sumber data offline memungkinkan Anda melakukan scaling out ke ratusan instans EAS secara bersamaan. Setiap instans dapat memuat semua fitur dalam hitungan menit, sehingga scaling out tidak memberikan tekanan signifikan pada online store.
Waktu scoring model: Scoring model mengekstraksi fitur secara real-time dari cache yang dioptimalkan. Dengan optimasi spesifik dari FeatureStore Cpp SDK, performa tp100 meningkat secara signifikan. Stabilitas scoring ditingkatkan dan timeout berkurang.
Cara Kerja
FeatureStore menyediakan kemampuan sumber data yang dapat terhubung ke produk penyimpanan offline dan online, memungkinkan pembacaan, penulisan, dan manajemen data fitur offline dan online secara terpadu.
Anda dapat mendaftarkan tabel fitur offline dan online di feature view FeatureStore untuk mengagregasi dan memetakan data fitur.
Anda dapat menyimpan label table di offline store MaxCompute dan mendaftarkannya melalui sumber data offline. Label table FeatureStore yang terdaftar dipetakan ke data label table aktual.
FeatureStore menyediakan feature project dan feature entity. Gunakan Join ID dari feature entity untuk menghubungkan feature view lintas proyek dan mengaitkan semua fitur entitas tersebut. Akhirnya, gabungkan dengan label table untuk menghasilkan tabel fitur model, juga dikenal sebagai tabel Train Set, dan simpan di MaxCompute.
Wilayah dan Zona
FeatureStore tersedia di wilayah berikut:
Area | Wilayah |
Asia-Pasifik |
|
Eropa dan Amerika |
|
Prosedur
Anda dapat membuat sumber data. Sumber data mencakup offline store dan online store.
Anda dapat membuat proyek. Buat feature entity, feature view, dan label table untuk menghasilkan tabel train set fitur model, juga dikenal sebagai training dataset.
Anda dapat menjalankan tugas sinkronisasi data untuk menyinkronkan data offline ke online store.
Setelah memulai tugas sinkronisasi data offline ke online store, Anda dapat melihat status dan detail tugas di Task Hub.
Untuk membaca dan menggunakan data online FeatureStore dalam layanan online Java atau Go, bergabunglah dengan grup DingTalk di 34415007523 untuk menghubungi dukungan teknis.