Aracılığıyla paylaş


Üretken yapay zeka ve LLM'ler nasıl çalışır?

Üretken yapay zeka, doğal dil, görüntüler, ses ve kod gibi özgün içerik oluşturabilen bir yapay zeka türüdür. Üretken bir yapay zekanın çıkışı, kullanıcı tarafından sağlanan girişleri temel alır. Kullanıcıların üretken yapay zekayla etkileşim kurmalarının yaygın yollarından biri, giriş olarak doğal dil kullanan sohbet uygulamalarıdır. OpenAI tarafından geliştirilen ChatGPT, bunun popüler bir örneğidir. Giriş olarak doğal dil kullanan üretken yapay zeka uygulamaları, doğal dil işleme (NLP) gerçekleştirmek için büyük dil modelleri (LLM) tarafından desteklenir.

Üretken yapay zeka nasıl çalışır?

Tüm üretken yapay zeka modellerin üzerine kurulmuştur. Bu modeller doğal dil, görüntüler, ses ve kod gibi içerik biçimindeki büyük veri kümeleriyle eğitilir. Üretken yapay zeka modelleri, yeni ve istatistiksel olarak benzer içerikler üretmek için eğitim verilerinde tanımlanan desenleri kullanır.

Kullanıcı tarafından sağlanan giriş, yapay zeka modeli tarafından bir çıkış oluşturmak için kullanılır. Giriş ilk olarak modelin anlayabileceği bir veri biçimine ayrıştırılır. Ardından model, son çıkışı oluşturmak için birleştirildiği eğitimden eşleşen desenleri tanımlamak için bu verileri kullanır. Üretken yapay zeka modelleri benzersiz içerik üretecek şekilde tasarlanmıştır, bu nedenle aynı girişler için aynı çıkışı oluşturmaz.

Giriş veya çıkış olarak doğal dili destekleyen üretken yapay zeka uygulamaları bunu yapmak için LLM'leri kullanır. LLM, giriş metnini sınıflandırır ve yaklaşımını belirleyen NLP gerçekleştirmek için kullanılır. Bu sınıflandırma ve yaklaşım analizi, desenleri tanımlamak ve çıkışı oluşturmak için üretken yapay zeka modeli tarafından kullanılır. Çıktı metin ise, bunu oluşturmak için tek başına LLM kullanılabilir. Çıkış ses veya görüntülerse, bu biçimde çıkış oluşturmaya yönelik verileri ve desenleri sağlamak için ek modeller kullanılır.

Üretken yapay zekanın yaygın kullanımları

Üretken yapay zeka uygulamaları, aşağıdaki bölümlerde incelenen çeşitli olası kullanım örneklerini ve olası çıkışları destekler.

Doğal dil oluşturma

Bazı üretken yapay zeka uygulamaları aşağıdakiler gibi doğal dil çıkışları üretebilir:

  • Bir LinkedIn profili için profesyonel olarak ifade edilen özetler
  • Çevrimiçi vitrindeki öğelerin zengin açıklamaları
  • Sağlıklı yemekler için fikirler

Örneğin, kullanıcı girişi Biber de dahil olmak üzere sağlıklı bir kahvaltı için bana üç fikir verin ifadesi göz önünde bulundurulduğunda, üretken bir yapay zeka uygulaması aşağıdaki çıkışı üretebilir:

Tamam, burada biber içeren üç sağlıklı kahvaltı vardır:

  1. Yumurta ve Biber Çırpma: Biraz dolmalık biber atıp biraz yumuşayana kadar bir tavada sote edin. Ardından, biraz çırpılmış yumurta ekleyin ve her şeyi bir araya getirin. Besleyici bir kahvaltı için tam tahıllı tost ile servis edin.

  2. Biber ve Avokado Tostu: Tam tahıllı ekmek dilimini tostlayın ve dilimlenmiş dolmalı biber, avokado püresi ve bir tuz ve karabiber serpin. Bu, avokadodan bazı sağlıklı yağlar ve biberlerden C vitamini almak için harika bir yoldur.

  3. Biberli Burrito Kahvaltısı: Bir tavada birlikte bazı zarlı biber, soğan ve çırpılmış yumurta sote edin. Daha sonra karışımı tam tahıllı bir tortilla üzerine kaşıklayın ve biraz salsa veya sıcak sosla üstten yapın. Sar ve tatmin edici ve besleyici bir kahvaltının tadını çıkar.

Görüntü oluşturma

Bazı üretken yapay zeka uygulamaları, doğal dil girişlerinden görüntü çıkışları üretir. Uygulamaya ve modellerine bağlı olarak kullanıcılar şunları belirtebilir:

  • Görüntüde görünecek kişiler veya şeyler
  • Resmi oluşturmak için artistik stil
  • Benzer görüntüler oluşturmak için başvurular

Görüntü oluşturma, çevrimiçi hesaplar için sanal avatarlar oluşturabilir, bir işletme için logo tasarlayabilir veya oluşturucular için artistik ilham sağlayabilir. Örneğin, bir kullanıcı istekte bulunabilir, Bir filin hamburger yiyen bir görüntüsü oluşturun. Üretken bir yapay zeka uygulaması aşağıdaki çıkışı üretebilir:

Hamburger yiyen bir filin yapay zeka tarafından oluşturulan örnek görüntüsü.

Ses oluşturma

Bazı üretken yapay zeka uygulamaları, doğal dil girişlerinden ses çıkışları üretir. Uygulamaya ve modellerine bağlı olarak kullanıcılar şunları yapabilir:

  • Giriş metninden gelen doğal sesleri sentezleme
  • Belirli bir stilde veya belirli enstrümanları içeren müzik oluşturma
  • Giriş ses dosyalarını, doğal dilde sağlanan belirli ölçütlere göre değiştirme

Ses oluşturma, dijital ses yardımcılarından sesli yanıtlar sağlayabilir, müzik üretimi için şarkılara destek araçları ekleyebilir veya referans kayıtlarından kullanıcının orijinal sesini yeniden üretebilir.

Kod oluşturma

Bazı üretken yapay zeka uygulamaları, doğal dil girişlerinden kod üretir. Uygulamaya ve modellerine bağlı olarak, kullanıcılar şu kodu oluşturabilir:

  • Tercih ettikleri dildedir
  • Belirli bir giriş ve çıkış yapısını kabul eder
  • Başvuru belgelerine göre belirli teknolojileri kullanır

Kod oluşturma, verileri sıralama veya filtreleme, kodu bir dilden diğerine çevirmeyi hızlandırma veya belirtilen başvuru belgelerine dayalı olarak bir teknoloji hakkındaki soruları yanıtlama gibi yaygın işlemlerin hızlı bir şekilde uygulanmasını sağlayabilir. Örneğin, "Bana C# ile tic-tac-toe oyununu nasıl kodlayabilirim" girişi göz önüne alındığında, üretken bir yapay zeka uygulaması aşağıdaki çıkışı üretebilir:

C# dilinde tic-tac-toe oyununu nasıl kodlayabileceğinize basit bir örnek aşağıda verilmiştir:

using System;

namespace TicTacToe
{
    class Program
    {
        static char[] board = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
        static int player = 1; // Player 1 will start
        static int choice; // The number the player chooses
        static int flag = 0; // Set the flag value to 0

        // Check if the position is already marked or not
        private static int CheckPosition(char mark)
        {
            for (int i = 0; i < 9; i++)
            {
                if (board[i] == mark)
                {
                    return 1;
                }
            }
            return 0;
        }

        // The rest of the generated code has been omitted for brevity
        // ...
    }
}

Bu kod, C# dilinde basit bir konsol tabanlı tic-tac-toe oyunu oluşturur. Tahtayı temsil etmek için tek boyutlu bir dizi kullanır ve her taşımadan sonra bir galibiyet veya beraberlik olup olmadığını denetler.

LLM'ler nasıl çalışır?

Bir LLM eğitilirken, eğitim metni ilk olarak belirteçlere ayrılır. Her belirteç benzersiz bir metin değeri tanımlar. Belirteç ayrı bir sözcük, kısmi sözcük veya sözcük ve noktalama işareti birleşimi olabilir. Her belirteçe, metnin belirteç kimlikleri dizisi olarak temsil edilmesine olanak tanıyan bir kimlik atanır.

Metin belirteçlere bölündükten sonra, her belirteçe ekleme olarak bilinen bağlamsal vektör atanır. Bu ekleme vektörleri, belirtecin vektörünün her öğesinin belirtecin anlamsal özniteliğini temsil ettiği çok değerli sayısal verilerdir. Belirtecin vektörünün öğeleri, belirteçlerin birlikte veya benzer bağlamlarda nasıl kullanıldığına göre belirlenir.

Amaç, önceki belirteçleri temel alarak dizideki bir sonraki belirteci tahmin etmektir. Mevcut dizideki her belirtece bir ağırlık atanır ve bu da sonraki belirteç üzerindeki göreli etkisini temsil eder. Ardından bir sonraki vektör değerini tahmin etmek için önceki belirteçlerin ağırlıklarını ve eklemelerini kullanan bir hesaplama gerçekleştirilir. Ardından model, tahmin edilen vektöre göre diziye devam etmek için en olası belirteci seçer.

Bu işlem, dizideki her belirteç için yinelemeli olarak devam eder ve çıkış dizisi bir sonraki yineleme için giriş olarak regresif olarak kullanılır. Çıkış, bir kerede bir belirteç oluşturulur. Bu strateji, önerilerin şimdiye kadar yazılan ve her yeni girişle güncelleştirilen öğelere dayandığı otomatik tamamlamanın nasıl çalıştığına benzer.

Eğitim sırasında belirteçlerin tam sırası bilinir, ancak şu anda dikkate alınan belirteçlerden sonra gelen tüm belirteçler yoksayılır. Sonraki belirtecin vektöründe tahmin edilen değer gerçek değerle karşılaştırılır ve kayıp hesaplanır. Daha sonra ağırlıklar, kaybı azaltmak ve modeli iyileştirmek için artımlı olarak ayarlanır.