GenerativeAI PromptMühendisliği LLM

Generative AI Modelleri ile Yapay Zeka Devrimi: Nasıl Çalışır, Nasıl Kullanılır?

2025-01-25 Abdullah Kise

Giriş

Bazıları "Yapay Zeka bu sefer bizi ele geçirecek galiba" diye korka dursun, biz Generative AI'nın ne olduğunu ve nasıl kullanıldığını öğrenerek potansiyelimizi gerçekleştirme fırsatını yakalayalım.

Yapay Zeka insanın yapabildiklerini yapmayı hedefler. Bu sebeple elbette vasat işleri komple devralması, birçok işin yapılma şeklini değiştirmesi ve bazı imkansız işleri de mümkün kılması beklenir. Yapay Zekanın değiştirdiği dünyada hızlı adımlarla ilerlerken paralize olmuş şekilde bir köşede çaresizce beklemek yerine, bu değişime ayak uydurmak ve bu değişimden faydalanmak daha mantıklı olacaktır. Bugünlerde kullanımı geniş kitlelere yayılan ve herkesin dikkatini çeken Generative AI (ChatGPT, Gemini vs.) modelleri bu değişimde önemli bir rol oynamaktadır.

Aslında bu modeller temelde girdi olarak aldığı metnin sonuna gelebilecek en iyi kelimeyi istatistiksel olarak seçmekten başka bir şey yapmaz. Bu yönüyle arama motorlarına benzer. Bu modellerin büyüleyici ve etkileyici yanı ise, bu istatistiksel seçimi yapabilmesi için modellerin çok büyük bir veri kümesi üzerinde yüksek kapasiteli çok özel işlemcilerle (CPU, GPU, TPU ve AI için özel hızlandırıcılar) ile donatılmış binlerce cihaz ile eğitilmiş olmalarıdır. Geriye kalan uğraş ise kelimelerin metindeki bağlamına uygun olarak seçilmesi ve sıralanmasıyla ilişkili kabul görmüş matematiksel işlemlerden ibarettir.

Daha önce geliştirilen bir modele dayandırılarak kelimeler (benzeri parçalar) bir vektör uzayına yerleştirilir. Bir tür puanlama işlemlerinin ardından vektörler bağlamla ilişkili noktaya taşınır. Sonrası ise girdilerle çıktıları tutarlı olarak sunacak formülün (mekanizmanın) elde edilmesi için modele iyi ve kötü geri beslemeleri yapmaktır.

"Arka planda ne olduğunu bile bilmiyorlarmış" efsanesi sonuçların tutarlı ve doğru olmasını sağlarken, verilen geri beslemeler sonucunda değerlerin oluşma şeklinden ve gürültüyü azaltmak için seçilen fonksiyonun çalışma mantığından doğmaktadır. Arka planda her adımda ne olduğunu bilmeyi zaten istemiyoruz. Milyarlarca parametrenin bir araya gelerek bir sonuç üretmesi ve bu sonucun doğru olması bizim için yeterli.

Hadi gelin bu modellerin neler yapabildiğini ve nasıl kullanıldığını öğrenelim. Potansiyelimizi gerçekleştirmek için son kullanıcı olarak bu modellerden faydalanma fırsatını kaçırmayalım. Yeni nesil programlama yöntemi olan prompt yazma becerimizi geliştirelim.

Generative AI Nedir?

Yapay Zeka (AI) çalışmaları bir insanın yapabildiği görevi yapabilen bir mekanizma oluşturmayı hedefler. Bu mekanizma basit karar yapıları ve döngülerle kurgulanabildiği gibi bir takım matematiksel modellerle de oluşturulabilir. AI'nın bir alt çalışma alanı olan Makine Öğrenimi (ML) veri yığınlarıyla matematiksel modellerin işlenmesi ve modelin parametrelerinin ortaya çıkarak verideki deseni ve eğilimi keşfetmesi sağlanır. Böylece bilinmeyeni veya geleceği tahmin etmek teorik olarak mümkün hale gelir. ML'in bir alt çalışma alanı olan Derin Öğrenme (DL) ise yapay sinir ağları ile karmaşık problemlere çözüm sunar. Yapay sinir ağları, insan beyninin sinir hücrelerinin çalışma prensiplerinden esinlenerek oluşturulmuş bir modeldir.

Derin öğrenmenin alt çalışma alanları da mevcuttur. LLM (Large Language Model) adı verilen geniş dil modelleri, doğal dil işleme (NLP) tekniklerini kullanarak insan gibi metin üretme, öğrenme ve dil tabanlı problemleri çözme kabiliyetine sahiptir. Bu modeller Genertive AI ile buluştuğunda yeni metin, ses, resim ve video üretebilir. Örneğin ChatGPT, Gemini gibi ürünler bu teknikleri kullanarak insan gibi metin üretebilme, öğrenme ve dil tabanlı problemleri çözme kabiliyetine sahiptir. Bu modeller Transfer tabanlı yaklaşımla çalışır. Genel dil modelleri olarak geniş bir metin kümesinde eğitilir ve belirli bir işlev veya bağlam için ince ayar yapılır. Kullanıcı etkileşimlerinden öğrenerek sürekli olarak gelişebilir.

Generative AI ile Neler Yapabilirsiniz?

Generative AI'nın becerileri oldukça geniştir. Bu becerilerden bazıları şunlardır:

  • Metin yazarlığı, makale, blog yazıları, hikaye ve senaryo
  • Yazılım geliştirme için Kod üretimi
  • Görsel sanat ve tasarım
  • Fotoğraf düzenleme ve manipülasyonu
  • 2D, 3D modelleme ve animasyon
  • Video üretimi
  • mevcut videolardaki yüz ve sesleri değiştirme (deepfake)
  • Metinden sese dönüşüm
  • Ses efekti üretme
  • Veri simülasyonu ile sentetik veri üretme
  • Tablo ve rapor üretimi ile otomatik rapor ve öngörüler oluşturma
  • İnsanı taklit ederek bazı davranışları ve hareketleri tasarlama
  • Oyun tasarımı ve sanal gerçeklik içerikleri oluşturma
  • Metinden görüntü, ses ve video üretme
  • İlaç ve malzeme geliştirmek için yeni kimyasal yapıların üretimi
  • Simülasyonlar oluşturmak ve test etme

Öncelikle Microsoft kullanıcıları için şunu belirtmek isterim; Azure üzerinde yer alan NLP ve QnA gibi hizmetler daha çok belli bir veri kümesi üzerinde eğitilir ve bu küme çerçevesinde cevaplar üretir. Önceden eğitilmiş bir dil modeli kullanmaz. Generative AI modelleri ise daha büyük genel veri kümesi ile ve önceden eğitilmiş dil modelleriyle çalışır. daha karmaşık süreçlerde ve üretken olması beklenen yerlerde daha avantajlıdır. Microsoft OpenAI ile iş birliği yaparak Generative AI alanında LLM modelleri çerçevesinde ihtiyaca yönelik geliştirilebilir çözümler de sunmaktadır.

Generative AI (ChatGPT, Gemini vs.) Modellerinin Kullanımı ve Geliştirilmesi:

  1. İlk etapta genel dil modelleri olarak geniş bir metin kümesinde eğitilir:
    • Genel dil modeli becerileri nelerdir?
      • Temel anlama ve yanıt verme
      • Metin üretimi, özetleme, çeviri
      • Listeleme, sıralama, karşılaştırma, sebep-sonuç analizi
      • Kod üretimi, çıktıyı formatlama, belirtilen şablona uygun cevap üretme
      • Karaktere veya temaya uygun hikaye üretme (bağlamı takip etme), mizah, şiir, makale vs. üretme
    • Eğitimde kullanılan veri kaynakları nelerdir ve ne gibi işlemlere tabi tutulur?
      • İnternet üzerinden toplanan veriler. bloglar, forumlar, haber siteleri, kitaplar, kod ve know-how paylaşım odaklı platformlar vs.
      • Belli bir görevi başarması amacıyla ince ayar (Fine-tunning) için daha özel ve ulaşılması zor bilgiler titizlikle seçilmektedir (Vaka çalışmaları, Tıbbi makaleler, ilaç rehberleri vs.)
      • Özel görevler için bizzat insanın içinde bulunduğu veri etiketleme çalışmaları yapılır.
      • Modelin çıktıları gözden geçirilir ve doğru yanlış yönlendirmeleri yapılarak modelin gelişimine katkı sağlanır.
      • Promptlardan elde edilen bilgiler ışığında da model geliştirilir.
      • Tekrarlı, toksik, hatalı ve hassas veriler filtrelenir. din, dil, ırk, cinsiyet ve engellilik gibi noktalardaki ön yargının azaltılması için çalışmalar yapılır.
      • Bütün bunlarla birlikte gizlilik ve telif hakkı kurallarına uyulmasına özen gösterilir.
  2. Belirli bir işlev veya bağlam için (örneğin, müşteri destek botu) ince ayar yapılır. (Fine-Tuning)
    • Belirli bir terminoloji, jargon veya hassas bilgilerle çalışması gerekiyorsa (ör. tıbbi, hukuki, teknik).
  3. Kullanıcı etkileşimlerinden öğrenerek sürekli olarak gelişebilir. (Few-Shot ve Zero-Shot Learning - Modeli örneklerle yönlendirme.)
    • Promptlarla Göreve Hazır Hale Getirme (Prompt Engineering)

Özetle; Generative AI, geniş bir veri kümesi ile önceden eğitilmiş dil modelleriyle çalışır, gerekirse belli bir işlev veya bağlam için ince ayar yapılır ve kullanıcı etkileşimlerinden öğrenerek sürekli olarak gelişebilir. Karmaşık ve üretkenlik gerektiren işlerde etkili bir şekilde kullanılabilir.

Hazır Generative AI modellerini amaca uygun şekilde eğitmek ve çıktılarının farklılaşmasını sağlamak için birtakım parametreleri (mesela Temperature) değiştirmek mümkün. Bu işlemlerin bir kısmı özel bir eğitim ve deneyim gerektirir. Zahmetli ve ücretli bir süreç olan bu işlemler, doğru ve tutarlı sonuçlar elde etmek için önemlidir. Fakat bu zahmete girmeden de Genertive AI modellerini programlamak mümkün olabilir. Bunun için iyi bir prompt yazma becerisine sahip olmak yeterli. İyi bir prompt, modelden doğru, tutarlı ve bağlama uygun bir yanıt almanızı sağlar. İyi prompt yazdıktan sonraki beklentimiz, modelin eğitildiği genel bilgi düzeyinin görevle uyumlu olmasına bağlı olarak doğru ve tutarlı sonuçlar elde etmektir.

Etkili Prompt Yazma İpuçları

Bir Prompt için Olmazsa Olmazlar:

Promptlar yapay zeka modeline verilen yazılı talimatlardır. Promptlar yardımıyla Modeli programlarız. İyi bir prompt, modelden doğru, tutarlı ve bağlama uygun bir yanıt almanızı sağlar. İyi bir prompt yazmak için şu ipuçlarını takip edebilirsiniz:

  1. Görev: Modeli kullanma amacınız olmalı. Modele bir görev verin.
    • Görev açık ve net olmalı. Belirsizlik barındırmamalı. Aksi halde cevap çok ilgisiz veya yüzeysel olabilir.
    • Çerçevesi belli ve spesifik olmalı.
    • Örneğin: "Bana bir hikaye yaz" demek yerine "Baş kahramanı bir robot olan 3 paragrafı geçmeyecek bir hikaye yaz" demek daha etkili olabilir.
  2. Bağlam: Kullandığımız her kelime attention mekanizması yardımıyla uzayda bağlamla ilişkili yerde konumlandırılıyor. Bu sebeple bağlam vermek çok kritik.
    • Görevin ne ile ilgili olduğunu (içeriğin, mevzunun ne olduğunu) açıklayın. Amacınızı belirtin.
    • Örneğin: "Baş kahramanı bir robot olan 3 paragrafı geçmeyecek bir hikaye yaz. Hikaye oyuncaklar arasında kaybolan yalnız bir robotun çocuklar tarafından bulunma mücadelesini anlatsın" demek daha etkili olabilir.

Promptu Geliştirme:

  1. Benzer örnekler: Çıktının bu örneklere yakınsamasını sağlayabilirsin.
    • Örneğin: "Baş kahramanı bir robot olan 3 paragrafı geçmeyecek bir hikaye yaz. Hikaye oyuncaklar arasında kaybolan yalnız bir robotun çocuklar tarafından bulunma mücadelesini anlatsın. Robotumuz sevimli bir köpek olabilir."
  2. Rol: Modelin oynamasını istediğiniz rolü belirtin:
    • Örneğin: "Bir rapçi gibi davran. Baş kahramanı bir robot olan 3 kıtayı geçmeyecek bir hikaye yaz. Hikaye oyuncaklar arasında kaybolan yalnız bir robotun çocuklar tarafından bulunma mücadelesini anlatsın. Robotumuz sevimli bir köpek olabilir."
  3. Format: Çıktı formatını belirtin:
    • Çok çeşitli formatlarda çıktı alabilirsiniz (liste, tablo, başlık - alt başlık, kod, resim, grafik vs.)
    • Daha uzun ve kısa çıktı talebinde bulunabilirsiniz.
    • Çıktıları sıralamak ve önceliklendirmek isteyebilirsiniz. Örneğin: "Popülerliğe göre sırala ve 5 tanesini getir" gibi.
    • Bir çıktı kalıbı belirtebilirsiniz. Örneğin: "[Yıl]'ına ait [Nüfus] nüfus verileri" gibi.
  4. Ton: İletişim tonunu belirtin:
    • Çeşitli iletişim tonlarında cevap üretilmesini sağlayabilirsiniz. Bazı örnekler: resmi, arkadaş canlısı, esprili, ironik, entelektüel, içten, hevesli, bilgilendirici, takdir edici, gündelik, rahatlatıcı, alaycı, kendinden emin, duygusal, dolaylı, canlı, negatif, idealist, hayal kırıklığna uğramış vs.
    • Örneğin: "Bir rapçi gibi davran. Baş kahramanı bir robot olan 3 kıtayı geçmeyecek bir hikaye yaz. Hikaye oyuncaklar arasında kaybolan yalnız bir robotun çocuklar tarafından bulunma mücadelesini anlatsın. Robotumuz sevimli bir köpek olabilir. Hikayenin tonu eğlenceli ve çocuksu olsun."
  5. Filtre: Filtrelemek istediklerinizi belirtin:
    • İstemediklerinizi yani negatif promplarınızı yazabilirsiniz.
    • Örneğin: "Bir rapçi gibi davran. Baş kahramanı bir robot olan 3 kıtayı geçmeyecek bir hikaye yaz. Hikaye oyuncaklar arasında kaybolan yalnız bir robotun çocuklar tarafından bulunma mücadelesini anlatsın. Robotumuz sevimli bir köpek olabilir. Hikayenin tonu eğlenceli ve çocuksu olsun. Hikayede olumsuzluklara yer verme."

İleri Düzey Prompt Teknikleri

  1. Karmaşık Görevler: Karmaşık görevleri alt görevlere bölebilirsiniz.
    • Örneğin: "Bir kasabada yeni bir kafe açmayı planlıyorum. Öncelikle hangi engellerle karşılaşacağımı belirt, sonra bu engelleri nasıl aşacağımı açıkla, ardından başarılı olabilecek konsept öner ve hedef kitlenin kimler olabileceğini belirt. Son olarak menüde olabileceklerden 7 tanesini listele."
  2. Tekrarlı İstekler: Tüm yazışma modele tekrar gönderileceği için farklı promptlarla ek isteklerinizi belirtebilirsiniz.
  3. Çıktı Formatı: Birden fazla çıktı formatında bilgi isteyebilirsiniz.
    • Örneğin: "Hikayeyi yaz. Hemen ardından özetini ekle. Anahtar noktaları bir liste olarak en altta belirt. Listelerin başına ilgili emojileri yerleştir."
  4. Soru Sorma: Modelin daha iyi cevap vermesi için bazı bilgilere ihtiyacı olabilir. Bu durumda modelin size soralar yöneltmesini sağlayabilirsiniz.
    • Örneğin: "Daha iyi cevap verebilmen için cevap vermeden önce bana sorular sorabilirsin." şeklinde prompta ekleme yapabilirsiniz.

Modellerin Hataları ve Yönetimi

  1. Bağlam Kaybı: Uzun bir diyalogda önceki mesajları unutabilir.
  2. Gerçeklik Hataları: Yanlış bilgiler verebilir veya uydurma yapabilir.
  3. Detay Yetersizliği: Spesifik olmayan bir prompt, yüzeysel veya genel yanıtlarla sonuçlanabilir.
  4. Format Hataları: Talep edilen formatı yanlış uygulayabilir.

Bu hataları yönetmek için:

  1. Eksik veya yanlış verilerin belli bir kaynağa göre doğrulama yapılmasını isteyin. Örneğin: "Bu bilgileri TUİK verilerine göre kontrol et." şeklinde belirtin.
  2. Verilen bilgilerin doğruluğunu kontrol etmek için yanıtı bir veri kaynağına dayandırmasını isteyin. Örneğin: "Bu bilgileri bir veri kaynağına dayandırarak kontrol et." şeklinde belirtin.
  3. Daha fazla bilgi isteyerek doğruluğu arttırmasını sağlayın. Örneğin: "Oranları yüzde olarak listele ve grafik öner." şeklinde belirtin.
  4. Modelin çıktılarını gözden geçirerek doğru ve yanlış yönlendirmeleri yaparak modelin gelişimine katkı sağlayın.

Daha İyi Deneyim için Bazı Öneriler:

  1. Prompt Yazma Becerisini Geliştirin.
  2. Model çıktılarını değerlendirin ve geribildirimde bulunun.
  3. Üretkenliğinizi arttırmak için Generative AI modellerinden faydalanın. Kendi yerinize koymayın.
  4. Her şeyi %100 doğru ve tutarlı beklemeyin, kabul etmeyin. Modelin hatalarını yönetmeyi öğrenin.
  5. Gizlilik ve hassas verilerin korunmasına özen gösterin. Anonim olmayan verileri girmekten kaçının.
  6. Modelin eğitildiği veri kümesini ve tarihini göz önünde bulundurun. Eski ve güncel verilerin farkını anlayın.
  7. Modelin eğitildiği alanın dışında ise yanıtların hatalı olabileceğini unutmayın. Modelin sınırlarını bilin.
  8. Amaçsız ve gereksiz kullanımlardan kaçının. Modelin doğru ve etkili kullanımı için belirli bir amacınız olsun. Vakit kaybetmekten kaçının.
  9. Yapay Zekayı bir yardımcı olarak görün. İnsanın yerini almayacağını unutmayın. Stratejik kararları insanlar verir, model sadece yardımcı olur.
  10. Modeli kolayca manipüle edebilirsiniz. Bu nedenle doğru ve etik kullanımı önemlidir. Modelin yanlış yönlendirilmesinden kaçının.

Sonuç

Generative AI modelleri, geniş bir veri kümesi ile önceden eğitilmiş dil modelleriyle çalışır, gerekirse belli bir işlev veya bağlam için ince ayar yapılır ve kullanıcı etkileşimlerinden öğrenerek sürekli olarak gelişebilir. Karmaşık ve üretkenlik gerektiren işlerde etkili bir şekilde kullanılabilir. İyi bir prompt yazma becerisine sahip olmak, modelin doğru ve tutarlı sonuçlar vermesini sağlar. Bu nedenle, Generative AI modellerini etkili bir şekilde kullanmak için prompt yazma becerisini geliştirmek önemlidir. Bu makalede verilen ipuçlarını kullanarak, Generative AI modellerini daha etkili bir şekilde kullanabilir ve potansiyelinizi gerçekleştirebilirsiniz.