Memilih jenis tugas embedding

Model penyematan Vertex AI dapat menghasilkan penyematan yang dioptimalkan untuk berbagai jenis tugas, seperti pengambilan dokumen, tanya jawab, dan fakta verifikasi. Jenis tugas adalah label yang mengoptimalkan embedding yang diberikan model dibuat berdasarkan kasus penggunaan yang Anda maksudkan. Dokumen ini menjelaskan cara memilih jenis tugas yang optimal untuk embeddings Anda.

Model yang didukung

Jenis tugas didukung oleh model berikut:

  • textembedding-gecko@003
  • text-embedding-004
  • text-multilingual-embedding-002

Manfaat jenis tugas

Jenis tugas dapat meningkatkan kualitas embedding yang dihasilkan oleh emedding model transformer.

Pertanyaan dan jawabannya tidak mirip secara semantik
Gambar 1. Pertanyaan dan jawabannya tidak mirip secara semantik, yang berarti embedding tidak akan otomatis menunjukkan hubungannya.

Misalnya, saat membangun sistem Retrieval Augmented Generation (RAG), sebuah umumnya adalah menggunakan embedding teks, Penelusuran Vektor ke melakukan pencarian kesamaan. Dalam beberapa kasus, hal ini dapat menyebabkan penurunan kualitas penelusuran karena pertanyaan dan jawabannya tidak mirip secara semantik. Sebagai misalnya, pertanyaan seperti "Mengapa langit berwarna biru?" dan jawabannya, “{i>Scattering<i} (Penyebaran) sinar matahari menyebabkan warna biru," memiliki arti yang berbeda yang berarti bahwa sistem RAG tidak akan secara otomatis mengenali relasional, seperti yang ditunjukkan dalam gambar 1. Tanpa jenis tugas, pengembang RAG akan perlu melatih model mereka untuk mempelajari hubungan antara kueri dan jawaban yang membutuhkan keterampilan dan pengalaman sains data tingkat lanjut, atau gunakan perluasan kueri berbasis LLM atau HyDE yang dapat menyebabkan latensi tinggi dan untuk biaya operasional.

Jenis tugas menempatkan pertanyaan dan jawaban di ruang embeddings
Gambar 2. Jenis tugas mengoptimalkan embeddings untuk tugas tertentu. Dalam hal ini, pertanyaan dan jawaban disatukan dalam ruang embeddings.

Dengan jenis tugas, Anda dapat menghasilkan penyematan yang dioptimalkan untuk tugas tertentu, yang menghemat waktu dan biaya yang dibutuhkan untuk mengembangkan embedding spesifik per tugas. Embedding yang dihasilkan untuk kueri "Why is the sky biru?" dan jawabannya, "Penyebaran sinar matahari menyebabkan warna biru" akan berada di ruang embedding bersama yang mewakili hubungan di antara keduanya, seperti yang ditunjukkan pada gambar 2. Dalam contoh RAG ini, embedding yang dioptimalkan akan menghasilkan penelusuran kemiripan yang lebih baik.

Selain kasus penggunaan kueri dan jawaban, jenis tugas juga menyediakan embedding ruang untuk tugas-tugas seperti klasifikasi, pengelompokan, dan fakta verifikasi.

Jenis tugas yang didukung

Model embedding yang menggunakan jenis tugas mendukung jenis tugas berikut:

Jenis tugas Deskripsi
SEMANTIC_SIMILARITY Digunakan untuk menghasilkan embeddings yang dioptimalkan untuk menilai kesamaan teks
CLASSIFICATION Digunakan untuk membuat embeddings yang dioptimalkan untuk mengklasifikasikan teks sesuai dengan label preset
CLUSTERING Digunakan untuk menghasilkan embeddings yang dioptimalkan untuk mengelompokkan teks berdasarkan kesamaannya
RETRIEVAL_DOCUMENT, RETRIEVAL_QUERY, QUESTION_ANSWERING, dan FACT_VERIFICATION Digunakan untuk menghasilkan penyematan yang dioptimalkan untuk penelusuran dokumen atau pengambilan informasi

Jenis tugas terbaik untuk tugas embedding Anda bergantung pada kasus penggunaan yang Anda miliki. embedding Anda. Sebelum memilih jenis tugas, tentukan embedding yang digunakan ini masalahnya atau bukan.

Menentukan kasus penggunaan embeddings

Kasus penggunaan embedding biasanya termasuk dalam salah satu dari empat kategori berikut: menilai kemiripan teks, mengklasifikasikan teks, mengelompokkan teks, atau mengambil informasi dari teks. Jika kasus penggunaan Anda tidak termasuk dalam salah satu kategori sebelumnya, gunakan jenis tugas RETRIEVAL_QUERY secara default.

Menilai kemiripan teks

Jika Anda ingin menggunakan embeddings untuk menilai kesamaan teks, gunakan metode Jenis tugas SEMANTIC_SIMILARITY. Jenis tugas ini menghasilkan embedding dioptimalkan untuk menghasilkan skor kesamaan.

Misalnya, Anda ingin menghasilkan embeddings yang akan digunakan untuk membandingkan kesamaan teks berikut:

  • Kucing sedang tidur
  • Kucing sedang tidur siang

Ketika embedding digunakan untuk membuat skor kesamaan, skor kesamaan tinggi, karena kedua teks tersebut memiliki arti yang hampir sama.

Pertimbangkan skenario dunia nyata berikut saat menilai kesamaan input akan berguna:

  • Untuk sistem rekomendasi, Anda ingin mengidentifikasi item (misalnya, produk, artikel, film) yang secara semantik mirip dengan item pilihan pengguna, memberikan rekomendasi yang dipersonalisasi dan meningkatkan kepuasan pengguna.

Mengklasifikasikan teks

Jika Anda ingin menggunakan embedding untuk mengklasifikasikan teks menurut label preset, gunakan jenis tugas CLASSIFICATION. Jenis tugas ini menghasilkan embedding embedding yang dioptimalkan untuk klasifikasi.

Misalnya, Anda ingin membuat embeddings untuk postingan media sosial yang bisa Anda gunakan untuk mengklasifikasikan sentimen mereka sebagai positif, negatif, atau netral. Ketika embeddings untuk postingan media sosial yang bertuliskan "Saya tidak suka bepergian dengan pesawat" diklasifikasikan, sentimen akan diklasifikasikan sebagai negatif.

Teks cluster

Jika Anda ingin menggunakan embeddings untuk mengelompokkan teks berdasarkan kesamaannya, gunakan jenis tugas CLUSTERING. Jenis tugas ini menghasilkan embedding dioptimalkan untuk dikelompokkan berdasarkan kesamaannya.

Misalnya, Anda ingin menghasilkan embeddings untuk artikel berita sehingga tampilkan artikel kepada pengguna yang topiknya terkait dengan yang mereka miliki dibaca sebelumnya. Setelah embedding dibuat dan dikelompokkan, menyarankan artikel terkait olahraga tambahan kepada pengguna yang banyak membaca tentang olahraga.

Kasus penggunaan tambahan untuk pengelompokan mencakup:

  • Segmentasi pelanggan: mengelompokkan pelanggan dengan penyematan serupa yang dihasilkan dari profil atau aktivitas mereka untuk pemasaran tertarget dan personalisasi pengalaman yang lancar bagi developer.
  • Segmentasi produk: mengelompokkan embedding produk berdasarkan produknya judul dan deskripsi, gambar produk, atau ulasan pelanggan dapat membantu bisnis melakukan analisis segmen pada produk mereka.
  • Riset pasar: mengelompokkan respons survei konsumen atau data media sosial embedding dapat mengungkap pola dan tren tersembunyi dalam opini konsumen, preferensi, dan perilaku, membantu upaya riset pasar dan menginformasikan strategi pengembangan produk.
  • Layanan kesehatan: pengelompokan embedding pasien yang berasal dari data medis dapat membantu mengidentifikasi kelompok dengan kondisi atau respons perlakuan yang serupa, sehingga ke rencana layanan kesehatan yang lebih personal dan terapi yang ditargetkan.
  • Tren masukan pelanggan: mengelompokkan masukan pelanggan dari berbagai saluran (survei, media sosial, tiket dukungan) ke dalam grup dapat membantu mengidentifikasi poin masalah umum, permintaan fitur, dan area untuk produk peningkatan performa.

Mengambil informasi dari teks

Jika Anda ingin menggunakan {i>embedding<i} untuk penelusuran dokumen atau pengambilan informasi, dan Kasus penggunaan Tanya Jawab seperti penelusuran, chatbot, atau RAG seperti yang dibahas di bagian pendahuluan, Anda perlu menjalankan dua tugas embedding dengan tipe tugas yang berbeda:

  1. Gunakan jenis tugas RETRIEVAL_DOCUMENT guna membuat penyematan yang dioptimalkan untuk dokumen Anda (disebut juga korpus).
  2. Gunakan salah satu jenis tugas berikut untuk membuat embeddings yang dioptimalkan untuk kueri, bergantung pada sifat kueri:
    • RETRIEVAL_QUERY: Gunakan sebagai jenis tugas default untuk kueri, seperti "terbaik restoran di Vancouver", "sayuran hijau", atau "Kue apa yang terbaik resep?".
    • QUESTION_ANSWERING: Gunakan jika semua kueri diformat sebagai pertanyaan yang sesuai, seperti "Mengapa langit berwarna biru?" atau "Bagaimana cara mengaitkan tali sepatu?".
    • FACT_VERIFICATION: Gunakan jika Anda ingin mengambil dokumen dari korpus yang membuktikan atau menyangkal suatu pernyataan. Misalnya, kueri "apel tumbuh di bawah tanah" mungkin mengambil artikel tentang apel yang pada akhirnya akan menyangkal pernyataan tersebut.

Pertimbangkan skenario dunia nyata berikut di mana kueri pengambilan akan berguna:

  • Untuk platform e-commerce, Anda ingin menggunakan embedding, menelusuri produk menggunakan kueri teks dan gambar, yang memberikan pengalaman berbelanja yang intuitif dan menarik.
  • Untuk platform pendidikan, Anda ingin membangun sistem tanya jawab yang dapat menjawab pertanyaan berdasarkan konten buku pelajaran atau referensi, yang memberikan pengalaman belajar yang dipersonalisasi, dan membantu siswa memahami konsep yang kompleks.

Langkah selanjutnya