Penyematan kontekstual di luar pasase emas

Metode pelatihan, model, dan tolok ukur baru untuk mengambil jawaban dan konteks pendukungnya.

PenulisPerplexity Research & turbopuffer

Pendahuluan

Penyematan kontekstual menangkap makna setiap bagian atau segmen dalam konteks keseluruhan dokumen. Pelatihan dan evaluasi mereka biasanya berasumsi satu bagian yang relevan per query, yang dikenal sebagai “pasase emas.” Namun, pasase emas sering kali tidak cukup dalam praktiknya. Pasase tersebut mungkin berisi jawaban tetapi tidak memiliki konteks pendukung yang diperlukan untuk memahami atau memverifikasinya, sehingga membuatnya ambigu secara terisolasi.

Kami memperkenalkan pplx-embed-v2-context-9b-preview, model penyematan kontekstual baru kami. Model ini dilatih dengan pendekatan baru yang menggunakan model kompresi konteks Perplexity sebagai guru. Kami mengagregasikan prediksi tingkat tokennya ke dalam skor relevansi tingkat bagian, mengajarkan model penyematan untuk mengambil bagian jawaban dan konteks pendukung alih-alih satu bagian emas tunggal. Model ini menghasilkan satu penyematan per bagian tanpa biaya inferensi tambahan dan mendukung penyematan 1024 dimensi dan int8.

Model ini mencapai hasil state-of-the-art pada context-bench, tolok ukur baru untuk pengambilan sadar konteks yang dibuat dan dipegang secara pribadi oleh turbopuffer, dan pada ConTEB, tolok ukur publik yang banyak digunakan. Model kami dikembangkan secara independen dari context-bench dan dievaluasi sebagai pengajuan buta.

Context-bench terdiri dari 2.099 kueri atas 38.894 dokumen panjang dalam 21 domain dan mengevaluasi tiga kapabilitas penyematan kontekstual: disambiguasi dokumen di antara dokumen yang hampir duplikat, pengambilan bagian emas yang maknanya bergantung pada konteks yang jauh, dan perolehan kembali bukti pendukung yang diperlukan untuk memverifikasi jawaban.

Pratinjau model tersedia untuk umum di Hugging Face. Tolok ukur ini disimpan secara pribadi oleh turbopuffer untuk mengurangi risiko kontaminasi pelatihan dan mempertahankan nilainya untuk mengukur kemajuan. Untuk meminta evaluasi, silakan hubungi turbopuffer di contextbench@turbopuffer.com.

Gambar 1: Answer@K, Document@K, Evidence Recall@K, dan All-Evidence@10 pada context-bench, membandingkan Perplexity v2 preview 9B dengan Voyage Context 4, Voyage 4 Large, dan Perplexity context v1 4B.

Mengapa konteks penting untuk pengambilan

Sistem pengambilan biasanya membagi dokumen panjang menjadi bagian-bagian yang lebih kecil yang dapat diindeks dan dicari secara independen. Pembagian bagian ini praktis, tetapi menghilangkan konteks tempat asal setiap bagian muncul, sehingga menciptakan pertukaran antara granularitas kompresi informasi dan konteks yang digunakan selama pengodean. Suatu bagian mungkin merujuk pada entitas yang diperkenalkan sebelumnya, mewarisi maknanya dari tajuk bagian, atau mengandalkan definisi yang terletak di tempat lain dalam dokumen. Setelah diekstrak, bagian tersebut mungkin tidak lagi berisi informasi yang cukup untuk dicocokkan secara andal dengan kueri. Mengodekan seluruh dokumen sebagai satu vektor tunggal tidak menyelesaikan masalah ini, karena satu representasi gabungan tidak dapat secara akurat menangkap setiap facet dari dokumen yang panjang.

Model penyematan kontekstual mengatasi keterbatasan ini dengan merepresentasikan setiap bagian dalam konteks konten di sekitarnya, paling umum melalui late chunking: dokumen dikodekan dalam satu lintasan dan representasi bagian dikumpulkan setelahnya, sehingga setiap vektor bagian dihitung dengan seluruh dokumen yang terlihat. Pekerjaan sebelumnya, seperti ConTEB dan pplx-embed-context-v1 milik kami sendiri, telah menunjukkan bahwa representasi bagian yang dikontekstualisasikan secara substansial meningkatkan pengambilan atas bagian yang dikodekan secara independen, terutama pada dokumen yang panjang.

Batasan pengawasan bagian emas

Melatih model penyematan kontekstual memerlukan pengawasan yang mengidentifikasi bagian mana dari dokumen yang relevan dengan kueri tertentu. Pendekatan umum adalah anotasi bagian emas: untuk setiap kueri, seorang dianotator, biasanya model bahasa besar (LLM), mengidentifikasi bagian dokumen yang menjawabnya.

Pelatihan biasanya menggabungkan dua kerugian kontrasif: kerugian lintas dokumen yang mengontraskan bagian emas dengan bagian dari dokumen lain, dan kerugian dalam dokumen yang mengontraskannya dengan bagian lain dalam dokumen yang sama.

Pendekatan ini memiliki beberapa keterbatasan:

  1. Hanya satu bagian yang relevan. Pendekatan ini memperlakukan setiap bagian lain dalam dokumen sebagai negatif, termasuk yang memiliki informasi pendukung yang berguna. Pengawasan tingkat dokumen beroperasi pada ekstrem yang lain. Pendekatan ini mengidentifikasi dokumen sebagai relevan tanpa menentukan bagian mana di dalamnya yang penting. Dalam praktiknya, relevansi sering kali berada di antara ekstrem ini. Bagian yang memuat jawaban mungkin bergantung pada beberapa bagian pendukung yang memperkenalkan entitas, menyelesaikan referensi, atau memasok fakta pelengkap, sementara bagian dokumen lainnya tidak relevan. Oleh karena itu, model harus mempelajari tingkat selektivitas yang tepat: lebih luas daripada satu bagian emas, tetapi lebih terfokus daripada dokumen secara keseluruhan.
  2. Pengawasan kasar. Karena setiap anotasi mengidentifikasi satu bagian emas alih-alih menangkap derajat relevansi di seluruh dokumen, hal ini memberikan sinyal pelatihan yang terbatas untuk jumlah komputasi yang dihabiskan untuk menghasilkan anotasi tersebut.
  3. Mahal untuk diskalakan. Setiap pasangan pelatihan memerlukan LLM untuk membaca dokumen dan memilih bagian yang relevan, sehingga biaya anotasi tumbuh secara linier dengan ukuran set pelatihan dan membatasi seberapa banyak dan seberapa beragam data pelatihan tersebut.
  4. Sensitif terhadap batas bagian. Label juga terikat pada batas bagian yang digunakan selama anotasi. Label emas yang ditetapkan ke jendela ukuran token tetap tidak menentukan kalimat yang lebih pendek atau paragraf yang lebih panjang mana yang relevan. Oleh karena itu, mengubah strategi pembagian bagian, atau melatih di beberapa pembagian bagian untuk meningkatkan ketahanan terhadap bagaimana dokumen dibagi pada waktu pengindeksan, mungkin memerlukan anotasi ulang pada korpus.

Pendekatan baru untuk pembelajaran kontekstual

Kami mengatasi keterbatasan pengawasan bagian emas dengan menyuling penilaian relevansi dari model kompresi konteks sadar kueri. Model ini berfungsi sebagai guru: ia membaca kueri dan dokumen secara bersamaan dan menetapkan skor relevansi untuk setiap token dokumen. Prediksinya menawarkan beberapa keuntungan untuk melatih penyematan kontekstual:

  1. Batas bagian yang fleksibel. Skor relevansi tingkat token dapat agregatkan pada batas bagian yang dipilih, memungkinkan prediksi guru yang sama untuk mengawasi pembagian bagian yang berbeda tanpa anotasi ulang.
  2. Relevansi kontinu. Tidak seperti label bagian emas biner, guru menyediakan skor kontinu yang menangkap derajat relevansi yang secara alami membedakan bagian yang memuat jawaban, konteks pendukung, dan konten yang tidak relevan.
  3. Biaya anotasi lebih rendah. Guru ini kompak dan berspesialisasi dalam penilaian relevansi, menjadikannya jauh lebih murah untuk diawasi dalam skala besar daripada LLM tujuan umum.

Kami melatih model kami dengan jumlah tertimbang dari kerugian kontrasif tingkat dokumen dan kerugian distilasi tingkat bagian atas sekumpulan pasangan kueri-dokumen. Untuk setiap kueri, dokumen yang dipasangkan berfungsi sebagai positif, sementara dokumen yang tersisa di batch yang sama berfungsi sebagai negatif.

Untuk setiap batch, kami secara acak memilih strategi pembagian bagian, membagi dokumen sesuai dengan itu, dan menyisipkan token pemisah di antara bagian. Kami kemudian memproses setiap dokumen dalam satu lintasan maju dan merata-ratakan representasi token di dalam setiap bagian untuk mendapatkan penyematan bagian kontekstual. Kueri dikodekan secara terpisah, dengan perataan rata-rata atas representasi tokennya. Terakhir, kami menghitung kemiripan kosinus antara setiap penyematan kueri dan setiap penyematan bagian dalam batch.

Fungsi kerugian

Kerugian kontrasif tingkat dokumen

Meskipun model penyematan kami hanya menghasilkan kemiripan tingkat bagian, kami secara alami dapat menurunkan kemiripan tingkat dokumen darinya. Kami menganggap dokumen d sama relevannya dengan kueri q seperti bagian yang paling relevan. Aturan penilaian ini terinspirasi dari operasi MaxSim ColBERT, yang diterapkan di sini pada bagian alih-alih token.

Secara khusus, diberikan kueri q dengan penyematan q dan dokumen d sebagai daftar terurut bagian c dengan penyematan c, kami mendefinisikan kemiripan tingkat dokumen sebagai:

s(q,d):=max⁡c∈dq⊤c.s(q,d):=\max_{c\in d}\mathbf{q}^{\top}\mathbf{c}.

Diberikan kemiripan tingkat dokumen ini, kita dapat merumuskan objektif InfoNCE tingkat dokumen atas negatif dalam batch.

Untuk kueri q, biarkan d⁺ menandakan dokumen yang relevan dan 𝒟 dokumen dalam batch. Kerugian kontrasif adalah sebagai berikut, menghilangkan suhu untuk keterbacaan:

Ldoc(q,d+)=−log⁡exp⁡(s(q,d+))∑d∈Dexp⁡(s(q,d))\mathcal{L}_{\mathrm{doc}}(q,d^{+})=-\log\frac{\exp(s(q,d^{+}))}{\sum_{d\in\mathcal{D}}\exp(s(q,d))}

Kerugian distilasi tingkat bagian

Kerugian kontrasif mengajarkan model dokumen mana yang relevan dengan kueri. Kerugian distilasi mengajarkan di mana letak relevansi dalam dokumen tersebut, yang sangat penting untuk model kontekstual.

Selama pelatihan, kami meneruskan setiap pasangan kueri-dokumen positif ke model kompresi konteks kami, yang menetapkan skor relevansi ke setiap token dalam dokumen. Seperti pada penilaian tingkat dokumen, kami menurunkan relevansi setiap bagian dari kontennya yang paling relevan. Untuk mengurangi sensitivitas terhadap token pencilan, termasuk yang berada di batas bagian, kami mendefinisikan relevansi tingkat bagian sebagai rata-rata dari skor token n teratas di dalam bagian tersebut.

Untuk setiap kueri, kami menerapkan softmax berskala suhu ke skor relevansi tingkat bagian guru di dalam dokumen positif untuk mendapatkan distribusi target. Bagian dalam dokumen lain di batch menerima probabilitas target nol. Kami melatih model penyematan untuk mencocokkan target ini dengan meminimalkan divergensi KL maju antara target dan distribusi prediksinya atas semua bagian dalam batch:

Ldist(q,d+)=KL ⁣(pT∥pS)\mathcal{L}_{\mathrm{dist}}(q,d^{+})=\mathrm{KL}\!\left(p^{\mathrm{T}}\parallel p^{\mathrm{S}}\right)
pT(cj)=exp⁡(rj)∑ck∈d+exp⁡(rk)p^{\mathrm{T}}(c_j)=\frac{\exp(r_j)}{\sum_{c_k\in d^{+}}\exp(r_k)}
pS(c)=exp⁡(q⊤c)∑d∈D∑ck∈dexp⁡(q⊤ck)p^{\mathrm{S}}(c)=\frac{\exp(\mathbf{q}^{\top}\mathbf{c})}{\sum_{d\in\mathcal{D}}\sum_{c_k\in d}\exp(\mathbf{q}^{\top}\mathbf{c}_k)}

Di sini, superskrip T dan S menunjukkan guru dan siswa, dan rⱼ adalah skor relevansi guru untuk bagian cⱼ dalam dokumen positif d⁺. Distribusi target guru menetapkan probabilitas nol ke bagian di semua dokumen lain dalam batch.

Tidak seperti label bagian emas tunggal, target ini menangkap derajat relevansi. Bagian pendukung menerima bobot sesuai dengan skor guru alih-alih diperlakukan sebagai negatif, mengajarkan model untuk mengambil konteks pendukung serta jawaban.

Kerugian gabungan

Objektif pelatihan gabungan kami adalah jumlah tertimbang dari kerugian kontrasif tingkat dokumen dan kerugian distilasi tingkat bagian. Kami merata-ratakan kerugian tertimbang ini atas batch pasangan kueri-dokumen.

Gambar 2 mengilustrasikan pendekatan pelatihan kami. Kompresor konteks berfungsi sebagai guru hanya selama pelatihan. Pada waktu inferensi, model penyematan menghasilkan satu penyematan kontekstual per bagian, tanpa kompresi tambahan atau tahap penyusunan ulang. Pendekatan ini meningkatkan cara penyematan kontekstual dipelajari tanpa meningkatkan penyimpanan indeks atau menambahkan latensi model guru pada waktu pengambilan.

Gambar 2: Pengaturan pelatihan model kami. Enkoder kontekstual (siswa, kiri) memproses dokumen, masing-masing terdiri dari beberapa bagian. Setiap bagian disematkan sehubungan dengan konteks dokumen di sekitarnya. Kueri A adalah kecocokan yang diketahui untuk Dokumen A dan dinilai terhadap bagian dari semua dokumen untuk mendapatkan kemiripan yang diprediksikan. Skor tingkat bagian ini dikumpulkan secara maks ke skor tingkat dokumen. Kami melatih prediksi tingkat bagian dan prediksi tingkat dokumen untuk mencocokkan distribusi target (kanan). Target tingkat bagian dihitung pada waktu pelatihan sebagai prediksi kompresor konteks di dalam dokumen relevan yang diketahui dan disetel ke nol di dalam dokumen tidak relevan yang diketahui. Distribusi target tingkat dokumen disetel menjadi one-hot pada dokumen relevan yang diketahui.

Data pelatihan

Data pelatihan terdiri dari sekitar 430 dataset kueri-dokumen publik dan internal yang mencakup lebih dari 50 bahasa.

Kami membuat dataset pasangan internal dari data produksi yang difilter PII dan dengan mensintesis kueri yang relevan pada dokumen panjang. Untuk setiap lintasan maju, kami memilih satu dataset dan mengambil seluruh batch darinya untuk meningkatkan kesulitan negatif dalam batch dan menghindari pembelajaran pintasan. Tidak satupun dari dataset pelatihan kami yang membawa anotasi tingkat bagian: semua pengawasan dalam dokumen berasal dari model kompresi, dan tidak ada data ConTEB yang digunakan untuk pelatihan. Selain itu, tidak ada data context-bench yang tersedia selama pengembangan model.

Pengaturan pelatihan

Model ini berawal dari model pengambilan ColBERT internal berparameter 9B dan menghasilkan penyematan berdimensi 2048 melalui lapisan proyeksi linier. Kami menandai batas bagian dengan token <|chunk_sep|> yang dipelajari dan membentuk setiap penyematan bagian dengan merata-ratakan penyematan tokennya. Kueri dikodekan oleh model yang sama, dengan penyematan tokennya dirata-ratakan menjadi satu vektor tunggal.

Kami menggunakan pelatihan Matryoshka untuk mendukung penyematan berdimensi 1024 dan 2048, serta pelatihan sadar kuantisasi untuk mendukung penyematan int8 asli. Selama pelatihan, kami secara bertahap meningkatkan laju pembelajaran, mempertahankannya tetap konstan, lalu menurunkannya.

Model yang dirilis adalah model soup yang merata-ratakan bobot dari beberapa pos pemeriksaan dari proses pelatihan yang sama.

Tolok ukur baru untuk pengambilan tingkat bagian

Tolok ukur pengambilan kontekstual publik seperti ConTEB berbagi asumsi di balik pengawasan bagian emas: setiap kueri memiliki satu bagian yang relevan dan model hanya diberi penghargaan karena menempatkan bagian tersebut di urutan pertama. Mereka juga mewarisi keterbatasannya.

Pertama, ConTEB menguji pengambilan pada tugas di mana suatu bagian bersifat ambigu tanpa konteks di sekitarnya. Pada tugas ini, model kontekstual mengungguli model yang mengodekan setiap bagian secara independen. Namun, tolok ukur ini tidak menanyakan apakah model juga memunculkan bagian lain dari dokumen yang membuat bagian tersebut dapat dipahami.

Kedua, tolok ukur ini tidak secara sistematis menguji apakah dokumen yang tepat dapat ditemukan ketika dokumen yang hampir identik dalam korpus yang sama hanya berbeda dalam konteks yang mengelilingi kalimat yang seharusnya identik.

Kedua kapabilitas ini penting ketika agen penelusuran atau pengguna harus memahami dan memverifikasi jawaban dari beberapa kalimat yang diambil daripada seluruh dokumen. Oleh karena itu, kami membangun context-bench, sebuah tolok ukur terkontrol untuk pengambilan pada dokumen panjang, yang dirancang untuk membedakan penggunaan konteks dokumen dari kualitas pengambilan umum. Tolok ukur ini menguji apakah penyematan kontekstual menggunakan informasi dari tempat lain dalam dokumen untuk mendukung tiga kapabilitas:

  1. Disambiguasi dokumen: Mengidentifikasi dokumen yang benar di antara alternatif yang hampir identik.
  2. Pengambilan jawaban: Mengambil bagian yang memuat jawaban yang maknanya bergantung pada detail di tempat lain dalam dokumen.
  3. Pengambilan bukti: Mengambil bagian pendukung yang memperjelas atau menguatkan jawaban.

Context-bench berisi 2.099 kueri dan 38.894 dokumen. Bagian sepanjang kalimat digunakan, menghasilkan total 2.458.072 bagian. Kueri mencakup 21 domain termasuk dokumen perusahaan, penelitian klinis, perjalanan, hiburan, pendidikan, pemerintahan, kontrak hukum, dan dokumentasi perangkat lunak.

Setiap kueri dirancang untuk menguji salah satu dari dua belas kapabilitas kontekstual. Dokumen target utama sengaja dibuat panjang: 1.061 dari 1.197 dokumen target utama yang berbeda memiliki setidaknya 200 kalimat, dengan panjang median sekitar 6.100 token. Setiap kueri memiliki tepat satu jawaban yang benar dalam korpus. Jika fakta yang sama dinyatakan lebih dari sekali dalam dokumen emas, misalnya dalam kalimat ringkasan dan baris tabel, salah satu kalimat tersebut diterima sebagai jawaban.

Rute jawaban adalah satu kombinasi yang valid dari bagian jawaban dan bukti pendukung yang diperlukan untuk menginterpretasikan atau memverifikasinya. Di antara 2.099 kueri, rute jawaban dokumen target utama memiliki satu kelompok bukti untuk 964 kueri, dua untuk 735, tiga atau lebih untuk 332, dan tidak ada untuk 68. Rute jawaban valid alternatif dapat memerlukan kelompok bukti yang berbeda.

Tabel 1: Statistik tolok ukur.

Statistik

Nilai

Kueri

2.099

Dokumen

38.894

Bagian kalimat

2.458.072

Panjang dokumen target utama median

6.100 token

Domain

21

Kelompok bukti per kueri (rute jawaban dokumen target utama)

1: 964; 2: 735; 3+: 332; tidak ada: 68

Tabel 2: Dua belas kapabilitas kontekstual yang diuji oleh context-bench, beserta contoh ilustratif.

Kapabilitas

Contoh kueri

Bagian jawaban

Konteks dokumen yang diperlukan

1. Identitas entitas

Berapa banyak yang dihabiskan Northlake untuk pembelian kembali saham?

Perusahaan membeli kembali saham senilai $12,8 miliar.

Pendahuluan mengidentifikasi Northlake sebagai “perusahaan.” Laporan Southlake serupa tidak relevan.

2. Periode atau versi

Kartrid mana yang cocok untuk revisi B M40?

Pasang kartrid KC-42.

Bagian keterpakaian menyatakan bahwa instruksi ini mencakup revisi B, bukan revisi C.

3. Definisi dan alias

Berapa tingkat penarikan yang dimiliki oleh kelompok 15 mg?

Zeta memiliki tingkat penarikan sebesar 12,7%.

Laporan tersebut mendefinisikan Zeta sebagai kelompok 15 mg. Tanpa definisi tersebut, bagian itu tidak mengidentifikasi kelompok yang diminta.

4. Struktur tabel

Berapa kapasitas baterai model Max?

Kapasitas tipikal: 4.250 | 4.700 | 5.150.

Tajuk tabel menetapkan Mini | Base | Max, yang diukur dalam mAh. Oleh karena itu, jawabannya adalah 5.150 mAh.

5. Ketentuan dan pengecualian

Berapa lama cakupan baterai untuk penggunaan komersial?

Cakupan baterai bertahan selama 18 bulan.

Pengantar bagian membatasi cakupan ini pada instalasi komersial; instalasi rumah tangga memiliki garansi yang berbeda.

6. Referensi dan kata ganti

Kapan Mara menjadi wakil wali kota?

Dia menjabat pada tahun 2021.

Narasi sebelumnya menetapkan bahwa “dia” mengacu pada Mara, bukan Elin, yang juga dibahas.

7. Urutan dan posisi daftar

Lagu apa yang membuka encore?

14. Lantern Road.

Catatan di bagian lain menyatakan bahwa lagu 14–16 membentuk encore. Oleh karena itu, Trek 14 adalah lagu pembukanya.

8. Cakupan bagian

Lensa apa yang digunakan untuk sinematografi film tersebut?

Lensa prima 35 mm digunakan secara keseluruhan.

Bagian ini termasuk dalam “Sinematografi Utama,” bukan bagian terpisah tentang foto publisitas.

9. Atribusi pembicara

Tanggal pembukaan kembali apa yang dijanjikan oleh wali kota?

Kami akan buka kembali pada 12 Juni.

Transkrip tersebut mengidentifikasi wali kota sebagai pembicara. Kata-kata yang sama dari seorang kontraktor tidak akan menetapkan janji wali kota.

10. Perubahan dari waktu ke waktu

Periode pemberitahuan apa yang berlaku setelah amandemen bulan Mei?

Periode pemberitahuan sekarang adalah 45 hari.

Riwayat amandemen menetapkan bahwa perubahan ini mulai berlaku pada bulan Mei, menggantikan aturan 30 hari sebelumnya.

11. Hubungan kausal

Mengapa pompa barat berhenti?

Kerusakan tersebut menyebabkan penutupan.

Investigasi mengidentifikasi “kerusakan tersebut” sebagai bantalan yang macet pada pompa barat, dan membedakannya dari sumbatan saluran masuk yang tidak terkait.

12. Makna figuratif atau lintas bahasa

Figuratif:

Apa simbol “ruang musim dingin” dalam puisi tersebut?

Lintas bahasa:

Komponen mana yang diperintahkan oleh instruksi bahasa Prancis untuk dilepas oleh teknisi?

Figuratif:

Hal itu merepresentasikan pengasingan, bukan ruangan fisik.

Lintas bahasa:

Retirez le capot. (Lepaskan penutupnya.)

Figuratif:

Komentar tersebut mengidentifikasi “itu” sebagai citra “ruang musim dingin” yang berulang dalam puisi.

Lintas bahasa:

Glosarium panduan menentukan bahwa “capot” berarti penutup motor pelindung, bukan penutup pengiriman.

Dokumen dan kueri

Kueri, dokumen, dan kapabilitas yang diuji terinspirasi dari percakapan dengan pelanggan turbopuffer.

Sebagai satu contoh, pertimbangkan kebutuhan penelusuran dari perusahaan manajemen properti. Perusahaan-perusahaan ini memiliki ratusan, terkadang ribuan perjanjian sewa yang hanya berbeda pada nama penyewa, tanggal, dan beberapa detail penting lainnya. Kueri umum untuk dataset tersebut mungkin adalah “kapan sewa 5 park avenue berakhir dan berapa sewa saat ini?”. Perjanjian sewa juga bisa panjang dan komponen disambiguasi krusial yang akan mengonfirmasi bahwa Anda telah mengambil dokumen yang tepat (seperti tanggal, alamat, nama penyewa, dll.) sering kali bisa berada sangat jauh dari kalimat jawaban kunci yang berisi jumlah pembayaran sewa bulanan. Dalam praktiknya, kalimat identik seperti “Sewa bulanan adalah $X,XXX.” dapat muncul di banyak dokumen dalam korpus.

Model penyematan kontekstual yang baik harus menggunakan konteks dari seluruh dokumen untuk mengidentifikasi dokumen yang benar dan mengambil jawaban beserta kalimat pendukungnya. Hal ini memungkinkan pengguna atau agen penelusuran untuk dengan cepat memverifikasi jawaban dan mengonfirmasi bahwa jawaban tersebut berasal dari dokumen yang tepat.

Label jawaban dan bukti

Untuk setiap kueri, kami memberi label kalimat “jawaban” dan “bukti” dalam dokumen target. Suatu model lulus uji “kecukupan pembaca” kami jika ia mengambil kalimat jawaban beserta setidaknya satu kalimat dari setiap kelompok bukti. Bersama-sama, kalimat-kalimat ini memberikan konteks yang cukup bagi pembaca untuk memverifikasi jawaban dengan bukti pendukung.

Ketika model penyematan kontekstual melakukan hal ini dengan baik, mereka dapat secara drastis mengurangi jumlah token yang perlu ditinjau oleh agen penelusuran serta membuat seseorang jauh lebih mudah untuk dengan cepat mengonfirmasi bahwa mereka telah menemukan jawaban yang benar untuk kueri aslinya tanpa harus membaca seluruh dokumen.

Setiap kelompok bukti harus dipulihkan, tetapi salah satu dari alternatif suatu kelompok sudah cukup untuk memulihkannya. Sangat umum melihat fakta yang sama dinyatakan di beberapa tempat di seluruh dokumen yang panjang ini. Mengambil hanya satu kalimat dari setiap kelompok bukti memenuhi kriteria kecukupan pembaca dan dengan demikian akan diterima sebagai perolehan kembali bukti yang sempurna.

Metrik

Setiap dokumen dibagi menjadi beberapa bagian berupa kalimat, dan batas yang sama digunakan untuk semua model. Dua kondisi diuji untuk model penyematan non-kontekstual: satu di mana setiap kalimat disematkan secara independen dan yang lainnya di mana seluruh dokumen disematkan sebagai satu bagian tunggal.

Kami menggunakan kondisi tingkat kalimat untuk mengukur perolehan kembali jawaban dan perolehan kembali bukti. Hal ini menguji apakah model non-kontekstual dapat mengidentifikasi jawaban yang benar dan bukti pendukung ketika setiap kalimat disematkan tanpa akses ke dokumen di sekitarnya. Hal ini memang sengaja dibuat menantang. Dalam banyak kueri, kalimat jawaban saja tidak memiliki detail yang diperlukan untuk membedakannya dari kalimat serupa di tempat lain dalam korpus.

Kami menggunakan kondisi tingkat dokumen sebagai garis dasar perolehan kembali dokumen. Hal ini menguji apakah penyematan kalimat berbutir halus memberikan manfaat pengambilan yang cukup untuk membenarkan biaya penyimpanan tambahan relatif terhadap penyimpanan satu vektor per dokumen. Indeks tingkat kalimat menghasilkan vektor yang jauh lebih banyak daripada indeks tingkat dokumen, sehingga ia harus mengungguli garis dasar satu-vektor-per-dokumen untuk membenarkan biaya tersebut.

Semua evaluasi menggunakan peringkat eksklusif terhadap semua 2.458.072 bagian. Oleh karena itu, perbedaan antara model mencerminkan representasi, bukan konfigurasi indeks. Kami berfokus pada tiga metrik utama:

Document@K didefinisikan sebagai:

Document@K=1[rank⁡(d∗)≤K]\text{Document@K}=1[\operatorname{rank}(d^{*})\le K]

dengan d∗d^{*} adalah dokumen dengan peringkat tertinggi di DqD_q.

Answer@K didefinisikan sebagai:

Answer@K=1[Aq∩CK(q)≠∅]\text{Answer@K}=1[A_q\cap C_K(q)\ne\varnothing]

dengan CK(q)C_K(q) adalah KK bagian teratas di seluruh korpus dan AqA_{q} adalah kumpulan bagian jawaban yang diterima.

Evidence Recall@K diukur dalam d∗d^{*} sebagai berikut: Urutkan kalimat-kalimat dari d∗d^{*} berdasarkan kemiripan, hapus kalimat jawaban dengan peringkat tertinggi, dan biarkan RK(q)R_K(q) menjadi KK teratas yang tersisa. Untuk kelompok bukti Gq={g1,…,gm}G_q=\{g_1,\ldots,g_m\}, kelompok gjg_j dipulihkan jika beberapa alternatif E∈gjE\in g_j memenuhi E⊆RK(q)E\subseteq R_K(q), dan

EvidenceRecall@K=1[rank⁡(d∗)≤10]⋅1m∑j=1m1[gj recovered].\text{EvidenceRecall@K}=1[\operatorname{rank}(d^{*})\le10]\cdot\frac{1}{m}\sum_{j=1}^{m}1[g_j\ \text{recovered}].

Document@K menanyakan apakah kontekstualisasi memungkinkan dokumen yang benar mengalahkan dokumen saudara dan pengganggu yang berbagi kosa katanya.

Answer@K menanyakan apakah kalimat jawaban itu sendiri berada di antara bagian teratas.

Evidence Recall@K menanyakan seberapa banyak konteks pendukung yang diperoleh kembali di antara K bagian teratas dokumen yang benar, setelah mengecualikan bagian jawaban berperingkat tertinggi. Menghilangkan jawaban mencegah perolehan kembali bukti menghitung ganda apa yang sudah diukur oleh Answer@K, dan menyisakan semua slot KK untuk konteks pendukung. Mengharuskan dokumen emas berada di 10 dokumen teratas yang diambil berarti tidak ada model yang menerima kredit bukti untuk dokumen yang tidak akan dimunculkannya. Kami juga melaporkan All-Evidence@K, yaitu fraksi kueri dengan setiap kelompok yang berhasil dipulihkan.

Secara bersama-sama, metrik ini menguraikan tantangan yang dihadapi oleh model penyematan kontekstual: menemukan dokumen yang tepat, menemukan jawaban yang tepat, dan memulihkan konteks minimal yang menunjukkan mengapa jawaban tersebut benar.

Gambar 3 mengilustrasikan metrik dengan contoh manajemen properti.

Gambar 3: Metrik context-bench diilustrasikan dengan kueri sewa. Document@K menguji pengambilan dokumen yang benar; Answer@K menguji pengambilan bagian jawabannya; Evidence Recall@K mengukur pemulihan kelompok bukti pendukung dalam dokumen target. Dalam contoh ini, memverifikasi sewa memerlukan bukti alamat dan tahun sewa. Perolehan kembali bukti mengecualikan bagian jawaban teratas dan mengharuskan dokumen target berada di peringkat 10 besar.

Hasil evaluasi

Kami mengevaluasi model kami terhadap model penyematan kontekstual dan non-kontekstual pada empat aspek.

Garis dasar kontekstual kami adalah pplx-embed-context-v1-4B dan voyage-context-4. Garis dasar non-kontekstual kami adalah voyage-4-large dan Nemotron-3-Embed-8B-BF16 milik NVIDIA, yang mengodekan bagian secara independen. Kumpulan garis dasar bervariasi menurut eksperimen, seperti yang ditunjukkan pada setiap gambar.

Kami mulai dengan context-bench, yang secara langsung menguji kapabilitas yang memotivasi pekerjaan ini, dan kemudian melaporkan hasil pada ConTEB, tolok ukur publik standar untuk penyematan kontekstual. Untuk memeriksa bahwa peningkatan ini tidak mengorbankan kualitas pengambilan umum, kami juga mengevaluasi tolok ukur pengambilan dokumen dan bagian khusus domain yang kami bangun dari dataset publik. Terakhir, kami memeriksa dua properti praktis untuk penerapan: kualitas pengambilan versus biaya penyimpanan per vektor, dan sensitivitas terhadap ukuran bagian yang digunakan pada waktu pengindeksan. Semua evaluasi mengodekan dokumen hingga 32.768 token dalam satu lintasan.

Context-bench

Seperti yang ditunjukkan dalam Gambar 1 di pendahuluan, pratinjau kami memimpin pada Answer@K dan Evidence Recall@K pada setiap batas yang dilaporkan, serta All-Evidence@10. Pada K = 10, model ini mencapai 45,5% perolehan kembali jawaban, 40,6% perolehan kembali bukti, dan 31,1% perolehan kembali semua bukti. Model ini juga memimpin pada Document@1 dan Document@10, masing-masing mencapai 15,2% dan 61,6%. Pada K = 10, pratinjau kami melampaui voyage-context-4 sebesar 14,4 poin persentase dalam perolehan kembali jawaban dan 5,0 poin dalam perolehan kembali bukti.

ConTEB

Model pratinjau kami mencapai nDCG@10 rata-rata tertinggi di antara model yang ditampilkan pada ConTEB dalam Gambar 4. Model ini tidak memimpin di setiap tugas: pplx-context-v1-4B mendapat skor lebih tinggi pada NarrativeQA, sementara Nemotron-3-8B mendapat skor tertinggi pada COVID-QA. Seperti yang juga ditunjukkan oleh para penulis utama dalam makalah ConTEB, COVID-QA sebagian besar mencakup pemasangan kueri-bagian yang sangat bersifat ekstraktif dan dapat dipenuhi dengan pencocokan leksikal permukaan yang sederhana pada istilah medis teknis. Akibatnya, pemahaman konteks kurang berguna untuk tugas ini dan model non-kontekstual biasanya mengungguli model kontekstual.

Gambar 4: nDCG@10 tingkat tugas pada ConTEB dalam pengaturan kueri-ke-bagian. Rata-rata adalah rerata tidak tertimbang di delapan tugas.

Kualitas pengambilan umum lintas domain

Di luar tolok ukur yang dirancang untuk penyematan kontekstual, kami menilai kinerja spesifik domain dari model kami.

Suite kueri-ke-bagian (Q2C) kami menggunakan tugas MTEB seperti LegalBench dan FinanceBench beserta tugas pengambilan tambahan yang kami kurasi dari dataset publik. Di dalam setiap dokumen yang relevan, suatu bagian diberi label relevan jika ia berisi rentang jawaban yang tepat ketika tugas menyediakannya, dan jika tidak, oleh LLM yang menilai relevansinya dengan kueri. Suite kueri-ke-dokumen (Q2D) menggunakan tugas dan skor yang sama untuk menilai apakah dokumen yang relevan diambil.

Model kami mencapai skor rata-rata tertinggi pada pengambilan bagian dalam Gambar 5 dan memimpin dalam domain hukum, teknis, dan kesehatan. Model ini tidak memimpin di setiap domain: voyage-context-4 mendapat skor lebih tinggi dalam keuangan dan pengambilan multibahasa, dan Nemotron-3-8B mendapat skor tertinggi dalam pengambilan percakapan. Pada pengambilan dokumen dalam Gambar 6, model kami mendapat skor sedikit di bawah voyage-context-4 secara rata-rata, sementara memimpin dalam domain teknis. Garis dasar pplx-context-v1-4B mendapat skor lebih rendah secara rata-rata di kedua suite, yang konsisten dengan fakta bahwa ia dilatih hanya pada set pelatihan ConTEB, yang menunjukkan bahwa pengawasan yang terikat pada bagian emas satu tolok ukur ditransfer dengan buruk ke domain lain.

Gambar 5: nDCG@10 rata-rata pada tugas kueri-ke-bagian (Q2C), dikelompokkan berdasarkan domain. Batang domain adalah rerata tidak tertimbang dari skor tingkat tugas di domain tersebut; keseluruhan rata-rata adalah rerata tidak tertimbang di semua tugas yang ditampilkan.
Gambar 6: Skor pengambilan rata-rata pada tugas kueri-ke-dokumen (Q2D), dikelompokkan berdasarkan domain. Setiap batang dalam suatu domain adalah rerata tidak tertimbang dari skor utama tingkat tugasnya; keseluruhan rata-rata adalah rerata tidak tertimbang di semua tugas yang ditampilkan.

Kualitas pengambilan dan biaya penyimpanan

Model penyematan kontekstual menghasilkan satu vektor per bagian, sehingga indeks yang dibangun dengan model kami berisi persis sejumlah vektor yang sama dengan indeks tingkat bagian konvensional dengan strategi pembagian bagian yang sama. Kontekstualisasi mengubah apa yang dikodekan oleh setiap vektor, bukan berapa banyak vektor yang disimpan. Jejak penyimpanan oleh karena itu diatur oleh ukuran setiap vektor. Model ini menawarkan dua cara untuk menguranginya: memotong penyematan dari 2048 ke 1024 dimensi dan mengkuantisasinya ke int8.

Gambar 7 menunjukkan pertukaran yang menguntungkan antara kualitas pengambilan dan penyimpanan vektor. Pada 1024 dimensi, penyematan int8 kami menggunakan 1 KB per vektor sementara sedikit melampaui skor pengambilan bagian dari voyage-context-4 pada 2048 dimensi dalam float32, yang menggunakan 8 KB per vektor. Meningkatkan ukuran penyematan kami ke 2048 dimensi semakin meningkatkan kualitas pengambilan pada 2 KB per vektor. Angka penyimpanan ini merujuk pada vektor saja, bukan sisa indeks.

Gambar 7: Kualitas pengambilan bagian (nDCG@10 rata-rata) sebagai fungsi dari penyimpanan per vektor. Garis padat menunjukkan float32 dan garis putus-putus menunjukkan int8; label memberikan dimensi penyematan.

Sensitivitas ukuran bagian

Gambar 8 hanya menunjukkan sedikit perubahan dalam kualitas pengambilan ketika ukuran bagian meningkat dari 64 ke 512 token: skor rata-rata turun dari 81,0% ke 79,9%, penurunan sebesar 1,1 poin persentase. Hal ini menunjukkan bahwa model tetap efektif di seluruh ukuran bagian yang diuji, memberikan fleksibilitas pada pipeline pengindeksan dalam cara dokumen dibagi.

Gambar 8: Sensitivitas ukuran bagian dari model kami. Setiap titik adalah nDCG@10 rata-rata tidak tertimbang di 74 tugas MTEB, dengan dokumen yang diindeks pada ukuran bagian yang diberikan.

Rilis

turbopuffer menjaga privasi korpus penuh, kueri, dan label dari context-bench serta melaporkan hasil untuk model yang dikirimkan. Tolok ukur publik semacam ini mengundang pelatihan langsung pada kueri dan dokumennya, yang akan secara bertahap menjenuhkan dan mengikis nilainya untuk melacak kemajuan dari waktu ke waktu. Jika Anda ingin model Anda dievaluasi pada tolok ukur ini, silakan hubungi turbopuffer di contextbench@turbopuffer.com.

Pratinjau model kami tersedia di Hugging Face, dan semua hasil dalam postingan ini dilaporkan untuk pratinjau ini. Kami sedang berupaya agar model ini tersedia melalui Perplexity API, dan untuk lebih meningkatkan pengambilan pada dokumen panjang bersama dengan turbopuffer.

Kutipan

BibTeX
@online{perplexity2026ContextualEmbeddingBeyondTheGoldPassage,
  author = {{Perplexity} and Sarah Eslami and William Barber and Markus Krimmel and Antoine Chaffin and Bo Wang and Louis Milliken and Jarrod Bryan and Claire Beamer and Jeremy Yang},
  title = {{Contextual embedding beyond the gold passage}},
  date = {2026-09-30},
  url = {https://www.perplexity.ai/hub/blog/contextual-embedding-beyond-the-gold-passage}
}