Gemini dilengkapi dengan jendela konteks 1 juta token. Secara historis, model bahasa besar (LLM) sangat dibatasi oleh jumlah teks (atau token) yang dapat diteruskan ke model sekaligus. Jendela konteks panjang Gemini, 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 langsung berfungsi dengan konteks panjang.
Dalam panduan ini, Anda akan mempelajari secara singkat dasar-dasar jendela konteks, cara developer harus memikirkan konteks panjang, berbagai kasus penggunaan dunia nyata untuk konteks panjang, dan cara mengoptimalkan penggunaan konteks panjang.
Apa itu jendela konteks?
Cara dasar menggunakan model Gemini adalah dengan meneruskan informasi (konteks) ke model, yang kemudian akan menghasilkan respons. Analogi untuk jendela konteks adalah memori jangka pendek. Ada sejumlah 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.
Mulai menggunakan konteks panjang
Sebagian besar model generatif yang dibuat dalam beberapa tahun terakhir hanya mampu memproses 8.000 token sekaligus. Model yang lebih baru meningkatkan kapasitas ini dengan menerima 32.000 token atau 128.000 token. Gemini adalah model pertama yang mampu menerima 1 juta token.
Dalam praktiknya, 1 juta token akan terlihat seperti:
- 50.000 baris kode (dengan standar 80 karakter per baris)
- Semua pesan teks yang Anda kirim dalam 5 tahun terakhir
- 8 novel bahasa Inggris dengan panjang rata-rata
- Transkrip lebih dari 200 episode podcast berdurasi rata-rata
Meskipun model dapat menerima lebih banyak konteks, banyak kebijaksanaan konvensional tentang penggunaan model bahasa besar mengasumsikan batasan inheren pada model ini, yang pada tahun 2024, tidak lagi berlaku.
Beberapa strategi umum untuk menangani batasan jendela konteks kecil meliputi:
- Menghapus pesan/teks lama secara acak dari jendela konteks saat teks baru masuk
- Meringkas 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 guna menghemat token
Meskipun banyak di antaranya masih relevan dalam kasus tertentu, tempat default untuk memulai sekarang adalah dengan memasukkan semua token ke dalam jendela konteks. Karena model Gemini dibuat khusus dengan jendela konteks yang panjang, model ini jauh lebih mampu melakukan pembelajaran dalam konteks.
Contoh ini menggarisbawahi cara Anda dapat mulai memikirkan apa yang mungkin dilakukan dengan konteks panjang dan kemampuan pembelajaran dalam konteks Gemini.
Kasus penggunaan konteks panjang
Meskipun kasus penggunaan standar untuk sebagian besar model generatif masih berupa input teks, rangkaian model Gemini memungkinkan paradigma baru kasus penggunaan multimodal. Model ini dapat memahami teks, video, audio, dan gambar secara native. Model ini disertai dengan Gemini Enterprise API untuk Gemini yang menerima 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 cepat retrieval augmented generation (RAG) dan teknik lain yang secara dinamis memberikan informasi kontekstual yang relevan kepada model. Kini, dengan jendela konteks yang makin besar, ada teknik baru yang tersedia dan membuka kasus penggunaan baru.
Beberapa kasus penggunaan baru dan standar untuk konteks panjang berbasis teks meliputi:
- Meringkas korpus teks yang besar
- Opsi peringkasan 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
- Tanya jawab
- Secara historis, hal ini hanya mungkin dilakukan dengan RAG mengingat terbatasnya jumlah konteks dan rendahnya pengenalan faktual model
- Alur kerja agentic
- Teks adalah dasar dari cara agen mempertahankan status dari apa yang telah mereka lakukan dan apa yang perlu mereka lakukan; tidak memiliki cukup informasi tentang dunia dan tujuan agen adalah batasan pada keandalan agen
Many-shot in-context learning adalah salah satu kemampuan paling unik yang dimiliki oleh model konteks panjang. Penelitian telah menunjukkan bahwa menggunakan paradigma contoh "single shot" atau "multi-shot" yang umum, di mana model diberi satu atau beberapa contoh tugas, dan menskalakannya hingga ratusan, ribuan, atau bahkan ratusan ribu contoh, dapat menghasilkan kemampuan model baru. Pendekatan many-shot ini juga terbukti memiliki performa yang mirip dengan model yang telah disesuaikan untuk tugas tertentu. Untuk kasus penggunaan yang performa model Gemini-nya belum memadai untuk peluncuran produksi, Anda dapat mencoba pendekatan many-shot. Seperti yang mungkin akan Anda pelajari nanti di bagian pengoptimalan konteks panjang, cache konteks membuat jenis workload token input tinggi ini jauh lebih layak secara ekonomi dan bahkan latensinya lebih rendah dalam beberapa kasus.
Video panjang
Utilitas 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, kemampuan teks konteks panjang diterjemahkan menjadi kemampuan untuk memahami dan menjawab pertanyaan tentang input multimodal dengan performa yang berkelanjutan.
Beberapa kasus penggunaan baru dan standar untuk konteks panjang video meliputi:
- Tanya jawab video
- Memori video, seperti yang ditunjukkan dengan Project Astra Google
- Pemberian 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 bekerja dengan video, penting untuk mempertimbangkan cara video diproses menjadi token, yang memengaruhi batas penagihan dan batas penggunaan. Anda dapat mempelajari lebih lanjut cara memberikan perintah dengan file video di Panduan perintah.
Audio panjang
Model Gemini adalah model bahasa besar multimodal native pertama yang dapat memahami audio. Secara historis, alur kerja developer pada umumnya akan melibatkan penggabungan 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 disebabkan oleh arsitektur yang terputus dari penyiapan beberapa model.
Beberapa kasus penggunaan baru dan standar untuk konteks audio meliputi:
- 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 memberikan perintah.
Pengoptimalan konteks panjang
Pengoptimalan utama saat menggunakan konteks panjang dan model Gemini adalah menggunakan cache konteks. Selain ketidakmungkinan 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, sebelumnya Anda harus bekerja dengan alat/framework retrieval augmented generation (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 lebih rendah daripada biaya input/output standar, jadi jika pengguna cukup sering melakukan chat dengan datanya, hal ini akan menghemat biaya yang sangat besar bagi Anda sebagai developer.
Batasan konteks panjang
Di berbagai bagian panduan ini, kami membahas cara model Gemini mencapai performa tinggi di berbagai evaluasi pengambilan needle-in-a-haystack. Pengujian ini mempertimbangkan penyiapan paling dasar, yaitu Anda memiliki satu jarum yang sedang Anda cari. Jika Anda memiliki beberapa "jarum" atau informasi spesifik yang Anda cari, model tidak akan memberikan performa dengan akurasi yang sama. Performa dapat sangat bervariasi bergantung pada konteksnya. Hal ini penting untuk dipertimbangkan karena ada konsekuensi yang melekat antara mendapatkan pengambilan 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 bagaimana cache konteks dapat mengurangi biaya penggunaan model Gemini secara signifikan sekaligus menjaga performa tetap tinggi.
Langkah berikutnya
Mencantumkan dan menghitung token
Menggunakan Google Gen AI SDK untuk mencantumkan token dan ID tokennya dari sebuah perintah dan mendapatkan jumlah total token dari sebuah perintah.