Yapay zeka kontekst penceresi, bir modelin aynı anda işleyebileceği bilgi miktarını belirler. Bu pencerenin boyutu, sohbet geçmişi, talimatlar ve yüklenen belgeler gibi birçok faktörü içerir. Kontekstin büyüklüğü, bilgi kaybı, model yanıtlarının doğruluğu ve uzun süreli hafıza ile yakından ilişkilidir.
Yapay zeka kontekst penceresi, bir modelin aynı anda yanıt üretirken dikkate alabileceği bilgi miktarını ifade eder. Bu pencereye mevcut sorgu, önceki diyalog mesajları, modele verilen talimatlar ve bazı durumlarda yüklenen belgelerin içeriği dahil olur.
Kontekst penceresinin boyutu, yapay zekanın bir konuşmayı, metni veya kod parçasını önemli bilgi kaybı olmadan ne kadar süreyle işleyebileceğini doğrudan etkiler. Ancak, büyük bir kontekst penceresi, yapay zekanın sonsuz hafızası olduğu anlamına gelmez: kontekst ve uzun süreli bilgi depolama birbirinden farklı çalışır.
Kontekst penceresini, yapay zekanın çalışma alanı olarak düşünebilirsiniz. Burada bulunan her bilgi, model tarafından bir sonraki yanıtı hazırlarken kullanılabilir. Bu alanın dışında kalan bilgiler ise modele doğrudan ulaşmaz.
Örneğin, uzun bir diyalogda yapay zeka yalnızca son mesajı değil, önceki yazışmaların da bir kısmını alır. Bu sayede önceki konuşmaları anlar, yapılan düzeltmeleri dikkate alır ve tüm konteksti tekrar etmek gerekmeden sohbeti sürdürebilir.
Kontekste; kullanıcı mesajları, model yanıtları, sistem talimatları, doküman içerikleri, dış araç sonuçları ve göreve gerekli diğer veriler dahil olabilir. Model için tüm bunlar, tek bir giriş bilgisi seti oluşturur.
Ancak kontekst penceresinin sınırlı bir boyutu vardır. Model, aynı anda sınırsız miktarda metni işleyemez. Her mimari ve modelin, genellikle token ile ölçülen bir maksimum kontekst uzunluğu bulunur.
Bu nedenle, dışarıdan benzer görünen iki sohbet farklı miktarda kontekst kaplayabilir. Biri kısa mesajlardan, diğeri ise uzun makalelerden, tablolar ya da kodlardan oluşabilir. Pencerenin içindeki veri miktarı arttıkça, yeni bilgi ve yanıtlar için daha az alan kalır.
Kontekst penceresini modelin bilgisiyle karıştırmamak gerekir. Bilgiler eğitim sırasında modelin parametrelerinde depolanır, kontekst ise şu anki etkileşim sırasında modele iletilen veridir. Yani, bir belgeyi kontekste eklemek modeli yeniden eğitmez; sadece geçici olarak incelemesi için ek materyal sağlar.
Kontekst penceresi boyutu genellikle kelime veya karakter ile değil, token ile ölçülür. Token, modelin işleme başlamadan önce metni sayısal bir biçime çevirdiği küçük bir metin parçasıdır; bir kelimenin tamamı, bir kısmı, bir noktalama işareti veya tek bir karakter olabilir.
Bu yüzden token sayısı doğrudan kelime sayısına eşit değildir. Kısa bir cümle birkaç token kaplayabilir; nadir veya karmaşık bir kelime ise birkaç parçaya bölünebilir. Token sayısını, metnin dili, kullanılan model ve tokenizasyon sistemi de etkiler.
Daha fazla bilgi için Yapay Zeka Ağlarında Token Nedir ve ChatGPT Neden Tokenleri Sayar? başlıklı makaleye göz atabilirsiniz.
Kontekst penceresi, belirli sayıda token alabilen bir alan gibi düşünülebilir. Modelin desteklediği kontekst boyutuna, görevi yerine getirmek için alması gereken tüm veri sığmalıdır.
Yalnızca son kullanıcı mesajı değil, önceki sohbet geçmişi, model talimatları, eklenen dokümanlar ve sistem bilgileri de yer kaplar. Ayrıca, yanıt üretimi için de bir miktar token gereklidir.
Bu nedenle, duyurulan kontekst boyutu her zaman aynı miktarda metin gönderebileceğiniz anlamına gelmez. Sohbet geçmişi ve talimatlar pencereyi dolduruyorsa, yeni bilgiler için daha az alan kalır.
Kontekst penceresinin büyümesi, yapay zekanın tek bir istekte çok daha büyük miktarda bilgiyle çalışmasını sağlar. Artık yalnızca birkaç sayfa yerine uzun belgeler, büyük kod blokları ya da kapsamlı yazışmalar analiz edilebilir.
Ancak yüksek token sayısı, modelin her metin parçasını eşit derecede iyi kullandığı anlamına gelmez. Model, mevcut soruya hangi kısımların önemli olduğunu belirlemeli ve bazen birbirinden çok uzakta bulunan bilgileri ilişkilendirmelidir.
Kontekst uzadıkça bu görev zorlaşır. Geniş bir belgede istenen detay yalnızca bir satırda olabilir ve modelin binlerce parça arasından bunu bulması gerekir.
Büyük kontekst penceresi, hesaplama yükünü de artırır. Model daha fazla veri işler ve daha fazla token arasındaki ilişkileri dikkate almak zorundadır. Bu nedenle geliştiriciler, yalnızca pencereyi büyütmekle kalmaz, uzun dizilerle verimli çalışacak yöntemler de geliştirirler.
Sonuç olarak, kontekst penceresi bir modelin teknik olarak aynı anda ne kadar bilgi alabileceğini gösterir; fakat her bilginin eşit doğrulukla kullanılacağı garanti edilmez.
Kontekst penceresi katı bir sınıra sahiptir: yeni mesaj, belge veya talimatlar sonsuza kadar eklenemez. Bilgi miktarı sınırı yaklaşınca, yeni veri için yer açmak gerekir.
Kullanılan servise göre, sohbetin eski kısımları tamamen modele aktarılmayabilir, kısaltılabilir ya da daha kompakt şekilde özetlenebilir. Model açısından sonuç aynıdır: ilk baştaki bazı bilgiler artık orijinal haliyle erişilemez olur.
Bir diyaloğun saatlerce sürdüğünü hayal edin. Başta önemli bir koşul belirtildi, ardından onlarca mesaj, uzun metinler ve ayrıntılı yanıtlar geldi. Tüm bu içerik kontekst penceresini doldurur.
Yeterli alan kalmadığında, ilk mesajlar pencerenin dışında kalabilir. Artık model, sohbetin başındaki talimatı göremez ve sanki hiç yokmuş gibi yanıt verir.
Bu, modelin "unuttuğu" izlenimini yaratır. Aslında bu bir hafıza sorunu değil, modelin mevcut istekte ilgili metin parçasını artık alamamasıdır.
Bu mekanizma ve Attention rolüyle ilgili detaylar için Yapay Sinir Ağları Neden Uzun Diyalogları Unutur: Bağlam, Bellek ve Attention Nasıl Çalışır? makalesini okuyabilirsiniz.
Bu sorun yalnızca unutulan bilgilerle sınırlı değildir. Eğer önemli bir detay konteksten silinirse, model önceki yanıtlarla çelişebilir, daha önce verilmiş bilgileri tekrar sorabilir ya da başta verilen kurallara uymayabilir.
Bu özellikle büyük projelerde belirgindir. Kullanıcı, bir programın gereksinimlerini veya veri formatını birkaç kez belirtmiş olabilir. Eğer bu bilgiler pencerenin dışında kalırsa, sonraki yanıtlar ilk kurallardan sapabilir.
Üstelik, pencere tamamen dolmadan da zorluklar başlar. Daha fazla bilgi modele iletildikçe, hangilerinin karar için kritik olduğunu belirlemek zorlaşır. Uzun kontekste, önemli bir detay yüzlerce gereksiz token arasında kaybolabilir.
Bu yüzden büyük kontekst penceresi, erken bilgi kaybı riskini azaltır; fakat yapay zekayı mükemmel bir veri deposuna dönüştürmez. Uzun görevlerde, diyalogun açık bir yapıda tutulması, kritik şartların tekrarlanması ve gereksiz bilgilerin eklenmemesi faydalı olur.
Kontekst penceresi ve yapay zeka belleği genellikle aynı şey sanılsa da, aslında farklı mekanizmalardır. Kontekst, modelin şu anda hangi bilgileri gördüğünü belirlerken; bellek, etkileşimler arasında bazı verilerin korunmasını veya ek sistemler aracılığıyla tekrar ulaşılmasını sağlar.
Kullanıcı bir belge, birkaç mesaj veya büyük bir kod parçası gönderdiğinde, tümü mevcut kontekstin parçası olabilir. Model, bu bilgiyi yeni sorguyla birlikte analiz eder ve yanıtında kullanır.
Ancak, kontekstte bulunmak, verilerin kalıcı olarak saklanacağı anlamına gelmez. Etkileşim bittiğinde ya da kontekst değiştiğinde, bu bilgiler sonraki yanıtlarda kullanılmayabilir.
Dolayısıyla, çok büyük bir kontekst penceresi dahi geçici bir çalışma alanıdır. Aynı anda daha fazla bilgiyi dikkate almayı sağlar, fakat uzun vadeli hafızaya dönüşmez.
Yapay zeka belleği, belirli bilgilerin saklanmasını ve gerektiğinde tekrar kullanılmasını sağlayan sistemlerdir. Örneğin, bir servis kullanıcı tercihlerini, önceki diyalog özetlerini veya başka verileri saklayıp, gerektiğinde tekrar kontekste ekleyebilir.
Ancak, bellek kontekstin yerini tutmaz. Modelin saklanan bilgiyi kullanabilmesi için, yeni sorgu işlenirken bu verinin tekrar modele iletilmesi gerekir.
Benzer bir prensip, harici bilgi tabanları ile çalışırken de geçerlidir. Tüm belge kütüphanesini kontekste eklemek yerine, sistem önce en uygun parçaları bulur ve yalnızca bu bilgileri modele iletir.
Birçok RAG (Retrieval-Augmented Generation) çözümü bu şekilde çalışır. Yapay zeka, harici kaynaklara erişir; fakat yalnızca bulunan ve mevcut kontekste eklenen verileri kullanır.
Özetle, büyük kontekst penceresi, bellek ve harici veri tabanları farklı sorunlara çözüm sunar. Kontekst, o anki düşünme için bilgi miktarını belirler; bellek, önemli bilgileri etkileşimler arasında saklar; harici sistemler ise büyük veri yığınlarında gerekli bilgiyi bulur.
Kontekst penceresi ne kadar büyükse, yapay zeka tek bir görevde o kadar fazla bilgiyi dikkate alabilir. Bu, özellikle yanıtın kısa bir sorgudan değil, çok sayıda bağlantılı veriden etkilendiği durumlarda önemlidir.
Ancak kontekstin artırılması tüm sorunları çözmez. Model, çok fazla alakasız bilgiyle karşılaştığında, önemli parçaları seçmek zorlaşır. Büyük pencere yalnızca model, uzun diziler içinde gerekli bilgiyi etkili şekilde bulabiliyorsa faydalıdır.
Bunun yanı sıra, kontekstin büyümesi hesaplama yükünü de artırır. Daha fazla token işlendikçe, sistemin daha fazla RAM, süre ve işlem gücüne ihtiyacı olur. Bu yüzden geliştiriciler yalnızca pencereyi büyütmekle kalmaz, aynı zamanda daha verimli Attention mekanizmaları, kontekst sıkıştırma ve seçici bilgi kullanımı üzerinde de çalışırlar.
Pratikte, kontekst penceresi boyutu; mevcut veri hacmi, yanıt hızı ve kalite arasında bir denge gerektirir. Devasa kontekst, karmaşık görevlerde işe yarar; ancak modeli otomatik olarak daha akıllı yapmaz ve her bilginin eşit şekilde kullanılacağını garanti etmez.
Kontekst penceresi yapay zekanın aynı anda dikkate alabileceği bilgi miktarını belirler. Diyalog mesajları, talimatlar, belgeler, kodlar ve diğer veriler bu pencereye dahil olabilir; boyutu ise genellikle token cinsinden ölçülür.
Pencere büyüdükçe uzun sohbetler ve büyük içeriklerle çalışmak daha kolaylaşır. Ancak, büyük bir limit uzun süreli bellek anlamına gelmez ve modelin her metin parçasını eşit derecede iyi kullanacağını garanti etmez.
Kullanıcılar için en önemli pratik sonuç: karmaşık görevlerde yalnızca büyük kontekstli bir model seçmek değil, ona gerçekten gerekli bilgileri aktarmaktır. İyi yapılandırılmış bir kontekst, önemli detayların kaybolduğu dev veri yığınlarından daha faydalı olabilir.