PromptChainer: İstemlerin Görsel Programlama ile Zincirlenmesi
“PromptChainer: Chaining Large Language Model Prompts
through Visual Programming” makalesini inceliyip özetliyoruz.
For English:
Özet
LLM’ler, yeni makine öğrenimi işlevlerinin hızlı bir şekilde prototipini oluşturmayı mümkün kılsa da, birçok gerçek dünya uygulaması, tek bir LLM’in çalışmasıyla kolayca halledilemeyecek karmaşık görevleri içermektedir. Son zamanlarda yapılan çalışmalar, birden fazla LLM’in birlikte çalışmasının (bir adımın çıktısı diğerinin girdisi olacak şekilde) kullanıcıların bu daha karmaşık görevleri daha şeffaf ve kontrol edilebilir olarak algılamalarına yardımcı olabileceğini ortaya koymuştur. Ancak, kullanıcıların kendi LLM zincirlerini yazarken neye ihtiyaç duydukları henüz tam olarak anlaşılamamıştır; bu, yapay zeka uzmanı olmayanların yapay zeka ile aşılanmış uygulamaları prototipleme konusundaki engelleri azaltmada önemli bir adımdır.
Bu çalışmada, LLM zinciri yazma sürecini araştırmaktayız. Yapılan pilot çalışmalardan elde edilen bulgular, kullanıcıların bir zincirin adımları arasında veri dönüştürmenin yanı sıra zincirde birden fazla ayrıntı düzeyinde hata ayıklama desteğine ihtiyaç duyduğunu göstermektedir. Bu ihtiyaçları karşılamak amacıyla, görsel programlama zincirlerine yönelik etkileşimli bir arayüz olan PromptChainer’ı tasarladık. Dört tasarımcı ve geliştiriciyle gerçekleştirilen vaka çalışmaları, PromptChainer’ın çeşitli uygulamalar için prototip oluşturmayı desteklediğini göstermekte ve zincirleri daha karmaşık görevlere ölçeklendirme ile birlikte low-fi zincir prototiplemesini destekleme konusunda açık bıraktığımız soruları ele almaktadır.
Geniş Özet
Yapay zeka işlevlerinin prototipini oluşturmak için büyük dil modellerinin (LLM’ler) kullanımını ve birden fazla LLM çalışmasını bir araya getirirken karşılaşılan zorluklar tartışılmaktadır. Yazarlar, kullanıcıların kendi zincirlerini yazarken ihtiyaçlarını karşılamak amacıyla PromptChainer adlı etkileşimli bir arayüz üzerinden LLM zincirlerini görsel olarak programlamayı önermektedir. PromptChainer kullanan tasarımcılar ve geliştiricilerle gerçekleştirilen vaka çalışmalarından elde edilen bulgular vurgulanmakta ve bu, zincirleri daha karmaşık görevlere ölçeklendirme ve low-fi zincir prototiplemesini destekleme konusunda açık soruları gündeme getirmektedir.
LLM zincirleri kullanarak karmaşık uygulamaların prototipini oluştururken, araştırmacıların karşılaştığı zorluklar tartışılmaktadır. Bu zorluklar arasında veri dönüştürme ihtiyacı, LLM işlev imzalarının istikrarsızlığı ve ardışık hataların olasılığı vurgulanmaktadır.
Yazarlar, zincirleri oluşturmak ve görüntülemek için bir Chain View, zincirdeki bireysel adımları yazmak için bir Node View ve zincir hata ayıklama desteği içeren PromptChainer adında bir arayüz önermektedir. Arayüz, LLM düğümleri, veri dönüşümü ve değerlendirmesi için yardımcı düğümler, özel JavaScript düğümleri ve iletişim düğümleri dahil olmak üzere çeşitli düğüm türlerini sağlar. PromptChainer, kullanıcıların yararlı yeteneklere ilişkin zihinsel bir model geliştirmelerine yardımcı olmak için sıklıkla oluşturulan zincirlerin örneklerini sunar.
Düğüm Görünümü, hızlı düzenlemelerle tutarlılığı sağlamak için otomatik güncellemelerle kullanıcılara ayrı ayrı düğümleri inceleme, uygulama ve test etme olanağı tanır. Etkileşimli hata ayıklama işlevleri farklı ayrıntı düzeylerinde sunulur. Metinde, kullanıcıların birden fazla istemi birbirine zincirlemesine olanak tanıyan PromptChainer adlı bir araç anlatılmaktadır. Kesme noktası hata ayıklamayı destekler ve kullanıcılara bir düğümün çıktısını düzenlemeden önce besleme olanağı tanır. Yapılan çalışmada, istem yazma deneyimi olan katılımcılar görevlendirilmiştirve PromptChainer’ı kullanarak zincir oluşturmaları sağlanmıştır. Katılımcılar, zincir başına ortalama 5,5 düğüm olacak şekilde istedikleri zincirleri başarıyla oluştururlar. Zincirler, paralel mantık dalları ve içerikteki artan yineleme gibi farklı modelleri yansıtmaktadır. Katılımcılar tek istem sınırlamalarını ele almak ve prototiplerini daha genelleştirilebilir hale getirmek için zincirlemeyi kullanmışlardır. PromptChainer çeşitli zincir oluşturma stratejilerini desteklemiştir ve çok düzeyli hata ayıklamayı etkinleştirmiştir. Katılımcılar zincirlerini oluştururken farklı yaklaşımlar uygulamışlardır ve önceden tanımlanmış yardımcıların zincirleme ihtiyaçlarının çoğunu karşılamışlardır. PromptChainer, kullanıcıların zincirlerini yinelemeli olarak yazma ve geliştirme konusunda etkili olmuştur. Metinde, kullanıcıların çeşitli görevler için dil modelleri zincirleri oluşturmasına yardımcı olmak üzere tasarlanmış bir araç olan PromptChainer tartışılmaktadır.
PromptChainer, LLM adımlarının etkileşimli etkileri olduğunda istemlerin oluşturulmasına ve zincirde hata ayıklamaya yardımcı olur. Çalışma, LLM zincir yazarlığındaki, birbirine bağımlı alt görevler arasında tutarlılığın sağlanması ve karmaşık mantıkla zincirlerin izlenmesi gibi zorlukları tespit etmektedir. Gelecekteki yönelimler arasında daha karmaşık zincirlerin desteklenmesi ve farklı istem yapılarının hızlı bir şekilde test edilmesi için “yarı pişmiş” zincir yapısının kolaylaştırılması yer alıyor.
Şekiller
Sonuç
LLM’lerin çok yönlü ve açık uçlu yeteneklerinin beraberinde getirdiği LLM zincir yazarlığı için üç benzersiz zorluk belirledik. Bu zorlukların üstesinden gelmek adına PromptChainer’ı tasarladık ve bu aracın kullanıcıların ara LLM çıktısını dönüştürmesine ve LLM adımlarının etkileşimli olduğunda zincirde hata ayıklanmasına yardımcı olduğunu tespit ettik. Çalışmamız ayrıca, daha karmaşık zincirlerin desteklenmesinin yanı sıra “yarı pişmiş” zincir yapısının daha açık bir şekilde desteklenmesi de dahil olmak üzere ilginç gelecek yönelimlerini ortaya çıkardı. Böylece kullanıcılar, önceden yönlendirmeye çok fazla zaman harcamadan kolayca bir zincir yapısının taslağını çizebildiler.
Kaynak
[1] Tongshuang Wu, Ellen Jiang, Aaron Donsbach, Jeff Gray, Alejandra Molina, Michael Terry, Carrie J Cai, (13 Mar 2022), PromptChainer: Chaining Large Language Model Prompts through Visual Programming, https://doi.org/10.48550/arXiv.2203.06566