- 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 sentezlerdspy.MIPROv2, tüm prompt'lar için daha iyi doğal dil talimatları önerir ve bunları akıllıca araştırırdspy.BootstrapFinetune, modüller için bir veri kümesi oluşturur ve bunu kullanarak sistemin LM ağırlıklarında fine-tuning yapar
- 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 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.