Pustaka TensorFlow Ranking membantu Anda membangun pembelajaran yang skalabel untuk memberi peringkat model pembelajaran mesin menggunakan pendekatan dan teknik yang sudah mapan dari penelitian terbaru. Model peringkat mengambil daftar item serupa, seperti halaman web, dan menghasilkan daftar item yang dioptimalkan, misalnya yang paling relevan dengan halaman yang paling tidak relevan. Model pembelajaran rangking memiliki aplikasi dalam pencarian, penjawab pertanyaan, sistem pemberi rekomendasi, dan sistem dialog. Anda dapat menggunakan perpustakaan ini untuk mempercepat pembuatan model peringkat untuk aplikasi Anda menggunakan Keras API . Pustaka Peringkat juga menyediakan utilitas alur kerja untuk mempermudah peningkatan implementasi model Anda agar bekerja secara efektif dengan kumpulan data besar menggunakan strategi pemrosesan terdistribusi.
Ikhtisar ini memberikan ringkasan singkat tentang mengembangkan pembelajaran untuk memberi peringkat model dengan pustaka ini, memperkenalkan beberapa teknik lanjutan yang didukung oleh pustaka, dan membahas utilitas alur kerja yang disediakan untuk mendukung pemrosesan terdistribusi untuk aplikasi peringkat.
Mengembangkan pembelajaran untuk memberi peringkat model
Membangun model dengan library TensorFlow Ranking mengikuti langkah-langkah umum berikut:
- Tentukan fungsi penilaian menggunakan lapisan Keras (
tf.keras.layers
) - Tentukan metrik yang ingin Anda gunakan untuk evaluasi, seperti
tfr.keras.metrics.NDCGMetric
- Tentukan fungsi kerugian, seperti
tfr.keras.losses.SoftmaxLoss
- Kompilasi model dengan
tf.keras.Model.compile()
dan latih dengan data Anda
Tutorial film Rekomendasi memandu Anda melalui dasar-dasar membangun model pembelajaran untuk memberi peringkat dengan perpustakaan ini. Lihat bagian Dukungan peringkat terdistribusi untuk informasi lebih lanjut tentang membangun model peringkat skala besar.
Teknik peringkat tingkat lanjut
Pustaka Peringkat TensorFlow memberikan dukungan untuk menerapkan teknik peringkat lanjutan yang diteliti dan diterapkan oleh peneliti dan insinyur Google. Bagian berikut memberikan gambaran umum tentang beberapa teknik ini dan cara mulai menggunakannya dalam aplikasi Anda.
Pemesanan input daftar BERT
Pustaka Ranking menyediakan implementasi TFR-BERT, arsitektur penilaian yang menggabungkan BERT dengan pemodelan LTR untuk mengoptimalkan urutan input daftar. Sebagai contoh penerapan pendekatan ini, pertimbangkan kueri dan daftar n dokumen yang ingin Anda rangking sebagai tanggapan atas kueri ini. Alih-alih mempelajari representasi BERT yang diberi skor secara independen di seluruh pasangan <query, document>
, model LTR menerapkan kehilangan peringkat untuk bersama-sama mempelajari representasi BERT yang memaksimalkan utilitas seluruh daftar peringkat sehubungan dengan label kebenaran dasar. Gambar berikut mengilustrasikan teknik ini:

Pendekatan ini meratakan daftar dokumen untuk diberi peringkat sebagai respons terhadap kueri ke dalam daftar tupel <query, document>
. Tupel ini kemudian dimasukkan ke dalam model bahasa pra-terlatih BERT. Keluaran BERT yang dikumpulkan untuk seluruh daftar dokumen kemudian secara bersama-sama disesuaikan dengan salah satu penurunan peringkat khusus yang tersedia di Peringkat TensorFlow.
Arsitektur ini dapat memberikan peningkatan yang signifikan dalam kinerja model bahasa pra-latihan, menghasilkan kinerja canggih untuk beberapa tugas peringkat populer, terutama ketika beberapa model bahasa pra-latihan digabungkan. Untuk informasi lebih lanjut tentang teknik ini, lihat penelitian terkait. Anda dapat memulai dengan implementasi sederhana dalam kode contoh TensorFlow Ranking .
Model Aditif Umum Peringkat Neural (GAM)
Untuk beberapa sistem peringkat, seperti penilaian kelayakan pinjaman, penargetan iklan, atau panduan untuk perawatan medis, transparansi dan penjelasan merupakan pertimbangan penting. Menerapkan model aditif umum (GAM) dengan faktor bobot yang dipahami dengan baik dapat membantu model peringkat Anda menjadi lebih dapat dijelaskan dan ditafsirkan.
GAM telah dipelajari secara ekstensif dengan tugas regresi dan klasifikasi, tetapi kurang jelas bagaimana menerapkannya pada aplikasi pemeringkatan. Misalnya, sementara GAM dapat dengan mudah diterapkan untuk memodelkan setiap item individu dalam daftar, pemodelan interaksi item dan konteks di mana item ini diberi peringkat adalah masalah yang lebih menantang. TensorFlow Ranking menyediakan implementasi GAM peringkat neural , perpanjangan model aditif umum yang dirancang untuk masalah peringkat. Implementasi TensorFlow Ranking dari GAM memungkinkan Anda menambahkan bobot khusus ke fitur model Anda.
Ilustrasi sistem peringkat hotel berikut menggunakan relevansi, harga, dan jarak sebagai fitur peringkat utama. Model ini menerapkan teknik GAM untuk menimbang dimensi ini secara berbeda, berdasarkan konteks perangkat pengguna. Misalnya, jika kueri berasal dari telepon, jarak akan lebih ditimbang, dengan asumsi pengguna mencari hotel terdekat.

Untuk informasi lebih lanjut tentang penggunaan GAM dengan model peringkat, lihat penelitian terkait. Anda dapat memulai dengan contoh penerapan teknik ini dalam kode contoh TensorFlow Ranking .
Dukungan peringkat terdistribusi
TensorFlow Ranking dirancang untuk membangun sistem peringkat skala besar secara menyeluruh: termasuk pemrosesan data, pembuatan model, evaluasi, dan penerapan produksi. Ini dapat menangani fitur padat dan jarang yang heterogen, skala hingga jutaan titik data, dan dirancang untuk mendukung pelatihan terdistribusi untuk aplikasi peringkat skala besar.

Pustaka menyediakan arsitektur pipeline peringkat yang dioptimalkan, untuk menghindari kode boilerplate berulang dan membuat solusi terdistribusi yang dapat diterapkan mulai dari melatih model peringkat Anda hingga menyajikannya. Pipeline peringkat mendukung sebagian besar strategi terdistribusi TensorFlow , termasuk MirroredStrategy , TPUStrategy , MultiWorkerMirroredStrategy , dan ParameterServerStrategy . Pipeline peringkat dapat mengekspor model peringkat terlatih dalam format tf.saved_model
, yang mendukung beberapa tanda tangan input .. Selain itu, pipeline Ranking menyediakan callback yang berguna, termasuk dukungan untuk visualisasi data TensorBoard dan BackupAndRestore untuk membantu memulihkan dari kegagalan dalam jangka panjang operasi pelatihan.
Pustaka peringkat membantu membangun implementasi pelatihan terdistribusi dengan menyediakan satu set kelas tfr.keras.pipeline
, yang menggunakan pembuat model, pembuat data, dan hyperparameter sebagai masukan. Kelas tfr.keras.ModelBuilder
berbasis Keras memungkinkan Anda membuat model untuk pemrosesan terdistribusi, dan bekerja dengan kelas InputCreator, Preprocessor, dan Scorer yang dapat diperluas:
Kelas pipeline TensorFlow Ranking juga berfungsi dengan DatasetBuilder untuk menyiapkan data pelatihan, yang dapat menggabungkan hyperparameter . Terakhir, pipeline itu sendiri dapat menyertakan sekumpulan hyperparameter sebagai objek PipelineHparams .
Mulailah membangun model peringkat terdistribusi menggunakan tutorial peringkat Terdistribusi .
,Pustaka TensorFlow Ranking membantu Anda membangun pembelajaran yang skalabel untuk memberi peringkat model pembelajaran mesin menggunakan pendekatan dan teknik yang sudah mapan dari penelitian terbaru. Model peringkat mengambil daftar item serupa, seperti halaman web, dan menghasilkan daftar item yang dioptimalkan, misalnya yang paling relevan dengan halaman yang paling tidak relevan. Model pembelajaran rangking memiliki aplikasi dalam pencarian, penjawab pertanyaan, sistem pemberi rekomendasi, dan sistem dialog. Anda dapat menggunakan perpustakaan ini untuk mempercepat pembuatan model peringkat untuk aplikasi Anda menggunakan Keras API . Pustaka Peringkat juga menyediakan utilitas alur kerja untuk mempermudah peningkatan implementasi model Anda agar bekerja secara efektif dengan kumpulan data besar menggunakan strategi pemrosesan terdistribusi.
Ikhtisar ini memberikan ringkasan singkat tentang mengembangkan pembelajaran untuk memberi peringkat model dengan pustaka ini, memperkenalkan beberapa teknik lanjutan yang didukung oleh pustaka, dan membahas utilitas alur kerja yang disediakan untuk mendukung pemrosesan terdistribusi untuk aplikasi peringkat.
Mengembangkan pembelajaran untuk memberi peringkat model
Membangun model dengan library TensorFlow Ranking mengikuti langkah-langkah umum berikut:
- Tentukan fungsi penilaian menggunakan lapisan Keras (
tf.keras.layers
) - Tentukan metrik yang ingin Anda gunakan untuk evaluasi, seperti
tfr.keras.metrics.NDCGMetric
- Tentukan fungsi kerugian, seperti
tfr.keras.losses.SoftmaxLoss
- Kompilasi model dengan
tf.keras.Model.compile()
dan latih dengan data Anda
Tutorial film Rekomendasi memandu Anda melalui dasar-dasar membangun model pembelajaran untuk memberi peringkat dengan perpustakaan ini. Lihat bagian Dukungan peringkat terdistribusi untuk informasi lebih lanjut tentang membangun model peringkat skala besar.
Teknik peringkat tingkat lanjut
Pustaka Peringkat TensorFlow memberikan dukungan untuk menerapkan teknik peringkat lanjutan yang diteliti dan diterapkan oleh peneliti dan insinyur Google. Bagian berikut memberikan gambaran umum tentang beberapa teknik ini dan cara mulai menggunakannya dalam aplikasi Anda.
Pemesanan input daftar BERT
Pustaka Ranking menyediakan implementasi TFR-BERT, arsitektur penilaian yang menggabungkan BERT dengan pemodelan LTR untuk mengoptimalkan urutan input daftar. Sebagai contoh penerapan pendekatan ini, pertimbangkan kueri dan daftar n dokumen yang ingin Anda rangking sebagai tanggapan atas kueri ini. Alih-alih mempelajari representasi BERT yang diberi skor secara independen di seluruh pasangan <query, document>
, model LTR menerapkan kehilangan peringkat untuk bersama-sama mempelajari representasi BERT yang memaksimalkan utilitas seluruh daftar peringkat sehubungan dengan label kebenaran dasar. Gambar berikut mengilustrasikan teknik ini:

Pendekatan ini meratakan daftar dokumen untuk diberi peringkat sebagai respons terhadap kueri ke dalam daftar tupel <query, document>
. Tupel ini kemudian dimasukkan ke dalam model bahasa pra-terlatih BERT. Keluaran BERT yang dikumpulkan untuk seluruh daftar dokumen kemudian secara bersama-sama disesuaikan dengan salah satu penurunan peringkat khusus yang tersedia di Peringkat TensorFlow.
Arsitektur ini dapat memberikan peningkatan yang signifikan dalam kinerja model bahasa pra-latihan, menghasilkan kinerja canggih untuk beberapa tugas peringkat populer, terutama ketika beberapa model bahasa pra-latihan digabungkan. Untuk informasi lebih lanjut tentang teknik ini, lihat penelitian terkait. Anda dapat memulai dengan implementasi sederhana dalam kode contoh TensorFlow Ranking .
Model Aditif Umum Peringkat Neural (GAM)
Untuk beberapa sistem peringkat, seperti penilaian kelayakan pinjaman, penargetan iklan, atau panduan untuk perawatan medis, transparansi dan penjelasan merupakan pertimbangan penting. Menerapkan model aditif umum (GAM) dengan faktor bobot yang dipahami dengan baik dapat membantu model peringkat Anda menjadi lebih dapat dijelaskan dan ditafsirkan.
GAM telah dipelajari secara ekstensif dengan tugas regresi dan klasifikasi, tetapi kurang jelas bagaimana menerapkannya pada aplikasi pemeringkatan. Misalnya, sementara GAM dapat dengan mudah diterapkan untuk memodelkan setiap item individu dalam daftar, pemodelan interaksi item dan konteks di mana item ini diberi peringkat adalah masalah yang lebih menantang. TensorFlow Ranking menyediakan implementasi GAM peringkat neural , perpanjangan model aditif umum yang dirancang untuk masalah peringkat. Implementasi TensorFlow Ranking dari GAM memungkinkan Anda menambahkan bobot khusus ke fitur model Anda.
Ilustrasi sistem peringkat hotel berikut menggunakan relevansi, harga, dan jarak sebagai fitur peringkat utama. Model ini menerapkan teknik GAM untuk menimbang dimensi ini secara berbeda, berdasarkan konteks perangkat pengguna. Misalnya, jika kueri berasal dari telepon, jarak akan lebih ditimbang, dengan asumsi pengguna mencari hotel terdekat.

Untuk informasi lebih lanjut tentang penggunaan GAM dengan model peringkat, lihat penelitian terkait. Anda dapat memulai dengan contoh penerapan teknik ini dalam kode contoh TensorFlow Ranking .
Dukungan peringkat terdistribusi
TensorFlow Ranking dirancang untuk membangun sistem peringkat skala besar secara menyeluruh: termasuk pemrosesan data, pembuatan model, evaluasi, dan penerapan produksi. Ini dapat menangani fitur padat dan jarang yang heterogen, skala hingga jutaan titik data, dan dirancang untuk mendukung pelatihan terdistribusi untuk aplikasi peringkat skala besar.

Pustaka menyediakan arsitektur pipeline peringkat yang dioptimalkan, untuk menghindari kode boilerplate berulang dan membuat solusi terdistribusi yang dapat diterapkan mulai dari melatih model peringkat Anda hingga menyajikannya. Pipeline peringkat mendukung sebagian besar strategi terdistribusi TensorFlow , termasuk MirroredStrategy , TPUStrategy , MultiWorkerMirroredStrategy , dan ParameterServerStrategy . Pipeline peringkat dapat mengekspor model peringkat terlatih dalam format tf.saved_model
, yang mendukung beberapa tanda tangan input .. Selain itu, pipeline Ranking menyediakan callback yang berguna, termasuk dukungan untuk visualisasi data TensorBoard dan BackupAndRestore untuk membantu memulihkan dari kegagalan dalam jangka panjang operasi pelatihan.
Pustaka peringkat membantu membangun implementasi pelatihan terdistribusi dengan menyediakan satu set kelas tfr.keras.pipeline
, yang menggunakan pembuat model, pembuat data, dan hyperparameter sebagai masukan. Kelas tfr.keras.ModelBuilder
berbasis Keras memungkinkan Anda membuat model untuk pemrosesan terdistribusi, dan bekerja dengan kelas InputCreator, Preprocessor, dan Scorer yang dapat diperluas:
Kelas pipeline TensorFlow Ranking juga berfungsi dengan DatasetBuilder untuk menyiapkan data pelatihan, yang dapat menggabungkan hyperparameter . Terakhir, pipeline itu sendiri dapat menyertakan sekumpulan hyperparameter sebagai objek PipelineHparams .
Mulailah membangun model peringkat terdistribusi menggunakan tutorial peringkat Terdistribusi .