Konteks panjang

Gemini 1.5 Flash dilengkapi secara standar dengan jendela konteks 1 juta token, dan Gemini 1.5 Pro dilengkapi dengan jendela konteks 2 juta token. Secara historis, model bahasa besar (LLM) dibatasi secara signifikan oleh jumlah teks (atau token) yang dapat diteruskan ke model sekaligus. Jendela konteks panjang Gemini 1.5, dengan pengambilan yang hampir sempurna (>99%), membuka banyak kasus penggunaan dan paradigma developer baru.

Kode yang sudah Anda gunakan untuk kasus seperti pembuatan konten atau input multimodal akan berfungsi secara otomatis dengan konteks yang panjang.

Di seluruh panduan ini, Anda akan mempelajari dasar-dasar jendela konteks secara singkat, cara developer harus memikirkan konteks panjang, berbagai kasus penggunaan di dunia nyata untuk konteks panjang, dan cara mengoptimalkan penggunaan konteks panjang.

Apa yang dimaksud dengan jendela konteks?

Cara dasar Anda menggunakan model Gemini 1.5 adalah dengan meneruskan informasi (konteks) ke model, yang kemudian akan menghasilkan respons. Analogi untuk jendela konteks adalah memori jangka pendek. Ada jumlah informasi terbatas yang dapat disimpan dalam memori jangka pendek seseorang, dan hal yang sama berlaku untuk model generatif.

Anda dapat membaca lebih lanjut cara kerja model di balik layar dalam panduan model generatif kami.

Memulai dengan konteks panjang

Sebagian besar model generatif yang dibuat dalam beberapa tahun terakhir hanya mampu memproses 8.000 token dalam satu waktu. Model yang lebih baru mendorong hal ini lebih jauh dengan menerima 32.000 token atau 128.000 token. Gemini 1.5 adalah model pertama yang mampu menerima 1 juta token, dan kini 2 juta token dengan Gemini 1.5 Pro.

Dalam praktiknya, 1 juta token akan terlihat seperti:

  • 50.000 baris kode (dengan standar 80 karakter per baris)
  • Semua pesan teks yang telah Anda kirim dalam 5 tahun terakhir
  • 8 novel berbahasa Inggris dengan panjang rata-rata
  • Transkrip lebih dari 200 episode podcast dengan durasi rata-rata

Meskipun model dapat menyerap lebih banyak konteks, sebagian besar pengetahuan konvensional tentang penggunaan model bahasa besar mengasumsikan batasan bawaan ini pada model, yang mulai tahun 2024, tidak lagi berlaku.

Beberapa strategi umum untuk menangani batasan jendela konteks kecil meliputi:

  • Menghapus pesan / teks lama secara sewenang-wenang dari jendela konteks saat teks baru datang
  • Merangkum konten sebelumnya dan menggantinya dengan ringkasan saat jendela konteks hampir penuh
  • Menggunakan RAG dengan penelusuran semantik untuk memindahkan data dari jendela konteks dan ke database vektor
  • Menggunakan filter deterministik atau generatif untuk menghapus teks/karakter tertentu dari perintah untuk menyimpan token

Meskipun banyak dari hal ini masih relevan dalam kasus tertentu, tempat default untuk memulai sekarang hanya menempatkan semua token ke dalam jendela konteks. Karena dibuat khusus dengan jendela konteks yang panjang, model Gemini 1.5 jauh lebih mampu melakukan pembelajaran dalam konteks. Misalnya, hanya dengan materi pembelajaran (tata bahasa referensi 500 halaman, kamus, dan ≈ 400 kalimat paralel tambahan) yang semuanya diberikan dalam konteks, Gemini 1.5 Pro dan Gemini 1.5 Flash mampu belajar menerjemahkan dari bahasa Inggris ke Kalamang—bahasa Papua dengan kurang dari 200 penutur dan karenanya hampir tidak ada kehadiran online—dengan kualitas yang mirip dengan orang yang belajar dari materi yang sama.

Contoh ini menekankan cara Anda dapat mulai memikirkan hal yang mungkin dilakukan dengan konteks panjang dan kemampuan pembelajaran dalam konteks Gemini 1.5.

Kasus penggunaan konteks panjang

Meskipun kasus penggunaan standar untuk sebagian besar model generatif masih berupa input teks, keluarga model Gemini 1.5 memungkinkan paradigma baru kasus penggunaan multimodal. Model ini secara native dapat memahami teks, video, audio, dan gambar. Model ini disertai dengan Vertex AI API untuk Gemini yang menggunakan jenis file multimodal untuk kemudahan.

Teks panjang

Teks telah terbukti menjadi lapisan kecerdasan yang mendukung sebagian besar momentum seputar LLM. Seperti yang disebutkan sebelumnya, sebagian besar batasan praktis LLM disebabkan oleh tidak adanya jendela konteks yang cukup besar untuk melakukan tugas tertentu. Hal ini menyebabkan adopsi retrieval augmented generation (RAG) dan teknik lainnya yang secara dinamis memberikan informasi kontekstual yang relevan ke model. Sekarang, dengan jendela konteks yang semakin besar (saat ini hingga 2 juta di Gemini 1.5 Pro), ada teknik baru yang tersedia yang membuka kasus penggunaan baru.

Beberapa kasus penggunaan standar dan yang baru muncul untuk konteks panjang berbasis teks mencakup:

  • Meringkas korpus teks yang besar
    • Opsi ringkasan sebelumnya dengan model konteks yang lebih kecil akan memerlukan jendela geser atau teknik lain untuk mempertahankan status bagian sebelumnya saat token baru diteruskan ke model
  • Pertanyaan dan jawaban
    • Secara historis, hal ini hanya dapat dilakukan dengan RAG mengingat jumlah konteks yang terbatas dan mengingat kembali fakta model yang rendah
  • Alur kerja agen
    • Teks adalah dasar dari cara agen menyimpan status tentang apa yang telah mereka lakukan dan apa yang perlu mereka lakukan; tidak memiliki cukup informasi tentang dunia dan sasaran agen adalah batasan pada keandalan agen

Pembelajaran dalam konteks dengan banyak pengambilan adalah salah satu kemampuan paling unik yang dibuka oleh model konteks panjang. Riset telah menunjukkan bahwa mengambil paradigma contoh "single shot" atau "multi-shot" yang umum, dengan model yang ditampilkan dengan satu atau beberapa contoh tugas, dan menskalakannya hingga ratusan, ribuan, atau bahkan ratusan ribu contoh, dapat menghasilkan kemampuan model yang baru. Pendekatan many-shot ini juga telah terbukti berperforma serupa dengan model yang disesuaikan untuk tugas tertentu. Untuk kasus penggunaan saat performa model Gemini belum memadai untuk peluncuran produksi, Anda dapat mencoba pendekatan banyak pengambilan. Seperti yang mungkin Anda pelajari nanti di bagian pengoptimalan konteks panjang, caching konteks membuat jenis beban kerja token input tinggi ini jauh lebih ekonomis dan bahkan latensi yang lebih rendah dalam beberapa kasus.

Video panjang

Kegunaan konten video telah lama dibatasi oleh kurangnya aksesibilitas media itu sendiri. Sulit untuk membaca sekilas konten, transkrip sering kali gagal menangkap nuansa video, dan sebagian besar alat tidak memproses gambar, teks, dan audio secara bersamaan. Dengan Gemini 1.5, kemampuan teks konteks panjang diterjemahkan menjadi kemampuan untuk bernalar dan menjawab pertanyaan tentang input multimodal dengan performa yang berkelanjutan. Gemini 1.5 Flash, saat diuji pada jarum dalam masalah haystack video dengan 1 juta token, memperoleh recall video >99,8% di jendela konteks, dan 1.5 Pro mencapai performa terbaik di benchmark Video-MME.

Beberapa kasus penggunaan standar dan yang baru muncul untuk konteks video panjang mencakup:

  • Pertanyaan dan jawaban video
  • Memori video, seperti yang ditunjukkan dengan Project Astra Google
  • Teks video
  • Sistem rekomendasi video, dengan memperkaya metadata yang ada dengan pemahaman multimodal baru
  • Penyesuaian video, dengan melihat korpus data dan metadata video terkait, lalu menghapus bagian video yang tidak relevan bagi penonton
  • Moderasi konten video
  • Pemrosesan video real-time

Saat menangani video, penting untuk mempertimbangkan cara video diproses menjadi token, yang memengaruhi pembatasan penagihan dan penggunaan. Anda dapat mempelajari lebih lanjut perintah dengan file video di Panduan perintah.

Audio berdurasi panjang

Model Gemini 1.5 adalah model bahasa besar multimodal native pertama yang dapat memahami audio. Secara historis, alur kerja developer standar akan melibatkan penyambungan beberapa model khusus domain, seperti model speech-to-text dan model text-to-text, untuk memproses audio. Hal ini menyebabkan latensi tambahan yang diperlukan dengan melakukan beberapa permintaan bolak-balik dan penurunan performa yang biasanya diatribusikan ke arsitektur yang terputus dari penyiapan beberapa model.

Pada evaluasi audio-haystack standar, Gemini 1.5 Pro dapat menemukan audio tersembunyi dalam 100% pengujian dan Gemini 1.5 Flash dapat menemukannya dalam 98,7% pengujian. Gemini 1.5 Flash menerima hingga 9,5 jam audio dalam satu permintaan dan Gemini 1.5 Pro dapat menerima hingga 19 jam audio menggunakan jendela konteks 2 juta token. Selain itu, pada set pengujian klip audio berdurasi 15 menit, Gemini 1.5 Pro mengarsipkan rasio error kata (WER) sebesar ~5,5%, jauh lebih rendah daripada model speech-to-text khusus, tanpa kompleksitas tambahan dari segmentasi input tambahan dan pra-pemrosesan.

Beberapa kasus penggunaan standar dan yang baru muncul untuk konteks audio mencakup:

  • Transkripsi dan terjemahan real-time
  • Tanya jawab podcast / video
  • Transkripsi dan ringkasan rapat
  • Asisten suara

Anda dapat mempelajari lebih lanjut cara memberikan perintah dengan file audio di Panduan perintah.

Pengoptimalan konteks panjang

Pengoptimalan utama saat menggunakan konteks panjang dan model Gemini 1.5 adalah menggunakan cache konteks. Selain ketidakmampuan sebelumnya untuk memproses banyak token dalam satu permintaan, batasan utama lainnya adalah biaya. Jika Anda memiliki aplikasi "chat dengan data Anda" tempat pengguna mengupload 10 PDF, video, dan beberapa dokumen kerja, Anda secara historis harus menggunakan alat/framework pembuatan augmented retrieval (RAG) yang lebih kompleks untuk memproses permintaan ini dan membayar jumlah yang signifikan untuk token yang dipindahkan ke jendela konteks. Sekarang, Anda dapat meng-cache file yang diupload pengguna dan membayar untuk menyimpannya per jam. Biaya input / output per permintaan kurang dari biaya input / output standar, sehingga jika pengguna cukup melakukan chat dengan data mereka, hal ini akan menjadi penghematan biaya yang besar bagi Anda sebagai developer.

Batasan konteks panjang

Di berbagai bagian panduan ini, kita telah membahas cara model Gemini 1.5 mencapai performa tinggi di berbagai evaluasi pengambilan needle-in-a-haystack. Pengujian ini mempertimbangkan penyiapan paling dasar, dengan satu jarum yang Anda cari. Jika Anda mungkin memiliki beberapa "jarum" atau informasi tertentu yang Anda cari, model tidak akan berperforma dengan akurasi yang sama. Performa dapat bervariasi dalam tingkat yang luas, bergantung pada konteksnya. Hal ini penting untuk dipertimbangkan karena ada kompromi yang melekat antara mendapatkan informasi yang tepat dan biaya. Anda bisa mendapatkan ~99% pada satu kueri, tetapi Anda harus membayar biaya token input setiap kali mengirim kueri tersebut. Jadi, untuk mengambil 100 informasi, jika Anda memerlukan performa 99%, Anda mungkin perlu mengirim 100 permintaan. Ini adalah contoh yang baik tentang tempat cache konteks dapat secara signifikan mengurangi biaya yang terkait dengan penggunaan model Gemini sekaligus menjaga performa tetap tinggi.

Langkah selanjutnya