9 puan yazan xguru 2024-12-12 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 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.

Henüz yorum yok.