Uber'ın Prompt Engineering Araç Seti
(uber.com)- Doğru ve uygun LLM çıktıları elde etmek için gelişmiş prompt tasarımı kritik önem taşır
- Prompt tasarımı, makine öğrenmesine aşina olmayan kullanıcıların bile minimum ek yükle model çıktısını kontrol etmesini sağlar
- Uber, LLM’lerle hızlı iterasyon yapabilmek için merkezi bir araç seti geliştirdi
- Prompt şablonu oluşturma ve yönetimi
- RAG ve çalışma anındaki veri kümelerinin kullanımı
- Özellikler:
- Sistem komutları, dinamik bağlamsallaştırma, toplu offline üretim (LLM çıkarımı), yanıt değerlendirmesi desteği
- Sürüm kontrolü, iş birliği, güvenlik kontrolleri (halüsinasyon kontrolü, standart değerlendirme çerçevesi, güvenlik politikaları dahil)
Prompt Engineering yaşam döngüsü
Prompt engineering yaşam döngüsü iki aşamadan oluşur:
- Geliştirme aşaması: LLM keşfi, prompt şablonu iterasyonu ve değerlendirme olmak üzere 3 adımdan oluşur
- LLM keşif aşaması: Model kataloğu ve GenAI Playground üzerinden kullanılabilir LLM’leri keşfetme ve prompt’larla LLM yanıtlarını test etme
- Prompt şablonu iterasyon aşaması: Belirli iş gereksinimlerini anlama, örnek veri toplama, prompt oluşturma/analiz etme/test etme, yanıtları değerlendirme ve gerektiğinde düzeltme. Auto-prompting sayesinde prompt şablonunu sıfırdan oluşturmak gerekmez
- Değerlendirme aşaması: Performansı ölçmek için prompt şablonunu daha büyük veri kümeleriyle test etme. Performans değerlendirmesi için LLM bir hakem olarak kullanılabilir veya özel kod tabanlı LLM değerlendiricileri kullanılabilir
- Üretime alma (Productionization) aşaması: Yalnızca değerlendirme aşamasında eşik değeri geçen prompt şablonları üretime alınır. Üretim ortamındaki kullanım izlenir/monitör edilir ve sistem kullanım verileri toplanarak süreci iyileştirmek için kullanılır
Mimari
- Prompt şablonu UI/SDK: Prompt şablonlarını ve revizyonları yönetir. GetAPI ve Execute API ile entegredir
- LLM model kataloğu: Dağıtılmış LLM modelleriyle arayüz sağlar
- Modeller ve prompt’lar ETCD ve UCS’de saklanır; offline üretim hattı ve prompt şablonu değerlendirme hattında kullanılır
Prompt şablonu oluşturma
- Prompt toolkit içindeki prompt builder, kullanıcı için otomatik olarak prompt üretir
- Belirli yapay zeka kullanım senaryolarına uygun ileri seviye prompting tekniklerini keşfetmeye yardımcı olur
- LangChain tabanlı dahili Langfx framework’ünü kullanan otomatik prompt builder şu adımları izler
- 1. Prompt engineering en iyi uygulamalarını entegre etme
- 2. Prompt oluşturmayı desteklemek için ayrıntılı şablon listesi yönergeleri ve bazı örnekler sağlama
- 3. Prompt üretimini desteklemek için LLM modellerinden yararlanma
- İleri seviye prompt yönergeleri: Prompt builder, prompt üretirken aşağıdaki ilkeleri kullanır
- CoT(Chain of Thought) prompting: Ara akıl yürütme adımlarıyla karmaşık muhakeme yeteneğini mümkün kılar
- Auto-CoT: Başlatıcı ifade olarak "think step by step" kullanılır. Manuel çabayı ortadan kaldırmak için LLM’e "Let's think step by step" prompt’u verilir
- Prompt chaining: Birden çok görev veya dönüşüm içeren senaryolarda kullanılabilir
- ToT(Tree of Thought): Chain-of-thought prompting’i genelleştirir ve genel problem çözümünde ara adım olarak kullanılabilecek düşünce keşfini dil modeliyle teşvik eder
- APE(Automatic Prompt Engineering): Komut üretimi ve seçimini otomatikleştiren framework
- Çok modlu CoT prompting: Metin ve görselleri iki aşamalı bir framework içinde birleştirir. 1. aşama çok modlu bilgiye dayalı gerekçe üretimi, 2. aşama ise üretilen gerekçeyi kullanarak yanıt çıkarımı yapmadır
- Revizyon yönetimi
- Prompt şablonu iterasyonu, kod tabanlı iterasyon için en iyi uygulamaları izler
- Kullanıcılar, test yanıtları ve veri kümeleriyle deneme yapmak için komutları ve model parametrelerini değiştirebilir
- Prompt şablonunun her iterasyonu için kod incelemesi gerekir. Onaylanıp birleştirildiğinde yeni bir prompt şablonu revizyonu oluşturulur
Prompt şablonu değerlendirmesi
Prompt şablonunun performansını değerlendirmek için birden fazla bileşen birlikte çalışır:
- İki değerlendirme mekanizması
- LLM’i değerlendirici olarak kullanma. Öznel kalite veya dilsel nüansın önemli olduğu görevlerde faydalıdır
- Özel kullanıcı tanımlı kod kullanarak performans değerlendirmesi. Performansın belirli yönlerini ölçmek için faydalıdır
- Değerlendirme prompt şablonu: Değerlendirme için komutlar, kısa örnekler, metrikler, yanıt formatı vb. sağlayan kullanıcı dostu şablon
- Gerçek prompt şablonu: Üretimde kullanılan şablon. Çalışma anında hydrate edilir ve performans değerlendirmesinde kullanılır
- Girdi veri kümesi seçenekleri: Etiketlenmiş golden dataset veya üretim trafiğinden türetilmiş veri kümesi
- Her şablon; belirli komutlar, bağlam, ilgili model ve parametreler dikkate alınarak değerlendirilir
Uber’deki kullanım senaryoları
Offline LLM servisi
LLM batch offline üretim hattı, büyük ölçekli LLM yanıt üretimi için batch inference’ı kolaylaştırır:
- Tüketici kullanıcı adı doğrulama kullanım senaryosunda kullanılabilir
- MA Studio’da yalnızca ilgili veri kümesini seçmek ve girmek yeterlidir
- Prompt şablonu veri kümesiyle dinamik olarak hydrate edilir
Online LLM servisi
Prompt şablonu, çalışma anına özgü değerlerle değiştirilmesi gereken dinamik placeholder’lar içerir:
- Şu anda Jinja tabanlı şablon sözdizimi kullanılarak yalnızca string türü değiştirmeler desteklenir
- Prompt, şablon ve model arasında fan-out özelliği desteklenir
- Şablon: API şablonu, genel veri modelinde açığa çıkarılan payload’u sağlayıcıya özgü API yapısına göre biçimlendirme işlevi içerir
- Prompt ve model: Prompt belirli model ve şablona sabitlenir. Servis prompt’u alır ve gerekli model ile şablon parametreleriyle genAI API’sini çağırarak çalıştırır
Özet kullanım senaryosu olarak bu özelliklerin incelenmesi:
- Bir destek talebinin (contact) birden fazla temsilci tarafından işlenebildiği senaryoda, yeni temsilcinin bağlamı anlamak için talebi incelemesi veya müşteriden sorunu yeniden açıklamasını istemesi gerekir
- Temsilciler arası devir sırasında özet sunularak bu sorun çözülür
İzleme
İzleme, üretimde kullanılan prompt şablonlarının performansını ölçer:
- Günlük performans izleme hattı, üretim trafiği üzerinde performans değerlendirmesi yürütür
- Gecikme, doğruluk, kesinlik gibi metrikler prompt şablonunun her üretim iterasyonu için izlenir
- MES dashboard, performans izleme metrikleriyle her gün yenilenir
Sonuç
Uber’ın prompt engineering araç seti, LLM’lerle etkileşimi ve bunlardan yararlanmayı geliştirme ile üretimin farklı aşamalarında iyileştirmeye yönelik kapsamlı bir framework’tür:
- Gen AI Playground’da LLM yeteneklerinin ilk keşfinden ayrıntılı prompt şablonu iterasyonu ve oluşturmaya kadar destek sağlar
- Araç setinin mimarisi, ileri seviye yönerge teknikleriyle sağlam değerlendirme yöntemlerini entegre ederek prompt tasarımına sistematik bir yaklaşım sunar
- Prompt şablonlarının geliştirmeden üretimde kullanıma ve izlemeye uzanan yapılandırılmış yaşam döngüsü, her şablonun titizlikle test edilmesini ve performans için optimize edilmesini sağlar
- Gelecekte online değerlendirme ile değerlendirme için RAG ve offline üretim için RAG ile entegrasyon planlanmaktadır
Henüz yorum yok.