Akış (Streaming)
İş akışıAkış (Streaming) nedir?
Streaming, bir dil modelinin ürettiği cevabı tamamı bitene kadar bekletmeden, her token hazır oldukça anında kullanıcıya iletmesidir. ChatGPT'de yazının kelime kelime akıp gelmesinin, sanki karşında biri yazıyormuş hissinin sebebi budur.
Nasıl çalışır?
Dil modelleri metni token token, soldan sağa üretir. Streaming kapalıyken sunucu tüm token'lar üretilene kadar bekler, sonra cevabın tamamını tek seferde gönderir. Streaming açıkken her token üretildiği an bağlantı üzerinden gönderilir; genellikle Server-Sent Events (SSE) gibi bir mekanizma kullanılır. İstemci gelen parçaları aldıkça ekrana ekler.
Neden önemli?
Uzun bir cevabın tamamının hazırlanması saniyeler sürebilir. Kullanıcı boş bir ekrana bakıp beklerse yavaş hissedilir. Streaming ile ilk token birkaç yüz milisaniyede gelir; toplam süre değişmese bile algılanan latency ciddi biçimde düşer. Ayrıca kullanıcı cevabın gidişatını erken görüp beğenmezse üretimi durdurabilir, bu da boşa harcanan hesaplamayı azaltır.
Kullanım alanları
Sohbet arayüzleri, kod asistanları ve uzun metin üreten her türlü uygulamada standarttır. API'lerin çoğu streaming modunu bir parametreyle açar. Bazı durumlarda — örneğin cevabın tamamını işleyip JSON olarak ayrıştırman gerektiğinde — streaming kapatılır, çünkü parça parça gelen çıktıyı işlemek zorlaşır.
Ilgili terimler
