Ticaret için ONNX'i öğrenme - sayfa 4

 

2020 ONNX Yol Haritası Tartışması #2 20200909



2020 ONNX Yol Haritası Tartışması #2 20200909

"ONNX Yol Haritası Tartışması" videosunda konuşmacılar, şekil çıkarımı, operatör tanımları, referans uygulamaları ve ONNX spesifikasyonu dahil olmak üzere ONNX'in yol haritasıyla ilgili çeşitli konuları tartışıyor. Konuşmacılar, şekil çıkarım optimizasyonunu geliştirmek için genel bir şekil çıkarım altyapısı oluşturmayı, ilkel operatörlerin sayısını azaltmayı, her operatör için referans uygulamaları eklemeyi ve ONNX'in uygun şekilde uygulanmasını ve test edilmesini sağlamak için daha iyi tanımlanmış test senaryolarını önermektedir. Grup, yeni bir operatör eklemek için operatör SIG içinde ve GitHub tartışma panosunda tartışmalara devam etmeyi planlıyor.

  • 00:00:00 Bu bölümde, konuşmacılar ONNX yol haritasını tartışıyorlar ve özellikle şekil çıkarımı, tanım dışı ve IR gibi önerilen birkaç konuyu ele alıyorlar. Konuşmacılar, tekliflerini açıklamak için Changming veya Buchan'ın müsait olup olmadığını soruyor. Buchan, şekil müdahalesi hakkındaki geri bildirimlerini ve geçmişte bununla nasıl sorunları olduğunu tartışıyor. Şekil çıkarımı optimizasyonunun el ele gitmesini ve aynı anda optimizasyonu iyileştirmesini sağlamak için IR'de bir değişiklik olduğunda şekli yeniden derleyen genel bir şekil etkileme altyapısı oluşturmayı önerir. Konuşmacılar, bunun doğrudan şekil çıkarımından çok optimizasyon için geçerli olduğu sonucuna varırlar.

  • 00:05:00 şekil çıkarımı ve optimizasyon geçişleri açısından ONNX'in mevcut yeteneklerini anlayın. Mevcut altyapı, bilinen girdi değerlerine dayalı olarak şekil çıkarımını zaten desteklemektedir ve çıktı şekillerini anlamak için kullanılabilir. Model denetleyicinin güncellenmesinde beklenen sonuçlar alınabilir, ancak diğer değişiklikler daha fazla tartışma gerektirebilir. Grup, bu değişikliklerin ONNX'e mi yoksa farklı bir yere mi ait olduğunu tartışır. Ayrıca, istenen sonuçları elde etmek için ardışık döngülerdeki her operatör için şekil çıkarım yöntemleri çağırma fikrini de dikkate alırlar. Sonuç olarak, mevcut altyapı zaten optimizasyon geçişlerine ve şekil çıkarımına izin veriyor, ancak değişiklikler ve iyileştirmeler bu yetenekleri geliştirebilir.

  • 00:10:00 Bu bölümde, konuşmacılar operatör tanımlarını tartışır ve diğer operatörler daha düşük seviyeli operatörlerle birleştirilebilir hale getirilebileceği için ilkel operatörlerin sayısını azaltmayı önerir. Ayrıca referans uygulama konusunu ve bir dizi operatörü değerlendirmek için altyapı ihtiyacını tartışırlar. Geçerli referans uygulaması, test durumu oluşturucusunda bir Python uygulaması biçiminde bulunur, ancak bir dizi işleci değerlendirmeyi kolaylaştıracak şekilde düzenlenmemiştir. Konuşmacılar, doğrulama için kullanılabilecek işlev alt grafiklerini doğrulamak için CI'lere ONNX çalışma zamanı gibi bazı çalışma zamanlarının eklenmesini önerir.

  • 00:15:00 Bu bölümde konuşmacılar, çalışma sürelerinin yazarın beklentilerinden sapmamasını sağlamak için her operatör için referans uygulamalarına duyulan ihtiyacı tartışıyor. Referans uygulamasını, çalışma zamanı ile eşliği doğrulamak için bir birim testi olarak ve ayrıca birlikte çalışabilirliği ve doğrulamayı kontrol etmek için bir yorumlayıcı modu olarak kullanmanızı önerirler. Konuşmacılar, işlevi doğrulamak için ONNX çalışma zamanını kullanmanın, işlevin ONNX'te var olan ilkel işlemlerden oluştuğu varsayımı altında mümkün olduğunu not eder. Ancak, yeni ilkel operasyonlar içeren bir alt grafikte yeni operatörler için ONNX çalışma zamanını kullanmak, başka hiçbir çalışma zamanında bu uygulamaya sahip olmayacağından mümkün değildir. Bir referans uygulama oluşturmanın çok fazla çalışma gerektirdiğini, ancak bunun her operasyon için zorunlu olduğunu kabul ediyorlar. Çalışma zamanının yazarın beklentilerinden sapmamasını sağlamak için ONNX uyumluluğuna duyulan ihtiyacı da vurgularlar.

  • 00:20:00 Bu bölümde, konuşmacılar ONNX spesifikasyonundaki referans uygulamalarının kullanımını ve spesifikasyondaki açık ve özlü dilin önemini tartışıyor. Bazıları, spesifikasyonun İngilizce metnindeki belirsizliği gidermek için referans uygulamalarının kullanılmasını savunurken, diğerleri, referans uygulamalarının gereksiz olması için spesifikasyonun yeterince açık olması gerektiğini savunur. Konuşmacılar ayrıca, olası tüm köşe durumlarının test edilmesini sağlamak için titiz uyumluluk testlerinin önemini tartışıyorlar. Sonuç olarak, referans uygulamaların yararlı olabilmesine rağmen, ONNX spesifikasyonunda gerekli olmaması gerektiği konusunda fikir birliği var gibi görünüyor.

  • 00:25:00 Bu bölümde, ONNX'te bir işleç uygulamak için gereksinimler hakkında, özellikle referans uygulama ve test prosedürlerine duyulan ihtiyaçla ilgili bir tartışma vardır. Bazıları operatör için bir referans uygulamasının test verilerinin üretilmesi için zorunlu olması gerektiğini savunurken, diğerleri test verilerini veya sabit bir veri kümesini oluşturmak için bir Python işlevi sağlamanın yeterli olduğunu belirterek buna katılmazlar. Bununla birlikte, özellikle birçok farklı özniteliğe sahip karmaşık işleçler için, bir çalışma zamanında işleci uygulayan birinin uygulamalarını uygun şekilde test etmesi için bir referans uygulamasına sahip olmanın çok önemli olduğu belirtilmektedir. Tartışma ayrıca, ONNX için bir referans çalışma zamanı gerekli olmasa da, her operatör için bir referans uygulamasının gerekli olduğunu açıklığa kavuşturur.

  • 00:30:00 Videonun bu bölümünde, konuşmacılar, ONNX'in uygun şekilde uygulanmasını ve test edilmesini sağlamak için referans bir uygulamaya ve daha iyi tanımlanmış test senaryolarına sahip olmanın önemini tartıştı. Oluşturulan test verilerine güvenmenin yetersiz olabileceğini ve basit bir koda sahip olmanın sorunu herkes için çözebileceğini belirttiler. Konuşma ayrıca, tam bir belirtim ihtiyacına ve tanımlanmamış davranış durumlarında ne yapılacağını belirlemek için çalışma zamanının özgürlüğüne değindi. Bazı konuşmacılar, bir referans uygulama ekleyerek operatör önerenlere bir yük ekleme konusundaki endişelerini dile getirdi. Mühendislik çabasını en aza indirmeyi ve sisteme işlem eklemek için mevcut gereksinimleri yeniden gözden geçirmeyi önerdiler.

  • 00:35:00 Videonun bu bölümünde, konuşmacılar ONNX için eksiksiz ve net bir spesifikasyona sahip olmanın önemini ve onu uygulama yollarını tartışıyorlar. Çalıştırma zamanlarında operatörleri uygulayan kişilerin tüm test senaryolarını doğrulayabilmesini sağlamak için Python'da bir referans uygulamasının yararlı olacağı konusunda hemfikirdirler. Ancak, bir spesifikasyonu uygulamanın kolay olmadığını ve hala ele alınması gereken sorunlar olduğunu da kabul ediyorlar. Spesifikasyonun nasıl kullanılabileceğini netleştirmenin yollarını tartışıyorlar ve bir operatör önerip ardından onu bir çalışma zamanında uygulamak yerine, uygulama ve geri bildirimin yeni operatörlerin teklifine rehberlik etmesi gerektiğini öneriyorlar. Ayrıca, yeni bir operasyon eklemek için bir şartın, iyi bilinen bir çerçevede uygulanması gerektiğini de belirtiyorlar.

  • 00:40:00 ONNX Yol Haritası Tartışmasının bu bölümünde grup, ONNX'in özelliklerine yeni operatörler ekleme sürecini tartışıyor. Öneri, zaten Python'da bir referans uygulaması gerektiren yeni bir operatör ekleme politikasını değiştirmektir. Tartışmaları referans uygulamaları ve uyumluluk testleri etrafında toplanıyor ve görüşmeye operatör SIG içinde ve GitHub tartışma panosunda devam etmeyi planlıyorlar. Grup, önümüzdeki hafta yapılması planlanan bir sonraki toplantıda tartışmalara devam etmeyi planlıyor.
 

2020 ONNX Yol Haritası Tartışması #3 20200916



2020 ONNX Yol Haritası Tartışması #3 20200916

Bu videodaki tartışma, hata işlemeyi iyileştirme, modelin oluşturulmasını belirtmek için önceden tanımlanmış bir meta veri şema alanı ekleme, niceleme fiziksel optimizasyon ihtiyacı ve ONNX modellerini Model Hayvanat Bahçesi'nden en yeni sürümler. Ekip, etkilerine ve maliyetlerine göre bu konulara öncelik vermeyi ve 1.8 sürümünden sonra bunlar üzerinde çalışmayı planlıyor. Ek olarak grup, Spark gibi farklı platformları desteklemek için Java'ya özel ilgi göstererek ONNX araç seti için farklı dil bağlamaları oluşturma fikrini değerlendiriyor. Konuşmacılar ayrıca ONNX Çalışma Zamanı etrafında bir Java sarmalayıcı oluşturma olasılığını da tartışıyorlar.

  • 00:00:00 Bu bölümde, konuşmacı toplulukla üç konuyu tartışmayı önerir: hata işleme, model hayvanat bahçesini geliştirme ve niceleme için daha fazla işlem veya işleç uygulama. Önümüzdeki üç oturumu bu konuların maliyeti ve etkisi hakkında konuşmak ve en yüksek etkiye ve düşük maliyete sahip öğelere göre önceliklendirmeyi belirlemek için kullanmayı planlıyorlar. Ayrıca, bu konuların 1.8 sürümü üzerindeki etkisine ilişkin bir soruyu da ele alıyorlar ve bu değişikliklerin çoğunun 1.8 sonrasında yapılacağını açıklıyorlar. Bir topluluk üyesi, çalışma zamanının hatalı biçimlendirilmiş protobuf'larla karşılaşması durumunda çalışma zamanının sonlandırılmaması ve bunun yerine daha iyi bir kullanıcı deneyimi sağlamak için bir hata kodu döndürmesi veya bir istisna oluşturması için hata işlemenin iyileştirilmesini önerir.

  • 00:05:00 Bu bölümde tartışma, çökmeleri önlemek ve işlevselliği iyileştirmek için ONNX'te yükleme kodunun hata işlemesinin iyileştirilmesine odaklanır. Ekip, kod üzerinde bulanıklaştırma gerçekleştirdi ve güvenilmeyen modellerin tüm süreci alt üst etme potansiyeline sahip olduğunu ve bu nedenle ele alınması gereken en önemli öncelik olduğunu gördü. ONNX çalışma zamanı, ONNX denetleyicisinden farklı bir kontrol sürecine sahiptir ve aynı denetleyiciyi paylaşıp paylaşamayacakları henüz net değildir. Ek olarak, denetimler sırasında daha iyi hata işleme konusu gündeme geldi ve ekip bu öneriyi takip etmeyi planlıyor.

  • 00:10:00 Bu bölümde konuşmacı, ONNX ekosistemi ile etkileşime giren ve ONNX modellerine hizmet veren Trivial adlı kütüphanelerini tartışıyor. Model oluşturulduğunda zaman damgasını, model için kullanılan eğitim algoritmasını ve onu oluşturmak için hangi kaynak kitaplığın kullanıldığını belirtmek için ONNX'e önceden tanımlanmış bir meta veri şeması alanı eklemeyi önerirler. Meta veri alanı için standart anahtar adları tanımlamayı ve bunları da yazmayı önerirler. Konuşmacı, meta veri alanı için bir şemaya sahip olmanın kütüphaneler ve ONNX modellerine hizmet veren diğer kullanıcılar için faydalı olacağına inanıyor. Daha sonra konuşma, Model Hayvanat Bahçesi'ndeki tüm modelleri kapsayacak şekilde model testini genişletme ve yüksek kalitede iyi örnekler sağlama ihtiyacına geçer.

  • 00:15:00 Bu bölümde tartışma, bir nicemleme fiziksel optimizasyonu ihtiyacının yanı sıra ONNX'in model hayvanat bahçesini nicemlenmiş modelleri içerecek şekilde genişletmeye odaklanıyor. Model hayvanat bahçesine nicelleştirilmiş modellerin dahil edilmesi için birkaç talep geldi ve ekip, katkıda bulunanlar bulmayı umuyor. Hugging Face'in sayısallaştırılmış ONNX modelinin başarılı olduğu bir blogdan bahsediyorlar, ancak bunu yayınlamak için Hugging Face'ten izin almaları gerekiyor. Transformatör kitaplığının en üst modelinin niceleme için bir örnek olabileceği ve Microsoft ve uzayın her ikisinin de üzerinde çalıştığı önerildi. Ek olarak, optimizasyon hakkında tartışmalar yapıldı ve bazıları, ONNX spesifikasyonunun kapsamı dışında olduğu için optimizasyonu çalışma zamanına bırakmanın daha iyi olduğu konusunda hemfikir oldu.

  • 00:20:00 Bu bölümde katılımcılar, Version Converter aracını kullanarak ONNX modellerini Model Zoo'dan en son sürümlere güncelleme olasılığını tartışırlar. Ancak, Version Converter'ın tamamen güncel olmadığını ve ONNX önceki tüm sürümleri desteklediğinden dönüştürmenin gerekli olup olmadığı konusunda bazı belirsizlikler olduğunu belirtiyorlar. Grup ayrıca, Spark gibi farklı platformları desteklemek için Java'ya özel bir ilgi göstererek ONNX araç seti için farklı dil bağlamaları fikrini de değerlendiriyor. Bir Java API'sinin veya bağlamalarının eklenmesi, model dosyalarının yüklenmesini ve doğrulanmasını ve diğer kitaplıklardan ONNX biçimine dönüştürücü yapılmasını kolaylaştırır.

  • 00:25:00 Bu bölümde konuşmacılar, Spark gibi JVM tabanlı makine öğrenimi projelerinde işleri kolaylaştıracak ONNX Çalışma Zamanı etrafında bir Java sarmalayıcı oluşturma olasılığını tartışıyor. Önemsiz bir girişim olmasa da, taslakları otomatik olarak oluşturmak için Java CPP ön ayarlarını kullanmak iyi bir başlangıç noktası olabilir. Geriye dönük uyumluluk, Spark gibi büyük projeler için çok önemlidir ve Java 8'i hedeflemek, önemli ölçüde çalışma gerektirir. Ancak, topluluktan katkıda bulunmak için yeterli ilgi ve istek varsa, keşfedilmesi iyi bir şey olabilir.
 

2020 ONNX Yol Haritası Tartışması #4 20200923



2020 ONNX Yol Haritası Tartışması #4 20200923

ONNX yol haritası tartışmasının dördüncü bölümü, veri çerçevesi desteği, ön işleme, standardizasyon, uçtan uca makine öğrenimi ardışık düzeni ve araç önerileri konularını kapsar. Veri çerçevesi desteği, klasik makine öğrenimi modelleri için değerli olarak değerlendirilir ve ön işleme ihtiyacını ortadan kaldırabilir. Görüntü işleme gibi üst düzey kategorileri standartlaştırmaya odaklanarak, performansı artırmak için ONNX modeli içinde yakalanacak ön işleme ihtiyacı vurgulanır. Uçtan uca ardışık düzen düşük öncelikli olarak derecelendirilir, ancak ardışık düzene kademeli olarak bileşenlerin eklenmesi önerilir. Tartışma, gündem maddelerinin daha fazla tartışılmasına ve analizine yardımcı olacak bir aracın kullanılması önerisiyle sona erer.

  • 00:00:00 Bu bölümde konuşmacılar, ONNX yol haritasını ve topluluk tarafından önerilen özellikleri tartışıyor. Şimdiye kadar makine öğrenimi boru hattı ve veri işleme, işlem tanımı veya IRS ve temel robotlar dahil olmak üzere üç bölümü ele aldılar. Yol haritası belgesi, yüksek, orta ve düşük öncelikli olarak derecelendirilen önerilen özelliklerin bir tablosunu içerir. Bununla birlikte, bazı konular çok geneldir ve önemlerini değerlendirmeyi zorlaştırır. Konuşmacılar önümüzdeki 30 dakikayı bu özelliklerden bazılarının neden yüksek puan aldığını tartışarak ve topluluktan hangi özelliklerin en önemli olduğu konusunda geri bildirim toplayarak geçirmeyi planlıyor.

  • 00:05:00, ONNX yol haritasının nasıl önceliklendirildiğini merak ediyordu, videonun bu bölümü bir veri çerçevesi destek özelliğinin önemini ve bunun platform içindeki diğer sorunları potansiyel olarak nasıl çözebileceğini tartışıyor. Konuşmacı, bu özelliğin veri bilimcileri için değerli olacağını ve bir ön işleme özelliğine olan ihtiyacı potansiyel olarak ortadan kaldırabileceğini açıklıyor. Görevlere etkili bir şekilde öncelik vermek için yol haritasındaki her bir öğe için bir mühendislik maliyeti tahmini alma ihtiyacından da bahsediyorlar. Yol haritası ilk kez bu şekilde sunulduğu için öneriler memnuniyetle karşılanmaktadır.

  • 00:10:00 ONNX Yol Haritası Tartışmasının bu bölümünde, makine öğrenimi modelleri için veri çerçevesi desteğinin önemi tartışılıyor. Veri çerçevesi desteğinin, DNN'ler veya diğer modellerden ziyade esas olarak klasik makine öğrenimi modelleri için olduğuna inanılmaktadır. Veri çerçevesi, tensörlerin heterojen bir koleksiyonu veya farklı türlere sahip olabilen sütunları olan bir ilişki tablosu olması bakımından diziden farklıdır. Her bir özelliğin önemi, sahip olacağı etkiye göre değerlendirilir ve mühendislik maliyetleri hesaba katılır. Bir özelliğin öneminin neden yüksek veya düşük olduğunu vurgulamak için kutu başına bir yorum sağlanması önerilir.

  • 00:15:00 Bu bölümde, bir ONNX modelinde ön işlemenin önemi ele alınmaktadır. Konuşma, özellikle ön işlemenin performans üzerinde önemli bir etkiye sahip olabileceği eğitim bağlamında, harici kitaplıklara güvenmek yerine gerekli tüm adımların ONNX modeli içinde yakalanması gerektiğini vurgulamaktadır. Ek olarak, ön işleme, özellikle Python tabanlı bir ortamda değilse, çıkarım açısından yararlı olabilir. Tartışma ayrıca, veri türlerinin heterojen doğası nedeniyle ön işlemeyi standartlaştırmanın zorluklarına da değiniyor. Ön işleme geniş ve karmaşık bir konu olsa da konuşma, ön işlemeyi standart hale getirmek için ONNX içindeki eksik işleçleri ve türleri dikkate almanın gerekli olduğu sonucuna varıyor.

  • 00:20:00 Bu bölümde, konuşmacılar ön işlemenin geniş kapsamını ve bunun yalnızca görüntüyle ilgili işlemeyi değil aynı zamanda ses verilerini de nasıl içerebileceğini tartışıyor. Ön işlemenin dikkate alınması önemli olsa da, konuşmacılar her veri türünü desteklemenin gerekli olmayabileceğini ve bunun yerine görüntü işleme gibi üst düzey kategorilerde standartlaştırmanın geliştiriciler için daha faydalı olabileceğini belirtiyor. Ancak konuşmacılar, görüntü yeniden boyutlandırma gibi basit görünen ön işleme görevlerinin bile kütüphaneler arasında ince uç durum farklılıklarına sahip olabileceği ve standardizasyonu bir mühendislik sorunu haline getirebileceği konusunda uyarıyorlar. Bununla birlikte, ön işleme görevlerini standart hale getirmek yardımcı olabilir ve konuşmacılar, gelecekte değerlendirilmek üzere ortak ön işleme adımlarının toplanmasını önerir.

  • 00:25:00 Bu bölümde, konuşmacılar uçtan uca makine öğrenimi ardışık düzenini ONNX'e dahil etmenin önceliğini tartışıyor, bazıları ele alınması gereken diğer öğeler göz önüne alındığında bunun düşük bir öncelik olduğunu belirtiyor. Bununla birlikte, özellikle ONNX Çalışma Zamanı karışıma dahil edildiğinde, ONNX'in nasıl uygulanabileceğine dair uçtan uca bir örneğe ve açıklamaya sahip olmanın yararlılığının farkındadırlar. Eğitim kısmına odaklanarak, ONNX'te ince ayar yaparak ve sonunda karışıma ön işleme ekleyerek, boru hattına kademeli olarak bileşen ekleme fikri önerilir. Tartışma, gündemdeki maddelerin daha fazla tartışılmasını ve etki analizini kolaylaştıracak bir araç kullanılması önerisiyle sona erer.

  • 00:30:00 Bu bölümde, konuşmacı herkese katıldığı için teşekkür eder ve izleyicilere tartışmayı sosyal medyada ve ONNX web sitesinde yayınlamaya çalışacaklarını bildirir.
 

2020 ONNX Yol Haritası Tartışması #5 20201001



2020 ONNX Yol Haritası Tartışması #5 20201001

ONNX Yol Haritası Tartışması sırasında ONNX ekibi, topluluk üyeleri tarafından önerilen ve yönlendirme komitesi de dahil olmak üzere farklı kişiler tarafından puanlanan çeşitli özellikleri tartıştı. Bazı özellikler üzerinde oybirliğiyle karar verilirken, diğerleri topluluğu böldü. Ekip, ONNX IR'yi birden çok IR'ye ve merkezi IR optimizasyon kitaplıklarına dönüştürme olasılığını tartıştı. Ayrıca optimizasyon kitaplıklarını ONNX içinde merkezileştirme fikrini ve operasyonların standart bir arayüz ve kodlama stili uygulama gerekliliğini tartıştılar. Ekip ayrıca, ONNX modelleri için basit bir çalışma zamanına sahip olma olasılığını ve ONNX çalışma zamanının mevcut olmadığı durumlar için özel Python operasyonlarının kullanımını tartıştı. Ek olarak ekip, ön işleme operasyonları ile veri çerçevelerinin kullanımı arasındaki ilişkiyi araştırdı ve fikirlerini gelecekteki çalışmalar için eyleme dönüştürülebilir önerilere dönüştürmeyi planladı.

  • 00:00:00 Bu bölümde ONNX ekibi, proje için neyin önemli olduğuna dair farklı insanların düşüncelerini yakalamak için oluşturulmuş etki analizi elektronik tablosunu tartışıyor. Yönlendirme komitesi ve diğer topluluk üyeleri de dahil olmak üzere farklı kişilerden alınan ve önerilen tüm farklı özellikleri listelediler. Herkesin bunun gerçekten önemli olduğu veya hiç önemli olmadığı konusunda hemfikir göründüğü bazı özellikler olduğunu ve topluluğun bölündüğü bazı özellikler olduğunu fark ettiler. Bölünenleri ve önemli olduğuna karar verdikleri sonraki adımları tartıştılar. Ayrıca, yüksek öncelik olarak kabul edilenler için kriterler oluşturmaktan ve bunun kimin bir özelliği uygulamak için zaman ayırmaya istekli olduğuna nasıl bağlı olduğundan da bahsettiler.

  • 00:05:00 ONNX Yol Haritası Tartışmasının bu bölümünde, katılımcılar ONNX IR'yi çoklu IR'lere ve merkezi IR optimizasyon kitaplıklarına değiştirme fikrini tartışıyorlar. Optimizasyon ve IR ayrı konular olduğundan, bu iki fikrin birlikte gruplandırılması gerekip gerekmediği konusunda bazı tartışmalar vardır. Birden çok IR'ye sahip olmanın amacı, daha basit işlemleri basitleştirmek ve birleştirmekken, optimizasyon kitaplıkları çekirdek ONNX'i geliştirir. ONNX IR ile neyin kastedildiği hakkında daha fazla tartışma var ve açıklamaya ihtiyaç var. Katılımcılar ayrıca, bu potansiyel değişikliklerin ONNX yol haritasındaki mevcut puanlarını nasıl etkileyebileceğini tartışırlar.

  • 00:10:00 Bu bölümde ekip, optimizasyon kitaplıklarını ONNX'te merkezileştirme olasılığını tartışıyor, ancak nihayetinde optimizasyonun çalışma zamanının bir parçası olması gerektiği ve diğer konulara kıyasla daha düşük önceliği olduğu konusunda hemfikir. Ayrıca, operasyonların standart bir arayüz ve kodlama stili ile belirli bir şekilde uygulanması gerekliliğini de tartışıyorlar, bu zaten bir gerekliliktir, ancak ince ayar gerektirebilir. Birisi belirli bir tarz önerirse, kabul edilebilir görünüyorsa kabul edilebileceğini öne sürüyorlar.

  • 00:15:00 Bu bölümde, konuşmacılar ONNX modelleri için basit bir çalışma zamanına sahip olma fikrini tartışıyorlar, bu da modeli işlemek için yürütme akışı ve dahili IR gerektirmenin karmaşıklığıyla ilgili endişeleri artırıyor. Bununla birlikte, ONNX modellerini test etmek ve doğruluğu sağlamak için çalıştırabilmenin ve değerlendirebilmenin, özellikle operatörler için birim testlerindeki boşlukları ortaya çıkarmanın bir değeri vardır. Basit bir çalışma zamanını uygulamak için ne kadar çaba ve maliyet gerektiği tartışmalı olsa da, ONNX çalışma zamanı, bu amaç için kullanılabilecek Python operasyonlarını takma yeteneğine sahiptir.

  • 00:20:00 Bu bölümde, ONNX Yol Haritası Tartışmasının katılımcıları , ONNX çalışma zamanının kullanılamadığı belirli durumlar için özel bir Python işlemi kullanma olasılığı hakkında konuştular. Python operasyonunun sınırlamalarını ve uygulanabilirliği sağlamak için standart bir arayüze olan ihtiyacı tartıştılar. Ek olarak, grup, modelleri daha bağımsız ve taşınabilir hale getirmek için, özellikle ölçeklendirme ve sınırlayıcı kutuları işleme gibi görüntü tabanlı ön işleme için ONNX grafiği içinde daha fazla ön işleme özelliğine duyulan ihtiyacı tartıştı. Grup, metin ön işlemenin, özellikle belirteçleştirmenin daha karmaşık ve kapsamlı bir konu olduğunu, ancak bazı yaygın ön işleme senaryolarını soyutlayabileceklerini belirtti.

  • 00:25:00 Bu bölümde katılımcılar ön işleme işlemleri ile veri çerçevelerinin kullanımı arasındaki ilişkiyi tartışırlar. Ön işleme ve veri çerçevelerinin bağlantılı olduğu konusunda hemfikir olsalar da, bunları farklı türde işler gerektiren ayrı varlıklar olarak görürler. Ön işleme, bir veri çerçevesinin bir sütununda satır bazında çalışan bir işleç olarak görülürken, veri çerçevesi çıkarmanın kendisi, ön işleme işlecini bir sütunun satırları boyunca eşler. Grup, ikisini yakından bağlantılı görüyor ve fikirlerini gelecekteki çalışmalar için eyleme geçirilebilir tekliflere dönüştürmeyi planlıyor.
 

2021 ONNX Yol Haritası Tartışması #1 20210908


2021 ONNX Yol Haritası Tartışması #1 20210908

ONNX Yol Haritası Tartışması sırasında IBM Research, Pandas Dataframe'deki tipik veri ön işleme modellerini ONNX formatına dönüştüren yeni bir makine öğrenimi boru hattı çerçevesine yönelik önerilerini sundu. Data Frame Pipeline adlı çerçeve, GitHub'da açık kaynaklıdır ve eğitim aşamasında Python'da çalışan, sağladıkları API kullanılarak tanımlanabilir. Konuşmacılar ayrıca ONNX'in Java, C# ve C++ gibi Python dışındaki dillerde de görünür kılınması ve ONNX modellerinin dışa aktarılması ve diğer dillerden yayılması gereğini tartıştılar. Ek olarak, ONNX Python ve C++ dönüştürücülerinin mevcut işlevlerini ve ONNX modelleri yazarken kapsam belirleme, adlandırma ve düzeltme eki uygulama ihtiyaçlarını tartıştılar.

  • 00:00:00 Bu bölümde, IBM Research'ten Takuya, yeni ONNX operatörleriyle yeni bir makine öğrenimi işlem hattı çerçevesi için önerilerini tanıtıyor. Teklifin motivasyonu, mevcut boru hattı çerçevelerinin tipik bir veri ön işleme modelini temsil edememesinden kaynaklanıyordu. Pandas Dataframe'deki tipik veri ön işleme kalıplarını ONNX formatına dönüştüren Python'da Data Frame Pipeline adlı yeni bir ardışık düzen çerçevesinin prototipini oluşturdular. Bir tarih operatörü ve iki basit operatör, dizi birleştiriciler ve dizi ayırıcılar dahil olmak üzere üç yeni ONNX operatörünü korudular. Ardışık düzen çerçevesi, GitHub'da açık kaynaklıdır ve eğitim aşamasında Python'da çalışan, sağladıkları API kullanılarak tanımlanabilir. Model, veri çerçevesi işlem hattından çıkan veriler kullanılarak eğitilir ve çerçeveleri, önceden dönüştürülmüş ONNX makine öğrenimi modellerini kullanabilir.

  • 00:05:00 Bu bölümde konuşmacı, ONNX formatını ve Microsoft tarafından sağlanan ONNX runtime ile nasıl kullanılabileceğini tartışıyor. Prototiplerinde, Python'da 11 veri çerçevesi transformatörü uyguladıklarını ve bunları ONNX operatörlerine eşlediklerini, çoğu basit eşlemeler olmakla birlikte, işlev dönüştürücü gibi bazılarının analiz ve dönüştürme gerektirdiğini belirtiyorlar. Ayrıca, ONNX'te toplama işleçleri gerçekleştirmek yerine yüklü gövde özelliklerine sahip ONNX işleçleri oluşturmaya yönelik yaklaşımlarını da tartışıyorlar. Konuşmacı, kategorik kodlama için 300 kat performans iyileştirmesi ile ONNX'te ön işlemeyi öğrenirken önemli bir hızlanma gösteren ön deneysel sonuçları paylaşıyor. Ayrıca tahmin doğruluğunu karşılaştırırlar ve tekliflerinden bahsederler, sunulan operatörler hakkında sorular ve yorumlar için zemini açarlar.

  • 00:10:00 Bu bölümde, Oracle Labs'tan Adam Pogba, mevcut işlevlerin tamamı Python'a sarılmış olduğundan ve C++'nın bağlama için geçerli bir hedef olup olmadığı net olmadığından, ONNX'in Python dışındaki dillerde görünür hale getirilmesi gerektiğini önermektedir. Pogba, kullanıcıların geçerli bir Python ortamına ihtiyaç duymadan onunla etkileşim kurabilmeleri için model denetleyicinin diğer dillerde görünür olması gerektiğini açıklıyor. Ek olarak Pogba, ayrıştırma sorunları nedeniyle modelleri tüketirken ONNX Runtime'ın ara sıra segfault yaptığından ve model denetleyicinin bu sorunu doğrulamak ve kolayca düzeltmek için kullanılabileceğinden bahseder.

  • 00:15:00 Bu bölümde, konuşmacı model kontrolünün temel işlevlerini ve diğer dillerde teşhir etmenin nasıl yararlı olacağını tartışıyor. Java'da olmasını isteseler de, herkesin bir Java API yazmayacağını anlıyorlar, bu nedenle çoğu dilde kolayca bağlanmak için bir C API daha iyi bir seçenektir. Bununla birlikte, insanların bağlanması için istikrarlı ve uygun bir hedef olması gerekir ve bu araçlardan herhangi birinin C++ API'sinin bağlama için uygun bir hedef olarak kabul edilip edilmediği hemen belli değildir. Konuşmacı bu çabaya katılmaya isteklidir, ancak topluluktan ilgi olmadıkça büyük bir çabayı harekete geçirmeye çalışmaya değmez.

  • 00:20:00 Bu bölümde konuşmacı, ONNX modellerinin dışa aktarılmasını ve Python'un yanı sıra C# ve Java gibi diğer dillerden yayılmasını tartışıyor ve özellikle ML.NET ve Trivial Library'ye odaklanıyor. Konuşmacı, tüm projelerin ONNX modelleri oluşturmak için kullanabileceği ortak bir API'ye ihtiyaç duyulduğunu, özellikle de şu anda mevcut olan ve hatalara açık ortak kod içermeyen üç farklı uygulamayı göz önünde bulundurarak ısrar ediyor. Ortak API, düğümleri ve grafikleri güncellemek ve doğrulamak için tek bir yer sağlayarak gücü paylaşma fırsatı sağlar ve diğer makine öğrenimi kitaplıklarının ONNX modellerini yaymasını kolaylaştırır. Konuşmacı, yapılacak çok iş olsa da, ortak çabanın ONNX ekosistemini Python'un ötesine taşıyabileceğini kabul ediyor.

  • 00:25:00 Bu bölümde, konuşmacılar ONNX Python ve C++ dönüştürücülerini ve bunların mevcut işlevlerini tartışıyor. ONNX belgelerinin yeterince spesifik olmadığını ve bunun da belirli işlevleri anlamayı zorlaştırdığını belirtiyorlar. Ancak, ONNX dışa aktarımı için gerekli olan birçok işlevin bu dönüştürücülerde zaten mevcut olduğunu, ancak diğer projelere doğru şekilde sunulması gerektiğini iddia ediyorlar. Ek olarak, ONNX modelleri yazarken kapsam belirleme, adlandırma ve yama işlevlerine olan ihtiyacı tartışıyorlar. Son olarak, dönüştürücülerin, farklı kişiler tarafından kolayca kullanılabilmesi için mimari altyapı sig'e bağlı olmaktan fayda sağlayabileceklerini öne sürüyorlar.
 

2021 ONNX Yol Haritası Tartışması #2 20210917



2021 ONNX Yol Haritası Tartışması #2 20210917

ONNX Yol Haritası Tartışması #2 20210917'de çeşitli konuşmacılar, niceleme ve füzyon kolaylığı, belirli donanım platformları için çekirdekleri optimize etme ve ONNX'e yerel model işlevleri ekleme dahil olmak üzere ONNX'in iyileştirilmesi gereken birkaç önemli alanı tartıştı. Diğer konular arasında, uçtan uca boru hattı desteği hakkında geri bildirim, müşterilerin farklı platformlarda karşılaştığı zorluklar ve GRU ve LSTM grafiklerini dönüştürmeyle ilgili sorunlar yer aldı. Önerilen bazı çözümler arasında, arka uçların önceden nicelenmiş grafikleri yürütmesi için daha fazla bilgi sağlanması, farklı çerçevelerin birlikte çalışabilirliğinin iyileştirilmesi ve hem genel hem de optimize edilmiş bir çözüme izin vermek için orijinal grafikle ilgili bir ad alanı dahil edilmesi yer alıyor. Buna ek olarak, konuşmacılar daha geniş çapta benimseme için paketlerin daha iyi konuşlandırılması ihtiyacını ve çok modlu modelleri desteklemek için daha fazla dönüştürücünün geliştirilme potansiyelini tartıştı.

  • 00:00:00 Bu bölümde, Green Waves Technologies'den Martin, ONNX'in iyileştirilmesi gereken iki alanı, nicelemeyi ve füzyon dostu olmayı tartışıyor. ONNX'in müşterilerin özel şeyleri uygulamak istediği tüm farklı yolları izlemesi imkansız olduğundan, niceleme için Martin, arka uçların önceden nicelenmiş grafikleri yürütmesi için daha fazla bilgi sağlamayı önerir. Buna yardımcı olmak için Martin, tensörlere min. maks, standart sapma ve ortalama bilgilerinin yanı sıra aykırı değer istatistikleri, kanal başına kanal bilgileri ve olası eklentiler olarak dağıtım bilgileri gibi ek bilgiler eklenmesini önerir. Birleştirme kolaylığı için Martin, ONNX'in farklı grafikleri içe/dışa aktarırken doğru dönüştürücüleri belirlemesini kolaylaştıracak daha iyi içe/dışa aktarma özellikleri sağlayarak farklı çerçevelerin birlikte çalışabilirliğini geliştirmeyi önerir.

  • 00:05:00 Bu bölümde, konuşmacı, birleştirilmiş operatörler için işlevlerin mevcut kullanımını ve operatörler parçalandığında belirli donanım platformları için çekirdekleri optimize etmenin zorluğunu tartışıyor. Dışa aktarılan işlevleri, muhtemelen bir işlev olan daha yüksek düzeyli bir kapsayıcı altında gruplandırma ve bu kabı belirli bir arka uçta optimize edilmiş bir çekirdeğe eşleme fikri önerilir. Speaer ayrıca, hem genel bir çözüme hem de optimize edilmiş bir çözüme olanak tanıyan, orijinal grafikle ilgili bir ad alanının dahil edilmesini önerir. En son ONNX sürümünde model yerel işlevlerini içe aktarma yeteneğinin eklenmesinden de bahsedilmektedir.

  • 00:10:00 Bu bölümde, konuşmacılar, dönüştürücü operatörlerinin, ONNX standardında tanımlanmayan operatörler için yer tutucu olarak modül protosuna bir fonksiyon gövdesi eklemesine izin veren model yerel fonksiyonlarının ONNX'e eklenmesini tartışıyor. Bununla birlikte, konuşmacılar aynı zamanda, dönüştürücüler için ihraç ettikleri ürünü makine tarafından okunabilir bir şekilde etiketlemenin ve yorumlamanın en iyi uygulama olması gerektiğini de belirtiyorlar. Ayrıca optimizasyonun adlandırma kurallarını nasıl etkileyebileceğine de değiniyorlar ve konuyla ilgili tartışmaya Slack kanalında veya ek bir toplantıda devam etmeyi öneriyorlar. ONNX profili oluşturma ile ilgili olan bir sonraki sunum tanıtılmaktadır.

  • 00:15:00 Bu bölümde, uçtan uca ardışık düzen desteğine ilişkin bir geri bildirim ele alınıyor ve ONNX, ağır ekosistem gereksinimleri gerektirmeyen farklı işletim sistemlerine hafif dağıtımlar için harika bir uyum olarak görülüyor. Konuşmacılar, hem ONNX hem de ONNX ML'deki ONNX operatörlerinin yalnızca modelleri değil, aynı zamanda diğer veri üretim operasyonlarını kapsayan veri hazırlama aşamalarını da yürütmesini sağlama yönündeki umutlarını dile getiriyor. Basitleştirilmiş veya yaygın bir dağıtım yapısı veya modelinin, standart dönüştürmeler etrafında düşük asılı meyveye odaklanarak çaba ve tutarlılıktan tasarruf etme yeteneğinin yanı sıra değer katabileceğini iddia ediyorlar.

  • 00:20:00 Bu bölümde konuşmacı, müşterilerin farklı platformlarda karşılaştığı bazı zorlukları tartışıyor ve ONNX platformunu geliştirmeye ve genişletmeye devam etmenin potansiyel değerine dikkat çekiyor. Silolama konusuna ve daha iyi benimseme için paketlerin dağıtımını basitleştirme ihtiyacına değiniyorlar. Sohbet aynı zamanda, benzer sorunlarla karşılaştığını doğrulayan ve Linux sunucusu ONNX'i birleştirmek veya kullanıcıların özel kodu ONNX'e dönüştürmesine yardımcı olacak daha iyi yollar bulmak için seçenekler öneren bir katılımcının yorumlarını da içerir. Konuşmacı ayrıca çok modlu destek konusuna ve tek bir ONNX grafiği olarak temsil edilecek bir model topluluğuna duyulan ihtiyaca da değiniyor. Daha fazla dönüştürücüye olan potansiyel ihtiyacı tartışıyorlar ve doğru yönde genel bir hareket öneriyorlar.

  • 00:25:00 ONNX Yol Haritası Tartışmasının bu bölümünde ekip, müşterilerin kurumsal ortamlarda görüntü olmayan kullanım durumları için kullandıkları türlerini sergilemek için proxy modellerine yönelik proxy örneklerini tartışıyor. Bir ekip üyesi, bazı açık verileri kullanan ve nispeten basit bir iki katmanlı LSTM modeli olan bir dolandırıcılık tespit modeli için bir proxy örneğinden bahsediyor. Ekip konuyu daha fazla araştırıyor ve öne çıkarmak için daha fazla proxy modeli örneği almaya çalışıyor. Ayrıca, GRU ve LSTM'nin doğru şekilde dönüştürülmemesiyle ilgili sorunları tartışıyorlar ve tüm durumlar için destek eklemek istediklerini belirtiyorlar.

  • 00:30:00 Bu bölümde, konuşmacılar GRU (kapılı tekrarlayan birim) grafiklerini bir arka uç dönüştürücü tarafından okunabilecek bir formata dönüştürmenin zorluklarını tartışıyorlar. Arızanın zaten TensorFlow'da meydana geldiği belirli durumlar olduğundan bahsediyorlar, ancak onu tekrar GRU'ya dönüştürmenin zor olduğunu belirtiyorlar. Bir işlev yapma veya anlambilimsel olarak koruma fikrine geçmeden önce --custom ops' bayrağını kullanmayı ve onun için çalışan bir çekirdek yapmayı öneriyorlar. En iyi seçeneğin, kullanıcının parçalanmasını isteyip istemediğini açıkça belirtmek olduğunu ve özel operasyonları kullanmanın bunu sağlam bir şekilde yapmanın tek yolu olabileceğini belirtiyorlar.

  • 00:35:00 Bu bölümde, konuşmacılar hem ONNX'te hem de yüksek seviyede tam işlevli gövdeye sahip olmanın mı yoksa sadece bir TF tabanına sahip olmanın mı daha iyi olduğunu tartışıyorlar. Onlar için, ONNX zincir boyunca sonuç kanıtı olarak kullanılabileceğinden, TF bazı yeterli olacaktır. Ancak, ONNX'in farklı yerlerden gelebilmesi gerektiği için ONNX'i TensorFlow merkezli yapmaya karşı uyarıda bulunuyorlar. Ayrıca, çeşitli farklı ön uçlar tarafından tanımlanması ve üretilmesi gereken neredeyse bir operatör olarak düşünerek anlamsal bir anlama sahip adlandırılmış bir alt grafiğe sahip olmanın çekiciliğine de değindiler. Sonunda, tartışmayı daha bilgili insanlarla sürdürmek için daha derin sunumlar yapmayı kabul ettiler.
 

2021 ONNX Yol Haritası Tartışması #3 20210922



2021 ONNX Yol Haritası Tartışması #3 20210922

ONNX Yol Haritası Tartışması sırasında konuşmacılar, ONNX'in belirli kullanım durumları için en son optimize edilmiş yığınla benimsenmesini iyileştirmek için ONNX'in ofset dönüştürme aracıyla ilgili sorunları düzeltme ihtiyacına değindi. Konuşmacılar, şu anda operatör veya katman testlerinde eksik olan ara adımların ofset dönüşümünü ve çözünürlüğünü test etmek için daha iyi bir model kapsamı önerdiler. Ayrıca, transfer öğrenim ek açıklamaları için ONNX spesifikasyonuna meta verileri dahil etme ihtiyacı ve mahremiyet, verimlilik ve bilgi işlem kaynaklarının kullanımını sağlamak için birleşik öğrenme kavramı da dahil olmak üzere meta verilerin ve birleşik öğrenme altyapısının önemini tartıştılar. Konuşmacılar topluluktan işbirliğini teşvik ettiler ve bu fikirleri daha fazla tartışmak ve uygulamak için geri bildirim istediler. Bir sonraki oturumun 1 Ekim'de yapılması planlanıyor.

  • 00:00:00 Bu bölümde, Intel'den Manoj, birçok müşteri için sorunlara neden olan ONNX modelleri için ofset dönüştürmelerdeki boşlukları ele alıyor. Birçok müşteri üretimde bir model kurduktan sonra gidip ofseti güncellemeye devam etmediğinden, temel sorun ofset dönüştürmede yatmaktadır. Müşteriler, niceleme için 7'den 10'a 13'e geçmek veya performans ve iyi doğruluktan yararlanmak için eski ofsetleri yenilerine dönüştürememek gibi, ofset dönüştürmeyle ilgili birçok sorunla karşı karşıya kalıyor. Ek olarak, birim testi veya her operatör veya katmanla ilgili tüm testler, ISV'lerin memnun olduğu noktaya kadar değildir ve bu nedenle çoğu müşteri hala 10 veya 9 ofset üzerindedir.

  • 00:05:00 Bu bölümde, konuşmacılar, ONNX'in belirli kullanım durumları için en son optimize edilmiş yığınla benimsenmesini engellediğinden, ONNX'in ofset dönüştürme aracıyla ilgili sorunları çözme ihtiyacını tartışıyor. AI'yı entegre eden ve uygulamalarına gönderen geliştiriciler, dönüştürme araçlarını düzeltme ve sorunsuz olmalarını sağlama ihtiyacı hakkında geri bildirim sağlıyor. Nicelikselleştirilmiş performans modellerine geçişi engelleyen eksik ara adımlar ve eksik bağdaştırıcı uygulamaları gibi karşılaştıkları sorunların örneklerini paylaşıyorlar. Konuşmacılar, ONNX'in daha iyi benimsenmesini sağlamak için daha iyi kapsama ve test edilecek daha fazla model ihtiyacını vurguluyor.

  • 00:10:00 Videonun bu bölümünde konuşmacılar, ONNX'te daha fazla iyileştirme için en iyi içerik oluşturucu şirketten en az bir başarısız modelin onaylanması gerektiğini tartışıyor. Tartışma, mobil ve Windows gibi farklı ekosistemler arasındaki boşluklardan biri olan fp16 dönüştürmesindeki iyileştirmeye ve son zamanlarda Microsoft dönüştürücü araçlarıyla nasıl düzeltildiğine geçiyor. Dönüştürmenin sorumluluğu net değil, ancak tartışma model hayvanat bahçesiyle ilgili bir sonraki sunuma geçiyor; burada ses bilgisi operatörlerinin eğitime dahil edilmesi, kategorilerdeki tüm modelleri kapsamaya yardımcı olacak. Transformatör veya NLP eğitim örnekleriyle başlamayı ve ONNX'e uygulanabilir dağıtılmış eğitim altyapısını ve teknikleri sergilemek için daha fazla modele geçmeyi öneriyorlar.

  • 00:15:00 Bu bölümde, konuşmacılar, niceleme farkında eğitim ve karma kesinlik kullanımının önemi de dahil olmak üzere ONNX modellerinin eğitime katılımını tartışıyor. Doğruluğu daha iyi karşılaştırmak ve ONNX modelleriyle eğitim için karma kesinlik kullanımını sergilemek için orijinal fp32 modelini talep ediyorlar. Transformatör örneklerine katkıda bulunmaya öncelik verirler, ancak diğer popüler kategorilere katkıda bulunmak için topluluktan yardım isterler. Ayrıca meta verilerin bir parçası olarak bir model içinde karma kesinlik kullanımını daha iyi yansıtmak için gelecekteki önerileri tartışıyorlar. Son olarak Gabe Stevens, Intel'in incelemeye başladığı bir dağıtım yapılandırmasını sunuyor.

  • 00:20:00 Bu bölümde, konuşmacı dağıtılmış ve birleştirilmiş öğrenme kavramını ve bunun mahremiyet, gecikme süresi, verimlilik ve bilgi işlem kaynaklarının kullanımı açısından avantajlarını tartışıyor. Fikir, modelleri, bazı cihazların gördükleri verileri kullanarak modeli zenginleştiren bir eğitim grubuna sahip olduğu bir cihaz filosuna dağıtmaktır. ONNX için önerilen değişiklikler, birleştirilmiş öğrenmeyi kolaylaştırarak geliştiricilerin ONNX kullanma olasılığını artıracaktır. API'ye yapılan minimum eklemeler, yerel modelin parametrelerini almak için parçayı sorgulamanın, bu parametreleri güncellemenin ve modelin bulguları içeren yeni bir modelde konsolide etmek için modelin nasıl değiştiğini sunucuya bildirmenin bir yolunu içerir. cihazlar.

  • 00:25:00 Videonun bu bölümünde, konuşmacı transfer öğrenme ek açıklamalarına izin vermek ve daha büyük bir veri kümesi üzerinde eğitilmiş bir modelle daha küçük bir veri kümesini eğitmeyi kolaylaştırmak için meta verileri ONNX spesifikasyonuna dahil etme fikrini tartışıyor. Ancak, böyle bir sistemin uygulanması, uygulayıcılara bırakılması gereken birden fazla tasarım kararı içerir. Konuşmacı, uygulama geliştiriciler için gereken esnekliği sınırlamadan böyle bir sistemin temel altyapısını kolaylaştırabilecek üç öğe önerir. Ayrıca, bir cihaz filosunda model sürümü dağıtımında tutarlılık ihtiyacından ve yalnızca ONNX modellerinin birleşik bir öğrenme sistemine katılmasına izin verilmesinin zorunlu kılınmamasının öneminden bahsediyorlar. Konuşmacı, spesifikasyon tasarımcılarının bu tür bir öğrenme konfigürasyonuna dikkat etmekle ilgilenip ilgilenmedikleri ve daha fazla tartışmaya açık olup olmayacakları konusunda geri bildirim ister. Başka bir konuşmacı, eğitimi desteklediğinden ve onu kullanarak birleşik öğrenme yapmak için bazı kavram kanıtları oluşturulduğundan, bunu ONNX çalışma zamanı ile yapmaya çalışmayı öneriyor.

  • 00:30:00 Bu bölümde konuşmacı, sunum için harcanan muazzam çabayı takdir ettiğini ifade eder ve soruları için topluluğa teşekkür eder. Sunumun amacı, daha fazla tartışma ve nihai uygulamalar için fikirleri ilgili SIG'ye sunmaktır. Son oturum 1 Ekim'de yapılacak ve konuşmacı bu fikirlere katılımının devam etmesini dört gözle bekliyor.
 

ONNX Topluluk Günü! 24 Haziran 2022'de canlı yayınlandı

Bu etkinlik, 24 Haziran Cuma günü yepyeni Microsoft Silikon Vadisi Kampüsü'nde yüz yüze gerçekleştiriliyor.

Etkinlik, ONNX Topluluğu güncellemelerini, ortak ve kullanıcı hikayelerini ve çok sayıda topluluk ağını kapsayacaktır.



ONNX Topluluk Günü!

Kısa özet:

  • 00:00:00 - 01:00:00 YouTube videosu "ONNX Topluluk Günü!" ONNX topluluğunun makine öğrenimi modelleriyle çalışan geliştiriciler için birlikte çalışabilirlik ve esneklik konusundaki çalışmalarında yapılan güncellemeleri ve iyileştirmeleri tartışır. ONNX topluluğu açık yönetişim altında çalışır ve üç araç kategorisi, oluşturma, çalıştırma ve görselleştirme, topluluğun katılımını ve ONNX kullanımını destekler. Video, ONNX spesifikasyonlarındaki güncellemeler, yeni operatörler ve dönüştürücülerdeki iyileştirmeler gibi farklı yönler hakkında ilerleme raporları sağlar. Konuşmacı ayrıca, donanım satıcıları için daha geniş müşteri yelpazesi ve kullanıcılar için çoklu çerçevelere ve donanım hızlandırıcılara erişim de dahil olmak üzere ONNX'in faydalarını vurgulamaktadır. ONNX'in geleceği, yürütülebilir bir özellik sağlamak için ONNX işlevleri kavramını içerir.

  • 01:00:00 - 02:00:00 ONNX Topluluk Günü etkinliği, ONNX Model Hayvanat Bahçesi ve ONNX modelleriyle kullanmak için önceden eğitilmiş makine öğrenimi modelleri ve demolar sağlayan ONNX Eğitimleri dahil olmak üzere ONNX ile ilgili birçok konuyu tartışır. Video, model dağıtımını iyileştirmek için veri ön işleme operasyonlarını standartlaştırmayı amaçlayan ONNX Ön İşleme Çalışma Grubu'nun çalışmalarını vurgulamaktadır. Konuşmacılar ayrıca nöral ağ nicelemenin temellerini ve eğitim sonrası niceleme ve niceleme farkında eğitim dahil olmak üzere çeşitli füzyonlar aracılığıyla TensorRT'nin nicelenmiş ağları nasıl desteklediğini tartışıyor. Ayrıca, ONNX'in düşük hassasiyetli nicelemeyi temsil etme konusundaki sınırlamalarını da araştırıyorlar ve nicelenmiş ve dekuantize edilmiş düğümler arasında kesinliği tetiklemek için kırpmayı kullanarak temsil gücünü genişletmek için bir strateji öneriyorlar. Son olarak, video, nicelleştirilmiş ve ince ayarlı bir TensorFlow kayıtlı modelinin doğruluğuna ilişkin bir örnek olay incelemesine giriyor.

  • 02:00:00 - 03:00:00 ONNX Topluluk Günü, makine öğrenimi modellerinde meta verilerin önemini ve ONNX'te Java Virtual Machine (JVM) desteğini tartışan çok sayıda konuşmacıyı sergiledi. Konuşmacılar, verileri korumak için donanım tabanlı teknolojilerin kullanılmasının altını çizdi ve ONNX'in DeepJ ve Deep Java Library dahil olmak üzere çeşitli makine öğrenimi kitaplıklarıyla uyumluluğunun altını çizdi. Daha iyi verimlilik için bayt arabelleklerinin kullanımını gösterdiler ve sorumlu ve açıklanabilir yapay zeka için meta verileri standartlaştırmanın önemini tartıştılar. Sunumlarda ayrıca, bir Çin bankasının ONNX ve ONNX çalışma zamanı kullanılarak iyileştirilmiş çalışma zamanı da dahil olmak üzere başarı öyküleri de yer aldı. ONNX topluluğu, ONNX'te makine tarafından okunabilen meta veri desteğiyle hub iş akışından meta veri oluşturma, sorgulama ve filtreleme üzerinde çalışıyor. Genel olarak sunumlar, ONNX platformunun güçlü yanlarını ve topluluğun onun geliştirilmesine olan bağlılığını vurguladı.

  • 03:00:00 - 04:00:00 "ONNX Topluluk Günü!" video, ONNX ekosistemiyle ilgili çeşitli güncellemeleri ve özellikleri kapsar. Bu, nicelenmiş ve önceden eğitilmiş modeller arasındaki doğruluk düşüşünü azaltmak için niceleme simülasyonu, NVIDIA'nın araç takımıyla eğitilmiş TensorFlow modellerinin TensorRT kullanılarak bir ONNX grafiğine konuşlandırılması ve optimize edilmiş tensör şekli, yürütme sağlayıcıları gibi ONNX Runtime'da yapılan iyileştirmeler ve mobil platformlar için destek. Ek olarak, XNNpack kitaplığı için destek ve işlem öncesi/sonrası görevler için ONNX çalışma zamanı uzantılarının oluşturulması da dahil olmak üzere ONNX'in kendisi için yapılan güncellemeler ele alındı. Video aynı zamanda trafo modellerini eğitimden çıkarıma hızlandırmaya odaklanan Optimum kitaplığını da tanıtıyor.

  • 04:00:00 - 05:00:00 ONNX Topluluk Günü, ONNX çalışma zamanı ve kullanım durumları ile ilgili çeşitli konularda tartışmalara yer verdi. Konuşmacılar, ONNX çalışma zamanı paketinin, PiTorch ONNX dönüştürücünün ve PyTorch'ta özel Ops'un özelliklerini anlattı. Ayrıca, süreç izleme ve ticaretin dijitalleştirilmesi gibi kullanım durumlarının yanı sıra model dağıtımı ve uyumluluk testi ile ilgili zorlukları da tartıştılar. Etkinlik boyunca, ONNX çalışma zamanının performansı artırmaya ve dağıtım boyutunu azaltmaya yardımcı olabileceği, ancak tutarlı kalite ve hız sağlamak için uyumluluk ve seçimin gerekli olduğu vurgulandı.

  • 05:00:00 - 06:00:00 ONNX Topluluk Günü'nde, ONNX çerçevesini kullanarak makine öğrenimi modellerini optimize etmek ve devreye almak için kullanılan çeşitli araç ve teknikleri tartışan birkaç konuşmacı yer aldı. NVIDIA, çıkarım için blok bölmeyi kullanarak görüntü kalitesini ve model uyumluluğunu iyileştirme yaklaşımlarının yanı sıra modellerde hata ayıklama ve değişiklik yapmak için ONNX'e özgü araçlarını tartıştı. Qualcomm, takas formatı olarak ONNX kullanarak yapay zeka hızlandırıcılarını tasarımlarına nasıl entegre ettiklerini açıkladı ve ONNX çalışma zamanı ile çeşitli optimizasyon ve dağıtım araçlarını içeren yazılım yığınını tanıttı. Ek olarak, birkaç konuşmacı modül optimizasyonu, kontrol noktası ve şekil çıkarımı gibi teknikleri kullanarak ONNX modellerini optimize etmeyi tartıştı. Etkinlik, çeşitli cihaz kullanım durumları için ONNX'in çok yönlülüğünü ve ölçeklenebilirliğini vurguladı ve ONNX projesini büyütmeye devam etmek için katkıları teşvik etti. Son bölüm, geliştiriciler için sekme işleme dönüştürme ve model başlatmanın karmaşıklıklarını gizlemeyi amaçlayan SPIP teklifini kullanarak makine öğrenimi modellerini Spark'a dağıtma sürecini basitleştirmeye odaklanıyor. Yapay zeka uygulamaları ve hizmetleri oluşturmak için API'ler sağlayan yazılım katmanı "Kung" da dahil olmak üzere Ascend AI ekosistemi ve işlemcileri tanıtıldı. Khan yazılım yığını tartışıldı ve onu ONNX çalışma zamanı için yeni bir yürütme sağlayıcısı olarak eklemek için yol haritası sunuldu. Etkinlik, Mobil ve Uç için ONNX, model dağıtımı, eğitim ve operasyonlar, dönüşümler ve operatörler gibi konularda yuvarlak masa tartışmaları, ardından mutlu bir saat ve anket geri bildirimi ile sona erdi.


Ayrıntılı zaman çizelgesi özeti:

  • 03:00:00 Bu bölümde, bir konuşmacı ONNX ekosistemiyle ilgili deneyimlerini ve onu kullanırken karşılaştıkları zorlukları tartışıyor. Sistemin sorunsuz çalışmasını sağlamak için sürücüleri eşleştirme ve izlemeyi ayarlama ihtiyacından bahsediyorlar. Ayrıca, GPU verimliliğini artırmak, daha fazla model eklemek ve GPU hızlandırmalı test yoluyla sistemin genel sağlamlığını iyileştirmek için gelecek planlarından da bahsediyorlar. Konuşmacı, bu kullanım durumuyla ilgili soru sormaya ve tartışmaya davet eder ve herkese teşekkür etme fırsatını kullanır. Video, öğle yemeğinden sonra NVIDIA konuşmasının tekrarı ile devam edecek.

  • 03:25:00 Üzgünüm ama bu transkript alıntı "ONNX Topluluk Günü!" ile ilgili değil! video. Özetlemem için videodan başka bir alıntı yapabilir misiniz?

  • 03:30:00 Videonun bu bölümünde, konuşmacılar nicemlemenin nasıl simüle edileceğini ve nicelenmiş model ile önceden eğitilmiş model arasındaki doğruluk düşüşünü azaltmak için nihai q parametrelerinin nasıl saklanacağını tartışıyor. Nicemlemeye duyarlı eğitim gerçekleştirmenin bir yolu, TensorFlow model optimizasyon araç setini veya katman adı ve sınıf özniteliklerini kullanarak katmanları niceleme ve desen tabanlı niceleme gibi özellikler sunan Nvidia tarafından oluşturulmuş araç kitini kullanmaktır. Konuşmacılar, Nvidia'nın araç setinin, tek bir uzantı kullanan bir GPU'da bir QAT modeli için en iyi performansı sunan simetrik bir niceleme varyantı kullandığını belirtiyor.

  • 03:35:00 Bu bölümde, NVIDIA'nın TF2 Quantization Toolkit kullanılarak eğitilmiş bir modeli TensorRT kullanarak bir ONNX grafiğine yerleştirme sürecini öğreniyoruz. İş akışı, NVIDIA'nın araç takımıyla önceden eğitilmiş bir TensorFlow 2.0 modelinin nicelleştirilmesini, az sayıda dönem için ince ayar yapılmasını ve TF2ONNX dönüştürücü kullanılarak bir ONNX grafiğine dönüştürülmesini içerir. Ardından, TensorRT'nin API'leri, ONNX grafiğinden TensorRT Motoru oluşturmak için kullanılır. Niceleme farkındalığına sahip eğitimin, derin sinir ağlarını daha düşük hassasiyette dağıtmak için bir alternatif sunduğunu görüyoruz ve qrt modellerinin, ince ayarlı model parametreleri nedeniyle ptq modellerine kıyasla çıkarım sırasında doğruluk düşüşüne daha az eğilimli olabileceğini görüyoruz. Son olarak, ResNet modelleri ile yapılan deneyler, INT8 doğruluğunun FP32 temel doğruluğu ile eşit olduğunu ve gecikme süresinin, FP32 muadillerine kıyasla 10 kattan daha hızlı olduğunu göstermektedir.

  • 03:40:00 Bu bölümde, ONNX runtime'ın oluşturulmasından bu yana çalışan bir yazılım mühendisi olan Ryan Hill, ONNX runtime'ın özelliklerinden ve kullanımından bahsediyor. ONNX çalışma zamanı, ONNX modelleri için, tamamen platformlar arası ve birçok programlama dili için dil bağlamaları içeren bir çalışma zamanıdır. Microsoft, Windows, Office ve Azure gibi tüm ana ürün gruplarında kullanırken, ONNX çalışma zamanı ile üretimde 160'ın üzerinde model var. Hill, son sürümlerde operasyonel çekirdekleri bir matematik kitaplığı olarak kullanma yeteneği ve harici başlatıcıları tamamen bellekte besleme yeteneği dahil olmak üzere dikkate değer yeni özelliklerden geçer. Performans geliştirmeleri, bir devrik optimize edicinin eklenmesini, uzak yığın tahsislerini optimize etmeyi ve düzen dönüşümlerine olan ihtiyacı azaltmayı içerir.

  • 03:45:00 Bu bölümde konuşmacılar, optimize edilmiş tensör şekli ve satır içi vektör sınıfları dahil olmak üzere ONNX Runtime'da yapılan iyileştirmeleri tartışıyor, bu da yığın tahsislerinde azalma ve iyileştirilmiş performans sağlıyor. Ayrıca, bir geri dönüş seçeneği olarak eksiksiz bir CPU uygulaması da dahil olmak üzere, ONNX Runtime'ın çeşitli donanım olasılıklarında optimum performans göstermesini sağlayan yürütme sağlayıcılarının faydalarını da açıklarlar. Ek olarak, çalışma zamanında NHWC dönüştürmenin kullanımı ve tam ONNX Çalışma Zamanı yapıları ile Android ve iOS paketlerinin eklenmesi dahil olmak üzere mobil platformları desteklemek için yapılan güncellemeleri ve mobil geliştiriciler için geliştirilmiş kullanılabilirliği vurgularlar. Son olarak, ONNX Runtime ile aynı çekirdek kod tabanı ve daha küçük bir ikili dosya ile desteklenen ONNX Runtime Web'i tanıtıyorlar ve ONNX Runtime Common adlı bir JavaScript kitaplığının tanıtımını tartışıyorlar.

  • 03:50:00 Bu bölümde konuşmacılar, XNNpack kitaplığı desteği ve 1.12 sürümünde gelecek OpenGL desteği dahil olmak üzere ONNX güncellemelerini tartışıyor. Ayrıca, veri işleme öncesi ve sonrası işleme ve model öncesi işleme sonrası çalışmasına odaklanan paylaşılabilir özel işlemlerden oluşan bir kitaplık sağlayan ONNX çalışma zamanı uzantılarının oluşturulmasıyla ilgili zorlukları da ele alıyorlar. Bu uzantılar, metni büyük veya küçük harfe dönüştürmek ve pozitif ve negatif değerleri ayrı tensörlere ayırmak gibi potansiyel işlevleri içerir. Mevcut kütüphane ağırlıklı olarak doğal dil işleme ve görme ve metin alanlarına odaklanmaktadır, ancak bunun yeni ihtiyaçlar belirlendikçe gelişeceği tahmin edilmektedir. Ayrıca, Transformers modellerini hızlandırmak için ONNX'in Optimum kitaplığıyla entegrasyonunu tartışan Hugging Face'ten Jeff'i tanıtıyorlar.

  • 03:55:00 Bu bölümde konuşmacı, trafo modellerinin gücünü ve bunların Tesla, Gmail, Facebook ve Bing gibi büyük şirketler tarafından her gün milyarlarca tahmin yapmak için nasıl kullanıldığını tartışıyor. Hugging Face'in amacının, kolayca erişilebilen önceden eğitilmiş modeller ve bunları kullanmak için araçlar aracılığıyla bu modelleri dünyadaki her şirket için erişilebilir kılmak olduğunu açıklıyorlar. Ayrıca, kitaplıklarına katkıda bulunan 1300'den fazla açık kaynak kullanıcı ve her makine öğrenimi görevi ve dili için 50.000'den fazla ince ayarlı modele erişim ile mümkün olanı paylaşan ve geliştiren bir topluluk oluşturmaya odaklanmalarını tartışıyorlar. Konuşmacı daha sonra, artan model parametreleriyle birlikte gelen bilgi işlem, bellek ve bant genişliği kaynaklarının zorluklarını ele alarak eğitimden çıkarıma kadar transformatör modellerini hızlandırmaya odaklanan kütüphaneleri Optimum'u tanıtıyor.


  • 04:00:00 Bu bölümde, konuşmacı Optimum araç setindeki ONNX runtime paketini ve bunun trafo modellerinin eğitimini ve çıkarımını hızlandırma yeteneğini tartışıyor. Kullanıcıların derin hızın yerel entegrasyonunu elde etmesine ve eğitim iş hacminde %40'a varan hızlanma elde etmesine olanak tanıyan ORT Trainer adlı yeni eğitmen sınıfını tanıtıyorlar. Çıkarım için üç ana sınıf vardır: ORT Optimizer, RT Quantizer ve RT Model for Task. Bu sınıflarla, kullanıcılar modellerinden grafiği basitleştirebilir, ağırlıkları optimize edebilir ve ONNX runtime tarafından sunulan tüm donanım ivmesinden faydalanabilir. Konuşmacı ayrıca, bu optimum hızlandırılmış çıkarım hattı sınıfları aracılığıyla diziden diziye model optimizasyonunu sağlamaya yönelik işbirliği çabalarından bahseder.

  • 04:05:00 Bu bölümde, iki sunum yapan kişi, ONNX modelleri için optimizasyon ve dönüştürme sürecine odaklanarak ONNX topluluğunu tartışıyor. İlk sunum yapan kişi, kullanıcıların modellerini optimize etmesine ve nicelemesine izin vererek, modellerinin doğruluğunu korurken verimi artırıp gecikmeyi azaltan optimum kitaplığı tanıtır. İkinci sunum yapan kişi PiTorch ONNX dönüştürücünün mimarisini ve akışını tartışıyor, PiTorch modellerini torç ara gösterimine dönüştürme, grafik optimizasyonları kullanma ve ONNX IR'ye dönüştürme adımlarını açıklıyor. Ayrıca nicelleştirilmiş bir modeli QTQ biçiminde dışa aktarma desteği ve ONNX modellerinde ONNX döngüsü ve ONNX if düğümleri olarak python kontrol akış döngülerini ve if'leri yakalama desteği gibi bazı ilginç özellikleri vurgularlar.

  • 04:10:00 Bu bölümde, konuşmacı, özel bir Torch otomatik grafik işlevi yazma ve ileri ve geri yöntemleri tanımlama dahil olmak üzere PyTorch'ta özel İşlemleri dışa aktarmanın çeşitli yollarını tartışıyor. Konuşmacı, ihracatçıya bunu standart ONNX işlemleri veya özel bir etki alanındaki herhangi bir özel işlem olarak nasıl dışa aktaracağını söylemek için özel bir sembolik işlevi kaydetmek üzere API'nin nasıl kullanılacağını açıklar. Daha sonra, kullanıcıların belirli bir çekirdek olmadan modeli çalıştırabilmeleri için arka uç işlevi olarak belirli bir Torch modülü sınıfını veya düğüm tipini belirtmelerine olanak tanıyan ONNX Yerel İşlev özelliğini sunarlar. Son olarak konuşmacı, ekibin daha fazla model için desteğe ve arıza tanılama deneyimini geliştirmeye odaklanmaya devam edeceğinden bahsediyor.

  • 04:15:00 Bu bölümde, hareket halindeki makinelerin yakınındaki tehlikeli alanlara giren çalışanları tespit etmek için mevcut bir kamera sisteminin yeniden kullanıldığı bir kullanım örneği ele alınmaktadır. İnsanları tespit etmek için açık kaynaklı bir ONNX modeli ve gerçek zamanlı analiz ve olay işleme için SAS'ın Sasebo Akış İşleme aracı kullanılarak, saniyede milyonlarca olayı işleyebilen ve daha büyük sistemlere ölçeklenebilen bir çözüm geliştirildi. Çözüm ayrıca, veri bilimcilerin model geliştirmesi için bir grafik stüdyosu ve Jupyter not defteri aracılığıyla kullanıma sunuldu ve ONNX çalışma zamanı, Sasebo Stream Processing'e entegre edildi. Esnekliği sağlamak için, görüntü işlemeyi bir arabellek kuyruğu olarak Kafka ile birkaç adıma bölen modüler bir çözüm önerildi.

  • 04:20:00 Bu bölümde, konuşmacı, dağıtım mekanizması olarak Kubernetes kullanılarak uçta dağıtılan bir bilgisayarla görme işleme modelini açıklamaktadır. Model, her kamera için bir bölme, video verileri için bir Kafka veri yolu ve sonuçları oluşturmak için bir bilgisayar görme modeli kullanan bir işleme bölmesi içeren bir alma işlemi içerir. Sonuçlar daha sonra, kaydedilen ekipmanın aktif olup olmadığını anlamak için müşteriden gelen ek sensör verilerini işleyen üçüncü bir bölmeye gönderilir. Ek olarak konuşmacı, bu mimarinin şu anda müşterilerinin tesislerinden birinde üretimde olduğunu ve ONNX çalıştırma zamanı entegrasyonunun, halka açık önceden eğitilmiş modeller ve müşteri varlıklarının yeniden kullanımı sayesinde en uygun değer elde etme süresi sağladığını açıklıyor. Mimari dayanıklılık bir başka önemli avantajdır ve Kubernetes ve Kafka sayesinde garanti altına alınmıştır.

  • 04:25:00 Bu bölümde, Bazaar Voice'tan Matthew, ticaretin dijitalleşmesini ve markaların ve perakendecilerin internetteki sonsuz raf alanına nasıl geçtiğini tartışıyor. E-ticaret şirketlerinin sahip olduğu veri ölçeğiyle, AI kullanarak etkili içgörüler oluşturmak ezber bozabilir. Matthew bunu örnek olarak, ayda bir milyardan fazla müşteri için verileri yöneten ve işleyen ve markalar ve perakendeciler için toplam 8 milyardan fazla inceleme sağlayan Bazaar Voice'u kullanarak açıklıyor. Ürün eşleştirme kavramı, kataloglar arasında ürün incelemelerini paylaşmaya odaklanarak çok önemli bir rol oynar. Matthew, benzersiz ürün tanımlayıcılarını karşılaştırarak ürün eşleştirmeyi gerçekleştirmek için bir makine öğrenimi modelinin nasıl oluşturulduğunu açıklıyor, ancak artıklar manuel olarak yapılıyor. Gerçek iş değeri yaratan bir çözüm uygulamak için ideal yaklaşım, performansı koruyan hafif, uygun maliyetli bir çözümdür.

  • 04:30:00 Bu bölümde konuşmacı, sanal sunucular, bulut ML platformları ve Azure Cloud Functions veya AWS Lambdas gibi sunucusuz işlevler dahil olmak üzere makine öğrenimi modellerini dağıtmak için farklı seçenekleri tartışıyor. Her seçeneğin artılarını ve eksilerini değerlendirdikten sonra, konuşmacı ve ekibi ONNX formatına aktarılmış bir scikit-learn modeli geliştirmeye, onu Python ile oluşturmaya, sunucusuz bir işleve dağıtmaya ve ONNX'te çıkarım yapmak için bir düğüm ortamı kullanmaya karar verdi. Çalışma süresi. Konuşmacı ayrıca ONNX'in modellerin dağıtım boyutunu azaltmaya yardımcı olduğundan bahseder, ancak sunucusuz işlevlerin zaman aşımı ve dağıtım boyutu sınırları içinde çalışmanın zorluklarını ve ayrıca Python paketlerinin maliyet ve boyut sınırlamalarını vurgular.

  • 04:35:00 Bu bölümde, Adobe Kıdemli Yazılım Mühendisi Nikhil Calro, video ve ses iş akışları için yüksek performanslı makine öğreniminin içerdiği benzersiz zorlukları tartışıyor. Bu zorluklar arasında kaynak sınırlamaları, veri yoğunluğu ve yoğun işlem gereksinimleri yer alır. Bu sorunları çözmek için Adobe, Windows'ta makine öğrenimi iş akışlarını güçlendirmek için ONNX çalışma zamanı ve Windows platformlarında GPU hızlandırması için Direct ML yürütme sağlayıcısı dahil olmak üzere iş akışlarını hızlandırmak için teknolojilerin ve ardışık düzenlerin bir kombinasyonunu kullanır. Calro, Adobe'nin makine öğrenimi iş akışlarının içerik oluşturucuların yaratıcı sürece daha fazla, gereksiz ve tekrarlayan görevlere daha az zaman ayırmasını sağlamayı amaçladığını da belirtiyor.

  • 04:40:00 Bu bölümde, konuşmacı Adobe'nin Creative Cloud uygulamalarının tek bir platform olarak tüm Windows ekosistemini nasıl hedeflediğini ve Nvidia, Intel ve AMD gibi Windows'u destekleyen tüm büyük IHV'lerde özellik ve işlevsel eşitlik sağlaması gerektiğini anlatıyor. Diğer zaman uyumsuz bilgi işlem iş akışları için donanımı serbest bıraktığından, Nvidia GPU'larda tensör çekirdekleri gibi satıcıya özgü donanımların kullanılmasını sağlamak için DirectML yürütme sağlayıcısını seçtiler. Ayrıca, ONNX çalışma zamanının üzerinde bir çerçeve oluşturarak ve GPU ile kaynak çekişmesini azaltmak ve sürücü ek yükünü en aza indirmek için çıkarım isteklerini toplu iş akışlarında birleştirmeye çalışarak ek performans optimizasyonları yaptılar. Son derece kaynak yoğun bir iş akışı olan Sahne Düzenleme Tespiti iş akışına bir örnek veriyorlar, ancak kod çözmeden çıkarıma tüm boru hattını uçtan uca yaklaşık 10 saniyede veya gerçek zamanlı olarak altı kez çalıştırabiliyorlar.

  • 04:45:00 Bu bölümde konuşmacı, ORT ve Direct ML yürütme sağlayıcısı tarafından sağlanan performans etkinleştirmelerinin, GPU oluşturma sırasında makine öğrenimi tabanlı iş akışlarını etkinleştirmek için modern üst düzey GPU'ların kullanılmasını nasıl mümkün kıldığını tartışıyor. İşlem hatlarını sağdaki işlem hattına daha çok benzeyecek şekilde geçirmeyi, CPU'ya aktarımları en aza indirmeyi ve mümkün olduğunca çok şeyi GPU veya GPU adreslenebilir donanımda tutmayı planlıyorlar. Bu, GPU hesaplamalarının çoğu DX12'ye geçtikçe daha da kolaylaşacak ve OP'lerinde OpenCL ve CUDA ile DX12'ye ilişkin ek yükü ortadan kaldıracaktır.

  • 04:50:00 Bu bölümde, Topaz Labs'ta bir yazılım geliştiricisi olan Alexander Zang, görüntü modellerini masaüstü ve dizüstü bilgisayarlara yerleştirmenin zorluklarını tartışıyor. Bu dağıtımın kritik kısmının mevcut bir iş akışına uyması, manuel yapılandırma olmadan beklenen performansı elde etmesi ve yüksek kaliteli görüntü modelleri sunması olduğunu açıklıyor. Alexander, sunucu dağıtımından farklı olarak, masaüstü dağıtımının, özellikle farklı satıcılardan farklı bellek ve yanıt verme kısıtlamaları düzeylerine sahip farklı GPU'lar söz konusu olduğunda, sistem üzerinde kontrolden yoksun olduğunu açıklıyor. Buna getirdiği çözüm, ONNX'in sağladığı her donanım satıcısı için farklı çıkarım kitaplıklarına güvenmektir. Bu yaklaşım, Topaz Labs'ın manuel çalışmadan tasarruf ederken farklı çıkarım kitaplıkları tarafından kullanılabilecek bir model mimarisi oluşturmasına olanak tanır.

  • 04:55:00 Bu bölümde, konuşmacı model dönüştürmeyle ilgili zorlukları ve bir modeli eğitmeden önce uyumluluk sorunlarını test etme ihtiyacını tartışıyor. Model belirtimlerindeki belirsizlik konusunun yanı sıra performans ve tutarlılık için farklı kitaplıkların test edilmesi ihtiyacı vurgulanır. Konuşmacı ayrıca, daha genel bir arayüz kullanmanın, uygulamalarının performansını etkileyebilecek ek yükleme adımlarına ve dönüştürme maliyetlerine yol açabileceğini belirterek, birden fazla dönüştürme gerçekleştirmenin nedenlerini açıklıyor. Son olarak, uygun yapılandırmayı seçme ve çalışma zamanı çıkarım ardışık düzenini işleme süreci açıklanarak, masaüstlerinden tutarlı kalite ve hız sağlanırken uyumluluk ve seçim ihtiyacı vurgulanır.



  • 05:00:00 Bu bölümde, NVIDIA'dan bir konuşmacı, ONNX model uyumluluğunu ele alma ve görüntüleri bloklara ayırıp çıkarım yoluyla çalıştırarak, verimi en üst düzeye çıkararak ve potansiyel olarak birden çok cihaz ve kitaplıkta çalıştırarak masaüstü sistemlerde görüntü kalitesini iyileştirme yaklaşımlarından bahsediyor. paralel. Konuşmacı ayrıca, çok fazla iş ve zaman alabilen yeni model mimarilerin eklenebilmesini ve tüm kitaplıklarda iyi çalışmasını sağlamanın zorluğuna da değiniyor. Daha sonra, ONNX modelleri oluşturmanıza ve değiştirmenize olanak tanıyan bir python kitaplığı olan ONNX Craft Surgeon ve derin öğrenme modellerinde hata ayıklamak için bir araç seti olan Polygraphy olmak üzere iki aracı tartışmaya devam ederler. Konuşmacı, bu araçların nasıl çalıştığını ve tf grafikleri oluşturmak kadar basit modeller oluşturmak için nasıl kullanılabileceğini açıklar.

  • 05:05:00 Bu bölümde konuşmacı, bir Python API'si ve ONNX modellerini işlemek için pek çok işlevsellik sunan çeşitli komut satırı araçlarını içeren ONNX araçlarını tanıtıyor. Konuşmacı, bir ONNX modelinin metin temsilini gösteren inspect model ve modeldeki sabitleri basitleştiren ve katlayan cerrah tarafından sterilize edilmiş alt araç gibi ONNX'e özgü araçlara odaklanır. Cerrah özü, kullanıcıların hata ayıklamak için bir modelden alt grafikler çıkarmasına olanak tanır ve model bisector debug, git bisect gibi işleri azaltır, ancak ONNX modelleri için, sistemdeki hataları teşhis etmek için en küçük başarısız modeli bulmaya izin verir.

  • 05:10:00 Bu bölümde sunum yapan kişi, çalışma zamanı sorunları olabilecek modellerde hata ayıklamak için Kaligrafi hata ayıklama azaltma aracını kullanmayı tartışır. Geliştiriciler, model boyutunu küçülterek ve her ara modeli test ederek koddaki sorunlu alanları belirleyebilir ve hata ayıklama sürecini kolaylaştırabilir. Sunum yapan kişi ayrıca Qualcomm'un kulaklıklardan dizüstü bilgisayarlara ve otomotiv sistemlerine kadar çeşitli cihazlarda kullanılabilen bir değişim formatı olarak ONNX'i kullanarak toplulukla nasıl işbirliği yaptığını açıklıyor. Geliştiriciler, ONNX kullanan modelleri hedefleyerek Qualcomm'un desteklediği tüm cihazlarla uyumlu modeller oluşturabilir.

  • 05:15:00 Bu bölümde konuşmacı, farklı modeller, uygulamalar ve zamanlama gereksinimleri gerektiren çeşitli cihaz mimarileriyle uğraşmanın zorluklarından bahsediyor. Cep telefonlarındaki derinlik sensörleri ve kameralar için oluşturulan aynı algoritma ve teknolojinin, artık otomobillerdeki güvenli akıllı kapı zilleri ve iç ve dış güvenlik kameralarında nasıl kullanıldığına dair bir örnek veriyor. Daha sonra ölçeklenebilirliğin önemini vurguluyor ve AI hızlandırıcılarda çalıştırmanın saniyede bine kadar çıkarım sağlayabildiği Inception V3 modelini çalıştırma örneğini kullanarak CPU'lar, GPU'lar ve AI hızlandırıcılar üzerindeki işleme makinesi algoritmaları arasındaki farkları karşılaştırıyor. CPU'yu diğer yararlı görevler için serbest bırakmak.

  • 05:20:00 Bu bölümde Qualcomm'dan bir temsilci, performansı ve ölçeklenebilirliği geliştirmek için yapay zeka (AI) hızlandırıcılarını donanımlarına nasıl entegre ettiklerini açıklıyor. Amaca yönelik olarak oluşturulmuş bir AI hızlandırıcı kullanarak, genellikle bir CPU veya GPU kullanmaktan kaynaklanan ekstra enerji tüketimi veya daha düşük hızlar olmadan AI iş yüklerinin üstesinden gelebilirler. Ek olarak, ONNX değişim formatı, farklı cihazlarda ve sektörlerde makine öğrenimi modellerini derlemelerine ve yürütmelerine olanak tanıyarak şirkete zaman kazandırır ve daha fazla taşınabilirlik sağlar. Ayrıca, çeşitli işletim sistemlerini destekleyen ve müşterilerin donanımlarını kullanmalarını kolaylaştırmak için donanım ayrıntılarını gizleyen birleşik bir yazılım yığını ve kitaplığı oluşturdular.

  • 05:25:00 Bu bölümde, konuşmacı Qualcomm'un ONNX çevresinde geliştirdiği yazılım yığınını tanıtıyor. ONNX çalışma zamanını ve cihazın kullanım durumuna bağlı olarak modelleri CPU'ya veya GPU'ya yönlendirmeyle ilgilenen bir delegasyon sistemini içeren eksiksiz bir çözüm oluşturdular. Konuşmacı, derleyiciler, profil oluşturucular, analizörler ve ağ mimarisi arama araçları için etkinleştirme dahil olmak üzere geliştirdikleri birçok aracı tartışıyor. Konuşmacı, ONNX'in ölçeklenebilirliğini ve çok yönlülüğünü ve kamera algoritmaları, akıllı hoparlörler ve XR cihazları dahil olmak üzere çeşitli cihaz kullanım durumlarında nasıl kullanılabileceğini vurgular.

  • 05:30:00 Bu bölümde konuşmacı, farklı mimarilerde kolay optimizasyon için Mair'de bir referans diyalekti sağlamak ve modelleri çeşitli ortamlarda dağıtmak için kullanılan ANITA derleyicisinin geliştirme sürecini açıklıyor. Konuşmacı ayrıca, özel hızlandırıcıları desteklemek için sundukları çerçeveyi de vurgular; bu, hangi operatörlerin hızlandırıcıyı kolayca yükleyip açıp kapatacağını seçmelerine olanak tanır. Konuşmacı ayrıca, ONNX modelinin kademeli olarak bir ara temsile indirgendiği ONNX Mlir'de optimizasyonun nasıl uygulandığına dair bir genel bakış sunar.

  • 05:35:00 Bu bölümde, konuşmacı ONNX derleyicisinden ve CPU ve hızlandırıcı optimizasyonu için çoklu lehçelerin nasıl kullanıldığından bahsediyor. Üst düzey optimizasyon, grafik düzeyinde optimizasyonu içerir ve daha düşük seviyelerde, CPU ve hızlandırıcı işlemlerine optimizasyon uygulanır. Konuşmacı, derleyicideki bir hızlandırıcı çerçevesinin nasıl çalıştığına dair bir örnek sunar; burada hızlandırıcıyı kullanmak, onu bir CPU üzerinde çalıştırmaktan 11 kat daha hızlıdır. Ayrıca, derin öğrenme operatör optimizasyonuna nasıl odaklandıklarından ve çevrimiçi makine öğrenimi operatörlerinin yanı sıra CPU gibi diğer hızlandırıcıları da destekleyeceklerinden bahsediyorlar. Son olarak, katkıda bulunanlara şükranlarını sunarlar ve ONNX projesini büyütmeye devam etmek için daha fazla katkı davet ederler. Preferred Networks'ten bir sonraki konuşmacı, ONNX'in ara temsilini kullanan sinir ağı derleyicisi PFVM'yi tanıtıyor.

  • 05:40:00 Bu bölümde, Derleme ekibinin bir üyesi, modül optimizasyonunda ONNX için bir kullanım senaryosunu, özellikle kararlı ve iyi belgelenmiş ara temsili ile ilgili olarak tartışıyor. Ekip, ONNX'i müşteri operatörleriyle genişleterek, cihaz değişikliklerini ve belleği optimize etmek için cihaz bilgileri eklemek gibi çeşitli optimizasyon yollarıyla modelleri optimize etmek için ONNX'i kullanıyor. Konuşmacı ayrıca modül optimizasyonunda şekil çıkarımının önemini tartışıyor ve üç optimizasyon durumunu tanıtıyor. İlk durum, birden çok öğe bazında işleçleri tek bir füzyon grubu işlecinde kaynaştırarak CUDA'da yürütülen hesaplamalı grafiklerdeki çekirdek aralığı ek yükünü azaltmayı içerir.

  • 05:45:00 geçişi, model sinir mimarisi araması gibi bir program tarafından oluşturulmuşsa birçok gereksiz operatör içerir. Şekil çıkarımı ve grafik basitleştirme gibi optimizasyonların kullanışlı olduğu yer burasıdır. Şekil çıkarımı, öğe bazında bitişik operatörlerin birbirine kaynaştırılıp kaynaştırılamayacağını belirlemek için çok önemlidir, oysa grafik basitleştirme, gereksiz operatörleri geriye doğru geçişten kaldırabilir. Bu optimizasyonların her ikisi de gerekli hesaplama sayısını önemli ölçüde azaltabilir ve modelin genel verimliliğini artırabilir.

  • 05:50:00 Bu bölümde konuşmacı, bir modülü yürütürken bellek kullanımını azaltan kontrol noktası tekniğini tartışıyor. Hesaplama grafiği değiştirilerek, bellek kullanımı daha da azaltılabilir, ancak gecikme süresinin artması pahasına. Konuşmacı, bellek kullanımını tahmin etmek için tensör boyutlarını bilmenin önemini vurgular ve bilinmeyen boyutlarla uğraşırken otomatik kontrol noktasının sınırlamalarını belirtir. Ek olarak, konuşmacı bilinmeyen boyutların optimizasyon fırsatları üzerindeki etkisini tartışır ve ONNX şekil çıkarımında yapılan iyileştirmelerin ana hatlarını verir. Spesifik olarak, ONNX 1.10'da sembolik çıkarımın tanıtılması, veri yayılımı yoluyla şekil çıkarımını büyük ölçüde iyileştirmiştir.

  • 05:55:00 Bu bölümde, konuşmacı ONNX'te şekil çıkarımını tartışıyor ve şekil bilgisinin statik durumlar için küresel olarak yukarıdan yayılabileceğini ancak dinamik durumlar için daha fazla desteğe ihtiyaç olduğunu açıklıyor. Konuşmacı, yeniden şekillendirmenin şeklinin tahmin edilmesi gereken ancak şu anda bilinmeyen bir ONNX grafiği örneğini gösteriyor. Dinamik durumlar için daha fazla şekil çıkarım işlevi uygulamayı önerirler ve farklı boyutlardaki iki tensörün birleştirilmesi gibi durumlar için desteğin gerekli olup olmadığını sorarlar. Konuşmacı ayrıca, yalnızca statik şekle sahip ve dinamik dallanma içermeyen modelleri kabul eden ve zamanlama ve optimizasyonlar için statik bilgileri kullanan md4 süper bilgisayarı için optimizasyonlardan kısaca bahseder. Ardından, Huawei'den bir temsilci, çıkarım için ONNX'in gücünü Spark'a getirmekle ilgili önceden kaydedilmiş bir konuşmayı paylaşıyor.

  • 06:00:00 Bu bölümde, üçüncü taraf DL çerçeveleriyle entegre ederek kıvılcım oluşturmak için makine öğrenimi modeli dağıtım sürecini basitleştirmeyi amaçlayan, yaygın olarak SPIP olarak bilinen SPARK iyileştirme önerisine odaklanılmaktadır. Bu teklif, Spark'ta DL modelleri dağıtması gereken veri mühendislerini veya geliştiricileri hedefliyor. Nihai hedef, modal bir UDF içinde sekme işleme dönüştürme ve model başlatmanın karmaşıklıklarını gizleyerek kullanıcıların büyük veriler üzerinde ONNX çıkarımını kolayca tamamlamasını sağlamaktır. Huawei'nin Ascend adlı kendi AI işlemcisi tanıtıldı ve Ascend platformunda SPARK ve ONNX boru hattını tamamlamak için önce ONNX runtime'da Ascend desteğinin getirilmesi gerektiği açıklandı.

  • 06:05:00 Bu bölümde, konuşmacı Ascend AI ekosistemini ve desteklediği farklı işlemcileri tartışıyor. Ascend 310 yalnızca AI çıkarımını desteklerken Ascend 710 ve 910 hem eğitimi hem de çıkarımı destekler. Ek olarak ekosistem, geliştiricilerin AI uygulamalarını ve hizmetlerini kolayca oluşturması için API'ler sağlayan "Kung" adlı bir yazılım katmanı sağlar. Konuşmacı daha sonra Ascend ekosistemindeki mevcut yazılım yığını olan Khan'a ve en yeni sürüm olan Khan 5.0'a odaklanır. Khan'ın farklı katmanlarını ve operatör kitaplıklarını, optimizasyon motorlarını ve geliştiriciler için bir çerçeve bağdaştırıcısını nasıl sağladığını açıklarlar. Ardından konuşmacı, Khan'ı ONNX çalışma zamanı için yeni bir yürütme sağlayıcısı olarak eklemeye yönelik yol haritasını tartışıyor ve kullanıcıların ONNX modellerini doğrudan Ascend donanımında çalıştırmasına izin veriyor.

  • 06:10:00 Videonun bu bölümünde, ONNX Topluluk Günü yüz yüze katılımcılar için yuvarlak masa tartışmalarıyla sona eriyor. Yuvarlak masa toplantıları altı farklı konudan oluşuyordu ve katılımcıların üzerine yazabileceği büyük not defterleri bulunuyordu. Konular, katılımcıların sunumlarına göre seçildi ve Mobil ve Uç için ONNX, model dağıtımı ve makine öğrenimi niceleme, eğitim ve operasyonlar, dönüştürmeler ve operatörleri içeriyor. ONNX Çalışma Zamanı ekibi de görüşmelere katılmaya hazırdı. Yuvarlak masa toplantılarının ardından katılımcılar yiyecek ve içeceklerle mutlu saatler geçirdiler ve geri bildirimde bulunmak için anketi doldurmaları teşvik edildi.
ONNX Community Day!
ONNX Community Day!
  • 2022.06.24
  • www.youtube.com
This event is being hosted in-person at the brand-new Microsoft Silicon Valley Campus on Friday, June 24th. The event will cover ONNX Community updates, part...
 

ONNX Topluluğu Sanal Buluşması – Mart 2021



000 ONNX 20211021 ONNX SC Karşılama İlerlemesi Yol Haritası Sürümü

ONNX çalıştayı, organizatörlerin ONNX ekosisteminin büyümesinde topluluk katılımının önemini vurguladığı bir girişle başladı. Ayrıca, ONNX istatistikleri, topluluk sunumları ve ONNX Yönlendirme Komitesinin yol haritası tartışmaları hakkındaki güncellemeleri içeren gündeme ilişkin bir genel bakış sağladılar. Yol haritası önerileri, ONNX çerçevesinin desteğini, sağlamlığını ve kullanılabilirliğini geliştirmeyi amaçlar ve ön işleme operatörlerini, C API'lerini, birleştirilmiş öğrenmeyi ve veri işleme ile çıkarımın daha iyi entegrasyonunu içerir. ONNX özelliklerinin 1.10 sürümünün son sürümü de tartışıldı ve katılımcılar soru sormaya ve sohbete devam etmek için ONNX Slack kanalına katılmaya teşvik edildi.

  • 00:00:00 Çalıştayın bu bölümünde, organizatörler tüm katılımcılara genel bir bakış sunar ve hoş geldiniz. AI için mevcut olan geniş ürün yelpazesinden bahsediyorlar ve katılımcıları kontrol etmeye teşvik ediyorlar. Çalıştayın genel hedefleri, ONNX, süreçleri, yol haritası ve sürümleri hakkında en son güncellemeleri almanın yanı sıra topluluk katılımcılarından ONNX'in nasıl kullanıldığı hakkında bilgi edinmektir. Katılımcıları geri bildirimlerini paylaşmaya, ONNX Yönlendirme Komitesi, SIG'ler ve Çalışma Grupları ile daha fazla ilgilenmeye teşvik ederler. ONNX Çalışma Grubunun lojistiğini, Wenming Yi'nin State of State sunumunu, ardından Alex'i ve topluluk sunumlarını içeren gündeme genel bir bakış sunarlar. Son olarak, ekosistemde sağlıklı bir büyüme gösteren aylık indirmelerde yaklaşık %400 artışla ayda 1,6 milyona ulaşan ONNX istatistikleri hakkında heyecan verici güncellemeler sunuyorlar.

  • 00:05:00 Bu bölümde konuşmacı, topluluktaki şirketlerin katkılarının önemini vurgulayarak ONNX ekosisteminin ilerlemesini ve büyümesini tartışıyor. Konuşmacı, Amazon'un Java topluluğu için iyi bir deneyim oluşturan ve çok fazla büyüme kaydeden derin Java kitaplığı projesinden bahsediyor. IBM, AMD ve Sony gibi birçok ticari şirket, ekosistem için destek sağlıyor ve ONNX'in endüstri standardı haline gelmesine yardımcı oluyor. Konuşmacı ayrıca topluluğun yönetiminden ve yönlendirme komitesinin yeni üyelerinden bahseder ve yol haritası tartışmalarına, Slack kanalına, GitHub'da Soru-Cevap'a ve belgelere ve bloglara katkıda bulunmaya davet eder. Bir sonraki konuşmacı, doğru yönde ilerlemek ve ONNX modellerini CPU ve hızlandırıcılar için pillere indirmek için çok önemli olan yol haritasını takip ediyor.

  • 00:10:00 Bu bölümde, konuşmacı ONNX Yönlendirme Komitesi'nin yaz boyunca gerçekleştirdiği yol haritası tartışmalarını tartışıyor. Farklı üyelerden gelen teklifler, her biri üçer tekliften oluşan dört gruba ayrılır ve her grup, onay ve uygulama için ilgili Sig'lere sunulur. Teklifler, ön işleme operatörleri, C API'leri, model kontrolü, diğer dillerde model yayma desteği, tensörlere meta veri bilgisi ekleme, veri işleme ve çıkarımı daha iyi entegre etme, birleştirilmiş öğrenme için kavramları tanımlama, bütünlüğü geliştirmek için meta veri işleme özelliklerini tanımlamayı içerir. veriler, modeller ve daha fazlası. Amaç, tüm kullanıcılar için ONNX çerçevesinin daha iyi desteklenmesini, sağlamlığını ve kullanılabilirliğini sağlamaktır.

  • 00:15:00 Bu bölümde, konuşmacı ONNX özelliklerinin son sürümü 1.10'u tartışıyor ve katkıda bulunanlara sıkı çalışmaları için teşekkür ediyor. next.ai web sitesinde bu son değişiklikle ilgili daha fazla tartışma ve ayrıntı olacak. Konuşmacı, dinleyicileri sohbete devam etmeleri için sohbete veya ONNX genel Slack kanalına herhangi bir soru göndermeye davet eder.
 

ONNX Topluluk Günü! 24 Haziran 2022'de canlı yayınlandı

Bu etkinlik, 24 Haziran Cuma günü yepyeni Microsoft Silikon Vadisi Kampüsü'nde yüz yüze gerçekleştiriliyor.

Etkinlik, ONNX Topluluğu güncellemelerini, ortak ve kullanıcı hikayelerini ve çok sayıda topluluk ağını kapsayacaktır.



ONNX Topluluk Günü!

Kısa özet:

  • 00:00:00 - 01:00:00 YouTube videosu "ONNX Topluluk Günü!" ONNX topluluğunun makine öğrenimi modelleriyle çalışan geliştiriciler için birlikte çalışabilirlik ve esneklik konusundaki çalışmalarında yapılan güncellemeleri ve iyileştirmeleri tartışır. ONNX topluluğu açık yönetişim altında çalışır ve üç araç kategorisi, oluşturma, çalıştırma ve görselleştirme, topluluğun katılımını ve ONNX kullanımını destekler. Video, ONNX spesifikasyonlarındaki güncellemeler, yeni operatörler ve dönüştürücülerdeki iyileştirmeler gibi farklı yönler hakkında ilerleme raporları sağlar. Konuşmacı ayrıca, donanım satıcıları için daha geniş müşteri yelpazesi ve kullanıcılar için çoklu çerçevelere ve donanım hızlandırıcılara erişim de dahil olmak üzere ONNX'in faydalarını vurgulamaktadır. ONNX'in geleceği, yürütülebilir bir özellik sağlamak için ONNX işlevleri kavramını içerir.

  • 01:00:00 - 02:00:00 ONNX Topluluk Günü etkinliği, ONNX Model Hayvanat Bahçesi ve ONNX modelleriyle kullanmak için önceden eğitilmiş makine öğrenimi modelleri ve demolar sağlayan ONNX Eğitimleri dahil olmak üzere ONNX ile ilgili birçok konuyu tartışır. Video, model dağıtımını iyileştirmek için veri ön işleme operasyonlarını standartlaştırmayı amaçlayan ONNX Ön İşleme Çalışma Grubu'nun çalışmalarını vurgulamaktadır. Konuşmacılar ayrıca nöral ağ nicelemenin temellerini ve eğitim sonrası niceleme ve niceleme farkında eğitim dahil olmak üzere çeşitli füzyonlar aracılığıyla TensorRT'nin nicelenmiş ağları nasıl desteklediğini tartışıyor. Ayrıca, ONNX'in düşük hassasiyetli nicelemeyi temsil etme konusundaki sınırlamalarını da araştırıyorlar ve nicelenmiş ve dekuantize edilmiş düğümler arasında kesinliği tetiklemek için kırpmayı kullanarak temsil gücünü genişletmek için bir strateji öneriyorlar. Son olarak, video, nicelleştirilmiş ve ince ayarlı bir TensorFlow kayıtlı modelinin doğruluğuna ilişkin bir örnek olay incelemesine giriyor.

  • 02:00:00 - 03:00:00 ONNX Topluluk Günü, makine öğrenimi modellerinde meta verilerin önemini ve ONNX'te Java Virtual Machine (JVM) desteğini tartışan çok sayıda konuşmacıyı sergiledi. Konuşmacılar, verileri korumak için donanım tabanlı teknolojilerin kullanılmasının altını çizdi ve ONNX'in DeepJ ve Deep Java Library dahil olmak üzere çeşitli makine öğrenimi kitaplıklarıyla uyumluluğunun altını çizdi. Daha iyi verimlilik için bayt arabelleklerinin kullanımını gösterdiler ve sorumlu ve açıklanabilir yapay zeka için meta verileri standartlaştırmanın önemini tartıştılar. Sunumlarda ayrıca, bir Çin bankasının ONNX ve ONNX çalışma zamanı kullanılarak iyileştirilmiş çalışma zamanı da dahil olmak üzere başarı öyküleri de yer aldı. ONNX topluluğu, ONNX'te makine tarafından okunabilen meta veri desteğiyle hub iş akışından meta veri oluşturma, sorgulama ve filtreleme üzerinde çalışıyor. Genel olarak sunumlar, ONNX platformunun güçlü yanlarını ve topluluğun onun geliştirilmesine olan bağlılığını vurguladı.

  • 03:00:00 - 04:00:00 "ONNX Topluluk Günü!" video, ONNX ekosistemiyle ilgili çeşitli güncellemeleri ve özellikleri kapsar. Bu, nicelenmiş ve önceden eğitilmiş modeller arasındaki doğruluk düşüşünü azaltmak için niceleme simülasyonu, NVIDIA'nın araç takımıyla eğitilmiş TensorFlow modellerinin TensorRT kullanılarak bir ONNX grafiğine konuşlandırılması ve optimize edilmiş tensör şekli, yürütme sağlayıcıları gibi ONNX Runtime'da yapılan iyileştirmeler ve mobil platformlar için destek. Ek olarak, XNNpack kitaplığı için destek ve işlem öncesi/sonrası görevler için ONNX çalışma zamanı uzantılarının oluşturulması da dahil olmak üzere ONNX'in kendisi için yapılan güncellemeler ele alındı. Video aynı zamanda trafo modellerini eğitimden çıkarıma hızlandırmaya odaklanan Optimum kitaplığını da tanıtıyor.

  • 04:00:00 - 05:00:00 ONNX Topluluk Günü, ONNX çalışma zamanı ve kullanım durumları ile ilgili çeşitli konularda tartışmalara yer verdi. Konuşmacılar, ONNX çalışma zamanı paketinin, PiTorch ONNX dönüştürücünün ve PyTorch'ta özel Ops'un özelliklerini anlattı. Ayrıca, süreç izleme ve ticaretin dijitalleştirilmesi gibi kullanım durumlarının yanı sıra model dağıtımı ve uyumluluk testi ile ilgili zorlukları da tartıştılar. Etkinlik boyunca, ONNX çalışma zamanının performansı artırmaya ve dağıtım boyutunu azaltmaya yardımcı olabileceği, ancak tutarlı kalite ve hız sağlamak için uyumluluk ve seçimin gerekli olduğu vurgulandı.

  • 05:00:00 - 06:00:00 ONNX Topluluk Günü'nde, ONNX çerçevesini kullanarak makine öğrenimi modellerini optimize etmek ve devreye almak için kullanılan çeşitli araç ve teknikleri tartışan birkaç konuşmacı yer aldı. NVIDIA, çıkarım için blok bölmeyi kullanarak görüntü kalitesini ve model uyumluluğunu iyileştirme yaklaşımlarının yanı sıra modellerde hata ayıklama ve değişiklik yapmak için ONNX'e özgü araçlarını tartıştı. Qualcomm, takas formatı olarak ONNX kullanarak yapay zeka hızlandırıcılarını tasarımlarına nasıl entegre ettiklerini açıkladı ve ONNX çalışma zamanı ile çeşitli optimizasyon ve dağıtım araçlarını içeren yazılım yığınını tanıttı. Ek olarak, birkaç konuşmacı modül optimizasyonu, kontrol noktası ve şekil çıkarımı gibi teknikleri kullanarak ONNX modellerini optimize etmeyi tartıştı. Etkinlik, çeşitli cihaz kullanım durumları için ONNX'in çok yönlülüğünü ve ölçeklenebilirliğini vurguladı ve ONNX projesini büyütmeye devam etmek için katkıları teşvik etti. Son bölüm, geliştiriciler için sekme işleme dönüştürme ve model başlatmanın karmaşıklıklarını gizlemeyi amaçlayan SPIP teklifini kullanarak makine öğrenimi modellerini Spark'a dağıtma sürecini basitleştirmeye odaklanıyor. Yapay zeka uygulamaları ve hizmetleri oluşturmak için API'ler sağlayan yazılım katmanı "Kung" da dahil olmak üzere Ascend AI ekosistemi ve işlemcileri tanıtıldı. Khan yazılım yığını tartışıldı ve onu ONNX çalışma zamanı için yeni bir yürütme sağlayıcısı olarak eklemek için yol haritası sunuldu. Etkinlik, Mobil ve Uç için ONNX, model dağıtımı, eğitim ve operasyonlar, dönüşümler ve operatörler gibi konularda yuvarlak masa tartışmaları, ardından mutlu bir saat ve anket geri bildirimi ile sona erdi.

Ayrıntılı zaman çizelgesi özeti:
  • 00:15:00 Tercih ettiğiniz çerçevede modu oluşturun ve ardından modelinizi diğer çerçeveler ve araçlar tarafından kullanılabilecek ortak bir biçime aktarın. Bu, makine öğrenimi modelleriyle çalışan geliştiriciler için daha fazla birlikte çalışabilirlik ve esneklik sağlar. Ek olarak, ONNX, birden fazla farklı çerçeveyi desteklemek yerine ONNX tarafından tanımlanan ortak operatör setini desteklemeye odaklanabileceklerinden, makine öğrenimi modelleri için optimize edilmiş çalıştırma süreleri oluşturmak isteyen donanım satıcıları için faydalıdır.

  • 00:20:00 Bu bölümde konuşmacı, kullanıcılar için birden fazla çerçeveye ve donanım hızlandırıcıya, ayrıca donanım satıcıları için daha geniş bir müşteri yelpazesine erişim sağlayan ONNX kullanmanın faydalarını tartışıyor. ONNX geliştirmesi, topluluk tarafından açık yönetişim altında yapılır, yani onu kontrol eden tek bir şirket yoktur. Konuşmacı ayrıca mimari ve altyapıyı, operatör dönüştürücüleri, model bölgesini, öğreticileri ve yeni bir ön işleme çalışma grubunu içeren çalışma gruplarını vurgular. Konuşmacı, ONNX modellerinin oluşturulması, çalıştırılması ve görselleştirilmesi olmak üzere üç araç kategorisinin ana hatlarını çizerek devam ediyor ve PR'lerin, katkıda bulunanların, yıldızların ve aylık indirmelerin sayısındaki artış gibi son altı aya ait bazı istatistikler sunuyor. topluluğun katılımını ve ONNX kullanımını güçlendirmek.

  • 00:25:00 Bu bölümde konuşmacı, son topluluk güncellemesinden bu yana ONNX topluluğunda meydana gelen yayınları ve güncellemeleri tartışır. ONNX 1.11, bu yılın başlarında piyasaya sürüldü ve yeni operatörleri tanıttı ve kullanıcıların farklı model hayvanat bahçelerinden önceden eğitilmiş modelleri çekmesine olanak tanıyan ONNX model merkezi de dahil olmak üzere bazı operatörleri güncelledi. Ek olarak, oluşturma yardımcı programı ve işlev oluşturucu gibi yardımcı programların yanı sıra hata düzeltmeleri ve altyapı iyileştirmeleri tanıtıldı. ONNX 1.12, yakın zamanda daha fazla yeni operatör, şekil ve çıkarım geliştirmeleri ve python 3.10 desteği ile tanıtıldı. Konuşmacı ayrıca ONNX yol haritası sürecini ve daha fazla ilerleme için seçilen ve çalışma gruplarına atanan 12 yol haritası talebini tartışıyor. Bu istekler, veri ön işleme için yeni operatörlerin uygulanmasını, ONNX için bir C API'sini ve daha fazlasını içerir.

  • 00:30:00 Videonun bu bölümünde, konuşmacı, model ve tensörler aracılığıyla akan daha yapılandırılmış nicemlenmiş bilgi ihtiyacını ele almada kaydedilen ilerlemeyi tartışıyor. ONNX operatörleri ile uçtan uca boru hattı önerisi, uzun vadeli bir engelleme olarak tanımlandığı için daha fazla iyileştirmeden geçiyor. Dönüştürücülerde şu ana kadar bazı ilerlemeler kaydedildi ve daha yüksek işleyen operasyonlar destek alıyor. Konuşmacı ayrıca, bu bir topluluk projesi olduğu için daha fazla gönüllüye ihtiyaç duyulması ve şirketlerin bu çabaya daha fazla insanın katılmasını istemesi gibi farklı alanlara da değiniyor. Konuşmacı, web sitesi, GitHub, Slack kanalları ve ONNX takvimi gibi farklı kaynakları listeler.

  • 00:35:00 Bu bölümde, konuşmacı ONNX'teki son güncellemeleri ve iyileştirmeleri tartışıyor. Operatörler için iyileştirilmiş çip etkisi ve yanlış ve isteğe bağlı girdilerin daha istikrarlı bir şekilde işlenmesi gibi çeşitli güncellemeler içeren iki yeni sürüm yayınlandı. Ayrıca, konuşmacı iki önemli sürümün eklendiğini vurguluyor: Model Oluşturucu ve İşlev Oluşturucu. Model Dönüştürücü ayrıca daha kararlı hale geldi ve ekip, gelecekte karma yayınlar için daha iyi destek sağlamayı planlıyor. Genel olarak, katkıda bulunanlar tarafından yapılan tüm iyileştirmeleri listelemek imkansızdır, ancak ONNX'i geliştirmek için çalışmaya devam etmektedirler.

  • 00:40:00 Operatör SIG'den Rama, ONNX spesifikasyonundaki son değişikliklerin ve güncellemelerin bir özetini verdi. Operator SIG'in odak noktası, ONNX spesifikasyonunu oluşturan operatör setini geliştirmek, yeni operatörler eklemek ve özelliklerini netleştirmektir. Son iki sürümde, ızgara örneği ve katman normalleştirme gibi yeni operatörler tanıtıldı. Scatter op gibi mevcut operatörler, yinelenen indeksleri destekleyecek şekilde güncellenirken, bazı operasyonlar, b float 16 ve isteğe bağlı tipler gibi tipler için destek sağlayacak şekilde genişletildi. Rama ayrıca bazı yeni operatörlerin yakında fonksiyon haline gelmelerini teşvik etme planlarından da bahsetti.

  • 00:45:00 Bu bölümde, konuşmacı ONNX'in geleceğine yönelik planları ve kompakt bir spesifikasyona sahip olmak ile spesifikasyonda daha fazla işlem gerektiren yeni model türlerini desteklemek arasındaki dengeyi tartışıyor. Bu zorluğun çözümü, bir işlem için yürütülebilir bir belirtim sağlayan ve çelişen gereksinimler arasında bir denge sağlayan ONNX işlevleri kavramıdır. Konuşmacı, ilkel işleçler kümesini, bunları işlevlere yükselterek ve ONNX-Crypt adlı bir alt küme kullanarak Python'da yazmayı etkinleştirerek azaltma planlarından bahseder. Jello etkinleştirme işlevi ve bırakma işlemi gibi işlev örnekleri, kontrol akışının kullanımının anlamlarını doğal ve kompakt bir şekilde belirlemeyi nasıl kolaylaştırdığını göstermek için verilmiştir.

  • 00:50:00 Bu bölümde, Kevin Chen dönüştürücü imzası ve son toplantıdan bu yana yapılan çalışmalar hakkında bir güncelleme veriyor. PyTorch, TensorFlow ve sk-learn to ONNX dönüştürücüler dahil olmak üzere ön uç dönüştürücü güncellemelerini tartışıyor. PyTorch dönüştürücü için en son sürüm, ONNX ofset 16'ya kadar ONNX dışa aktarmalarını destekler ve sinir ağı modüllerini özellikle ONNX yerel işlevleri olarak dışa aktarma yeteneği gibi yeni özellikler eklenmiştir. Chen ayrıca ONNX merkeziliği ve ONNX TensorFlow dönüştürücü gibi arka uç dönüştürücü güncellemelerini de gözden geçiriyor. Son olarak Chen, dönüştürücü imzası için yol haritasını sunar ve insanları dahil olmaya teşvik eder.

  • 00:55:00 Bu bölümde konuşmacı, SK öğrenmeden ONNX dönüştürücüye, ONNX algılayıcı anahtar dönüştürücüye ve ONNX TensorFlow dönüştürücüye yönelik güncellemeleri ve iyileştirmeleri tartışır. Kullanıcıların modelleri dönüştürürken gelişmiş kullanıcı deneyimi için en son sürümlere güncelleme yapmaları önerilir. Dönüştürücü çubuğunun yol haritası, topluluğa dayalı araçları iyileştirme, yardımcı işlevleri standartlaştırma ve operatör ve ofset desteğini iyileştirme gibi hedefleri içerir. Kullanıcıların, topluluğa dahil olmak ve geri bildirim sağlamak için Slack'teki ONNX dönüştürücüler kanalına katılmaları veya ONNX Converter SIG posta listesine abone olmaları önerilir.

  • 01:00:00 Microsoft'tan Jackie, ONNX Model Hayvanat Bahçesini ve ONNX Eğitimlerini tanıtıyor. ONNX Model Hayvanat Bahçesi, çoğunlukla ONNX topluluğu tarafından katkıda bulunan, önceden eğitilmiş, son teknoloji makine öğrenimi modellerinden oluşan bir koleksiyondur. Hayvanat bahçesinde şu anda 40 ONNX modeli ve görüntü sınıflandırması ve nesne algılama için 35 görüntü tabanlı ONNX modeli dahil olmak üzere 168 model bulunmaktadır. ONNX Eğitimleri, farklı senaryolar ve platformlar için pratikte ONNX'i gösteren belgeler ve not defterleri sağlar. Model Hayvanat Bahçesi, son çalıştaydan bu yana, Intel'den yeni nicelleştirilmiş modeller ve rutin CI testleri ile artırılmış test kapsamı, bozuk test veri setlerini düzeltme ve modellerin gösterimi için bir web arayüzü oluşturmak üzere Hugging Face ekibiyle işbirliği dahil olmak üzere çeşitli iyileştirmeler gördü.

  • 01:05:00 Konuşmacılar, yalnızca birkaç satır Python kodu yazarak görüntülerin ve ONNX modellerinin kolayca işlenmesine izin veren bir web sitesi de dahil olmak üzere ONNX'i kullanmak için öğreticilerin ve demoların kullanılabilirliğini tartışıyor. Ayrıca, ORT tarafından daha fazla modelin çalıştırılmasını sağlama ve sayısallaştırılmış modeller ve eğitim örneği modelleri dahil olmak üzere daha fazla katkıyı birleştirme planları ile ONNX Model Hayvanat Bahçesi için gelecekteki yol haritasını tartışıyorlar. Ek olarak, ONNX modelleriyle kullanım için verilerin önceden işlenmesini kolaylaştırmaya odaklanan ONNX Ön İşleme Çalışma Grubu'nun çalışmalarını vurgularlar.

  • 01:10:00 Videonun bu bölümünde, konuşmacı, görüntü ön işlemede Yastık ve OpenCV gibi popüler kitaplıklar arasındaki farkları vurgulayarak, veri ön işleme ardışık düzenlerindeki standardizasyon eksikliğini tartışıyor. Bu eşitsizlikler, modelleri farklı platformlara dağıtırken doğruluk sorunlarına yol açabilir. Konuşmacı, ONNX grubunun belirsizliği önlemek ve model dağıtımını iyileştirmek için veri ön işleme operasyonlarını standartlaştırma hedefini tanıtıyor. Grup, toplu işleme için kompozisyon yardımcı programlarının ve dizi haritası operatörünün geliştirilmesi gibi modellerde veri ön işlemesini içerecek altyapıyı geliştirmek için çalışıyor. ONNX grubu ayrıca, arka uçlarla tanımlama için bir modelin ön işleme bölümünü etiketlemenin yollarını araştırıyor. Ek olarak grup, yeniden boyutlandırma operatörü için isteğe bağlı kenar yumuşatma filtresi ve en boy oranını koruma politikası dahil olmak üzere uzantılar önermektedir.

  • 01:15:00 Konuşmacılar, daha yüksek bir soyutlama düzeyi sunan ve mevcut ped ve dilim operatörlerine dayanan önerilen bir merkez kırpma veya yol işleminin uygulanmasını tartışıyor. İzleyicileri fikirlerini paylaşmak için Slack kanallarına ve aylık toplantılarına katılmaya teşvik ederler. Aşağıdaki sunum, ONNX ön işleme çalışma grubunun hedefini özetleyen ve yaptıkları son çalışmaları paylaşan Joaquin Anton tarafından yapılmıştır. İtalya'dan Marvin ayrıca kendisini ve doğal dil işleme alanında bir geliştirici ve veri bilimcisi olarak yaptığı çalışmaları tanıtıyor.

  • 01:20:00 Konuşmacı, bir proje üzerinde çalışmaya başlamadan önce ONNX belgelerini kontrol etmenin önemini tartışıyor. Tüm modellerin ONNX için kolayca dönüştürülemeyeceğini veya optimize edilemeyeceğini ve proje için gerekli işletim fonksiyonlarının kullanılan çerçevede uygulanmasının sağlanmasının önemli olduğunu açıklıyorlar. Ek olarak, konuşmacı, bazen bu seçenekler doğruluğu gerçekten azaltabileceğinden, en iyi performans seçeneklerinin her zaman bir modeli optimize edeceği varsayımına karşı tavsiyede bulunur. Genel olarak, projenin mimarisini dikkatli bir şekilde göz önünde bulundurmak ve hataları önlemek ve bulutta veya cihazlarda başarılı dağıtım sağlamak için ONNX belgelerini ve ONNX iyileştirici gibi araçları kontrol etmek önemlidir.

  • 01:25:00 Bu bölümde, Nvidia'dan Jiraj Perry sinir ağı nicelemesinin temellerini ve TensorRT'nin çeşitli füzyonlar yoluyla nicelenmiş ağları nasıl desteklediğini tartışıyor. Nicelemenin, sürekli değerleri, daha hızlı çıkarım ve daha düşük bellek alanı sağlayabilen doğrusal veya doğrusal olmayan ölçekleme teknikleri kullanarak ayrı bir değerler kümesine dönüştürme işlemi olduğunu açıklıyor. Bununla birlikte, doğrulukla değiş tokuşlar olabilir. Jiraj ayrıca farklı niceleme şemalarından ve niceleme parametrelerinin veya q paramlarının öneminden bahseder. Ardından, eğitim sonrası niceleme (PTQ) ve niceleme farkında eğitim (QAT) ve bunların q parametrelerini nasıl belirleyebileceklerini tanıtıyor.

  • 01:30:00 Bu bölümde video, eğitim sonrası niceleme (PTQ) ve niceleme farkında eğitimi (QAT) tartışır. PTQ, bir kalibrasyon veri seti üzerinde önceden eğitilmiş bir model çalıştırmayı ve niceleme parametrelerini hesaplamak için her katman için dinamik aralığı belirlemek üzere katman bazında istatistikler toplamayı içerir. QAT, istenen katmanlarda qdq düğümleri sunar ve model veya niceleme parametrelerini öğrenmek için az sayıda dönem için grafiğe ince ayar yapar. PTQ genellikle daha hızlıdır ve nihai doğruluk üzerinde daha az kontrole sahipken, QAT daha yavaştır ancak daha fazla doğruluk kontrolü sağlar. Video ayrıca, Google'ın TF Modu araç seti ile NVIDIA'nın TF Modu üzerine inşa edilmiş TF2 niceleme araç seti arasındaki yaklaşım farklılıklarını da vurgulamaktadır.

  • 01:35:00 Bu bölümde konuşmacı, qdq düğümlerinin yerleştirildiği yer açısından Nvidia'nın niceleme araç takımı ile tf modu arasındaki farkları tartışıyor. Nvidia'nın araç seti, qdq düğümlerini ağdaki bir katmanın girişlerine ve ağırlıklarına yerleştirirken, tf modu bunların bir katmanın ağırlıklarına ve çıktılarına yerleştirilmesini önerir. Konuşmacı ayrıca, TensorRT'nin, qdq düğümleri için ayrılmış füzyonların yanı sıra noktasal füzyon evrişimi ve havuzlama füzyonu gibi katman füzyonları yoluyla modelleri nasıl optimize ettiğini de açıklıyor. Ek olarak, TensorRT'nin grafik iyileştiricisi, grafiğin maksimum kısmının girişte çalışmasını sağlamak için q ve dq düğümlerini hareket ettirmek için qdq yayılımı gerçekleştirir. Sunulan füzyon örnekleri, ortalama havuz nicelemesini ve eleman bazında toplama füzyonunu içerir. Son olarak, konuşmacı artık bir blokta kuantizasyon füzyonunu inceler.

  • 01:40:00 Bu bölümde konuşmacı, yeniden yükleme işlemleri sırasında Tensor RT'den en iyi performansı almak için kimlik dalında qdq düğümleri eklemenin önemini açıklıyor. Ortaya çıkan birleştirmeler, reklamın ötesine yayılan ve ekleme katmanından sonra q düğümleriyle kaynaştırılan ağırlıkların ve girdilerin dq düğümleri gibi görünür. Konuşmacı, modeliniz için en iyi performansı elde etmek için orijinal grafikte qdq düğümlerine olan ihtiyacı vurgular ve bunların doğru şekilde kullanılmamasının modelde düşük performansa yol açabileceği konusunda uyarır. Konuşmacı, TensorFlow araç setine qdq düğümlerinin nasıl ekleneceği hakkında bir tartışma davet ederek bitirir.

  • 01:45:00 Bu bölümde, konuşmacı slaytlarda gezinmeyle ilgili teknik bir zorluğun farkındadır ve dinleyicilere sorunun kısa süre içinde düzeltileceğine dair güvence verir. Daha sonra, nicelleştirilmiş ve ince ayarlı bir TensorFlow kaydedilmiş modeli elde ettikten sonra doğrulukla ilgili bir vaka çalışmasını tartışmaya geçerler. Seyirci kısa bir ara vermeden önce soru sormaya davet edilir.

  • 01:50:00 Bu bölümde, konuşmacı niceleme kavramını ve bunun sinir ağlarını nicelemede düşük kesinliği temsil etmek için nasıl kullanılabileceğini tartışıyor. Niceleme, iki işlevin bir birleşimidir: kayan nokta değerlerini tamsayı değerlere eşleyen nicelenmiş işlev ve tamsayı değerleri bir kayan nokta gösterimine geri eşleyen nicelenmiş işlev. Bu iki fonksiyonun kombinasyonuna sahte niceleme denir. Bu süreç, temsillerin yalnızca tamsayı temsiline eşlenmesine izin verir. Özellikle azaltılmış hassasiyetle tekdüze niceleme kullanımı, rf futbol platformunda üç mikrosaniyeden daha az gecikmeyle saniyede 1,7 milyar örneğe izin verdi.

  • 01:55:00 Bu bölümde, konuşmacı ONNX'in özellikle sekiz bitin altında olmak üzere düşük kesinlikli nicelemeyi temsil etmedeki sınırlamalarını tartışır ve nicelenmiş ve niceliği giderilmiş düğümler arasında kesinliği tetiklemek için kırpmadan yararlanarak ONNX'in temsil gücünü genişletmek için bir strateji önerir. . Bu strateji, tamsayı sınırları üzerinde desteklenen ve mevcut kitaplıklar ve araçlarla geriye dönük uyumluluğu etkilemeyen fazladan bir kırpma işlevi ekler. Ancak, bu strateji yalnızca kuantize doğrusalın bir operatör olarak izin verdiği ölçüde genişler ve farklı yuvarlama türleriyle ilgili bazı sınırlamaları vardır. Konuşmacı ayrıca girdi yayınları, ikili niceleme seçenekleri ve daha fazlası ile daha geniş bir senaryo setine uzanırken yalnızca bir düğümde sahte nicelemeyi temsil eden üs alma lehçesinde niceleme (tuonex) ile ilgili çabalarından bahseder. Bu biçim, fpgas üzerindeki dağıtım çabalarının bir parçası olarak kullanılır ve q ONNX ve nqcdq gibi araçları, mevcut niceleme kitaplıklarıyla entegre olur ve fpga topluluğunda benimsenir.

  • 02:00:00 Bu bölümde Mithril'den Daniel, verileri korumak için donanımdan yararlanan güvenli yerleşim bölgeleri içinde ONNX modellerinin konuşlandırılmasına izin veren "Blind AI" adlı bir çözümü nasıl geliştirdiklerini tartışıyor. Bu çözüm, donanım tabanlı teknolojiler kullanarak, dışardan herhangi bir boşaltma girişimini önleyen enclave'in bellek içeriğinin izolasyonunu ve şifrelenmesini sağlar. Verilerin şifresi anklavın içinde çözülür ve içeriden herhangi bir kötü niyetli kişi verilere erişemez; bu, gizlilik ve güvenlik söz konusu olduğunda veri sahibi için büyük bir avantajdır. Blind AI, dahil edilmesi kolay bir açık kaynaklı çözümdür ve AI sağlayıcısının bu çözümü sürdürmesi ve satması zahmetsizdir.

  • 02:05:00 Bu bölümde konuşmacı, üçüncü tarafların verilere erişmesine izin vermeden modelleri güvenli bir şekilde yüklemek ve analiz için verileri göndermek için Python SDK'yı kullanarak AI modellerini ilerleme garantili dağıtma becerisini tartışıyor. ONNX'in, bagaj taraması, tıbbi belgelerin analizi ve yüz tanıma dahil olmak üzere çeşitli kullanım durumlarını kapsamasını sağlayan ifade gücü de vurgulanmıştır. Konuşmacı ayrıca pratikte kullanılan farklı modelleri ve bunların anklavın içindeki ve dışındaki hızlarını, sağladığı koruma nedeniyle makul ek gecikmeyle sunar. Ek olarak, ONNX minimum kod tabanı gerektirir, bu da onu güvenlik nedenleriyle daha iyi hale getirir ve her operatörü güçlendirerek güvenli yerleşim bölgesi kullanımını sağlar. Sunum, GitHub'ları ve çeşitli senaryoları nasıl kapsayabilecekleri hakkında bilgi ve teknik güvenlik ayrıntılarını inceleme fırsatı ile sona eriyor.

  • 02:10:00 Bu bölümde, konuşmacı, zaman içinde nasıl hareket ettiğini ve belirli bir kullanım durumu göz önüne alındığında nasıl geliştiğini belirlemek için bir modelin kaynağının ve diğer ilgili özelliklerinin izlenmesini içeren ONNX'te makine tarafından okunabilen AI meta verilerinin etkinleştirilmesine yönelik öneriyi tartışıyor. Teklif ilk olarak Ekim 2020'de ONNX yönlendirme komitesine sunuldu ve şimdi ekip, model merkezleri için uçtan uca tasarımın bir parçası olarak meta verilerin oluşturulmasını, sorgulanmasını ve görselleştirilmesini içerecek şekilde teklifi daha da genişletmek istiyor. hayvanat bahçeleri. Konuşmacı, meta verilerin sorumlu ve açıklanabilir yapay zekanın temel sağlayıcısı olarak önemini vurgular ve başarısızlık modlarını daraltma ve yapay zeka sistemleri için sorunlu noktaları belirlemedeki yararlılığını vurgular.

  • 02:15:00 ONNX Topluluk Günü sunumunun bu bölümünde, konuşmacılar modellerdeki meta verilerin önemini ve meta verileri temsil etmeye yönelik daha makine tarafından okunabilir ve standartlaştırılmış bir yaklaşım için RDF kullanma potansiyelini tartışıyor. Bir modelin beklenenden daha düşük doğruluğa sahip olmasına neyin sebep olduğuyla ilgili soruları yanıtlayarak, bu yaklaşımın varlıklar arasında ilişkiler kurmaya, şeffaflığı korumaya ve kaynağı izlemeye nasıl yardımcı olabileceğini açıklıyorlar. Konuşmacılar ayrıca SPARQL kullanarak meta verileri sorgulamanın gücünü tartışıyor ve RDF formatlı meta verilere sahip modellerin nasıl basit bir model kartının sunabileceğinin ötesinde bilgi sağlayabileceğini açıklıyor.

  • 02:20:00 Bu bölümde konuşmacı, verileri ve dijital varlıkları erişilebilir, birlikte çalışabilir ve yeniden kullanılabilir hale getirmeye yönelik bir dizi yol gösterici ilke olan Fırın kontrol sözlüğünü tartışıyor. Furnace'in ilkeleri semantik web topluluğu tarafından belirlendi ve adalet, güvenilirlik ve sürdürülebilirliği içeriyor. RDF kodlu meta veriler, NLP görevlerine uygun modelleri keşfetmek, modellerin yaratıcılarını ve boyutlarını belirlemek ve sınıflandırmak ve sıralamak için modellerin karbon ayak izini izlemek için Fırın ontolojisi kullanılarak sorgulanabilir. RDF'nin ve sorgu dili Sparkle'ın genişletilebilirliği, sınav yetkilileri tarafından seçilen kelime dağarcığının ötesinde sonsuz genişletilebilirlik sağlar. Bu, sorumlu AI ve karışık hassas akımın izlenmesini sağlayabilir.

  • 02:25:00 Bu bölümde sunum yapan kişiler, ONNX Topluluk Günü'nün sorgulama ve filtreleme özelliklerini tartışıyor. Meta veri yazarının, meta veri etiketlerini kullanarak özel veya kişisel bilgiler içeren veri kümeleriyle eğitilmiş modelleri nasıl tanımlayabildiğini gösterirler. Sunum yapan kişiler ayrıca genişletilmiş filtreleme özelliklerinin, kullanıcıların modelleri karışık hassasiyetle sorgulamasına nasıl olanak tanıdığını da gösterir. Meta verileri verimli bir şekilde görüntülemek için model profillerinin görselleştirilmesini ve açıklanabilir yapay zeka tekniklerini vurgularlar. Sunum yapan kişiler, ONNX'te makine tarafından okunabilen meta veri desteği ile hub iş akışından tüm meta veri oluşturma, sorgulama ve filtrelemeyi kapsayan model oluşturma ve kullanma etrafında somut bir tasarımın dikkate alınması için harekete geçilmesi çağrısında bulunur. Şu anda bir saman adam uygulaması hazırlıyorlar ve meta veri oluşturmaya yönelik teknolojileri araştırıyorlar.

  • 02:30:00 Bu bölümde Oracle Labs'tan Adam Pocock, Java Virtual Machine'i (JVM) ONNX ile desteklemenin önemini tartışıyor. Çoğu makine öğrenimi uygulaması Java gibi Python dışındaki dillerde yazılmış olsa da makine öğrenimini bu dillere getirmek çok önemlidir. ONNX çalışma zamanı Java API'si, minimum performans etkisi ve dağıtım kolaylığı gibi özelliklerle Java ve diğer dillerdeki makine öğrenimini birleştirmek için Oracle Labs tarafından geliştirilmiştir. Adam ayrıca Java API ile diğer API'ler arasındaki benzerlikleri göstermek için bir kod örneği sağlar.

  • 02:35:00 Bu bölümde, konuşmacı, bir bayt akışı için bir bayt arabelleği temsili olan ONNX tensörü kullanarak verilerin nasıl besleneceğini ve bir modelin nasıl çalıştırılacağını tartışıyor. Java'da normal dizileri kullanmak mümkün olsa da, konuşmacı, verilerin işlenmesinde daha iyi verimlilik sağlayan sıfır kopya yolu nedeniyle bayt arabelleklerinin kullanılmasını önerir. Konuşmacı ayrıca Java'nın çok boyutlu dizilerinin makine öğrenimi için uygun olmadığını çünkü düz olmadıklarını ve çok sayıda işaretçi takibini içerdiklerini belirtiyor. Konuşmacı ayrıca Java'nın daha yeni bir sürümüne yükseltme, yeni özellikler ekleme ve ONNX çalışma zamanı ağacına uyacak şekilde geliştirme planlarını tartışıyor. Ayrıca konuşmacı, Java'dan ONNX modelleri yazan ve JVM'nin herhangi bir yerinde bulunan açık kaynaklı bir kitaplığı tanıtıyor.

  • 02:40:00 Bu bölümde konuşmacılar, ONNX araç setinin DeepJ gibi yeni makine öğrenimi kitaplıklarıyla uyumluluğunu ve birinci sınıf performans sağlamak için ONNX çalışma zamanı ile nasıl bütünleştiğini tartışıyor. DeepJ, çeşitli derin öğrenme kitaplıkları üzerinde bir soyutlama katmanı oluşturarak gerekli tüm kitaplıkları soyutlar ve Apache MixTape, Tensorflow, PyTorch, ONNX, Pedal ve daha fazlası gibi makine öğrenimi motorlarının kullanması için çeşitli operatör arka uçları sağlar. Ayrıca, operatör numaralandırmasını genişletmeye devam ederken standart meta veri formatlarını yaymak için bu araç setindeki meta verileri standartlaştırmanın yollarını da araştırıyorlar.

  • 02:45:00 Bu bölümde konuşmacı, görüntü sınıflandırma, nesne algılama, duyarlılık analizi ve eylem tanıma gibi görevleri kapsayan bir dizi önceden eğitilmiş model içeren Deep Java Library'nin faydalarını tartışıyor. Kitaplık hizmete hazırdır ve DHL ile altı aydan fazla bir süredir hatasız başarılı şekilde kullanılmasının da gösterdiği gibi, mümkün olan en iyi hız ve bellek kontrolüyle performans göstermesi için zorlu testlerden geçmiştir. Ek olarak, konuşmacı, önemli performans kazanımları elde etmek ve gecikmeyi azaltmak için ONNX ve ONNX çalışma zamanının kullanıldığı birkaç kullanım durumunu paylaşıyor. Bir başarı öyküsünde, OCR modellerinin çalışma süresini tek bir görüntüde bir saniyeden 400 milisaniyenin altına indirebilen bir Çin bankası anlatılıyor. Ayrıca konuşmacı, iki motorun aynı anda yüklenmesine izin veren ve aralarında yumuşak bir geçiş sağlayan Hibrit Motor konseptini tanıtıyor.

  • 02:50:00 Bu bölümde konuşmacı, veri kopyalamayı önleyen ve performans artışı sağlayan Python'dan doğrudan ONNX çalışma zamanına işaretçiler göndermek için doğrudan arabelleği kullanan bir yöntemi açıklıyor. Ayrıca, daha uygun maliyetli bellek koleksiyonları sağlamak için DeepDraw kitaplığında uygulanan ağaç benzeri bir mimari olan ND Manager'ı da tanıtıyorlar. Konuşmacı, müşterilerin tek bir kod satırı değiştirmeden PyTorch kullanımından ONNX çalışma zamanına nasıl geçiş yapabileceklerini tartışıyor. Daha sonra Hype Factors'tan bir konuşmacı, medya istihbarat şirketlerinden ve geliştirici deneyimi, yeniden kullanılabilir bileşenlerden oluşan ekosistem ve yüksek ölçeklenebilirlik için altyapılarını nasıl JVM'ye dayandırmayı seçtiklerinden bahsediyor.

  • 02:55:00 Bu bölümde konuşmacı, web sitesinin işlevselliğinin çoğuna güç sağlamak için JVM'nin kullanımı ve gelen tüm verileri temelde zenginleştiren bir sisteme geçiş dahil olmak üzere medya analitiği web sitesinin teknik yönlerini tartışıyor. Günde birkaç milyar GPU çıkarımıyla, ürünün özellikleri büyük ölçüde, her şeyi çalışır durumda tutmanın önemli bir parçası haline gelen ve sürecin kritikliğine yol açan makine öğrenimine ve model yönetimine bağlıdır. Veriler, HTML ve PDF'ler dahil olmak üzere her türlü formatı kapsar ve adlandırılmış varlık tanıma, belirginlik, duyarlılık ve daha fazlası dahil olmak üzere verileri anında zenginleştirmek için çalışma zamanını izler. Yol boyunca, dönüştürme hataları ve DTL'de çözülmesi biraz zaman alan nadir bir bellek sızıntısı da dahil olmak üzere birçok zorluk yaşandı.
Neden: