Probabilistik Zeka, Deterministik Kontrol
Bu yazıdan elde etmek istediğim iddia küçük bir tane. Bir sistem daha yetenekli ve yönetmesi daha kolay hale gelir: generatif bir model henüz açık olan akıl yürütme için ayrılmış olduğunda ve tekrarlamaya başlamış her şey daha dar bir yere taşındığında. Tekrarlanan kararlar bir karar düzlemine taşınır. Tekrarlanan eylemler sıradan yazılıma taşınır.
Bunu, pahalı kısmının fikir olmadığı platformlarda yıllar geçirmiş bir mühendis olarak yazıyorum. Pahalı kısım, sıradan bir günde bir sistemi aynı tutmaktı. Amazon Web Services'te ve Databricks'te, iş, veriyi bir programın kullanabileceği bir yere taşımak ve o programı, birinin bir iş akışına bahis oynayabileceği kadar güvenilir hale getirmekti. Ajanlar şimdi bunu belirli bir şekilde başarısız kılıyor. Akıcılar. Kararlı değiller.
Dört tür cümleyi ayrı tutacağım. Bunların bir kısmını inşa ettiğim veya yakından okuduğum sistemlerde gördüm. Bunların bir kısmı tasarlamaya istekli olduğum mimari bir ilkedir. Bunların bir kısmı ölçmemiş olduğum bir hipotezdir. Birkaç cümle tahmindir. Sonundaki notlar hangi iddiaların halen kaynağa ihtiyacı olduğunu söyler.
Model üretim olmayan işler yapıyor
Yaygın hale gelen bir ajan döngüsü, bir dil modeline bir hedef, bir sürü araç açıklaması ve bir şey yapıldı görüntülenene kadar konuşmaya devam etme hakkını verir. Aynı tamamlanma işleminden kişinin ne istediğini fark etmesi, bir araç seçmesi, eylemin izin verilip verilmediğine karar vermesi, argümanları doldurması, kendi çalışmasını kontrol etmesi ve sonucu anlatması istenir. Planlama, sınıflandırma, politika ve yürütme tek bir olasılıksal metindir.
Bu, kimsenin resmiyet kazandırmadığı bir görevi keşfetmenin makul bir yoludur. Zaten anladığınız bir görev yürütmenin kötü bir yoludur. Model her istekte bir prosedürü yeniden türetir ve bunu yaparken sürüklenmesine izin verilir. Gecikme, maliyet ve varyans, birkaç yineleme önce açık uçlu olmaktan çıkan işe harcanır.
Üretim ajanlarının sayımı yok. Sahip olduğum şey bir desendir, yeterince sık tekrarlanan bir desen ki bunu bir gözlem olarak güveniyorum, henüz istatistik olarak değil: sistem en büyük generatif modeli seçer çünkü o model diğer her bileşeni yaklaştırabiliyor. Yaklaştırma tasarımın işini yapıyor.1
Akıcılık bir karar değil
Bir dil modeli metin yazmaya eğitilir. Yazım, muğlak bir soru için, bir taslak için, henüz var olmayan bir plan için, iş akışının hiçbir zaman görmediği bir durum için doğru araçtır. Yasal cevapları zaten bir listeye sığan bir soru için yanlış araçtır.
Bu iş akışlarından hangisi. Bu istek devam edebilir mi. Hangi model yeterli. Yükselt veya zaten sahip olduğumuz yolu çalıştır. Bunlar kararlar. Çıkış alanı küçüktür ve bunu zaten biri yazıp bırakmıştır. Bir üreticiyi karar yazması için istemek ve ardından cümleyi ayrıştırmak, başarısızlık modu icat olan bir adım ekler. Model sunmadığınız bir araç adı, tanımlamadığınız bir izin, sistem bir etiket gerektirdiğinde kendinden emin bir paragraf yayar.
Kesinlik sesi kanıt değil. Akıcı bir tamamlanma, yanlış bir etikette olmayan bir şekilde yanlış olabilir, çünkü yanlış etiket en azından puanlayabileceğiniz bir setin üyesidir. Paragraf, bir karar olup olmadığını bile bilmeden önce yorumlanmalıdır. Bu yorumlama, genellikle test edilmemiş, model ve eylem arasında oturan ikinci bir sistemdir.
Bu, ham model kalitesinden daha çok önem verdiğim ayrımdır. Daha iyi nesil, açık uçlu işi iyileştirir. Üretimi, zaten numaralandırdığınız seçenekler arasından seçmenin güvenilir bir yolu haline getirmez. Bunlar farklı hesaplama sorunlarıdır. Bunları tek bir sorun olarak ele almak, bir ajanın demoda bitmiş görünmesine ve yine de aynı eylemi iki kez güvenle yapması güç bir şey olmasına neden olur.
Çıkış alanı zaten kapalıydı
Bir ajanın karar verdiği şeyin çoğu hiçbir zaman açık bir sorun değildi.
Niyeti sınıflandır. İş akışını seç. Modeli seç, ya da ne kadar hesaplama harcayacağını seç. Hangi bağlamın kapsamda olduğunu seç. Adayları sırala. Onayla veya reddet. İzne şekilli bir soruyu yanıtla. Yükseltip yükseltmeyeceğine karar ver. Bilinen bir iş akışının zaten geçerli olduğunu algıla. Bir güven bildir. Bunların her birinin sınırlı bir eylem seti vardır. Set büyük olabilir. Hala bir settir. Kodunuz yasal çıktıları listeleyemezse, bir karar prosedürü yok. Paragrafın ayrıştırılabilir olacağına dair umut vardır.
Ajan adımlarının bu şekilde kısıtlanan ölçülebilir bir payını iddia etmiyorum. O pay bir hipotez ve ürüne göre farklılık gösterecek. Mimari testi iddia ediyorum. Çıktıları yazıya döküyorsan, genel bir modelden onları icat etmesini istememelisin.2
Üç hesaplama türü
İşi üç düzleme ayırmaya başladım. İsimler benimdir. Bölünme isimlerden daha eskidir. Bir derleyici zaten aramanın bir kuraldan ayrılmasını ayırt eder. Bir iş süreci zaten bir hükmün bir prosedürden ayrılmasını ayırt eder. Ajan yığınları bunları çöktü çünkü bir model üçünü taklit edebilirdi.
Üretim düzlemi. Yeni, muğlak, keşfedici akıl yürütme için kullanılan dil modelleri. İş açık uçludur. Çıkış, yeni metin, yeni bir plan, bir taslak, bir menüde olmayan cevaptır. Bu düzlem olasılıksaldır ve gecikme, para ve varyans açısından nispeten pahalıdır. Cevap zaten yazıp bıraktığınız bir setin üyesi olmadığında sistem buraya gitmelidir. Sistemin dokunduğu her şey için varsayılan düzlem olmamalıdır.
Karar düzlemi. Sınırlı bir eylem seti üzerinde dar kararlar. Yukarıdaki liste burada yaşar: niyet, iş akışı, model, karmaşıklık, bağlam, sıra, onay, izne şekilli bir soru, yükseltme, bilinen bir iş akışının tespiti, güven. Çıkış bir etiket, bir skor veya bir olasılıktır. Bir paragraf değildir.
Bu düzlemi nasıl inşa ettiğiniz ikincil bir sorudur. Soyutlamanın herhangi bir uygulamayı hayatta kalmasını istiyorum. Alışılagelmiş bir sınıflandırıcı. Cevap, bir kova yerine bir büyüklük olduğunda bir regresör. O karar ve hiçbir şey başka için eğitilmiş küçük bir model. Sınırlı kod çözme, bir üretici yalnızca sabit bir setten çıkabilmelidir. Kod çözücü-logit sınıflandırması, modelin bu etiketler üzerindeki sonraki jeton dağılımını okursunuz, bir cümle yazmasını ve umut içinde bir isim belirtmesini istemek yerine. Tek arabirimi yazılı karar olan bir model.
Bunlardan biri açık kaynaklı olarak var. Laya, Eylül'de yayınlanan küçük bir açık kaynaklı karar modelidir: çağıran taraf durumu ve yazılı bir soru sağlar, o da bir seçim, bir skor veya bir olasılık döndürür, hiçbir zaman paragraf değil. Bunu tam olarak bu düzlem için eğitip test ettim. Önemsediğim şekil bu: belirsiz olmasına izin verilen bir bileşen, çağıranın sabitlenmiş bir eylem kümesinin içinde. Sınıflandırıcılar uzun zamandır bu şekle sahip. Karar düzlemi fikir. Uygulama, o özel karar için yeterince doğru, yeterince ucuz ve yeterince incelenebilir olan hangisiyse o olmalı.3
Laya ayrıca sonraki bölümün teorik olmadığı nedenidir. Son eğitim turumda, birincil doğruluğu 58'den 64 yüzdeye çıktı ve aktarım doğruluğu 71'den 74 yüzdeye çıktı. İyileştirme ölçülebilir ve istatistiksel olarak sonuçsuzu idi. Kalibrasyonu yeterince iyiydi değildi: yok güven eşiği önceden tanımlanmış kalite çubuğunu başında yeterli kabul edilen örneklerle temizledi, bu nedenle dondurulmuş geri dönüş politikası altında otomatik kapsam sıfırdı. Ayrı bir tanı, sentetik bir görevin mekaniğini öğrenebileceğini ve bunu yaparken güvenle yanlış olabileceğini gösterdi. Aday yükseltilmedi. Gölgede çalışır, tahminleri nihai sonuçların yanında kaydedilir ve söyleyebildiği hiçbir şey bir araç, bir çıkış veya önemli bir eylemi yetkilendiremez. Bu karar düzleminin başarısız olması değil. Bu karar düzleminin çalışmasıdır: konuşup geçemeyeceği kuralların içinde tutulan belirsiz olabilecek bir bileşen.
Deterministik yürütme. İş akışları, politika motorları, API'ler, veritabanları, durum makineleri, izinler, düzenleme, doğrulama, testler. Adım kartı yüklemek, satırı yazmak, aracı reddetmek veya zaten gönderdik geri ödeme yolunu çalıştırmaksa, bir dil modeli döngüde olmamalıdır. Sıradan yazılım doğru araçtır. Bütün bundan önce doğru araç idi ve prosedür bilindiği ve yan etki gerçek olduğu her yerde doğru araç olmaya devam ediyor. Bir fonksiyonun sahip olabileceği adım için generatif bir modeli çağırma.
Tasarımdan çıkarmaya çalıştığım başarısızlık, karar düzleminin veya sıradan yazılımın yapacağı yerde üretim düzlemini kullanmaktır. Ters başarısızlık da vardır. Aslında yeni olan bir durumu kapsamadığını iddia eden kırılgan bir kural, kapalı başarısız olur veya daha kötüsü, açık başarısız olur. Üretim düzlemi, tortuyu nasıl ele aldığınızdır. Tortu ve rutin aynı çağrıda nasıl ele alındığınız değil.
Bir olasılık bir politikayı bilgilendirebilir. Değil.
Sınıflandırma olasılıksal olabilir. Sınıflandırma hakkında hareket etmesi gereken kural olmamalıdır.
Bir model niyetin bir geri ödeme olduğunu, 0.92 gibi yüksek bir güvenle söylüyorsa, bir illustration olarak ve sonuç olarak değil, politika hala koddur. Bu eylem izin verilen sette. Bu güven, bir kişinin seçtiği eşiği temizler. Bu kimlik eylemi alabilir. Bu kayıt yazılır. Eşiği değiştirin ve sistemi amaca kaydırmış olursunuz, bir farkta. Modelin politikayı nesirde uydurmaya izin verin ve sistem Salı günü farklı, inceleyebileceğiniz hiçbir nedenle.
Düşük güven daha yumuşak bir evet değil. Bir dallanmadır: daha güçlü bir modele sor, bir insana sor veya dur. O dallanma da koddur. Kalibre edilmiş bir olasılık yararlıdır çünkü kod onu okuyabilir. Kalibre edilmemiş bir olasılık, bir ölçüm tavrı taşıyan bir sayıdır. Sistem gerçekten gördüğü trafiğe karşı kalibrasyonu birisi kontrol etmeden bir yan etki üzerinde bir olasılık uygulamam. Bunu bir kez Laya için yaptım ve başarısız oldu. Laya hiçbir şey uygulamadığı için bu yüzden..4
type Plane = "generate" | "decide" | "execute";
// A sketch of the split, not a system I ship.
function plane(step: { openEnded: boolean; workflowKnown: boolean }): Plane {
if (step.workflowKnown) return "execute";
if (step.openEnded) return "generate";
return "decide";
}
// The probability is an input. The permission is the function.
function permit(actionIsAllowed: boolean, confidence: number, threshold: number): boolean {
return actionIsAllowed && confidence >= threshold;
}
İkinci fonksiyon kasıtlı olarak sıkıcıdır. Sıkıcı nokta. Para, veri veya bir kişinin işini hareket ettiren bir eylem, testin adlandırabileceği bir şekilde başarısız olmalıdır.
Zaten sahip olduğunuz bir iş akışını yeniden keşfetme
Bir görev ilk kez göründüğünde, üretim genellikle dürüst araçtır. Kimse prosedürü yazmamış. Model araştırır. Biri bunu düzeltir. Bir şey çalışır veya çalışmaz ve hangisini öğrenirsiniz.
Onuncu kez, keşif israftır. Yol bilinir. Genel bir modelden bunu yeniden icat etmeye, araçları yeniden okumaya, adımları yeniden türetmeye ve politikayı yeni bir paragrafta yeniden belirtmeye devam etmek, sipariş etmediğiniz varyans üretmek için gecikme ve parayı harcayacaktır. Kurulu bir iş akışı yeniden keşfedilmemelidir.
Yeniden keşifte bir kibir vardır. Bunu tekrar çözen bir ajan zeki görünür. Prosedürü çalıştıran bir işlev yazılım gibi görünür, yani bir model olmadan inşa edebileceğiniz bir şey gibi görünür. Bu görünüş, modeli kritik yolu üzerinde tutmak için kötü bir nedenir. Model prosedürü nasıl bulacağınızdır. Orada bıraktığınız bir trofe değil.
Göç
İstediğim döngü sıkıcı ve bu tavsiyedir.
yeni akıl yürütme → tekrarlanan bir patern → bir iş akışı → dar bir karar → deterministik yürütme
Yeni bir istek üretken düzleme iner, çünkü henüz ne olduğunu bilmezsiniz. Aynı şekil tekrar tekrar görünürse, şekli yazın. Artık bir iş akışınız var, daha yazılım olmasa da belki bir dokuman. Kalan yargı artık ne yapmalıyız sorusu değil. Hangi iş akışı geçerli ve ne kadar emin olduğumuzdur. Bu bir karar-düzlemi sorusudur. Karar kararlı olduğunda, yolun çoğu yazılımdır. İş akışı çalışır. İlke kontrol eder. Yan etki, test edilebilen, yeniden denenebilen ve sahiplenebilen bir sistem içinde gerçekleşir.
Bu göçün her adımı önceki adımdan daha ucuz, daha hızlı ve daha tahmin edilebilir olmalıdır. Bu ekonomik iddia, bu sistemlerin tekrar altında nasıl davrandığına ilişkin bir hipotezdir, alıntı yaptığım bir kıyaslama değil. Döngünün kendisi mimari ilkedir. İktisat tasarrufunun boyutu hakkında yanılmaktan tasarımın yönü hakkında belirsiz olmamayı tercih ederim. Tekrar üretken modeli terk etmelidir.5
Göçü yapmaması gereken şey hala yeni olan kalıntıdır. Eski hale gelmiş bir iş akışı fark eden bir modelden daha kötüdür. Desenin kırıldığını algılamak kendi başına dar bir karardır. Karar düzleminde, güven kötü olduğunda üretim veya bir kişiye geri dönüş yolu ile yer alır. Döngü sertliğe doğru tek yönlü bir ratchet değil. Artık keşif olmayan iş için keşif fiyatları ödemeyi bırakmanın bir yoludur.
Neden bu ayırım birden fazla istek olduğunda önemli
Gecikme. Kısıtlı bir karar sistem hangi yöne gideceğini bilmeden önce bir paragraf aktarmasını gerektirmez. Pahalı model iş gerçekten açık uçlu olduğunda uyanır. Bilinen bir iş akışında bekleyen bir kişi, iş akışında beklemeli, model iş akışını prozada çağırırken değil.
Maliyet. Bilinen bir yolu yeniden türetmek için harcanan jetonlar her istek için ödediğiniz, yolu yazıya almayı reddettiğiniz sürece jetonlar. Üretken düzlem pahalı kalmaya devam eder. Bu, iş göre nadir olduğunda kabul edilebilir. İş olduğunda yapısal bir maliyettir.
Güvenilirlik. Oluşturucu sunmadığınız bir araç adlandırabileceğini. Sabit bir küme üzerindeki karar, küme modelin dışında uygulanırsa yapamaz. Kalan hata yanlış bir etikettir. Yanlış etiketler sayılabilir. Bulunan prosedürler önce fark edilmesi gereken, bu daha kötü bir izleme problemidir.
Yönetişim. Yazdığınız bir politikayla sürüm oluşturabilirsiniz. Bir iş akışıyla sürüm oluşturabilirsiniz. Etiketi, güveni, eşiği ve alınan dalı günlüğe kaydedebilir ve bir kişi bu kayıt için cevap verebilir. Bir tamamlamaya göre ima edilen, daha sonra bağlam penceresi ile atılan bir politikayı denetleyemezsiniz. Yönetişim burada sistem ne yapmaya izin verildiyse söyleme ve bunu yaptığını göstermek yeteneğidir.
Eşzamanlılık. Her biri tam bir üretken döngü taşıyan ajanlar aynı pahalı çıkarsama için ve kendilerini aramaya karar verdikleri herhangi bir araç için tekrar çatışırlar. Çoğunlukla bilinen iş akışları yürüten ajanlar sıradan hesaplama için çatışırlar ve kalıntı için bir modeli çağırırlar. Bunu bir kişiyi işleyen bir gösterim ile birçok kişi için aynı anda çalıştırılabilir bir sistem arasındaki fark olarak düşünüyorum. Ölçek iddiası bir tahmin. Mekanizm değil. Uzun bir üretken iz bir işlev çağrısı gibi ölçeklenmez ve bunların bir filo size bunu gösterecektir.6
Söylemediğim şeyler
Üretken modellerin daha küçük, daha nadir veya ilke gereği güvenilir olmadığını söylemiyorum. Hala yeni olan işe yönelik olmaları gerektiğini söylüyorum. Ne kadar yetenekli hale gelirse, o kadar çok kalıp ortaya çıkaracak ve bunların çoğu modeli terk etmelidir. Yetenek üretken düzlemin değerini artırır. Ayrıca içinde bırakmaya cezbedileceğiniz tekrar miktarını artırır.
Her dar kararın yeni bir model türü gerektirdiğini söylemiyorum. Çoğu, zaten nasıl eğitileceğini bildiğiniz bir sınıflandırıcı gerekir. Bazıları hiç model gerektirmez. Kural bir işleve sığarsa, işlevi yazın. Karar düzlemi bir yargının devam etmesi kabulüdür. Yargıyı özel bir üründe barındırmak için bir gereklilik değil.
Bir ürün, ağ veya şirket tanımlamıyorum. Tekrarlanan bir eylemle güvenmeye istekli olduğum sistemlerde istediğim bir ayrımı tanımlıyorum. Sonraki soru üretim, karar ve yürütme artık aynı makinede olmadığında ne olduğudur. Bu bir topoloji problemi olmadan önce bir yönetişim problemidir. Bunu Kapasite onay değildir ve Sınırı yönetin konularında ele alırım.
Notlar
Dipnotlar
-
Gözlem, anket değil. Karşısında inşa ettiğim ve okuduğum ajan sistemlerini açıklıyorum: planlama, araç seçimi ve harekete geçip geçmeyeceğine karar vermek için sorgulanmış bir generatif model. Üretim sistemlerinin bunu ne sıklıkta yaptığının yayınlanmış sayımı yok. Yaygınlığı biri ölçene kadar pratik olarak davran. ↩
-
Hipotez. Kısıtlı payın ne kadar büyük olduğu ürüne bağlıdır ve ben saymadım. Mimari test, pay benim düşündüğümden daha küçük olsa bile tutardığım kısımdır: çıktılar sayılabiliyorsa, bir üreticiyi onları icat etmesi için sorgulamayın. ↩
-
Karar düzlemi soyutlaması taleptir. Sınıflandırıcılar, regresörler, küçük karar modelleri, kısıtlı kod oluşturma, kod çözücü-logit sınıflandırması ve yazılı bir karar modeli bir harita, koşturduğum bir karşılaştırma değil. Laya yazılı şekli açık kaynaklı bir örnek: durum içeri; bir seçim, bir skor veya bir olasılık dışarı; metin yok. Convai Innovations'tan 421 milyon parametreli bir model, Apache 2.0 altında yayınlanmış, kaynağı ve ağırlıkları GitHub'da. Metindeki rakamlar, en son eğitim turumdan, çalışmadan önce sabitlenmiş kalite kriterlerine karşı ölçülmüş ve aday promosyon almadı. Kategoriye ad veren kapalı örnek, TypeSafe'nin System One modeli olarak adlandırdığı Jev'tir. Ölçümedim ve bu deneme bunların hiç rakamını kullanmıyor. Kod çözücü-logit sınıflandırması, sabit bir etiket kümesinin üstünde bir sonraki belirteç dağılımını okumak, bu deneme eğitimli bir sınıflandırıcıya göreceli doğruluğu hakkında herhangi bir şey söylemeden önce alıntıya ihtiyaç duyar. Burada söylemiyor. ↩
-
İlke: sınıflandırma olasılıksal olsa bile politika deterministik kalır. Örnek güven açıklayıcı. Kalibrasyonun uyarısı şimdi arkasında bir veri noktası var: Laya'nın eğitim tanısı, modelin sentetik bir görevi öğrendi ve yanlış cevapları aşırı güvenli hale geldi. Bir model bir temel oran değil ve ajan eşikleri sık sık yanlış olanlara nasıl uyarlandığı hakkında bir bulgu olarak söylemem. Operasyonel kural bu bulgu olmadan duruyor: gerçekten gördüğün trafiğe karşı kontrol etmemiş bir olasılık üzerinde yan bir etki uygulamayın. ↩
-
Göç döngüsü mimari ilkedir. Her adımın ucuz, hızlı ve öngörülebilir olduğu iddiası, tekrar altındaki sistemler hakkında bir hipotezdir. Bir maliyet modelini alıntılamıyorum. ↩
-
Gecikme, maliyet, güvenilirlik ve yönetim bölünmeden izlenir eğer bölünme gerçekse. Eş zamanlılık noktası filo hakkında bir tahmin. Bunu bir bulgu olarak söylemeden önce gerçek çok kişili bir sistemden izler isterdim. ↩