Share via


İstem mühendisliğine giriş

OpenAI tarafından sunulan GPT-3, GPT-3.5, ve GPT-4 modelleri, istem tabanlı modellerdir. İstem tabanlı modellerde kullanıcı, bir metin istemi girerek ve modelin metin tamamlama özelliği ile bu isteme bir yanıt vermesiyle modelle etkileşim kurar. Bu giriş, modelin giriş metninin devamıdır.

Bu modeller son derece güçlü olmakla birlikte, davranışları da istemlere karşı çok hassastır. Bu, istem oluşturmayı geliştirilecek çok önemli bir beceri haline getirir.

İstem oluşturma zor olabilir. Pratikte istem, istenen görevi tamamlamak için model ağırlıklarını yapılandırmaya yönelik hareket eder, ancak genellikle başarılı bir istem oluşturmak için deneyim ve sezgi gerektiren bir bilimden çok bir sanattır. Bu makalenin amacı, bu öğrenme sürecine başlamanıza yardımcı olmaktır. Tüm GPT modelleri için geçerli olan genel kavramları ve desenleri yakalamaya çalışır. Ancak her modelin farklı davrandığını anlamak önemlidir, bu nedenle öğrenmeler tüm modellere eşit şekilde uygulanamayabilir.

Temel bilgiler

Bu bölüm, GPT istemlerinin temel kavramlarını ve öğelerini kapsar.

Metin istemleri, kullanıcıların GPT modelleriyle etkileşim kurma şeklidir. Tüm üretken dil modellerinde olduğu gibi GPT modelleri de önceki metinden takip etme olasılığı en yüksek olan bir sonraki sözcük serisini üretmeye çalışır. Sanki ben dediğimde aklına gelen ilk şey nedir?<prompt> Aşağıdaki örneklerde bu davranış gösterilmektedir. Ünlü içeriğin ilk sözcükleri göz önünde bulundurulduğunda, model metne doğru şekilde devam edebiliyor.

İstem Tamamlama
Dört puan ve yedi yıl önce Bu kıtada ortaya çıkarılan babalar, Özgürlük'te tasarlanan ve tüm insanların eşit olarak yaratıldıkları önermesine adanmış yeni bir ulus. [...]
"Bana Ishmael de." "Birkaç yıl önce, çantamda çok az para olması ve kıyıda ilgimi çeken hiçbir şey olmaması nedeniyle, birkaç yıl önce denize açılıp dünyanın su dolu kısmını göreceğimi düşünmüştüm." [...]

Daha karmaşık istemler geliştirirken, bu temel davranışı göz önünde bulundurmanız yararlı olur. Sağlanan istemden bağımsız olarak, model büyük olasılıkla belirlediğini (eğitim verileri ve eğitim hedefleri dikkate alındığında) yalnızca yanıt verir. İsteminizde bir soru sorarsanız model ayrı bir "Soru-Cevap" kod yolunu izlemez, bunun yerine sorunun yanıtını oluşturur çünkü verilen sorunun giriş olarak en olası yanıtı yanıt türü bir yanıttır.

İstem bileşenleri

Tamamlama API'sini kullanırken, istemin farklı bölümleri arasında farklı bir fark olmasa da, temel istem bileşenlerini tanımlamak için öğrenme ve tartışma için yararlı olabilir. Sohbet Tamamlama API'siyle, istemin API'ye ilişkili rollere sahip sözlük dizisi biçiminde gönderilen ayrı bölümleri vardır: sistem, kullanıcı ve yardımcı. Bu kılavuz daha genel olarak bir API'ye başka bir API'ye özgü açıklayıcı rehberlik sağlamak yerine hızlı oluşturma hakkında düşünme konusuna odaklanır.

Ayrıca istemleri dağıtmak için başka geçerli yollar da olsa, bu dökümün amacının istem oluşturma hakkında düşünmek için nispeten basit bir yol sağlamak olduğunu anlamak önemlidir. Tamamlama API'siyle tüm bileşenler isteğe bağlıdır, ancak en az bir bileşen bulunmalıdır ve çoğu istem birden fazla bileşen içerir. Bileşenler arasında bazı gri alanlar da olabilir. Aşağıda sunulan sıra kabaca her bileşenin en çok en az ne sıklıkta kullanıldığına karşılık gelir.

Yönergeler

Yönergeler büyük olasılıkla en yaygın kullanılan istem bileşenidir. Yönergeler basitçe şu şekildedir: modele ne yapılması gerekenlere ilişkin yönergeler. Kavram açısından basit olsa da, pratikte karmaşık olabilirler. Aşağıdaki tablo, iki farklı biçimde hem basit hem de daha karmaşık yönergeleri göstererek bunu göstermektedir.

Yönerge Türü İstem Tamamlama
Basit yönergeler Haftalık bülten için bir giriş yazın. Haftalık bültenimize hoş geldiniz. Bu hafta üretkenlik konusuna özel bir odaklanıyoruz. Hayatınızın her alanında üretken olma konusunda ipuçları ve püf noktaları paylaşacağız. Umarız zevk alırsınız ve lütfen arkadaşlarınızla paylaşın!
Karmaşık yönergeler Contoso adlı şirketime haftalık bültenin tanıtımını yazın. Geçen hafta yaptığımız harika tüm eller toplantısından bahsetmeli ve son birkaç aydaki tüm sıkı çalışmaları için takıma teşekkür etmelidir. Contoso'nun haftalık bültenine hoş geldiniz! Geçen hafta harika bir eller toplantısı yaptık ve son birkaç aydaki tüm sıkı çalışmaları için takıma teşekkür etmek istiyorum. Parlak bir gelecek için sabırsızlanıyoruz ve ekibimizin özverisi ve bağlılığıyla harika işler başaracağımızdan eminim. Ekibimizin bir parçası olduğunuz için teşekkür ederiz ve önümüzdeki haftalarda ve aylarda sizinle birlikte çalışmayı dört gözle bekliyorum. Saygılarımla, [Adınız].
Karmaşık Yönergeler Aşağıdakiler de dahil olmak üzere haftalık bülten için bir giriş yazın:
- Şirketimin adı contoso
- Heyecan dolu bir karşılama
- Birkaç zor aydaki sıkı çalışmaları için takıma teşekkür etme
- Önümüzdeki çeyrek için pozitif görünüm
- SLT tarafından imzalandı
Merhaba Contoso ekibi! Son birkaç aydaki tüm çalışmalarınızdan dolayı size teşekkür etmek istedim. Birkaç ay zor geçti ama hepiniz bir araya gelip harika bir iş çıkardınız. Hepinizle gurur duyuyorum. Bir sonraki çeyreğe baktığımda kendimi çok olumlu hissediyorum. Bence harika şeyler başaracağız. Tekrar teşekkürler, Üst Düzey Liderlik Ekibi.

Birincil İçerik

Birincil içerik, model tarafından işlenen veya dönüştürülen bir tür metni ifade eder. Birincil içerik genellikle yönergelerle birlikte kullanılır. Basit bir örnek, dil çevirisi olabilir. Aşağıdaki örnekte İngilizce metin birincil içerik olarak kabul edilirken "Fransızcaya Çevir:" bir yönergedir.

İstem Tamamlama
Lütfen bana müzeye nasıl ulaşabileceğinizi söyler misiniz?
Fransızcaya çevir:
Pouvez-vous s'il vous plaît me dire comment aller au musée?

Birincil içerik de çok daha uzun olabilir. Aşağıdaki örnekte birincil içerik, Wikipedia girişinde yaklaşık 300 sözcük uzunluğunda olan zaman karmaşıklığı giriş bölümüdür. Bu içerik, görüntüleme kolaylığı için tablomuzda kısaltılmıştır.

İstem Tamamlama
Bilgisayar biliminde zaman karmaşıklığı, bir algoritmayı çalıştırmak için gereken bilgisayar süresini açıklayan hesaplama karmaşıklığıdır. Zaman karmaşıklığı genellikle [...] tarafından tahmin edilir
Önceki metni birkaç cümlede özetleyin:
Zaman karmaşıklığı, bir algoritmanın çalıştırılmasının ne kadar sürdüğünü gösteren bir ölçüdür. Genellikle girişin boyutunun bir işlevi olarak ifade edilir. En yaygın ölçü, belirli bir boyuttaki girişler için gereken maksimum süre olan en kötü durum zaman karmaşıklığıdır.
Bilgisayar biliminde zaman karmaşıklığı, bir algoritmayı çalıştırmak için gereken bilgisayar süresini açıklayan hesaplama karmaşıklığıdır. Zaman karmaşıklığı genellikle [...] tarafından tahmin edilir
TL;DR (Çok uzun okumadı)
Bir algoritmanın zaman karmaşıklığı, bir algoritmayı çalıştırmak için gereken süredir. Zaman karmaşıklığı genellikle algoritma tarafından gerçekleştirilen temel işlemlerin sayısı sayılarak tahmin edilir ve her bir temel işlemin gerçekleştirilmesi sabit bir süre alır. Zaman karmaşıklığı genellikle girişin boyutunun bir işlevi olarak ifade edilir.

GPT modelleri yapılandırılmış birincil içeriği de işleyebilir. Aşağıdaki örnekte, istem kapsamında Belçika'daki biralar hakkında bir TSV (bu makalede görüntülenmek üzere kısaltılmış) modele geçirilir. İçeriği düzgün bir şekilde yorumlayıp veri hakkındaki soruları yanıtlayabilme özelliğine sahiptir.

İstem Tamamlama
Belgian Beer Brands
Beer name Beer style color ABV Brewery
"Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist)
"Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00%
[...]
Yukarıdaki tabloya başvurarak, kaç bira %6'dan az ABV'dir?
Tabloda %6'dan az ABV olan 10 bira vardır.

Örnekler

Başarılı istemler genellikle "tek seferlik" veya "az çekim" öğrenme pratiğine dayanır. Bu, genellikle giriş ve çıkış çiftleri dahil ederek modelin istenen davranışına ilişkin bir veya daha fazla örneğin eklenmesini ifade eder. Bu, modelin kalıcı olarak değiştirilmesi açısından değil, örneklerin modeli yalnızca geçerli çıkarım için istenen şekilde yanıt vermesi için daha iyi koşula sahip olması açısından öğrenmedir. Örnek içermeyen istemlerin kullanılması bazen "sıfır çekim" öğrenme olarak adlandırılır. Sohbet Tamamlama API'siyle, genellikle ilk sistem iletisinden sonra örnek kullanıcı/yardımcı etkileşimleri biçiminde iletiler dizisine birkaç çekim öğrenme örneği eklendiğini unutmayın.

Öğrenme Türü İstem Tamamlama
Sıfır çekim Başlık: Koç kendine güvenen sakatlık Warriors'ı raydan çıkarmaz
Konu:
Koç, sakatlıkların Warriors sezonunun rayından çıkmayacağından emin. Takım hala hedeflerine odaklanmış durumda ve onlara ulaşmak için sıkı çalışmaya devam edecek.
Az çekim Başlık: İkizlerin Correa'sı, geri çevirme, test ücretsiz ajansı kullanmak için
Konu: Beyzbol
Başlık: Katar Dünya Kupası ayılmaya yönelik bölgelere sahip olacak
Konu: Futbol
Başlık: Yates: 6. Hafta için fantezi futbol istihbaratı
Konu: Futbol
Başlık: Koç kendine güvenen sakatlık Warriors'ı raydan çıkarmaz
Konu:
Basketbol

Yukarıdaki örnekte, az denemeli öğrenmenin yardımcı programı gösterilmektedir. Örnekler olmadan, model istenen davranışı tahmin ediyor gibi görünürken, örnekler modelin nasıl çalışılacağına ilişkin net bir şekilde gösterir. Bu, modelin gücünü de gösterir, örneklerde "basketbol" etiketi olmasa bile istenen etiket kategorisini çıkarsayabilir.

Işaret

İşaretler, modelin çıkışı için "jumpstart" görevi görür ve modeli istenen çıkışa yönlendirmeye yardımcı olur. Genellikle modelin üzerine oluşturabileceği bir ön ektir. Aşağıdaki örnekte, hikayeyi temel öğeleri içerecek şekilde yönlendiren ipucu göstereceğiz. ipuçları genellikle yönergelerle birlikte kullanılır, ancak her zaman kullanılmaz. Aşağıdaki örneklerde model, uzun bir duyuru e-postasını özetlemek için kullanılmaktadır. Bir örnekte, modelin çıkışına odaklanmaya yardımcı olmak ve diğerinde belirli bir çıkış biçimi (madde işareti noktaları) önermek için ipucu kullanılır.

Sohbet Tamamlama API'sinin yönergeleri bağlamında sistem iletisinin biçimini alır ve modeli hazırlamaya yardımcı olmak için bir dizi örnek kullanıcı/yardımcı etkileşimi sağlanarak birkaç çekim örneği gösterilir.

İpucu Sayısı İstem Tamamlama
0 Performans incelemeleri, Contoso'daki Performans ve Geliştirme yaklaşımımızın temel bileşenlerindendir. [...]
Yukarıdaki e-posta iletisini özetleyin:
Bu e-postanın amacı, Contoso'nun Performans ve Geliştirme yaklaşımının bir parçası olan performans gözden geçirme deneyiminde yapılan son değişiklikler hakkında çalışanları bilgilendirmektir. Değişiklikler arasında geliştirilmiş bir yapı, yükseltilmiş araç içi kullanıcı deneyimi ve odaklanmış istemler yer alır. Ayrıca, artık çalışanların yöneticileriyle tartışmak istedikleri konuları bayrakla işaretlemesi için isteğe bağlı bir Konuşma Başlatıcılar bölümü vardır.
1 Performans incelemeleri, Contoso'daki Performans ve Geliştirme yaklaşımımızın temel bileşenlerindendir. [...]
Yukarıdaki e-posta iletisini özetleyin:
İletinin önemli kısmı şudur:
Contoso'ya temel önceliklere, beklentilere ve etkiye daha fazla odaklanarak performans gözden geçirme deneyimini geliştirmektedir. Ayrıca ipuçları, kaynaklar ve yönergelerle araç içi kullanıcı deneyimini yükseltiyor. Son olarak, şirket genelinde temel öncelikleri etkinleştirme konusunda rehberlik ekliyorlar.
2 Performans incelemeleri, Contoso'daki Performans ve Geliştirme yaklaşımımızın temel bileşenlerindendir. [...]
Yukarıdaki e-posta iletisini özetleyin:
Önemli Noktalar:
Contoso, çalışanlardan gelen geri bildirimlere dayanarak performans gözden geçirme deneyiminde değişikliklere giriş yaptı.
• Değişiklikler temel öncelikler, beklentiler ve etki üzerine yeni bir odak noktası içerir; yükseltilmiş bir kullanıcı deneyimi; ve şirket genelinde temel önceliklerle ilgili yeni yönergeler.
• Performans incelemeleri, geçmiş performans ve öğrenmeyi yansıtmanın yanı sıra gelecekteki öncelikleri ve büyüme fırsatlarını planlamanın zamanıdır.
• Çalışanlar ve yöneticiler, performans gözden geçirme toplantısı öncesinde yorum yazmalıdır.
• Yılda en az iki performans değerlendirmesi olmalıdır.
• Her inceleme için zaman yatırımı yaklaşık olarak aynı kalmalıdır.

Destekleyici içerik

Destekleyici içerik, modelin çıkışı bir şekilde etkilemek için kullanabileceği bilgilerdir. Birincil içerikten farklıdır, görevin ana hedefi değildir, ancak genellikle birincil içerikle birlikte kullanılır. Yaygın örnekler arasında geçerli tarih, kullanıcının adı, kullanıcı tercihleri vb. gibi bağlamsal bilgiler yer alır. Aşağıdaki örnekte, kullanıcıya yönelik bir dizi planlı atölyeyi düzenlemeye yardımcı olmak için destekleyici içerik kullanılır. Destekleyici (önemli konular) olmadan, model yalnızca atölyeleri listeler (görüntülenmek üzere kesilir), önemli konularım hakkında bilgilendirildiğinde, model toplantıları doğru bir şekilde gruplandırabiliyor.

Destekleyici İçerik İstem Tamamlama
Avantaj olmadan Atölye listesi:
Başlık Açıklaması
Planlama Atölyesi Başlangıç Atölyemizi başlatmak için lütfen bize katılın! Liderlerimizden önümüzdeki yıl için grup öncelikleri ve öğrenmeleri hakkında bilgi alın. Bu etkinliğin daveti zaten [...] içindeki herkese gönderildi
Yukarıdaki atölyeleri konu başlığına göre gruplandırarak özetleyin:
Atölye listesi:
Planlama Atölyesi Başlangıç
-Planlama Atölyesi Sarmalama
- Çekirdek MeetUp
- Müşteri Odaklı Perspektifler
-Etki ve Önemli Odak Alanları
-En iyi yöntemler
-Uygulama benimsemeyi hızlandırma [...]
With Atölye listesi:
Başlık Açıklaması
Planlama Atölyesi Başlangıç Atölyemizi başlatmak için lütfen bize katılın! Liderlerimizden önümüzdeki yıl için grup öncelikleri ve öğrenmeleri hakkında bilgi alın. Bu etkinliğin daveti zaten [...] içindeki herkese gönderildi
Önemli Konularım: istem mühendisliği, arama, GPT modelleri
Yukarıdaki atölyeleri, önemli konularıma göre gruplandırılmış olarak özetleyin:
1. İstem Mühendisliği:
- Yeni istem mühendisliği ipuçları
- İstem mühendisliği sanatı
2. Arama:
-Ekleme ile vektör aramasına giriş
3. GPT Modelleri:
- GPT-4'e giriş
- GPT-35-Turbo derinlemesine.

En iyi yöntemler

  • Belirli olun. Yorumlamaya olabildiğince az yer bırakın. İşletim alanını kısıtlayın.
  • Açıklayıcı olun. Benzetmeler kullanın.
  • İki Kez Aşağı. Bazen modelde kendinizi tekrarlamanız gerekebilir. Birincil içeriğinizden önce ve sonra yönergeler verin, bir yönerge ve ipucu vb. kullanın.
  • Sipariş Önemli. Modele bilgi sunma sırası çıkışı etkileyebilir. İçeriğinizin önüne ("aşağıdakileri özetle...") veya sonra ("yukarıdakileri özetle"), çıkışta bir fark oluşturabilir. Birkaç örnek çekimin sırası bile önemli olabilir. Buna yakınlık yanlılığı adı verilir.
  • Modele bir "out" verin. Atanan görevi tamamlayamıyorsa modele alternatif bir yol vermek bazen yararlı olabilir. Örneğin, bir metin parçası üzerinden soru sorarken "yanıt yoksa "bulunamadı" ile yanıt verme" gibi bir şey ekleyebilirsiniz. Bu, modelin yanlış yanıtlar oluşturmasını önlemeye yardımcı olabilir.

Alan verimliliği

Her yeni nesil GPT modelinde giriş boyutu artsa da modelin işleyebileceğinden daha fazla veri sağlayan senaryolar olmaya devam edecektir. GPT modelleri sözcükleri "belirteçlere" ayırır. Ortak çok heceli sözcükler genellikle tek bir belirteç olsa da, hecelerde daha az kullanılan sözcükler bozuktur. Belirteçler, farklı tarih biçimleri için belirteç sınırlarını gösteren aşağıdaki örnekte gösterildiği gibi bazen sezgisel karşıt olabilir. Bu durumda, tüm ay boyunca yazım denetimi yapmak, tam sayısal bir tarihten daha verimli bir alan sağlar. Geçerli belirteç desteği aralığı, önceki GPT-3 modellerine sahip 2.000 belirteçten en son GPT-4 modelinin 32k sürümüne sahip 32.768 belirteçe kadar çıkar.

Belirteç sınırlarının çizgisini çizen vurgulanmış renklere sahip metin dizesinin ekran görüntüsü.

Bu sınırlı alan göz önüne alındığında, mümkün olduğunca verimli bir şekilde kullanmak önemlidir.

  • Tablolar – Önceki bölümdeki örneklerde gösterildiği gibi, GPT modelleri tablo biçimindeki verileri oldukça kolay anlayabilir. Bu, her alanın önüne adla (JSON gibi) geçmek yerine verileri eklemek için alan açısından verimli bir yol olabilir.
  • Boşluk : Ardışık boşluklar, alanı boşa harcamanın kolay bir yolu olabilecek ayrı belirteçler olarak ele alınıyor. Öte yandan, sözcüğün önündeki boşluklar genellikle sözcükle aynı belirtecin parçası olarak değerlendirilir. Boşluk kullanımınızı dikkatle izleyin ve yalnızca bir alanın yapacağı noktalama işaretlerini kullanmayın.

Sonraki adımlar

Azure OpenAI hakkında daha fazla bilgi edinin.