top of page

Blog Posts

Üretken Yapay Zekanın Teknik Temelleri: Azure OpenAI ve Microsoft Copilot ile Entegrasyonu Nedir?

Üretken AI ve #ChatGPT gibi teknolojiler, #teknoloji alanında çalışmayanlar veya bilgisayar bilimi ya da makine öğrenimi geçmişi olmayanlar arasında bile artan bir kamu bilinci kazanıyor. Fütürist ve yazar Arthur C. Clarke'ın "yeterince gelişmiş herhangi bir teknoloji sihirden ayırt edilemez" şeklindeki gözlemi sıkça alıntılanıyor. Üretken AI'nin durumunda, şiir, düzyazı ve hatta bilgisayar kodu gibi insan benzeri orijinal içerikler üretme kabiliyeti neredeyse sihirli bir yetenek olarak görülebilir...


Üretken Yapay Zekanın Teknik Temelleri
Üretken Yapay Zekanın Teknik Temelleri

Üretken AI'da sihirbazlık diye bir şey yok; yalnızca #istatistik, #veribilimi ve #makineöğrenimi üzerine yıllar süren araştırmalar sonucunda keşfedilen ve geliştirilen matematiksel tekniklerin uygulanmasından ibarettir. Bu teknik makalede ele alınan temel kavramlar ve ilkeleri öğrenerek, bu sihirbazlık numarasının nasıl gerçekleştirildiğine dair derin bir anlayış edinebilirsiniz.


Üretken AI teknolojileri hakkında daha fazla bilgi edindikçe, toplum olarak AI'nın yarın için sunabileceği yeni imkanları hayal etmeye yardımcı olabilirsiniz.

 

İçindekiler Tablosu:

 

Üretken Yapay Zeka Nedir?

Üretken Yapay Zekanın Teknik Temelleri
Üretken Yapay Zekanın Teknik Temelleri

Yapay Zeka (AI), çevreyle etkileşim kurarak ve açık talimatlar olmaksızın görevleri yerine getirmek için makine öğrenimini kullanıp insan davranışlarını taklit eder.


Üretken AI, yapay zeka alanında orijinal içerik üreten bir yetenek kategorisidir. İnsanlar genellikle sohbet uygulamalarına entegre edilmiş Üretken AI ile etkileşim kurarlar. Bu tür uygulamaların popüler bir örneği, Microsoft ile yakın iş birliği içinde olan bir #AI #araştırma şirketi olan #OpenAI tarafından geliştirilen sohbet robotu ChatGPT'dir.


Üretken #yapayzeka uygulamaları, doğal dil girdilerini alır ve #doğaldil, #görsel veya #kod gibi çeşitli formatlarda uygun yanıtlar üretir.


Doğal Dil Üretimi

Doğal bir dil yanıtı oluşturmak amacıyla, "Biber içeren sağlıklı bir kahvaltı için bana üç fikir ver." şeklinde bir istekte bulunabilirsiniz. Yaratıcı bir yapay zeka uygulaması, bu tür bir isteğe aşağıdaki gibi yanıt verebilir:


Tamam, işte biber içeren üç sağlıklı kahvaltı:


  1. Yumurta ve Biber Karışımı: Birkaç dolmalık biberi ince ince doğrayıp, bir tavada hafif yumuşayıncaya kadar soteleyin. Ardından, çırpılmış yumurtaları ekleyip hepsini iyice karıştırın. Besin değeri yüksek bir kahvaltı için, yanında tam tahıllı tost ile servis yapın.

  2. Biber ve Avokado Tostu: Tam tahıllı ekmeğin bir dilimini kızartın, üzerine dilimlenmiş dolmalık biber ve ezilmiş avokado serpin, ardından biraz tuz ve karabiber ekleyin. Bu, avokadonun sağladığı sağlıklı yağları ve biberin sunduğu C vitaminini almak için mükemmel bir yöntemdir.

  3. Biberli Kahvaltılık Burrito: Bir tavada birkaç doğranmış dolmalık biber, soğan ve çırpılmış yumurtaları soteleyin. Ardından bu karışımı tam tahıllı bir tortillanın üzerine yerleştirin ve biraz salsa veya acı sos ilave edin. Rulo yapın ve lezzetli, besleyici bir kahvaltı hazırlayın.



Görüntü Oluşturma

Bazı yaratıcı AI uygulamaları, doğal dilde yapılan istekleri anlayabilir ve buna uygun görseller oluşturabilir. Örneğin, "Bir filin hamburger yediği bir görüntü oluştur" gibi bir talepte bulunabilirsiniz. Sonrasında, bu tür bir AI uygulaması, verdiğiniz açıklamaya dayanarak orijinal bir görüntü üretebilir.

Hamburger yiyen bir fil görüntü
Hamburger yiyen bir fil görüntü

Kod Üretimi

Bazı yapay zeka uygulamaları, yazılım geliştiricilerin kod yazmalarına yardımcı olmak amacıyla tasarlanmıştır. Örneğin, "Python ile üç taş oyununu nasıl kodlayacağımı göster" gibi bir talepte bulunabilir ve aşağıdaki yanıtı alabilirsiniz:


Elbette, işte Python'da bir üç taş oyunu için bazı temel kodlar:


 

board = [' ' for x in range(9)]

def print_board():

row1 = '| {} | {} | {} |'.format(board[0], board[1], board[2])

row2 = '| {} | {} | {} |'.format(board[3], board[4], board[5])

row3 = '| {} | {} | {} |'.format(board[6], board[7], board[8])

print()

print(row1)

print(row2)

print(row3)

print()

def player_move(icon):

if icon == 'X':

number = 1

elif icon == 'O':

number = 2

print('Your turn player {}'.format(number))

choice = int(input('Enter your move (1-9): ').strip())

if board[choice - 1] == ' ':

board[choice - 1] = icon

else:

print()

print('That space is taken!')

def is_victory(icon):

if (board[0] == icon and board[1] == icon and board[2] == icon) or \

(board[3] == icon and board[4] == icon and board[5] == icon) or \

(board[6] == icon and board[7] == icon and board[8] == icon) or \

(board[0] == icon and board[3] == icon and board[6] == icon) or \

(board[1] == icon and board[4] == icon and board[7] == icon) or \

(board[2] == icon and board[5] == icon and board[8] == icon) or \

(board[0] == icon and board[4] == icon and board[8] == icon) or \

(board[2] == icon and board[4] == icon and board[6] == icon):

return True

else:

return False

def is_draw():

if ' ' not in board:

return True

else:

return False

while True:

print_board()

player_move('X')

print_board()

if is_victory('X'):

print('X Wins! Congratulations!')

break

elif is_draw():

print('The game is a draw!')

break

player_move('O')

if is_victory('O'):

print_board()

print('O Wins! Congratulations!')

break

elif is_draw():

print('The game is a draw!')

break


 

Bu, oyunun yalnızca temel bir uygulamasıdır ve hata işleme ve giriş doğrulama gibi ek özellikler ile geliştirilebilir.



Büyük Dil Modelleri (LLMs)

Üretici AI uygulamaları, doğal dil işleme (NLP) görevlerini yerine getirmek için kullanılan özel bir makine öğrenimi modeli türü olan büyük dil modelleri (LLM'ler) ile desteklenir. Bunlar arasında şunlar bulunur:


  • Duyguyu belirleme veya doğal dil metnini başka şekilde sınıflandırma.

  • Metni özetleme.

  • Anlamsal benzerlik için birden fazla metin kaynağını karşılaştırma.

  • Yeni doğal dil oluşturma.


LLM'lerin arkasındaki matematiksel ilkeler karmaşık olsa da, bu sistemleri uygulamak için kullanılan mimariye dair temel bir anlayış, onların işleyiş mekanizmasını kavramanıza yardımcı olabilir.



Dönüştürücü Modelleri

Makine öğrenimi modelleri, doğal dil işleme için yıllar içinde gelişmiştir. Günümüzün gelişmiş büyük dil modelleri, NLP görevlerini desteklemek üzere kelime dağarcıklarını modelleme ve dil üretimi konusunda başarılı olan tekniklere dayanan ve bu teknikleri genişleten dönüştürücü mimariye sahiptir.


Dönüştürücü modelleri, geniş bir metin yığını üzerinde eğitilerek kelimeler arasındaki anlamsal bağları öğrenir ve bu bağları kullanarak mantıklı metin dizileri oluşturabilir. Geniş bir kelime haznesine sahip olan dönüştürücü modeller, insan yanıtlarından ayırt etmek zorunda kalabileceğimiz doğal dil tepkileri üretebilirler.


Dönüştürücü model mimarisi iki bileşenden veya bloktan oluşur:

  • Eğitim sözlüğünün anlamsal temsillerini oluşturan bir kodlayıcı blok.

  • Yeni dil dizileri üreten bir kod çözücü blok.


Uygulamada, mimarinin belirli uygulamaları değişir; örneğin, Google tarafından arama motorunu desteklemek için geliştirilen Çift Yönlü Kodlayıcı Gösterim Dönüştürücüleri (BERT) modeli yalnızca kodlayıcı bloğunu kullanırken, OpenAI tarafından geliştirilen Üretken Önceden Eğitilmiş Dönüştürücü (GPT) modeli yalnızca kod çözücü bloğunu kullanır.


Dönüştürücü modellerinin her yönünün eksiksiz bir açıklaması bu teknik makalenin kapsamı dışında olsa da, bir dönüştürücülerdeki bazı temel unsurların açıklaması, bunların üretken AI'yı nasıl desteklediğine dair bir fikir edinmenize yardımcı olabilir.



Tokenleştirme (Belirteçlere Ayırmak)

Bir dönüştürücü modeli eğitmek için ilk adım, eğitim metnini belirteçlere ayırmaktır; yani, her benzersiz metin değerini tanımlamaktır. Basitlik adına, eğitim metnindeki her farklı kelimeyi bir belirteç olarak kabul edebilirsiniz (aslında, belirteçler kısmi kelimeler veya kelime ve noktalama işaretlerinin birleşimleri olabilir).


Örneğin, şu cümleyi ele alalım:


"I heard a dog bark loudly at a cat"

Bu metni belirteçleştirmek için, her ayrı kelimeyi tanımlayabilir ve onlara belirteç kimlikleri atayabilirsiniz. Örneğin:


  • I (1)

  • heard (2)

  • a (3)

  • dog (4)

  • bark (5)

  • loudly (6)

  • at (7)

  • ("a" is already tokenized as 3)

  • cat (8)


Cümle artık şu belirteçlerle temsil edilebilir: [1 2 3 4 5 6 7 3 8]. Benzer şekilde, "I heard a cat" cümlesi [1 2 3 8] olarak temsil edilebilir.


Modeli eğitmeye devam ettikçe, eğitim metnindeki her yeni belirteç, uygun belirteç kimlikleriyle sözlüğe eklenir.


  • meow (9)

  • skateboard (10)

  • ve benzeri...


Yeterince büyük bir eğitim metni kümesiyle binlerce jetondan oluşan bir kelime dağarcığı derlenebilir.



Gömme Modeli

Jetonları basit tanımlayıcılar olarak kullanmak uygun olabilir; ancak, sözlükteki tüm kelimeler için bir endeks oluşturmak, kelimelerin anlamları veya aralarındaki ilişkiler hakkında bize bilgi vermez. Jetonlar (Tokens) arasındaki anlamsal ilişkileri içerecek şekilde bir sözlük oluşturabilmek için, bağlamsal vektörler olarak bilinen yerleştirmeleri tanımlarız.


Vektörler, bilgiyi değerli sayısal ifadelerle temsil eder; örneğin, [10, 3, 1] vektöründe her sayı, bilginin belirli bir özelliğini yansıtır. Dil tokenleri için, bir tokenin vektöründeki her eleman, tokenin çeşitli anlamsal özelliklerini temsil eder.


Bir dil modelinde vektörlerin öğeleri, kelimelerin birlikte veya benzer bağlamlarda ne sıklıkla kullanıldığına göre belirli kategorilere göre eğitim sırasında sınıflandırılır.

Bir jetonun (token) yerleştirme vektöründeki elemanları, çok boyutlu uzaydaki koordinatlar olarak düşünmek yararlı olabilir; böylece her jeton belirli bir "konumu" işgal eder. Jetonlar, belirli bir boyutta birbirlerine ne kadar yakınsa, anlamsal olarak da o kadar ilişkilidirler. Diğer bir deyişle, ilişkili kelimeler birbirine daha yakın gruplanmış olur. Basit bir örnek vermek gerekirse, jetonlarımız için yerleştirmeler üç elemanlı vektörlerden oluşuyor diyelim, örneğin:


  • 4 ("dog"): [10,3,2]

  • 5 ("bark"): [10,2,2]

  • 8 ("cat"): [10,3,1]

  • 9 ("meow"): [10,2,1]

  • 10 ("skateboard"): [3,3,1]


Bu vektörlere dayanarak jetonların konumunu üç boyutlu uzayda şu şekilde çizebiliriz:


üç boyutlu uzayda jetonların konumunun gösterimi
Üç boyutlu uzayda jetonların konumunun gösterimi

Yerleştirme alanındaki jetonların konumları, jetonların birbirleriyle ne kadar yakın ilişkili olduğuna dair bazı bilgiler içerir. Örneğin, "dog" jetonu "cat"e ve ayrıca "bark"a yakındır. "cat" ve "bark" jetonları "meow"a yakındır. "skateboard" jetonu diğer jetonlardan daha uzaktadır.


Not: Önceki örnek, her bir yerleştirmenin yalnızca üç boyuta sahip olduğu basit bir örnek modelini göstermektedir. Gerçek dil modelleri çok daha fazla boyuta sahiptir.


Word2Vec veya bir dönüştürücü modeldeki kodlayıcı bloğu gibi dil modelleme algoritmaları da dahil olmak üzere, belirli bir belirteç kümesi için uygun yerleştirmeleri hesaplamanın birden fazla yolu vardır.



Dikkat Katmanları

Bir dönüştürücü modelindeki kodlayıcı ve kod çözücü blokları, model için sinir ağını oluşturan birden fazla katman içerir. Tüm bu katmanların ayrıntılarına girmemize gerek yok, ancak her iki blokta da kullanılan katman türlerinden birini ele almak yararlıdır: dikkat katmanları.


Dikkat (attention), bir dizi metin belirtecini incelemek ve aralarındaki ilişkilerin gücünü ölçmeye çalışmak için kullanılan bir tekniktir. Özellikle, öz dikkat (self-attention), belirli bir belirtecin etrafındaki diğer belirteçlerin o belirtecin anlamını nasıl etkilediğini dikkate almayı içerir.


Bir kodlayıcı bloğunda, her belirteç bağlam içinde dikkatlice incelenir ve vektör yerleştirmesi için uygun bir kodlama belirlenir. Vektör değerleri belirteç ile sıklıkla birlikte göründüğü diğer belirteçler arasındaki ilişkiye dayanır. Bu bağlamsallaştırılmış yaklaşım, aynı kelimenin kullanıldığı bağlama bağlı olarak birden fazla yerleştirmeye sahip olabileceği anlamına gelir.


örneğin  "the bark of a tree" dizisi, "I heard a dog bark."dan farklı bir anlama gelir.


Bir kod çözücü bloğunda, dikkat katmanları bir dizideki bir sonraki belirteci tahmin etmek için kullanılır. Üretilen her belirteç için, model o noktaya kadar belirteç dizisini hesaba katan bir dikkat katmanına sahiptir. Model, bir sonraki belirtecin ne olması gerektiğini düşünürken hangi belirteçlerin en etkili olduğunu dikkate alır. Örneğin, “I heard a dog,” dizisi verildiğinde, dikkat katmanı dizideki bir sonraki kelimeyi düşünürken "heard" ve "dog" belirteçlerine daha fazla ağırlık atayabilir:


I heard a dog [bark]


Dikkat katmanının, gerçek metinle değil, belirteçlerin sayısal vektör gösterimleriyle çalıştığını unutmayın. Bir kod çözücüde, süreç, tamamlanacak metni temsil eden bir belirteç yerleştirme dizisiyle başlar. Olan ilk şey, başka bir konumsal kodlama katmanının dizideki konumunu belirtmek için her yerleştirmeye bir değer eklemesidir:


  • [1,5,6,2] (I)

  • [2,9,3,1] (heard)

  • [3,1,1,2] (a)

  • [4,10,3,2] (dog)


During training, the goal is to predict the vector for the final token in the sequence based on the preceding tokens. The attention layer assigns a numeric weight to each token in the sequence so far. It uses that value to perform a calculation on the weighted vectors that produces an attention score that can be used to calculate a possible vector for the next token. In practice, a technique called multi-head attention uses different elements of the embeddings to calculate multiple attention scores. A neural network is then used to evaluate all possible tokens to determine the most probable token with which to continue the sequence. The process continues iteratively for each token in the sequence, with the output sequence so far being used regressively as the input for the next iteration – essentially building the output one token at a time.


  • Eğitim sırasında amaç, dizideki son belirteç için vektörü, önceki belirteçlere dayanarak tahmin etmektir. Dikkat katmanı, dizideki her belirtece şu ana kadar sayısal bir ağırlık atar. Bu değeri, bir sonraki belirteç için olası bir vektörü hesaplamak için kullanılabilecek bir dikkat puanı üreten ağırlıklı vektörler üzerinde bir hesaplama yapmak için kullanır.


  • Uygulamada, çok başlı dikkat adı verilen bir teknik, birden fazla dikkat puanı hesaplamak için yerleştirmelerin farklı öğelerini kullanır. Daha sonra, diziye devam etmek için en olası belirteci belirlemek üzere tüm olası belirteçleri değerlendirmek için bir sinir ağı kullanılır.


  • İşlem, dizideki her belirteç için yinelemeli olarak devam eder ve şu ana kadarki çıktı dizisi, bir sonraki yineleme için girdi olarak gerileyen bir şekilde kullanılır, ki esasen çıktıyı her seferinde bir belirteç oluşturur.


Aşağıdaki animasyon bunun nasıl çalıştığının basitleştirilmiş bir gösterimini göstermektedir; gerçekte, dikkat katmanı tarafından gerçekleştirilen hesaplamalar daha karmaşıktır; ancak ilkeler gösterildiği gibi basitleştirilebilir:


  1. Bir dizi token (jeton) yerleştirme dikkat katmanına beslenir. Her token, sayısal değerlerden oluşan bir vektörü olarak gösterilir.

  2. Bir kod çözücünün amacı, dizideki bir sonraki tokeni tahmin etmektir; bu, aynı zamanda modelin sözlüğündeki bir yerleştirmeye hizalanan bir vektör olacaktır.

  3. Dikkat katmanı, diziyi şu ana kadar değerlendirir ve her bir tokene, bir sonraki token üzerindeki göreceli etkilerini temsil edecek ağırlıklar atar.

  4. Ağırlıklar, bir sonraki token için dikkat puanı olan yeni bir vektör hesaplamak için kullanılabilir. Çok başlı dikkat, birden fazla alternatif token hesaplamak için yerleştirmelerdeki farklı öğeleri kullanır.

  5. Tamamen bağlı bir sinir ağı, tüm sözlüğün en olası tokenini tahmin etmek için hesaplanan vektörlerdeki puanları kullanır.

  6. Tahmin edilen çıktı, bir sonraki yineleme için girdi olarak kullanılan diziye eklenir.


Eğitim sırasında, gerçek belirteç dizisi bilinir; lakin sadece dizide şu anda dikkate alınan belirteç konumundan sonra gelenleri maskeliyoruz. Herhangi bir sinir ağında olduğu gibi, belirteç vektörü için tahmin edilen değer, dizideki bir sonraki vektörün gerçek değeriyle karşılaştırılır ve kayıp hesaplanır. Daha sonra ağırlıklar, kaybı azaltmak ve modeli iyileştirmek için kademeli olarak ayarlanır. Çıkarım yapmak (yeni bir belirteç dizisi tahmin etmek) için kullanıldığında, eğitilmiş dikkat katmanı, modelin sözlüğünde şimdiye kadar diziye anlamsal olarak hizalanmış en olası belirteci tahmin eden ağırlıklar uygular.


Tüm bunların anlamı, GPT-4 (ChatGPT ve Bing'in arkasındaki model) gibi bir dönüştürücü modelin bir metin girdisini (bir komut istemi olarak adlandırılır) almak ve sözdizimsel olarak doğru bir çıktı (bir tamamlama olarak adlandırılır) üretmek üzere tasarlanmış olmasıdır.


Aslında, modelin "sihri", tutarlı bir cümleyi bir araya getirme yeteneğine sahip olmasıdır. Bu yetenek, modelin herhangi bir "bilgi" veya "zeka" sahibi olduğunu ima etmez; sadece geniş bir kelime dağarcığı ve anlamlı kelime dizileri üretme yeteneğinin olduğu anlamına gelir.


Ancak GPT-4 gibi geniş bir dil modelini bu kadar güçlü kılan şey, eğitildiği veri hacmi (İnternet'ten gelen genel ve lisanslı veriler) ve ağın karmaşıklığıdır. Bu, modelin eğitildiği kelime dağarcığındaki kelimeler arasındaki ilişkilere dayalı tamamlamalar üretmesini sağlar; genellikle aynı komut istemine verilen bir insan yanıtından ayırt edilemeyen çıktılar üretir.



Azure OpenAI Service, Microsoft'un büyük dil modellerini dağıtmak, özelleştirmek ve barındırmak için bulut çözümüdür. OpenAI'nin en son modellerini ve API'lerini Azure bulut platformunun güvenliği ve ölçeklenebilirliğiyle bir araya getirir. Microsoft'un OpenAI ile ortaklığı, Azure OpenAI kullanıcılarının en son dil modeli yeniliklerine erişmesini sağlar.


Azure OpenAI, farklı ihtiyaçlara hizmet edebilen birçok modeli destekler. Bu modeller şunları içerir:


  • GPT-4 modelleri, doğal dil istemlerine dayalı doğal dil ve kod tamamlamaları üretebilen en son nesil üretken önceden eğitilmiş (GPT) modellerdir.

  • GPT 3.5 modelleri, doğal dil istemlerine dayalı doğal dil ve kod tamamlamaları üretebilir. Özellikle, GPT-35-turbo modelleri sohbet tabanlı etkileşimler için optimize edilmiştir ve çoğu üretken AI senaryosunda iyi çalışır.

  • Gömme modelleri metni sayısal vektörlere dönüştürür ve metin kaynaklarını benzerlikler açısından karşılaştırma gibi dil analitiği senaryolarında faydalıdır.

  • DALL-E modelleri, doğal dil istemlerine dayalı görüntüler üretmek için kullanılır. Şu anda DALL-E modelleri önizleme aşamasındadır. DALL-E modelleri Azure OpenAI Studio arayüzünde listelenmez ve açıkça dağıtılmaları gerekmez.


Modeller hız, maliyet ve belirli görevleri ne kadar iyi tamamladıklarına göre farklılık gösterir. Azure OpenAI Service belgelerinde sunulan farklılıklar ve en son modeller hakkında daha fazla bilgi edinebilirsiniz.


Çoğu durumda, modeller olduğu gibi kullanılabilir. Örneğin, Azure OpenAI Service'te bir GPT-4 modeli dağıtabilir ve hemen bir uygulamadan kullanmaya başlayabilirsiniz. Ancak, mevcut bir modeli temel bir model olarak da kullanabilirsiniz. Bu yaklaşıma ince ayar denir ve önceden eğitilmiş modele dayanan, ancak belirli senaryonuz için ilgili verilere göre ayarlanmış özel bir model eğitmenize olanak tanır. Örneğin, bir hukuk firması, sözleşmesel içerik üretmek için optimize edilmiş bir modeli eğitmek üzere mevcut sözleşmelerden ve diğer tescilli yasal belgelerden alınan metinlerle bir modeli ince ayarlayabilir.



Azure OpenAI Studio

Geliştiriciler, yapay zeka profesyonellerinin Azure'da üretken yapay zeka uygulaması geliştirmeyi destekleyen LLM'leri dağıtabileceği, test edebileceği ve yönetebileceği web tabanlı bir ortam olan Azure OpenAI Studio'da bu modellerle çalışabilir.


Azure OpenAI Studio
Azure OpenAI Studio

Azure OpenAI Studio'da büyük dil modelleri dağıtabilir, birkaç çekimlik örnekler sağlayabilir ve bunları Azure OpenAI Studio'nun Sohbet oyun alanında (Chat playground) test edebilirsiniz.


Azure OpenAI Studio
Azure OpenAI Studio "Chat Playground"

LLM'lerin kullanılabilirliği, yardımcı pilotlar olarak bilinen yeni bir bilgi işlem kategorisinin ortaya çıkmasına yol açtı. Copilots genellikle diğer uygulamalara entegre edilir ve kullanıcıların üretken bir AI modelinden ortak görevlerde yardım almalarına olanak tanır. Copilots ortak bir mimariye dayanır, bu nedenle geliştiriciler çeşitli işletmeye özgü uygulamalar ve hizmetler için özel copilots oluşturabilir.


Copilots halihazırda kullandığınız ürünlerde, örneğin dosyanızın yanında açılan bir sohbet ekranı özelliği olarak görebilirsiniz. Bu copilots, sonuçları için belirli bilgi olarak üründe oluşturulan veya aranan içeriği kullanır.


Büyük bir dil modeli oluşturmanın, copilots uygulaması oluşturma süreciyle nasıl ilişkili olduğunu düşünmek faydalıdır:


  1. Büyük bir dil modelini eğitmek için büyük miktarda veri kullanılır.

  2. Azure OpenAI Service gibi hizmetler önceden eğitilmiş modelleri kullanılabilir hale getirir. Geliştiriciler bu önceden eğitilmiş modelleri olduğu gibi kullanabilir veya özel verilerle ince ayar yapabilirler.

  3. Bir modeli dağıtmak, onu uygulamalarda kullanıma hazır hale getirir.

  4. Geliştiriciler, modellere komut gönderen ve uygulamalarda kullanılmak üzere içerik üreten copilots oluşturabilir.

  5. İş kullanıcıları, yapay zeka tarafından üretilen içerikle üretkenliklerini ve yaratıcılıklarını artırmak için copilots kullanabilirler.


Copilots, ilk taslakların hazırlanması, bilgi sentezi, stratejik planlama ve daha birçok konuda yardımcı olarak çalışma şeklimizde devrim yaratma potansiyeline sahiptir.


Copilot ismi Microsoft'tan gelir ve birinci ve üçüncü taraf copilotları tanımlamak için sektör genelinde kullanılır. Microsoft, Microsoft Copilot'tan birinci taraf olarak bahseder ve diğer şirketler tarafından geliştirilen eklentilerden üçüncü taraf copilotlar olarak bahseder.


Microsoft Copilot özellikleri yaygın olarak kullanılan uygulamalarda bulunabilir. Bu özelliklerin amacı, insanların daha akıllı, daha üretken, daha yaratıcı olmasını ve etraflarındaki insanlara ve şeylere bağlı olmasını sağlamaktır.


Örneğin, Microsoft Copilot, dizinlenmiş sayfaların arama sonuçlarından ziyade, bağlama dayalı sorulara doğal dil yanıtları üretmek için Microsoft Bing arama motoruyla birlikte kullanılabilir.


Microsoft Copilot
Microsoft Copilot
Microsoft Copilot
Microsoft Copilot

Bir diğer örnek ise Microsoft 365 için Microsoft Copilot'tur. Bu uygulama, PowerPoint ve Outlook gibi üretkenlik ve iletişim uygulamalarında sizinle birlikte çalışarak etkili belgeler, elektronik tablolar, sunumlar, e-postalar ve daha fazlasını oluşturmanıza yardımcı olur.


PowerPoint
PowerPoint
PowerPoint
PowerPoint

Bir diğer örnek ise yazılım geliştiricilere destek sağlayan, kod yazmalarına, belgelemelerine ve test etmelerine yardımcı olan GitHub Copilot'tur.



Üretken bir AI uygulamasının döndürdüğü yanıtların kalitesi yalnızca modelin kendisine değil, aynı zamanda verilen istem türlerine de bağlıdır. İstem mühendisliği terimi, istem iyileştirme sürecini tanımlar. Hem uygulamaları tasarlayan geliştiriciler hem de bu uygulamaları kullanan tüketiciler, istem mühendisliğini göz önünde bulundurarak üretken AI'dan gelen yanıtların kalitesini artırabilir.


İstemler, bir uygulamaya ne yapmasını istediğimizi söylemenin yollarıdır. Bir mühendis, istemlerle programa talimatlar ekleyebilir. Örneğin, geliştiriciler öğretmenlerin öğrencilerin okuduğu metinle ilgili çoktan seçmeli sorular oluşturması için üretken bir AI uygulaması oluşturabilir. Uygulamanın geliştirilmesi sırasında, geliştiriciler programın aldığı istemlerle ne yapması gerektiğine dair başka kurallar ekleyebilir.


Sistem Mesajları

İstemli mühendisliği teknikleri arasında bir sistem mesajı tanımlama yer alır. Mesaj, beklentileri ve kısıtlamaları tanımlayarak model için bağlamı belirler, örneğin, "Neşeli, arkadaş canlısı bir şekilde yanıt veren yardımsever bir asistansınız". Bu sistem mesajları, modelin yanıtları için kısıtlamaları ve stilleri belirler.


İyi İstemler Yazmak

En yararlı tamamlamaları, örneğin, "Ağustos ayında Edinburgh'da yapılacak 10 şeyin listesini oluşturun" gibi, istediğiniz yanıt türü hakkında açık olarak belirterek elde edebilirsiniz. Net, belirli istemler gönderdiğinizde daha iyi sonuçlar elde edebilirsiniz.


Örnekler Sağlamak

LLM'ler genellikle yanıtların önceden örnek olmadan üretilebildiği sıfır atışlı öğrenmeyi destekler. Ancak, "Kalabalıklar gelmeden önce sabahleyin kaleyi ziyaret edin" gibi, ihtiyaç duyduğunuz çıktının bir veya birkaç örneğini içeren tek atışlı öğrenme istemleri de sağlayabilirsiniz. Model daha sonra istemde sağlanan örneklerle aynı tarzda daha fazla yanıt üretebilir.


Topraklama Verileri

İstemler, bağlam sağlamak için topraklama verilerini içerebilir. Topraklama verilerini, özel bir model eğitmek zorunda kalmadan ince ayar yapmanın birçok avantajından yararlanmak için bir istem mühendisliği tekniği olarak kullanabilirsiniz.


Bu tekniği uygulamak için, modelin uygun bir çıktı üretmek için kullanabilmesi için istemde bağlamsal veriler ekleyin. Örneğin, bir e-postanın özetini üretmek için bir LLM kullanmak istediğinizi varsayalım. İstemde, özetleme talimatıyla birlikte e-posta metnini ekleyebilirsiniz.


Egzersiz - Bing Copilot ile Üretken AI'yı Keşfedin

Şimdi Microsoft Copilot ile üretken yapay zekayı keşfedelim...


Not: Bu egzersizi tamamlamak için kişisel bir Microsoft hesabı kullanın. https://signup.live.com/ adresinden ücretsiz bir hesap oluşturabilirsiniz.



Bu teknik makalede, doğal dil girdisine dayalı yeni içerikler oluşturan yapay zekanın bir dalı olan üretken AI hakkında bilgi edindiniz. Üretken AI, genellikle yazılım uygulamalarına entegre edilir ve insan benzeri doğal dil yanıtları veya hatta orijinal görüntüler üretmek için büyük miktarda metinsel veriyle eğitilmiş dil modellerini kullanır. Ayrıca, büyük dil modelleriyle ilgili temel kavramları ve üretken AI'nın yardımcı pilotlarla Microsoft teknolojilerine nasıl entegre edildiğini öğrendiniz.


Bu teknik makaleden çıkarılacak en önemli ders, üretken AI'nın ilk taslaklara, bilgi sentezine ve stratejik planlamaya yardımcı olarak çalışma şeklimizde devrim yaratma potansiyeline sahip olmasıdır. Büyük dil modellerine dayalı AI destekli asistanlar olan Copilots, çeşitli işletmeye özgü uygulamalar ve hizmetler için özelleştirilebilir. Üretken bir AI uygulamasının döndürdüğü yanıtların kalitesi yalnızca modelin kendisine değil, aynı zamanda verilen istem türlerine de bağlıdır. İstem mühendisliği, daha iyi sonuçlar üretmek için istemleri iyileştirme sürecidir.


Okuyabileceğiniz kaynaklar:


Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
  • Beyaz LinkedIn Simge
  • Beyaz Facebook Simge
  • Beyaz Heyecan Simge

BU İÇERİĞE EMOJİ İLE TEPKİ VER

bottom of page