- DSPy (Declarative Self-improving Python), dil modellerini (LM) programlama yoluyla kontrol etmek için tasarlanmış bir framework'tür
- Basit sınıflandırıcılardan karmaşık RAG pipeline'larına ve agent döngülerine kadar modüler yapay zeka sistemlerini hızlıca kurabilir; ayrıca prompt'ları ve ağırlıkları optimize eden algoritmalar da sunar
- Mevcut kırılgan prompt'lar yerine birleştirilebilir Python kodu yazarak modüler yapay zeka sistemlerini hızlıca kurabilir ve LM'lerin yüksek kaliteli çıktı üretmesini sağlayacak şekilde eğitebilirsiniz
- Module kullanarak yapay zeka davranışını string'lerle değil, kodla tanımlayın
- Güvenilir yapay zeka sistemleri kurmak için hızlı iterasyon yapmak gerekir
- Ancak prompt'ları bakımda tutmak, LM, metrik veya pipeline değiştiğinde her seferinde string'leri ya da verileri güncellemeyi gerektirdiği için zordur
- DSPy, LM sistem tanımını belirli bir LM'e veya prompting stratejisine dair karmaşık seçimlerden ayırmak için geliştirilmiştir
- DSPy'nin programlama yaklaşımı
- DSPy, odak noktasını prompt string'lerini ayarlamaktan, yapılandırılmış ve bildirime dayalı doğal dil modülleriyle programlamaya kaydırır
- Sistemdeki her yapay zeka bileşeni için giriş/çıkış davranışını signature olarak belirtir ve LM çağrı stratejisini atamak için modül seçersiniz
- DSPy, signature'ları prompt'lara genişletip tiplenmiş çıktıları parse ederek kullanımı kolay, taşınabilir ve optimize edilebilir yapay zeka sistemleri yazmanıza olanak tanır
- Optimizer, yapay zeka modüllerinin prompt'larını ve ağırlıklarını ayarlar
- DSPy, doğal dil açıklamaları içeren yüksek seviyeli kodu düşük seviyeli işlemlere, prompt'lara veya ağırlık güncellemelerine compile eden araçlar sunar
- Bu sayede LM'leri programın yapısı ve metrikleriyle hizalayabilirsiniz
- Kodu veya metrikleri değiştirdiğinizde buna uygun şekilde kolayca yeniden compile edebilirsiniz
- DSPy optimizasyon süreci
- Elinizde görevi temsil eden birkaç düzine ya da birkaç yüz giriş ve sistem çıktısının kalitesini ölçebilecek bir metrik varsa DSPy Optimizer'ı kullanabilirsiniz
dspy.BootstrapRS, tüm modüller için iyi few-shot örnekleri sentezler
dspy.MIPROv2, tüm prompt'lar için daha iyi doğal dil talimatları önerir ve bunları akıllıca araştırır
dspy.BootstrapFinetune, modüller için bir veri kümesi oluşturur ve bunu kullanarak sistemin LM ağırlıklarında fine-tuning yapar
- DSPy ekosistemi, açık kaynaklı yapay zeka araştırmalarını ileri taşır
- DSPy'nin modüler paradigması, büyük dil modelleriyle kıyaslandığında, daha fazla araştırmacının LM programlarının bileşim mimarilerini, çıkarım zamanı stratejilerini ve optimizasyon araçlarını dağıtık biçimde iyileştirmesine imkan verir
- Bu da DSPy kullanıcılarına daha fazla kontrol sağlar, iterasyonu hızlandırır ve en yeni optimizasyon araçları ya da modüller uygulanarak programların zaman içinde gelişebilmesine yardımcı olur
- DSPy araştırması Şubat 2022'de Stanford NLP'de başladı ve ColBERT-QA, Baleen, Hindsight gibi erken dönem bileşik LM sistemlerinin geliştirilmesinden çıkarılan dersler üzerine inşa edildi
- Aralık 2022'de ilk kez DSP olarak yayımlandı, Ekim 2023'te DSPy'ye evrildi; 250 katkıda bulunan kişi sayesinde on binlerce insan modüler LM programları kurup optimize etmeyi öğrenebildi
- DSPy topluluğu, MIPROv2, BetterTogether, LeReT gibi optimizasyon araçları ile STORM, IReRa, DSPy Assertions gibi program mimarileri üzerine çok sayıda araştırma çıktısı ortaya koydu
- PAPILLON, PATH, WangLab@MEDIQA, UMD'nin prompting vaka çalışmaları ve Haize'nin Red-Teaming programı gibi yeni problemlere yönelik çok sayıda başarılı uygulama örneğine de sahiptir
- Bunun yanında birçok açık kaynak proje, production uygulaması ve diğer kullanım senaryoları üzerinden DSPy'nin pratikliği kanıtlanmıştır
Henüz yorum yok.