Büyük Dil Modelleri: Gerçek Mülakat Soruları (5 Örnek Soru)

Tarık Kaan Koç
Nane & Limon
Published in
5 min readMar 1, 2024
Large Language Models

Soru 1: Token — Tokenization — Token Count Kavramı

Diyelim ki bir teknoloji şirketinin data science/ai bölümünde mülakatsınız ve sizi karşılayan mülakat sorumlusu, büyük dil modelleri üzerine çalıştıklarını belirtiyor. Samimi bir gülümsemeyle, sizden büyük dil modellerindeki “token”, “tokenization” , “Token Count” kavramını açıklamanızı istiyor.

Token, dil modellerinin metni anlamak için kullandığı en küçük birimdir; bu birimler metnin karakterler, kelimeler veya kelime grupları olarak parçalanmasını sağlar. Token parçalama stratejileri, metni daha küçük parçalara ayırma yöntemleridir ve bu, kelime bazlı, karakter bazlı veya alt kelime bazlı olabilir. Bu stratejiler, modelin metni daha iyi anlamasına ve işlemesine yardımcı olur. Tokenization, metni daha iyi anlayabilmek için kelime, karakter ya da alt kelime gibi daha küçük parçalara ayırma işlemidir. Bu yöntem metnin anlamını ve yapısını kolayca çözümlemesine olanak tanır. Diyelim ki “bilgisayar” kelimesini tokenization işlemine tabi tutuyoruz. Eğer kelime bazlı bir yaklaşım kullanıyorsak, “bilgisayar” tek bir token olarak kalır. Ancak alt kelime bazlı bir yaklaşıma göre işlem yaparsak, “bilgi” ve “sayar” gibi iki ayrı tokena bölünebilir. Misal; OpenAI alt-kelime bazlı (sub-word tokens) bir tokenization yaklaşımını benimsiyor. Bu şekilde, model kelimenin içindeki daha küçük anlamlı birimleri tanıyabilir ve metni daha detaylı bir şekilde işleyebilir.

Model Bağlı Token Sayısı

Token sayısı, bir metnin model tarafından nasıl işlendiğini belirleyen faktördür ve metnin uzunluğuna bağlı olarak değişir. Her dil modeli, metni işleme ve anlama konusunda benzersiz bir yaklaşım sergiler, bu yüzden her birinin token sayısı farklıdır. Metni modelin perspektifinden doğru şekilde analiz etmek için, o modele ait özel tokenizer ile metni tokenleştirmek ve sonrasında bu tokenleştirme işleminin uzunluğunu ölçmek gereklidir. Bu yöntem, modelin metni nasıl bölüştürdüğünü ve işlediğini anlamak için hayati önem taşır. Örneğin, FlanT5 LLM ve Llama2 veya Mistral LLM gibi modeller arasında token sayısında farklılıklar olacaktır, modeller, metni parçalama (tokenization) konusunda farklı stratejiler geliştirir; bazıları daha detaylı alt kelime analizleri yaparken, diğerleri kelime veya karakter bazında işlemler uygulayabilir Örn: OpenAI’nin tokenizer’ını incelemek için bu bağlantıyı kullanabilirsiniz: https://platform.openai.com/tokenizer

Soru 2: LLM’leri Çalıştırmanın Ekonomik Yükünü Nasıl Hesaplayıp Yönetiyorsunuz?

LLM’lerin kullanım maliyetlerini hesaplama ve yönetme süreci, temelde iki ana kategoriye ayrılıyor: Özel LLM’ler ve Açık Kaynak LLM’ler.

Özel LLM’ler:

Özel LLM’ler, örneğin GPT-3.5 veya GPT-4 gibi modeller, maliyet hesaplama süreci genellikle iki ana faktöre dayanır: token sayısı ve karakter sayısı. Bu süreç, girdi (prompt) ve çıktı (completion) olarak işlenen token veya karakter miktarına göre maliyetin belirlenmesini içerir. Maliyetin hesaplanması için kullanılan stratejiler şunları içerebilir:

  1. OpenAI API İstekleriyle: Girdi ve çıktı token/karakter sayılarınızı, OpenAI API’ye yapılan istekler üzerinden direkt olarak belirleyebilirsiniz. Bu yöntem, belirli bir model için girdi token sayısını net bir şekilde anlamanıza yardımcı olurken, çıktı için ise görevin gereksinimlerine göre token sayısının ortalama veya maksimum limitlerini kolaylıkla ayarlamanıza imkan tanır. (Ayrıca OpenAI Pricing Calculator’dan faydalanabilirsiniz.)

Girdi tokenleri veya karakterleri, belirli bir modelin token sayısını kesin olarak bulmak için (örneğin, tiktoken python kütüphanesi) ile kolayca hesaplayabilirsiniz.

2. Azure OpenAI: Eğer Azure üzerinden OpenAI hizmetlerini kullanıyorsanız, maliyetleri doğrudan Azure OpenAI Service pricing üzerinden region’a göre maliyetleri gözlemleyebilirsiniz.

Açık Kaynaklı LLM’ler:

  1. Benchmark: Açık kaynak LLM’ler için maliyet, GPU destekli makinelerde paralel istekler çalıştırarak oluşturulan performans benchmark’ı ile değerlendirilebilir. Bu yöntem işlem sırasında kullanılan token sayısını ve işlemin süresini kapsar böylece dakikada işlenen token sayısını ve tüm tokenların işlenmesi için gereken süreyi belirlememizi sağlar.
  2. Bulut Maliyeti: İşlem maliyeti, bulut hizmetinde çalıştırmanın genel maliyeti üzerinden hesaplanabilir. Ticari kullanım kısıtlamaları olmayan açık kaynak modeller için, bu sürecin bulutta ne kadar maliyet oluşturduğu doğrudan hesaplanabilir. Ticari kullanım için sınırlamaları olan modellerde ise, üretilen çıktılardan elde edilen gelir göz önünde bulundurularak LLM’nin çalıştırma maliyeti yaklaşık olarak tahmin edilebilir.

Soru 3: ChatGPT’nin Eğitim Sürecini Detaylandırabilir misiniz?

Bu süreç, genel olarak üç ana adımdan oluşur:

  • 1.) 𝗣𝗿𝗲-𝘁𝗿𝗮𝗶𝗻𝗶𝗻𝗴: ChatGPT’nin eğitim serüveni, pre-training (ön-eğitimle) başlar; burada GPT-3 gibi modeller, geniş bir veri seti üzerinde eğitilir. Bu süreçte veri, temizlenir, ön işlemden geçirilir ve tokenlere ayrılır. Bu aşamda, Transformer mimarileri kullanılır. Ana hedef, modelin bir metin dizisinde bir sonraki kelimeyi tahmin edebilmesini sağlamaktır, bu da modele dil kalıplarını tanıma becerisi kazandırır ancak henüz komutları anlama yeteneği vermez.
  • 2.) 𝗦𝘂𝗽𝗲𝗿𝘃𝗶𝘀𝗲𝗱 𝗙𝗶𝗻𝗲-𝗧𝘂𝗻𝗶𝗻𝗴 — ve/veya — 𝗜𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗶𝗼𝗻 𝗧𝘂𝗻𝗶𝗻𝗴: ChatGPT’nin eğitim sürecinin ikinci aşaması Fine Tuning (ince ayar). Fine tuning aşamasında, ChatGPT’ye adeta yeni bir yetenek kazandırılır: Kullanıcıların sorularını ve taleplerini anlama ve buna uygun yanıtlar verme kabiliyeti. Bu süreçte, model gerçek insan etkileşimlerinden alınan verilerle eğitilir, böylece doğru ve anlamlı yanıtlar üretebilmesi için gerekli bilgi ve anlayışa ulaşır. Bu evre, ChatGPT’nin dil ötesi bir anlayışa sahip olmasını ve kullanıcıların ihtiyaçlarına duyarlı bir şekilde yanıt verebilmesini sağlar, böylelikle daha profesyonel ve etkileşimli bir yapay zeka haline gelir.
  • 3.) Reinforcement Learning from Human Feedback (RHFL): RHFL adımı, ChatGPT’nin insan tercihlerine uygun davranışlar geliştirmesini amaçlar. Bu süreç, modeli yararlı, dürüst ve zararsız olacak şekilde yönlendirir. İşleyiş şekli, insanlardan alınan geri bildirimlerle bir “ödül modeli” oluşturulmasıdır. Bu model, ChatGPT’nin verilen geri bildirimlere göre hangi yanıtların daha tercih edildiğini anlamasını sağlar. Eğitim, bu ödül modelini kullanarak gerçekleştirilir, böylece model, büyük ölçekli eğitim süreçlerinde insanların yerini alabilecek şekilde gelişir. RHFL ile ChatGPT, insan değerleriyle uyumlu, güvenli ve doğru yanıtlar sunacak şekilde sürekli olarak iyileştirilir. Örneğin, aşağıda eklediğim ekran fotoğrafında “Bad response” bildirimi, geri bildirim sürecinin bir parçası olarak kullanıcıların verdiği bir tür değerlendirmedir. Reinforcement Learning from Human Feedback (RHFL) sürecinde, bu tür geri bildirimler, modelin insan tercihlerine daha iyi uyum sağlamasını ve daha yararlı, dürüst ve zararsız yanıtlar üretmesini sağlamak için kullanılır. Her “Bad response” bildirimi, modelin ödül sistemi üzerinde çalışarak, gelecekte benzer durumlarda nasıl daha iyi yanıt vereceğini öğrenmesine yardımcı olur. Bu örnek üzerinden, benzer bir kitap tavsiyesi talebi geldiğinde nasıl daha iyileştirilmiş bir yanıt verilebileceği üzerine çalışılabilir.
Reinforcement Learning from Human Feedback (RHFL)

Bu üç aşamalı eğitim süreci, ChatGPT’nin dilin inceliklerini kavrama ve doğal, akıcı yanıtlar oluşturma yeteneğini geliştirir.

Soru 4: Büyük Dil Modellerinde Halüsinasyonları Azaltma Stratejilerinden Bahsedebilir Misin?:

  • 1.) Prompt Engineering ile Halüsinasyonları Azaltma: Modelin, verilen bağlam dışında gerçek olmayan bilgiler üretmesini engellemek için özel talimatlar ekleyebilirsiniz. “Sadece verilen bilgilere dayanarak cevap ver” gibi direktiflerle, modelin yanıtlarını daha doğru bir çerçeveye oturtabilirsiniz. Farklı prompt templat’leri deneyerek, modelin halüsinasyon yapmasını minimize edebilirsiniz.
  • 2.) RAG (Retrieval-Augmented Generation): Modelinizin doğruluk seviyesini artırmak için, bir vektör veritabanında bilginizin gömülülerini (embeddings) saklayabilirsiniz. Bu yöntem, modelin daha doğru bilgilere erişimini sağlayarak yanıtların kalitesini iyileştirir.

Aşağıdaki kaynağa göz atabilirsiniz:

Soru 5: Büyük Dil Modellerinin Avantajları & Dezavantajları?

  • Avantaj: Büyük Dil Modelleri (LLM) kullanmanın avantajları, geniş veri setleri üzerindeki eğitimleri sayesinde metin sınıflandırma, makine çevirisi gibi çeşitli görevlerde etkileyici performans sergileyebilmelerinden kaynaklanır. Bu modeller, özel görevlere veya belirli alanlara kolayca ince ayar (fine tuning) yapılabilme esnekliğine sahiptir, bu da onları bir dizi uygulama için uyarlanabilir kılar. İnsan benzeri yanıtlar üretebilme yetenekleri, özellikle interaktif uygulamalar için onları ideal hale getirir.

Dezavantajlar konusuna gelince, daha önce Malatya DevFest etkinliğinde bu modellerin risklerini ele almıştım. Aşağıdaki slayt’tan göz atabilirsiniz:

Umarım, bu yazı sizlere mülakat sürecinde karşılaşabileceğiniz sorulara hazırlanma konusunda yardımcı olur ve bu heyecan verici alanda daha bilinçli adımlar atmanıza olanak tanır.

Bana linkedin üzerinden ulaşabilirsiniz. 🦋

--

--