AWS Türkçe Blog

Startup’ınız için üretken yapay zeka uygulamaları oluşturun, bölüm 1

Orijinal makale: Link

İki bölümden oluşan bu blog serisinde, yeni içerik üretebilen yapay zeka (AI) sistemlerinin nasıl oluşturulacağı ele alınmaktadır. İlk bölümde konuya giriş yapılmakta, üretken yapay zeka uygulamaları oluşturmaya yönelik çeşitli yaklaşımlar açıklanmakta ve bunların temel bileşenleri gözden geçirilmektedir. İkinci bölüm, bu bileşenleri doğru AWS hizmetleriyle eşleştirerek, startup’ların farklılaşmayan yoğun işlere harcanan zaman ve paradan kaçınarak üretken yapay zeka ürünlerini veya çözümlerini hızla geliştirmelerine ve piyasaya sürmelerine yardımcı olabilir.


Son zamanlarda ortaya çıkan üretken yapay zeka gelişmeleri, startup’ların hızlı bir şekilde geliştirme, ölçeklendirme ve inovasyon yapmalarına yardımcı olabilecek araçlar konusunda çıtayı yükseltiyor. Makine öğreniminin (ML), özellikle de transformatör sinir ağı mimarisinin bu kadar yaygın bir şekilde benimsenmesi ve demokratikleşmesi, teknolojide heyecan verici bir dönüm noktası. Doğru araçlarla startup’lar yeni fikirler geliştirebilir veya mevcut ürünlerini dönüştürerek müşterileri için üretken yapay zekanın avantajlarından faydalanabilir.

Girişiminiz için üretken bir yapay zeka uygulaması oluşturmaya hazır mısınız? Öncelikle kavramları, temel fikirleri ve üretken yapay zeka uygulamaları oluşturmaya yönelik yaygın yaklaşımları gözden geçirelim.

Üretken yapay zeka uygulamaları nelerdir?

Üretken yapay zeka uygulamaları, konuşmalar, hikayeler, görüntüler, videolar, kod ve müzik dahil olmak üzere yeni içerik ve fikirler oluşturabilen yapay zeka türüne dayanan programlardır. Tüm yapay zeka uygulamaları gibi, üretici yapay zeka uygulamaları da büyük miktarda veri üzerinde önceden eğitilmiş ve genellikle temel modeller (foundation models – FM) olarak adlandırılan makine öğrenimi modelleri tarafından desteklenmektedir.

Üretken yapay zeka uygulamasına örnek olarak, entegre geliştirme ortamınızda (IDE) tam satır ve tam işlev kodu önerileri sunarak geliştiricilerin uygulamaları daha hızlı ve daha güvenli bir şekilde oluşturmalarına yardımcı olan bir yapay zeka kodlama yardımcısı olan Amazon CodeWhisperer verilebilir. CodeWhisperer milyarlarca kod satırı üzerinde eğitilmiştir ve yorumlarınıza ve mevcut kodunuza dayanarak anında kod parçacıklarından tam işlevlere kadar değişen kod önerileri oluşturabilir. Startup’lar AWS Activate kredilerini CodeWhisperer Professional Tier ile kullanabilir veya kullanımı ücretsiz olan Individual Tier ile başlayabilir.

Figure 1: Amazon CodeWhisperer writes a JavaScript code using comments as the prompt.

Şekil 1: Amazon CodeWhisperer ile girdi olarak yorumları kullanarak bir JavaScript kodu yazılması.

Hızla gelişen üretken yapay zeka alanı

Üretken yapay zeka startup’larında ve ayrıca üretken yapay zekanın benimsenmesini kolaylaştırmak için araçlar geliştiren startup’larda hızlı bir büyüme yaşanıyor. Linguistik modellerle desteklenen uygulamalar geliştirmek için açık kaynaklı bir altyapı olan LangChain gibi araçlar, üretken yapay zekayı daha geniş bir kuruluş yelpazesi için daha erişilebilir hale getiriyor ve bu da üretken yapay zeka uygulamalarının daha hızlı benimsenmesine yol açacak. Bu araçlar ayrıca komut istemi mühendisliği, artırıcı hizmetler ( yerleştirme araçları veya vektör veritabanları gibi), model izleme, model kalitesi ölçümü, güvenlik araçları, veri açıklama, insan geri bildiriminden güçlendirilmiş öğrenme (“reinforced learning from human feedback” – RLHF) ve çok daha fazlasını içermektedir.

Figure 2: Components of the generative AI landscape

Şekil 2: Üretken yapay zeka ortamının bileşenleri.

Temel modellere giriş

Üretken bir yapay zeka uygulaması veya aracı için merkezde temel model yer alır. Temel modeller, çok çeşitli alt görevleri yerine getirmek için büyük miktarda veri üzerinde önceden eğitilme yetenekleriyle farklılaşan güçlü makine öğrenimi modelleri sınıfıdır. Bu görevler arasında metin oluşturma, özetleme, bilgi çıkarma, soru-cevap ve/veya sohbet robotları yer alır. Bunun aksine, geleneksel makine öğrenimi modelleri bir veri setinden belirli bir görevi gerçekleştirmek üzere eğitilir.

Figure 3: Demonstrates the difference between a traditional ML model and a foundation model.

Şekil 3: Geleneksel bir makine öğrenimi modeli ile bir temel model arasındaki fark.

Peki bir temel model, üretici yapay zeka uygulamalarının tanındığı çıktıları nasıl “üretir”? Bu yetenekler, temel modelin bir dizideki bir sonraki öğeyi veya öğeleri tahmin etmesine veya yeni bir tane oluşturmasına olanak tanıyan öğrenme kalıpları ve ilişkilerinden kaynaklanır:

  • Metin üreten modellerde, temel modeller bir sonraki kelimeyi, bir sonraki cümleyi veya bir sorunun cevabını verir.
  • Görüntü oluşturma modellerinde, temel modeller metine dayalı olarak bir görüntü çıktısı verir.
  • Bir görüntü girdi olduğunda, temel modeller bir sonraki ilişkili veya ölçeklendirilmiş görüntüyü, animasyonu veya 3D görüntüleri çıkarır.

Her durumda, model bir ” komut isteminden” türetilen bir tohum vektörü ile başlar: Komutlar modelin yerine getirmesi gereken görevi tanımlar. Komut isteminin kalitesi ve detayı (“bağlam” olarak da bilinir) çıktının kalitesini ve uygunluğunu belirler.

Figure 4: A user inputs a prompt into a foundation model and it generates a response.

Şekil 4: Bir kullanıcı bir temel modele bir komut girer ve model bir yanıt üretir.

Üretken yapay zeka uygulamalarının en basit uygulaması

Üretken bir yapay zeka uygulaması oluşturmak için en basit yaklaşım, yönergeye göre ayarlanmış bir temel model kullanmak ve zero-shot öğrenme veya few-shot öğrenme kullanarak anlamlı bir komut istemi (“komut istemi mühendisliği”) sağlamaktır. Talimata göre ayarlanmış bir model (FLAN T5 XXL, Open-Llama veya Falcon 40B Instruct gibi), komut istemlerine yönelik tahminler üretmek için ilgili görevler veya kavramlar hakkındaki anlayışını kullanır. İşte bazı komut örnekleri:

Zero-shot öğrenme

Title: \”University has new facility coming up“\\n Given the above title of an imaginary article, imagine the article.\n

RESPONSE: <a 500-word article>

Few-shot öğrenme

This is awesome! // Positive

This is bad! // Negative

That movie was hopeless! // Negative

What a horrible show! //

RESPONSE: Negative

Özellikle startup’lar, talimatlara göre ayarlanmış bir model kullanmanın getirdiği hızlı dağıtım, minimum veri ihtiyacı ve maliyet optimizasyonundan faydalanabilir.

Bir temel model seçerken dikkat edilmesi gereken hususlar hakkında daha fazla bilgi edinmek için startup’ınız için doğru temel modeli seçme başlıklı makaleye göz atın.

Temel modelleri özelleştirme

Tüm kullanım senaryoları, talimatlara göre ayarlanmış modellerde komut mühendisliği kullanılarak karşılanamaz. Startup’ınız için bir temel modeli özelleştirme nedenleri şunları içerebilir:

  • Temel modele belirli bir görev (kod oluşturma gibi) eklemek
  • Şirketinizin tescilli veri setine dayalı yanıtlar oluşturma
  • Modeli önceden eğitmiş olanlardan daha yüksek kaliteli veri kümelerinden üretilen yanıtları aramak
  • Gerçekte doğru veya makul olmayan çıktı olan “halüsinasyon “un azaltılması

Bir temel modelini özelleştirmek için üç yaygın teknik vardır.

Komut tabanlı hassas ayarlama (fine-tuning)

Bu teknik, göreve özgü etiketli bir veri kümesine dayalı olarak belirli bir görevi tamamlamak için temel modelin eğitilmesini içerir. Etiketli veri seti, istem ve yanıt çiftlerinden oluşur. Bu özelleştirme tekniği, temel modellerini hızlı bir şekilde ve minimum veri setiyle özelleştirmek isteyen girişimler için faydalıdır: Eğitmek için daha az veri seti ve adım gerekir. Model ağırlıkları, hassas ayar yaptığınız göreve veya katmana göre güncellenir.

Figure 5: The instruction-based fine-tuning workflow.

Şekil 5: Talimat tabanlı hassas ayar iş akışı.

Etki alanı uyarlaması (“ileri ön eğitim” olarak da bilinir)

Bu teknik, temel modelin alana özgü etiketsiz verilerden oluşan geniş bir “derleme” (eğitim materyalleri bütünü) kullanılarak eğitilmesini içerir (“kendi kendine gözetimli öğrenme” olarak bilinir). Bu teknik, mevcut temel modelin daha önce görmediği alana özgü jargon ve istatistiksel verileri içeren kullanım durumlarına fayda sağlar. Örneğin, finans alanındaki özel verilerle çalışmak için üretken bir yapay zeka uygulaması geliştiren girişimler, temel modelin özel kelime dağarcığı üzerinde daha fazla ön eğitimden ve metni belirteç adı verilen daha küçük birimlere ayırma işlemi olan “belirteçleştirme ” işleminden faydalanabilir.

Daha yüksek kalite elde etmek için bazı girişimler bu süreçte insan geri bildiriminden güçlendirilmiş öğrenme tekniklerini uygulamaktadır. Bunun da ötesinde, belirli bir göreve hassas ayar yapmak için talimat tabanlı hassas ayar yapılması gerekecektir. Bu, diğerlerine kıyasla pahalı ve zaman alıcı bir tekniktir. Model ağırlıkları tüm katmanlar boyunca güncellenir.

Figure 6: The domain adaptation workflow.Figure 6: The domain adaptation workflow.

Şekil 6: Etki alanı uyarlama iş akışı.

Bilgi edinme (“bilgi edinme destekli üretim” (retrieval-augmented generation) veya “RAG” olarak da bilinir)

Bu teknik, temel modeli yoğun vektör temsiline dayanan bir bilgi erişim sistemi ile güçlendirir. Kapalı alan (closed-domain) bilgisi veya özel veriler, derlemin bir vektör temsilini oluşturmak için bir metin yerleştirme işleminden geçer ve bir vektör veritabanında saklanır. Kullanıcı sorgusuna dayalı bir anlamsal arama sonucu, istem için bağlam haline gelir. Temel model, bağlamla birlikte sorguya dayalı bir yanıt üretmek için kullanılır. Bu teknikte, temel modelin ağırlığı güncellenmez.

Figure 7: The RAG workflow

Şekil 7: RAG iş akışı.

Üretken bir yapay zeka uygulamasının bileşenleri

Yukarıdaki bölümlerde, startup’ların üretici yapay zeka uygulamaları oluştururken temel modellerle uygulayabilecekleri çeşitli yaklaşımları öğrendik. Şimdi, bu temel modellerin, üretken bir yapay zeka uygulaması oluşturmak için gereken tipik bileşenlerin veya bileşenlerin nasıl bir parçası olduğunu gözden geçirelim.

Figure 8: Components of a generative AI application.

Şekil 8: Üretken bir yapay zeka uygulamasının bileşenleri.

Merkezde bir temel model (ortada) yer alır. Bu blogda daha önce tartışılan en basit yaklaşımda, bu, bir API (üstte) aracılığıyla temel modele erişen bir web uygulaması veya mobil uygulama (sol üstte) gerektirir. Bu API ya bir model sağlayıcı aracılığıyla yönetilen bir hizmet olabilir ya da açık kaynak veya tescilli bir model kullanılarak barındırılabilir. Kendinde barındırma (self-hosting) durumunda, modeli barındırmak için hızlandırılmış bilgi işlem örnekleriyle desteklenen bir makine öğrenimi platformuna ihtiyacınız olabilir.

RAG tekniğinde, bir metin yerleştirme uç noktası ve bir vektör veritabanı (sol ve sol alt) eklemeniz gerekecektir. Bunların her ikisi de bir API hizmeti olarak sağlanır ya da barındırılır. Metin yerleştirme uç noktası bir temel model tarafından desteklenir ve temel model seçimi yerleştirme mantığına ve belirteçleştirme desteğine bağlıdır. Tüm bu bileşenler, üretken yapay zeka uygulamaları geliştirmek için altyapı sağlayan geliştirici araçları kullanılarak birbirine bağlanır.

Ve son olarak, bir temel modelin (sağda) hassas ayarı veya daha fazla ön eğitimi için özelleştirme tekniklerini seçtiğinizde, veri ön işleme ve açıklama (sağ üstte) konusunda yardımcı olan bileşenlere ve eğitim işini belirli hızlandırılmış bilgi işlem örneklerinde çalıştırmak için bir makine öğrenimi platformuna (altta) ihtiyacınız vardır. Bazı model sağlayıcıları API tabanlı hassas ayarlamayı destekler ve bu gibi durumlarda makine öğrenimi platformu ve temel donanım hakkında endişelenmenize gerek yoktur.

Özelleştirme yaklaşımından bağımsız olarak, izleme, kalite ölçümleri ve güvenlik araçları sağlayan bileşenleri de entegre etmek isteyebilirsiniz (sağ altta).

Sonuç

Blog’un bu bölümünde, startup’ların üretken bir yapay zeka uygulaması oluşturmak için kullanabileceği çeşitli yaklaşımları veya kalıpları ve ilgili temel bileşenleri öğrendik. Bölüm 2‘de, bu bileşenlerin AWS hizmetleriyle nasıl eşleştiğini öğreniyor ve örnek bir mimari sergiliyoruz.

Üretken yapay zeka yolculuğunuza başlamaya hazır mısınız? AWS’de çalışmaya başlamak için gereken kaynakları sunan, özellikle startup’lar ve erken aşama girişimciler için tasarlanmış ücretsiz bir program olan AWS Activate‘e katılın.