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

 

ONNX ve DJL kullanarak JVM'de milyarlarca NLP Çıkarımı



ONNX ve DJL kullanarak JVM'de milyarlarca NLP Çıkarımı

Bir medya istihbarat şirketinin CTO'su, çeşitli kullanım durumları için medya ortamını araştırmak amacıyla makine öğrenimi ardışık düzeninde NLP tokenizasyonu için JVM ve DJL ve Hugging Face'i nasıl kullandıklarını tartışıyor. Ürün özellikleri buna doğru yöneldikçe, makine öğrenimi ve modelleme sistemleri, CPU'nun artık yeterli olamayacağı bir ölçeğe ulaştıklarından, her şeyi çalışır durumda tutmak için temel parçalar haline geldi. 32 bit kayan noktalı modelden 16 bit'e geçtiler, bu da etkinlikte %3'lük bir artışa yol açtı, ancak işlem sırasında dönüştürme hataları ve nadir bellek sızıntılarıyla karşılaştılar ve birkaç uygulamayı değiştirerek çözdüler. GPU destekli CI ekleyerek ve çeşitli çıkarımların gecikmesini ve tokenizasyon gecikmesini izleyen gelişmiş bir Prometheus mantık yığını kurarak sağlamlığa yatırım yaptılar. Gelecek planları arasında GPU verimliliğini artırmak ve çoklu GPU kurulumu oluşturarak sisteme daha fazla model eklemek yer alıyor.

  • 00:00:00 Videonun bu bölümünde, bir medya istihbarat şirketinin CTO'su olan Viet, şirketinin altyapısının JVM'ye nasıl dayandığını ve bunu, ürün lansmanı gibi çeşitli kullanım durumları için medya ortamını araştırmak için nasıl kullandıklarını tartışıyor izleme ve itibar izleme. Sistemlerinin JVM tarafından desteklendiğini ve makine öğrenimi boru hattında NLP tokenizasyonu için DJL ve Hugging Face kullandıklarını açıklıyor. Şirketin makine öğrenimi ve modelleme sistemi artık sadece sahip olunması güzel şeyler değil, ürün özellikleri ona doğru ilerlerken her şeyi çalışır durumda tutmak için gerekli parçalar. Artık CPU'nun yetemeyeceği bir ölçeğe ulaştılar, bu yüzden Cubernates'i yatay ölçeklendirmek için bir sistem olarak görüyorlar. Sistemleri günde milyarlarca çıkarım sağlıyor ve GPU hızlandırma yapıyorlar ve tam bir web paletli sistem oluşturmak için 8 milyon site kullanıyorlar.

  • 00:05:00 Bu bölümde konuşmacı, ONNX ekosistemiyle çalışırken yaşadıkları deneyimleri tartışıyor. 32 bit kayan noktalı modelden 16 bit'e geçişten bahsediyorlar, bu da etkinlikte %3'lük bir artışa yol açtı. Ancak bu süreçte ONNX modelinden beklenmeyen çıktılar alınmasına neden olan dönüştürme hatalarıyla karşılaştılar. Ayrıca birkaç uygulamayı değiştirerek çözdükleri nadir bellek sızıntılarıyla da karşılaştılar. Konuşmacı, GPU destekli CI ekleyerek ve çeşitli çıkarımların gecikmesini ve simgeleştirme gecikmesini izleyen gelişmiş bir Prometheus mantık yığını kurarak sağlamlığa yatırım yaptıklarını açıklıyor. Son olarak, çoklu GPU kurulumu oluşturarak GPU verimliliğini artırmayı ve sisteme daha fazla model eklemeyi içeren gelecek planlarını tartışıyorlar.
 

ONNX ve JVM


ONNX ve JVM

Java Virtual Machine (JVM) üzerindeki ONNX desteği, ML modelleri neredeyse her uygulamada daha belirgin hale geldiğinden çok önemlidir. Java, canlı yazılım uygulamaları oluşturmak için kullanılan en büyük platformlardan biri olduğundan, Java veya C# gibi programlama dillerinde destek sağlamak önemlidir. Oracle, Java'da ONNX çalışma zamanı C API'sini sağlamayı ve C API üzerinden ince bir Java API katmanı kullanarak minimum performans etkisi ile kolay devreye almayı sağlamayı amaçlamaktadır. Konuşmacı ayrıca Java'dan ONNX modelleri yazmak için açık kaynaklı bir kitaplıktan bahsediyor, bir lojistik regresyon grafiği örneği sunuyor ve ONNX meta veri formatında standardizasyon eksikliğini tartışırken Trippo'daki ONNX dışa aktarma öğelerine katkıda bulunmaya davet ediyor.

  • 00:00:00 Bu bölümde, Oracle Labs'daki makine öğrenimi araştırma grubunda araştırmacı olan Adam Pocock, Java Sanal Makinesi'nde (JVM) ONNX'i desteklemenin neden önemli olduğunu açıklıyor. Makine öğrenimi modellerinin hemen hemen her uygulamada daha önemli hale gelmesiyle, Java veya C# gibi uygulamaların yazıldığı dillerde destek sağlamak kritik öneme sahiptir. Pocock'a göre Java, milyonlarca Java geliştiricisi ile dünya çapında canlı yazılım uygulamaları oluşturmak için en büyük platformlardan biridir. Sonuç olarak Oracle'ın amacı, ONNX çalışma zamanı C API'sini Java'da sağlayarak, minimum performans etkisi ile kullanıcılar için dağıtımını kolaylaştırmaktır. Java API'nin C API üzerindeki ince katmanını göstermek için hızlı bir kod örneği gösterilmiştir.

  • 00:05:00 Bu bölümde konuşmacı, makine öğrenimi modellerinin ek yüklerini en aza indirmek için Java nesnelerini eşleştirilmiş bir yerel nesneyle kullanmanın zorluklarını tartışıyor. Her şeyin temizlendiğinden emin olmak için güvenlik ağları olduğunu, ancak düzenli dizilerin kullanılmasının tavsiye edilmediğini açıklıyorlar. Konuşmacı ayrıca, Java'dan ONNX modelleri yazmak için, öznitelik doğrulama ve denetimi ile Java dizilerini kolayca dışa aktarma becerisini içeren açık kaynaklı bir kitaplık sunar. Bu kitaplığı kullanarak bir lojistik regresyon grafiğinin nasıl yazılacağına dair bir örnek sağlarlar ve operatör sıralamasını genişletme ve kaynak ve meta verileri dönüştürülen modellere entegre etme planlarından bahsederler.

  • 00:10:00 Bu bölümde, konuşmacı ONNX'teki metadata formatıyla ilgili standardizasyon eksikliğini tartışıyor. Eğitim verileri ve hiperparametreler gibi verileri ONNX meta verilerine dahil etme olasılığı olmasına rağmen, standartlaştırılmamıştır. Konuşmacı, Intel'in meta veri formatını standart hale getirmek için yaptığı çalışmalara ilgi duyduğunu ifade ediyor. Konuşmacı ayrıca Trippo'daki ONNX ihracat malzemelerine her türlü katkıyı davet eder ve konuyla ilgili tartışmayı teşvik eder.
 

DJL ve ONNX Runtime ile yüksek performanslı model çıkarım çözümünüzü oluşturun



DJL ve ONNX Runtime ile yüksek performanslı model çıkarım çözümünüzü oluşturun

Deep Java Library (DJL), derin öğrenme kitaplıklarını soyutlayan ve Apache MXNet, TensorFlow ve PyTorch gibi çoklu arka uçlar sunan, Java üzerinde oluşturulmuş bir makine öğrenimi kitaplığıdır. Kitaplık, çeşitli görevler için önceden eğitilmiş bir dizi modele sahiptir ve bellek kullanımı üzerinde kontrole sahipken en yüksek performansı sağlamak için zorlu testlerden geçirilerek hizmete hazırdır. Konuşmacılar ayrıca her iki motoru birlikte yükleyen hibrit motor konseptini tanıtarak çıkarım için motorlar arasında daha yumuşak bir geçiş sunar. Diğer geliştirmeler arasında ARM sunucularının desteklenmesi, Android cihazlarda ONNX Runtime'ın çalıştırılması ve hibrit motor çözümünün uç cihazlara getirilmesi yer alıyor.

  • 00:00:00 Bu bölümde konuşmacı, hem Amazon içinde hem de dışında makine öğrenimi kullanım durumları için iyi performans gösterdiği kanıtlanmış olan Deep Java Library (DJL) ve onun ONNX Runtime ile entegrasyonunu tanıtıyor. DJL, derin öğrenme kitaplıklarını soyutlayan ve Apache MXNet, TensorFlow ve PyTorch gibi çoklu arka uçlar sunan, Java üzerine kurulmuş bir makine öğrenimi kitaplığıdır. DJL, görüntü sınıflandırma, nesne algılama, duyarlılık analizi ve eylem tanıma gibi görevler için Hugging Face ve Torch Hub'dan popüler olanlar da dahil olmak üzere bir dizi önceden eğitilmiş modele sahiptir. DJL'nin avantajı, hizmete hazır olması ve bellek kullanımı üzerinde kontrole sahipken en yüksek performansı sağlamak için zorlu testlerden geçmiş olmasıdır. Konuşmacı ayrıca ONNX Runtime ve DJL'den yararlanan bazı başarılı müşteri kullanım örneklerini paylaşarak, TensorFlow ve PaddlePaddle gibi iş parçacığı güvenliğini desteklemeyen farklı derin öğrenme çerçevelerinden dönüştürürken bile model çıkarım hızında ve çoklu iş parçacıklı çıkarımda önemli iyileştirmeler sergiliyor. çoklu iş parçacığı.

  • 00:05:00 Bu bölümde konuşmacılar, boyutsuz dizi için Java'da ön işleme ve son işleme gerçekleştirmeyi zorlaştıran yerleşik operatörlerin eksikliği nedeniyle ONNX Çalışma Zamanı kullanıcılarının karşılaştığı zorlukları tartışıyor operasyon. Her iki motoru aynı anda yükleyen ve çıkarım için motorlar arasında daha yumuşak geçiş sağlayan hibrit motor adı verilen yeni bir konsept öneriyorlar. Deep Java Kitaplığı, kullanıcının modelinin nasıl yükleneceğini tanımlayabileceği bir ölçüt sınıfı sunar ve tercüman, ön işleme ve son işlemeyi gerçekleştirmek için soyutlama sağlar. Ayrıca, uygun maliyetli bellek toplama sağlamak için Java'daki çöp toplama sisteminin yerini alan ağaç benzeri bir mimari olan ND Manager'ı da tanıtıyorlar. Konuşmacılar, ARM sunucusunun desteklenmesi, Android cihazlarda ONNX Runtime'ın çalıştırılması ve hibrit motor çözümünün uç cihazlara getirilmesi gibi diğer gelişmelerden bahsediyor.
 

[FlexFlow Bootcamp 2020] FlexFlow Ön Uç Destekleri: TensorFlow Keras, PyTorch, ONNX ve daha fazlası



[FlexFlow Bootcamp 2020] FlexFlow Ön Uç Destekleri: TensorFlow Keras, PyTorch, ONNX ve daha fazlası

Videonun bu bölümünde konuşmacı, TensorFlow Keras, PyTorch ve ONNX'i destekleyen FlexFlow Python API'yi tartışıyor. Bir model oluşturma ve eğitme süreci, modele operatörler eklemeyi, modeli derlemeyi, veri yükleyicileri oluşturmayı ve uygun işlevi veya özelleştirilmiş eğitim prosedürlerini kullanarak modeli başlatmayı/eğitmeyi içerir. Konuşmacılar ayrıca FlexFlow'daki Keras ve PyTorch modellerine yönelik desteğin yanı sıra ONNX ara temsili aracılığıyla önceden var olan modelleri içe aktarma becerisini tartışıyor. Ancak, FlexFlow'u oluşturmak için kullanılan kitaplık ile ONNX python paketini oluşturmak için kullanılan kitaplık arasında tutarlılığın sağlanması önemlidir.

  • 00:00:00 Videonun bu bölümünde sunum yapan kişiler, FlexFlow'daki ön uç desteği, özellikle Python API'yi tanıtıyor. FlexFlow çalışma zamanı, Stanford Üniversitesi, NVIDIA ve Los Alamos'tan araştırmacılar tarafından geliştirilen görev tabanlı bir program sistemi olan Legion çalışma zamanı üzerine inşa edilmiştir. Python API, C++ API'yi cffi kitaplığı aracılığıyla çağırır ve ince bir Python API katmanı, C++ API kullanımıyla aynı performansı sağlar. Sunum yapan kişiler daha sonra, önce bir yapılandırma dosyası oluşturmayı ve ardından NCHW biçiminde bir giriş tensörü oluşturmayı içeren FlexFlow Python API ile bir model oluşturma adımlarını tartışır. Ek olarak, Keras ve ONNX için destek sunarlar.

  • 00:05:00 Videonun bu bölümünde konuşmacı, TensorFlow Keras, PyTorch ve ONNX'i destekleyen FlexFlow Python API'yi kullanarak bir model oluşturma ve eğitme sürecini tartışıyor. Konuşmacı, her zaman bir giriş tensörü alan ve bir çıkış tensörü döndüren konvolüsyon 2D operatörü gibi operatörlerin modele nasıl ekleneceğini açıklayarak başlar. Bir sonraki adım, tensörleri tahsis eden ve paralelleştirme stratejisini ve model füzyonunu optimize eden modeli derlemektir. Ardından, veri yükleyiciler oluşturulur ve model başlatılır ve fit işlevi veya özelleştirilmiş eğitim prosedürleri kullanılarak eğitilir. Konuşmacı ayrıca Python ve C++ API'leri arasındaki benzerlikleri vurgular ve FlexFlow tarafından desteklenen ve talep üzerine yeni operatörler uygulama becerisine sahip operatörlerin bir listesini sunar. Son olarak, uygulamalı alıştırma için planlanan bir demo ile konuşmacı, FlexFlow'daki Keras ve PyTorch modellerine yönelik desteği tartışıyor.

  • 00:10:00 Bu bölümde konuşmacılar, özellikle ONNX ara temsili aracılığıyla önceden var olan modellerin FlexFlow'a aktarılmasını tartışıyor. ONNX paketi, modellerin PyTorch veya TensorFlow gibi diğer derin öğrenme çerçevelerinden dışa aktarılmasına ve aynı dosya adı kullanılarak FlexFlow'a aktarılmasına olanak tanır. Ancak, FlexFlow'u oluşturmak için kullanılan kitaplığın ONNX python paketini oluşturmak için kullanılanla aynı olmasını sağlamak önemlidir. ONNX desteği hala devam eden bir çalışmadır ve yamalar memnuniyetle karşılanmaktadır.
 

.NET, PyTorch ve ONNX Çalışma Zamanı ile Makine Öğrenimini Öğrenmek



.NET, PyTorch ve ONNX Çalışma Zamanı ile Makine Öğrenimini Öğrenmek

.NET, PyTorch ve ONNX Runtime ile makine öğrenimini öğrenme hakkındaki bu videoda, konuşmacılar ONNX Runtime'ı tanıtıyor ve bir makine öğrenimi modelini eğitmek için farklı adımları açıklıyor. Ayrıca, derin öğrenme için ONNX formatının .NET ile nasıl kullanılacağını gösteriyorlar ve doğru model tahminleri için hiperparametreleri ve optimizasyon yöntemini anlamanın önemini tartışıyorlar. Konuşmacılar ayrıca bir modeli yüklemek ve tahminlerde bulunmak için ONNX çalışma zamanının nasıl kullanılacağını ve ayrıca bir oturum çalıştırılırken bir try bloğu ile olası hataların nasıl ele alınacağını gösterir. Ek olarak, yapay zekanın tahminlerindeki belirsizliğini göstermek için emin olmama vektörünün kullanımını tartışıyorlar ve dolandırıcılık tespit ve öneri sistemleri gibi yapay zekanın kullanıldığı bazı sektörlerden bahsediyorlar.

  • 00:00:00 ".NET, PyTorch ve ONNX Runtime ile Makine Öğrenimi Öğrenme" videosunun bu bölümünde, toplantı sahipleri ONNX Runtime'ı ve derin öğrenme için .NET ile nasıl kullanılabileceğini tanıtıyor. Bir model eğitildikten sonraki adımın, model dosyasını projeye getirmek ve yanıtı almak olduğunu açıklıyorlar. Sayıları tanıma örneğini kullanırlar ve Konvolüsyonel Sinir Ağı modeline sahip bir Py Torch GitHub deposu gösterirler. Ayrıca yerleşik özellikleri ve işlevselliği ile Python için bir IDE olarak VS Code'un kullanışlılığını vurgularlar.

  • 00:05:00 Bu bölümde konuşmacı, makine öğrenimi modellerini eğitmek için test verilerini nasıl kullandıklarını tartışıyor ve düğmeleri ayarlamanın en iyi yolunu bulduktan sonra modeli kaydedip suyu kapatıyorlar. Sıfırdan dokuza kadar sayıların görüntüleri ile eğittikleri bir model örneğini gösteriyorlar ve görüntüler yalnızca sıfırdan dokuza kadar olduğu için çıktıda on öğe olduğunu açıklıyorlar. Ayrıca, tahmin edilen sonuç ile gerçek sonuç arasındaki farkı ölçen kayıp fonksiyonunun ve kaç sonucun doğru veya yanlış olduğunu ölçen doğruluğun önemini vurgularlar. Konuşmacı, makine öğrenimi algoritmasının yüksek doğruluk elde etmesini sağlamak için doğru model şeklini seçmenin, öğrenme hızı, toplu iş boyutu ve dönemler gibi hiperparametrelerin ve farklı veri kümeleri üzerinde test etmenin temel adımlar olduğunu öne sürüyor.

  • 00:10:00 Videonun bu bölümünde konuşmacılar, "sinir ağları için PDF" olarak tanımlanan ONNX formatının kullanımını tartışıyor. Bir ONNX dosyasının oluşturulmasını ve ardından ONNX çalışma zamanı kullanılarak bir .NET uygulamasında nasıl kullanılacağını gösterirler. Her çıkarım için dosyayı yeniden yükleme ihtiyacını ortadan kaldırmak için çıkarım oturumu genel değişkeninin kullanımı açıklanmaktadır. Modelin optimizasyon yöntemini ve hiper parametrelerini anlamanın önemi de vurgulanmıştır. Son olarak, modeller arasındaki boyut farklılıkları ve bunun tahmin yapma zorluğunu nasıl etkilediği tartışılmaktadır.

  • 00:15:00 Bu bölümde konuşmacı, özellikle bilgisayar görüşü bağlamında bir model yüklemek ve tahminler yapmak için ONNX çalışma zamanının nasıl kullanılacağını açıklar. 3 sayısını çizmeyi ve bunu 28'e 28 piksellik bir görüntüye dönüştürmeyi, ardından tek bir kayan nokta dizisi oluşturmayı ve 255'i çıkarırken tüm renklerin ortalamasını almayı gösteriyorlar. Konuşmacı ayrıca t tensörünün kullanımını tartışıyor. , ONNX çalışma zamanı tarafından belleğe verimli indeksleme ve uygun girdi için görüntüyü normalleştirmenin önemi için kullanılan bir veri türü. Ayrıca, adlandırılmış ONNX değerinden bir tensörün nasıl oluşturulacağını ve bir oturum çalıştırılırken olası hataların bir try bloğu ile nasıl ele alınacağını da gösterirler.

  • 00:20:00 Bu bölümde konuşmacılar, makine öğrenimini kullanarak sayıları tanımada PyTorch ve .NET kullanma sürecini gösteriyor. Sistem, basamakları matrisler olarak tanımlar ve optimizasyon algoritmalarını kullanarak belirli basamakları belirlemek üzere eğitilir. Sistem "Bilmiyorum" deme yeteneğine sahip değildir ve bunun yerine, alışılmadık bir girdiyle sunulduğunda yanlış olsa bile, her zaman elinden gelenin en iyisini yapacaktır. Nihai çıktı, daha sonra insan tarafından okunabilir bir formata dönüştürülen bir olasılık vektörüdür.

  • 00:25:00 Bu bölümde konuşmacı, yapay zekanın tahminlerindeki belirsizliğini göstermek için bir emin olmama vektörünün nasıl kullanılabileceğini tartışıyor. Konuşmacı, bu özelliğin yalnızca böyle bir emin olmama veri kümesinde eğitilmişse kullanılabileceğini not eder. Ardından konuşmacı, makine öğrenimindeki eğitim ve çıkarım aşamaları arasındaki farkı ve bunların ML.NET'te nasıl ayrıldığını açıklığa kavuşturur. Konuşmacı ayrıca ONNX formatının .NET uygulamalarında kullanılabileceğini ve genellikle sinir ağı modelleri gibi daha karmaşık veri kümeleri için kullanıldığını belirtiyor. Son olarak, konuşmacı AI'nın şu anda dolandırıcılık tespit ve öneri sistemleri gibi çeşitli sektörlerde kullanıldığını belirtiyor.
 

ML.NET'te ONNX Modeli Nasıl Okunur ve Yazılır



ML.NET'te ONNX Modeli Nasıl Okunur ve Yazılır

Video, Microsoft ve Facebook tarafından oluşturulan ve farklı çerçeveler arasında makine öğrenimi modellerinin değiş tokuşuna izin veren açık bir format olan ONNX'i tanıtarak başlıyor. Sunucu, açık kaynaklı ve platformlar arası bir makine öğrenimi kitaplığı olan ML.NET'in ONNX modellerini nasıl desteklediğini açıklıyor. Ardından video, ONNX Çalışma Zamanı paketini kullanarak bir ML.NET modelinin nasıl oluşturulacağını ve bir ONNX dosyasına aktarılacağını göstermeye devam eder. ONNX modeli oluşturulduktan sonra video, ML.NET'teki yeni veriler üzerinde tahminler yapmak için modelin nasıl kullanılacağını açıklar. Genel olarak video, makine öğrenimi uygulamaları için ONNX modellerinin ML.NET ile nasıl kullanılacağına ilişkin kapsamlı bir kılavuz sağlar.

 

ONNX Kullanarak scikit-learn ML Modellerini ML.NET ile Entegre Etme - Pratik ML.NET Kullanıcı Grubu 18.02.2022



ONNX Kullanarak scikit-learn ML Modellerini ML.NET ile Entegre Etme - Pratik ML.NET Kullanıcı Grubu 18.02.2022

Bu videoda konuşmacı, Scikit-learn makine öğrenimi modellerinin ONNX kullanarak .NET ekosistemiyle entegrasyonunu tartışıyor. İstemci sistemleri için makine öğrenimi modellerinin nasıl oluşturulacağına, dağıtılacağına ve test edileceğine ilişkin pratik bir örnek olarak dijital pazarlama alanında müşteri adayı puanlamasını kullanıyorlar. Sunum yapan kişi müşteri adayı puanlama sürecini açıklıyor ve pazarlama ve satış ekiplerinin verimliliğini en üst düzeye çıkaran otomatik bir araç oluşturmanın önemini vurguluyor. Konuşmacı, istemci sistemler için makine öğrenimi modellerini dağıtmanın zorluğunu tartışıyor ve bir çözüm olarak ONNX'i tanıtıyor. Scikit-learn ML modellerini ONNX kullanarak ML.NET ile entegre etmek için kullanılan araçlara, paketlere ve tekniklere genel bir bakış sağlarlar. Konuşmacı, bir lojistik regresyon modelinin nasıl oluşturulacağını ve seri hale getirileceğini, ONNX biçimine dönüştürüleceğini ve ONNX modelinin Azure İşlevleri kullanılarak .NET ekosistemiyle tümleştirilmeden önce nasıl çalıştırılacağını gösterir. Genel olarak bu video, Scikit-learn ML modellerini ONNX kullanarak .NET ekosistemiyle entegre etmek isteyen geliştiriciler için pratik bir kılavuz görevi görür.

Bu Pratik ML.NET Kullanıcı Grubu oturumunda sunum yapan kişi, Dot Net ekosistemine dahil edilebilecek bir öncü puanlama ONNX modeli oluşturmak için ONNX biçiminin kullanımını gösterir. Uygulama, ML.NET ile paralel olarak kullanılabilir ve ML.NET kullanarak makine öğrenimi gerçekleştirirken ONNX çalışma zamanı kullanılarak ONNX modellerinin yürütülmesine olanak tanır. Sunucu, ONNX modelini oluşturmak için kullanılan teknikleri, kitaplıkları ve adım adım talimatları içeren bir GitHub deposunu paylaşır. ONNX biçiminin kullanılması, platformlar arası bir çalışma zamanı motoruna olanak tanır ve veri bilimcileri ile uygulama geliştiricileri arasındaki boşluğu doldurmaya yardımcı olur. Oturumun değeri, diğer algoritmalarla birlikte kullanılabilen bir kavram kanıtı sisteminin pratik uygulamasında yatmaktadır.

  • 00:00:00 Bu bölümde, konuşmacı Scikit-learn makine öğrenimi modellerini .NET ekosistemine entegre etme konusunu tanıtıyor ve bunun nasıl yapılacağına dair pratik bir örnek gösteriyor. Ayrıca, Açık Sinir Ağı Değişim Formatını (ONNX) ve bunun, .NET ekosistemi içindeki modellerin konuşlandırılmasına nasıl yardımcı olduğunu tartışıyorlar. Konuşmacı, müşteri adayı puanlama sürecini otomatikleştiren tamamlayıcı bir araç geliştirmek için iş alanı bilgilerini kullanarak ekiplerinin dijital pazarlama alanında müşteri adayı puanlama projesini tanıtıyor. Müşteri adayı puanlama sürecine kısa bir genel bakış sağlarlar ve günün sonunda çalışır durumda olan bir sistem oluşturmanın önemini vurgularlar.

  • 00:05:00 Bu bölümde konuşmacı, müşteri adayı dönüştürme sürecini ve müşteri adayı puanlama ve oluşturma sürecini optimize etmede makine öğrenimine duyulan ihtiyacı açıklıyor. Konuşmacı, dijital pazarlama ve satış ekipleri tarafından üretilen büyük verinin önemini ve veriler için önceden belirlenmiş yapılandırılmış bir formata olan ihtiyacı vurguluyor. Makine öğrenimini kullanarak, geçmiş verileri almak ve potansiyel müşteri dönüştürme sürecini iyileştirmek için denetimli bir yaklaşım benimseyebilirler. Otomatikleştirilmiş araç, en önemli özellikleri belirleme ve daha fazla müşteri adayı oluşturmak için pazarlama stratejisinde ince ayar yapma gibi verilerden içgörüler sağlayarak pazarlama ve satış ekiplerinin verimliliğini en üst düzeye çıkarmayı amaçlar. Prototip, farklı kaynaklardan veri almayı ve makine öğrenimi modelini uygulamadan önce veri temizleme, keşif amaçlı veri analizi ve veri hazırlama gibi geleneksel veri bilimi tekniklerini uygulamayı içerir.

  • 00:10:00 Videonun bu bölümünde konuşmacı, veri içgörüleri oluşturma ve makine öğrenimi modelleri oluşturma sürecinin yanı sıra bu modelleri müşteriler ve şirketler tarafından kullanılmak üzere dağıtmanın zorluğunu tartışıyor. Bu dağıtım zorluğuna olası bir çözüm olarak ONNX'i (Açık Sinir Ağı Değişimi) tanıtıyorlar. ONNX, modelleri grafikler biçiminde temsil eden bir dosya biçimidir ve çerçeveden bağımsızdır, yani farklı makine öğrenimi araçları ve çerçeveleri arasında paylaşılabilir. ONNX çalışma zamanı, modelleri hedef ortamlara entegre etmek için bir dizi API'dir ve platformlar arasıdır ve yüksek performanslıdır. Konuşmacı, daha fazla bilgi için ONNX web sitesine ve GitHub'a bağlantılar sağlar.

  • 00:15:00 Bu bölümde konuşmacı, makine öğrenimi modellerini Python gibi veri bilimi araçları kullanılarak geliştirildikten sonra istemci sistemlere entegre etmenin zorluğunu tartışıyor. Modeller için birleşik bir biçim olarak ONNX'in kullanılmasını önerirler ve modelin bir .NET ekosisteminde nasıl içe aktarılacağını, okunacağını, oluşturulacağını, konuşlandırılacağını ve test edileceğini gösterirler. Konuşmacı ayrıca, veriye dayalı pazarlama için bir prototip oluşturmak için kullanılabilecek, halka açık bir müşteri adayı puanlama veri kümesinden de bahseder. Lider puanlama senaryoları için regresyon ve sınıflandırma dahil olmak üzere veri temizleme, keşif amaçlı veri analizi ve denetimli makine öğrenimi gibi teknikleri tartışırlar. Amaç, pazarlama ve satış ekipleri için verimliliği en üst düzeye çıkarmak ve en potansiyel müşterilere odaklanarak performansı artırmaya yardımcı olmaktır.

  • 00:20:00 Videonun bu bölümünde konuşmacı, scikit-learn ML Modellerini ONNX kullanarak ML.NET ile entegre etmek için kullandıkları araçlara ve paketlere genel bir bakış sunar. Python bilgi işlem için Anaconda dağıtımını, Python tabanlı scikit-learn kitaplığı ile modelleri oluşturmak için Jupyter notebook'u ve ONNX sürüm 1.9 ve ONNX runtime sürüm 181 ile .NET sürüm 6'yı kullandıklarını belirtiyorlar. Konuşmacı kısaca veri setinin üzerinden geçiyor veri düzenleme, keşfedici veri analizi ve performans değerlendirme ölçütleri için kullandıkları ve uyguladıkları teknikler. Ayrıca, Lipliner algoritmasını kullanarak sınıflandırma amacıyla lojistik regresyonu kullanarak %82'nin üzerinde doğrulukla bir lojistik model oluşturduklarını belirtiyorlar.

  • 00:25:00 Bu bölümde sunum yapan kişi, müşteri adayı puanlamasını tahmin etmek için bir lojistik regresyon modeli oluşturma ve ardından onu bir pkl dosyası olarak kaydetmek için Python'daki turşu kitaplığını kullanarak seri hale getirme sürecini tartışıyor. Daha sonra sunum yapan kişi, modeli test etmek için pkl dosyasını yükler ve sonuç, test setinde 0,76'lık bir doğruluk gösterir. Sunucu daha sonra, modelin scikit-learn'den Microsoft.NET ekosisteminde dağıtılması için gerekli olan ONNX formatına nasıl dönüştürüleceğini gösterir. Bu bölüm, scikit-learn makine öğrenimi modellerinin ONNX kullanarak ML.NET ile nasıl entegre edileceğine dair pratik bir kılavuz görevi görebilir.

  • 00:30:00 Bu bölümde, konuşmacı scikit-learn ML modellerini ONNX kullanarak ML.NET ile entegre etme sürecini tartışıyor. Herhangi bir makine öğrenimini uygulamadan önce ML.NET'in ONNX dönüştürücüleri tarafından desteklenen algoritmalar listesinin kontrol edilmesini öneriyorlar ve SK2ONNX destekli dönüştürücülerin nasıl içe aktarılacağını gösteriyorlar. Ardından, modeli ve özellik sayısını depolamak için yolu tanımlarlar, şemanın girdileri adlandırmadaki önemini vurgularlar ve bunları akış tensör tipine dönüştürürler. Son olarak, convert_sklearn işlevini kullanarak, modeli ve önceden tanımlanan başlangıç türlerini kullanarak ONNX modelinin nasıl oluşturulacağını gösterirler.

  • 00:35:00 Bu bölümde, konuşmacı Python tabanlı scikit-learn makine öğrenimi modelinin ONNX biçiminde nasıl kaydedileceğini ve ONNX çalışma zamanının çıkarım oturumunu kullanarak ONNX modelinin nasıl çalıştırılacağını gösterir. ONNX modelinin giriş adı tanımlanır ve imza çıktı adları bu gösterim için ilgi çekici değildir. Ayrıca, tahmin_proba yöntemi kullanılarak dönüştürülme veya dönüştürülmeme olasılıkları çıkarılmakta ve öncü puanlama modeli için göstergeler ve belirli senaryo ağırlıkları olarak kullanılmaktadır.

  • 00:40:00 Bu bölümde konuşmacı, Visual Studio 2022'de bir scikit-learn ML modelini, özellikle bir lojistik regresyon modelini ONNX kullanan .NET ekosistemiyle entegre etmek için boş bir çözüm oluşturarak başlıyor. Konuşmacı daha sonra çözümde bir Azure işlevi oluşturur ve bunu bir HTTP tetikleyicisi olarak .NET 6 ile uygulamak için standart kodu alır. Ayrıştırılacak ve sistemin entegrasyonu için kullanılacak olan JSON formatındaki giriş özelliklerine sahip yeni bir istek oluşturmak için Insomnia'yı kullanırlar. Konuşmacı, NuGet'ten Microsoft ML ONNX çalışma zamanı paketini yükler ve giriş özelliği kümesini açıklamak için bir sınıf oluşturur. Konuşmacı daha sonra entegrasyon sürecini hızlandırmak için kod parçacıklarını kullanır.

  • 00:45:00 Bu bölümde konuşmacı, istek gövdesini bir makine öğrenimi modeline girdi olarak göndermek için JSON dönüştürücüyü kullanarak bir API'den nasıl alınacağını ve seri durumundan nasıl çıkarılacağını tartışır. LLSLead Puanlama Modeli parametre sınıfından bir nesne oluştururlar ve seri hale getirilmiş istek gövdesinden buna değerler atarlar. Ayrıca, giriş tensörünü uygulamanın ve girdi verilerini tensörün bir TensorFlow nesnesine dönüştürmenin önemini açıklar, böylece çıkarım oturumuna dahil edilebilir. Son olarak, ONNX çalışma zamanını kullanarak bir çıkarım oturumu oluştururlar ve makine öğrenimi modelini çalıştırmak için oturum çıktısını alırlar.

  • 00:50:00 Bu bölümde sunum yapan kişi, ONNX kullanarak scikit-learn ML modellerinin ML.NET ile nasıl entegre edileceğini göstermeye çalışır, ancak Visual Studio ile teknik zorluklarla karşılaşır. Sunucu, sorunu düzeltmeye çalıştıktan sonra kod parçacıklarını göstermeye başvurur ve entegrasyon için gereken gerekli paketleri ve giriş tensörlerini tartışır. Aksiliklere rağmen sunum yapan kişi, izleyicilerin kendi başlarına erişip deneyebilmeleri için demoda kullanılan işlev ve giriş özellik setine bir bağlantı sağlayabilir.

  • 00:55:00 Bu bölümde sunum yapan kişi, scikit-learn makine öğrenimi modellerini ML.NET ile entegre etmek için ONNX'in nasıl kullanılacağını gösterir. İlk olarak, tahmin-olasılık uygulamasından çıkan olasılıkların nasıl çözüleceğini ve bunların dönüştürülme veya dönüştürülmeme olasılıklarını temsil eden uzun ve kayan değerlerden oluşan bir sözlüğe nasıl dönüştürüleceğini gösterirler. Daha sonra bu olasılıkları, bir Uykusuzluk mesajında gösterdikleri, dönüştürülen ve dönüştürülmeyen bir müşteri adayı puanı elde etmek için kullanırlar. Son olarak, test setinden bir kaydın modele nasıl gönderildiğini göstermek için bir Jupyter not defteri kullanırlar ve bireyin dönüştürülme olasılığının yüksek olduğunu gösteren bir çıktı değerine karşılık gelirler.

  • 01:00:00 Bu bölümde sunum yapan kişi, Açık Sinir Ağı Değişimi (ONNX) formatının kullanımının, başka bir çerçevenin parçası olarak uygulanabilecek bir lider puanlama ONNX modelinin oluşturulmasına nasıl izin verdiğini gösterir. Sunucu, bunun TensorFlow, Keras ve Dot Net hedefleme çerçevesi kullanılarak yapılabileceğini gösteriyor. Sunucu ayrıca, ortaya çıkan ONNX modeline dayanarak, bu dosya formatını Dot Net ekosistemine dahil edebildiğini ve ardından oturumu çalıştırabilen ve sonuçları alabilen basit bir çözüm oluşturabildiklerini gösterir. Ayrıca, ONNX formatını kullanmanın platformlar arası bir çalışma zamanı motoruna nasıl izin verdiğini ve veri bilimcileri ile uygulama geliştiricileri arasındaki boşluğu doldurmaya nasıl yardımcı olduğunu tartışıyorlar. Sunucu, GitHub'da bir not defteri belgesi ve ONNX modellerini Dot Net ekosistemine entegre etmeye başlamak için gereken çalışma alanını içeren bir kod havuzunu paylaşır.

  • 01:05:00 Bu bölümde sunum yapan kişi, ONNX modelini oluşturmak için kullanılan teknikleri, kitaplıkları ve adım adım talimatları içeren bir GitHub deposunu paylaşır; en önemli kısmı ONNX ve ONNX çalışma zamanı paketlerinin birleştirilmesidir. . Sunucu ayrıca, uygulamanın ML.NET ile paralel olarak kullanılabileceğini vurgulayarak, ML.NET kullanarak makine öğrenimi gerçekleştirirken ONNX çalışma zamanı kullanılarak ONNX modellerinin yürütülmesini sağlar. Son olarak sunum yapan kişi, katılımcılara sabırları ve zamanları için teşekkür eder ve oturumun değerinin, diğer algoritmalarla birlikte kullanılabilen bir kavram kanıtlama sisteminin pratik uygulamasında yattığını belirtir.
 

ONNX ve .NET ile makine öğrenimi modelleri | .NET Yapılandırması 2022



ONNX ve .NET ile makine öğrenimi modelleri | .NET Yapılandırması 2022

.NET Conf 2022'den "ONNX ve .NET ile makine öğrenimi modelleri" videosu, izleyicilere derin öğrenme ile geleneksel programlama arasındaki fark da dahil olmak üzere yapay zeka ve makine öğrenimi kavramlarını tanıtıyor. Sunum yapan kişiler, Azure Machine Learning, PyTorch ve ONNX'e genel bir bakış sunar ve ONNX ve .NET ile makine öğrenimi modellerini eğitmek için Azure Machine Learning kullanılarak bir işlem hattının nasıl oluşturulacağını gösterir. Ayrıca bir makine öğrenimi modelinin bir .NET Maui uygulamasına nasıl entegre edileceğini açıklar ve mobil cihazlar için ONNX modellerinin boyutunu küçültme tekniklerini tartışırlar. Bölüm, erişilebilirliği tartışacak olan sonraki konuşmacı Rory'nin tanıtılmasıyla sona erer.

  • 00:00:00 Videonun bu bölümünde, Beatriz ve Henk yapay zekayı, makine öğrenimini ve ikisi arasındaki farkı tanıtıyor. Makine öğreniminin yapay zekanın bir alt kümesi olduğunu ve bir algoritma ile açıkça programlanmadan verilerden öğrenme yeteneğine sahip olduğunu açıklıyorlar. Bunun yerine, sağlanan verilere dayalı olarak, daha sonra tahminlerde bulunmak veya kararlar almak için kullanılabilecek bir model üretir.

  • 00:05:00 Bu bölümde konuşmacı, makine öğreniminin eğitim ve tahmin aşamaları arasındaki farkı açıklıyor. Tahmin aşaması, bir modele veya algoritmaya girdi verildiği, bir yanıt veya tahmin ürettiği ve geleneksel programlama ile çözülmesi zor olan karmaşık problemlerin çözülmesini sağlayan geleneksel programlama gibi çalışır. Konuşmacı ayrıca beyinden ilham alan yapay sinir ağlarına dayalı makine öğreniminin bir alt kümesi olan derin öğrenmeden de bahsediyor. Konuşmacının videoda sunduğu demo, sınıflandırma, nesne algılama ve görüntü bölümlemeyi içeren görsel dünyayı yorumlamak ve anlamak için bilgisayarları eğiten bir yapay zeka alanı olan bilgisayar görüşünü kullanır. Son olarak, konuşmacı, bir görev için eğitilmiş bir modelin farklı bir görev için başlangıç noktası olarak kullanıldığı ve modelin eğitiminde zamandan tasarruf edildiği transfer öğrenimi kavramını tartışır.

  • 00:10:00 Bu bölümde sunum yapan kişiler, makine öğrenimi modelleri için kullanacakları iki çerçeveye genel bir bakış sunar: PyTorch ve ONNX. PyTorch, sunucuların bu demo için tercih ettiği açık kaynaklı bir derin öğrenme çerçevesidir; ONNX ise yapay zeka geliştiricilerinin çeşitli çerçevelerde modelleri kullanmasını sağlayan makine öğrenimi modellerini temsil etmek için oluşturulmuş açık bir formattır. ONNX'in, modellerini oluşturmak için PyTorch kullanmalarına izin verdiğini ve ardından onu ONNX'e kaydederek, bu modeli .NET MAUI içinden okumayı mümkün kıldığını açıklıyorlar. Ayrıca, işbirlikçi makine öğrenimi iş yüklerini etkinleştiren bir dizi bulut hizmetinin yanı sıra temel öğeleri olan deneyler, veri depoları, ortamlar ve model yönetimi içeren Azure Machine Learning'i de tanıtıyorlar. Model yönetiminin hikayelerinin anahtarı olduğunu açıklıyorlar çünkü modellerini PyTorch'ta eğitecek ve model yönetimine kaydedecekler, böylece diğerleri kontrol edip istedikleri yazılımda kullanabilecekler. Ayrıca, veri kaynaklarını, veri kümelerini kullanabilen ve işlem hedeflerinde çalıştırabilen adımların iş akışları olan makine öğrenimi ardışık düzenlerine genel bir bakış sağlarlar.

  • 00:15:00 Bu bölümde, konuşmacı ONNX ve .NET ile makine öğrenimi modellerini eğitmek için Azure Machine Learning Tasarımcısı kullanılarak bir işlem hattının nasıl oluşturulacağını tartışır. İlk adım, Blob Storage'da depolanan verileri gözden geçirmektir. Ardından, tasarımcıyı kullanarak bileşenleri tuvale sürükleyip bırakmalarına olanak tanıyan yeni bir ardışık düzen oluştururlar. Seçtikleri bileşenler arasında PyTorch modeli, ONNX dönüştürücü ve model eğitmeni bulunur. Bileşenler tanımlandıktan sonra konuşmacı, işlem hattını BumbleBee adlı Azure Machine Learning hesaplamasında çalıştırır. Bileşen tanımının özelliklerini ve eğitim dosyasının kodunu gösterirler.

  • 00:20:00 Bu bölümde sunum yapan kişi, bir makine öğrenimi modeli oluşturmak ve onu bir .NET Maui uygulamasına entegre etmek için ONNX ve .NET'in nasıl kullanılacağını gösterir. Model, Python ve PyTorch ile Azure Machine Learning kullanılarak eğitildi ve ONNX formatına dönüştürüldü. Model daha sonra Model Yönetimine kaydedildi ve bir .NET uygulamasında kullanıldı. Sunum yapan kişi, veri bilimcilerin kendi seçtikleri dille çalışmalarına ve geliştiricilerin kendi dillerinde uygulamalar geliştirmelerine izin vermenin önemini açıklıyor. Sunumda kullanılan tüm örnek kodlar, sağlanan bağlantının yanı sıra makine öğrenimi ve yapay zeka geliştirici rolü hakkında daha fazla bilgi edinmek için diğer kaynaklarda bulunabilir.

  • 00:25:00 Videonun bu bölümünde sunum yapan kişiler, ONNX modellerinin dosya boyutunu ve onları küçültmek ve mobil cihazlarda daha iyi çalışmak için kullanılan teknikleri tartışıyor. Performanstan biraz ödün vermek anlamına gelse bile, modellerin boyutunu küçültmeye adanmış çok büyük bir makine öğrenimi alanı olduğunu vurguluyorlar. Ayrıca bir mobil uygulamada farklı AI modelleri kullanan Seeing AI adlı bir projeden bahsediyorlar ve izleyicilerin bunu kendileri kontrol etmelerini öneriyorlar. Son olarak sunum yapan kişiler, erişilebilirliği tartışacak olan bir sonraki konuşmacı olarak Rory'yi takdim eder.
 

.NET Live'da - Makine öğrenimi modellerinin ONNX, C# .... ve Pokemon ile çalıştırılması!



.NET Live'da - Makine öğrenimi modellerinin ONNX, C# .... ve Pokemon ile çalıştırılması!

Bu On.NET Live videosunda sunucular, makine öğrenimi modellerini ONNX ile çalıştırmayı tartışıyor ve Cassie Kozyrkov'u özel konuk olarak getiriyor. Kozyrkov, akıl hocalığının önemini vurguluyor ve ONNX'i veri bilimcileri ile yazılım mühendisleri arasındaki boşluğu doldurmanın bir yolu olarak kullanmayı tartışıyor. Konuşma, doğal dil işlemeyi kullanarak bir makine öğrenimi modeli oluşturma ve veri dönüştürmenin öneminden, görünmeyen verilerle test etmeye ve modeli Azure İşlevleri aracılığıyla dağıtmaya kadar çeşitli konuları kapsar. Konuşmacılar ayrıca ONNX ve makine öğrenimi modellerini daha kapsamlı bir şekilde keşfetmekle ilgilenenler için Azure Machine Learning ve mevcut kaynakları tartışıyor.

On.NET Live videosu, makine öğrenimi modellerinin ONNX, C# ve (eğlence için) Pokemon ile çalıştırılmasını tartışır. İlk sunum yapan kişi, modellerin farklı çerçevelerde kaydedilmesine ve yüklenmesine olanak tanıyan bir makine öğrenimi formatı olan ONNX'ten ve .NET kullanılarak modellerin nasıl çalıştırılacağından bahsediyor. İkinci sunum yapan kişi, bir Pokemon görüntü sınıflandırıcısı oluşturmak için ML.NET'i kullanmayı tartışır ve dağıtım için nasıl çalıştırılabileceğini gösterir. Genel olarak video, makine öğrenimi modellerini ONNX ve C# ile çalıştırmaya ilişkin harika bir genel bakış sunar.

  • 00:00:00 Videonun bu bölümünde sunucular, Onnx ve hatta muhtemelen Pokémon ile makine öğrenimini tartışacak olan özel konuğu Cassie'yi tanıtıyor. Sohbet ayrıca, Cassie ve ekibi tarafından insanların yeni geliştirme becerileri öğrenmelerine ve kariyer değiştiricileri güçlendirmelerine yardımcı olmak için düzenlenen .NET Conf ve Start Dev Change gibi yaklaşan konferanslar hakkında duyuruları da içerir. Konferans, bireylerin tutkularını bulmalarına ve kariyer değişikliği yapmalarına yardımcı olmak amacıyla çeşitli teknik alanları kapsıyordu.

  • 00:05:00 Bu bölümde Cassie Kozyrkov, akıl hocalığının öneminden ve özellikle insanların pandemi nedeniyle mücadele ettiği bu zamanlarda insanların Start Dev Change gibi girişimlere katılma ihtiyacından bahsediyor. Ardından, makine öğrenimi modellerini kaydetmeye ve bunları farklı ortamlara dağıtmaya yönelik açık biçim olan ONNX'i tartışıyor. Cassie, ONNX'in, özellikle departmanlar arasında bir kopukluk olduğu durumlarda, veri bilimcilerin yaptıkları ile yazılım mühendislerinin yaptıkları arasında dünya çapında köprü kurmayı kolaylaştırdığını açıklıyor. ONNX ile modeller, proje için en uygun şekilde konuşlandırabilen DevOps tarafına aktarılabilir ve C#, C++ ve Python dahil olmak üzere farklı uygulamalarda kullanılabilir.

  • 00:10:00 Bu bölümde konuşmacı, şarap açıklamalarından veri almak için doğal dil işlemeyi kullanarak ve bunu şarabın çeşitliliğini, puan değerini ve fiyat aralığını tahmin etmek için kullanarak bir makine öğrenimi modeli oluşturmayı anlatıyor. Şarap sihirbazlarından büyük bir veri kütüphanesi kullanmaktan ve modeli farklı özelliklerle oluşturmaktan bahsediyorlar. Model Python ile oluşturulmuş ve Jupyter Notebooks içinde eğitilmiştir. Konuşmacı ayrıca Pandaların verileri işlemek için nasıl kullanıldığını açıklıyor ve veri kümesindeki en yaygın sözcükleri göstermek için bir sözcük bulutu gösteriyor.

  • 00:15:00 Bu bölümde, konuşmacı makine öğrenimine yönelik farklı yaklaşımları ve belirli bir görev için uygun olanın nasıl seçileceğini tartışıyor. Daha fazla katman ve sinir ağı gerektiren derin öğrenme ile klasik makine öğrenimi ile derin öğrenme arasındaki farkı açıklıyorlar. Konuşmacı, klasik bir makine öğrenimi kitaplığı olan scikit-learn ile başlamanızı ve neyin en iyi çalıştığını görmek için farklı algoritmalarla denemeler yapmanızı önerir. Ayrıca, metin verilerini işlerken veri dönüştürme ve simgeleştirmenin önemini ve model doğruluğunu model boyutuyla nasıl dengeleyeceğinizi tartışıyorlar.

  • 00:20:00 Bu bölümde, konuşmacı, modeli fiilen eğitmeden önce veri temizleme ve özellik çıkarma gibi makine öğrenimi için gerekli veri işlemeyi tartışıyor. Modeli gerçek dünya üretim verilerine uygularken sonuçlar farklılık gösterebileceğinden, görünmeyen verilerle test etmenin önemini vurguluyor ve yalnızca doğruluğa güvenmemeye dikkat ediyorlar. Konuşmacı ayrıca dağıtım aşamasına geçmeden önce bir veri ardışık düzeninin nasıl kurulacağını ve bir makine öğrenimi modeli oluşturmak için bir lojistik regresyon modelinin nasıl kullanılacağını gösterir.

  • 00:25:00 Bu bölümde konuşmacılar, kullanılan doğal dil işleme modelini ve bunun için kullanılan, scikit-learn kitaplığının bir parçası olan CountVectorizer algoritmasını tartışıyor. Videoda gösterilen ardışık düzen, CountVectorizer ve lojistik regresyon modelini içerir. Yazarlar, modelin ONNX çalışma zamanı kullanılarak nasıl dışa aktarılacağını ve bir ONNX dosyası olarak nasıl kaydedileceğini açıklar. Çalışma zamanının, devreye aldığı donanımı hesaba katan ve ona önemli bir hız avantajı sağlayan daha iyi performansını tartışmaya devam ediyorlar.

  • 00:30:00 Bu bölümde sunum yapan kişiler, modelin konuşlandırılmasını ve çıkarım sürecini tartışırlar. Bir model dağıtmanın, Azure makine öğrenimini kullanmaktan kapsayıcı kaynağına veya Azure işlevi gibi sunucusuz tekliflere kadar değişebilen, belirli bir durum için uygun mimariyi ve projeleri dikkate almayı içerdiğini belirtiyorlar. Model ve kodun buluta yüklenmesi gerekir ve bu özel durumda model, blob depolamada depolanır ve ardından işlev tarafından tüketilir. Sunum yapan kişiler, çıkarım sürecini hızlandırmak için verileri önbelleğe almanın önemine de değiniyor ve işlevdeki modeli çalıştırmak için sözlük ve çıkarım oturumunun nasıl çalıştığını açıklıyor. Veri tipini anlamak gerekli olsa da, başarılı bir şekilde çalıştırmak için modelin nasıl oluşturulduğunu anlamak gerekmez.

  • 00:35:00 değil. Bu bölümde konuşmacı, makine öğrenimi modellerini ONNX ile işlevsel hale getirme sürecini ve bunun bir veri bilimcinin yardımı olmadan nasıl yapılabileceğini tartışıyor. Girdi biçimini anlamanın ve tensörü oluşturmanın önemini vurgularlar ve ayrıca model sonuçlarını istenen biçime dönüştürme sürecini açıklarlar. Konuşmacı, model çıktısına ulaşmak için gereken katmanlarda basitleştirme ihtiyacından ve daha iyi sonuçlar için verilerin nasıl temizlenebileceğinden ve kovalanabileceğinden bahseder. Ayrıca, modeli yeniden eğitmek için ölçüm ve geri bildirim toplama olasılığına da değiniyorlar.

  • 00:40:00 Bu bölümde konuşmacılar, test etmenin ve bir makine öğrenimi modelinin tahminlerde nasıl çalıştığını anlamanın önemini tartışıyor. Birim testleri oluşturma ve otomatikleştirilmiş testleri normal geliştirme sürecine dahil etme fikrini gündeme getiriyorlar. Ek olarak, modelin tahminleriyle ilgili olası sorunları belirlemeye yardımcı olabilecek model yorumlanabilirliği için Azure Machine Learning'de bulunan araçlardan bahsederler. Son olarak, modeli Visual Studio Code'un uzantısı aracılığıyla bir HTTP tetikleyicisi içinde dağıtmaya değinirler.

  • 00:45:00 Bu bölümde konuşmacılar, makine öğrenimi kullanılarak oluşturulan ve Azure'da dağıtılan eğlenceli bir şarap tadımı oyununu tartışıyor. Web sitesinin bağlantısını paylaşıyorlar ve modelin Winemag'ın şarap garsonu açıklamaları kullanılarak nasıl eğitildiğinden ve modeli Azure'a dağıtmak için Azure işlevlerini nasıl kullandıklarından bahsediyorlar. Ayrıca, Azure makine öğreniminin kurumsal makine öğrenimi için ideal hale getiren bulut bilgi işlem, GPU hızlandırma ve model sürüm oluşturma araçları da dahil olmak üzere daha geniş kullanımlarını tartışıyorlar. Buna rağmen, bir uç noktaya dağıtımın gerekli olmadığı zamanlar olabilir ve Azure makine öğrenimi bu basitliğe izin verir.

  • 00:50:00 Bu bölümde konuşmacı, yalnızca bir model oluşturmanın ve onu uç noktalar aracılığıyla tüketmenin ötesine geçen Azure Machine Learning'in çeşitli özelliklerini ve yeteneklerini tartışıyor. Makine öğrenimi modellerinin oluşturulması ve devreye alınmasında veri bilimcileri ve geliştiriciler arasında işbirliğine olanak tanıyan deneme tezgahı, model sürüm oluşturma ve bilgi işlem ile DevOps eklentilerini vurgularlar. Ayrıca, aracın sürekli gelişen doğasından da bahsediyorlar ve kullanıcılar bir süredir bakmadıysa yeniden ziyaret etmelerini tavsiye ediyorlar. Konuşmacı, ONNX'i C# ile kullanma ve Azure İşlevleri aracılığıyla dağıtma hakkında daha fazla bilgi edinmek isteyenler için GitHub deposuna ve blog gönderisine bağlantılar sağlar.

  • 00:55:00 Bu bölümde, konuşmacılar genel olarak ONNX ve makine öğrenimi modellerini keşfetmekle ilgilenenler için mevcut olan çeşitli kaynakları tartışıyor. ONNX tarafından sağlanan öğretici ve örnek not defterlerine bakmanın yanı sıra Github'daki açık kaynak kodlarını keşfetmenizi tavsiye ediyorlar. Ek olarak, kapsamlı koda ihtiyaç duymadan bilgisayarla görme modelleri oluşturmak için Özel Görüntüleme gibi araçları kullanmayı kısaca tartışıyorlar. Son olarak, gelecekte bir Pokemon tespit modeli oluşturmakla ilgili şaka yapıyorlar ve daha fazla makine öğrenimi duyurusu için Kasım ayında gerçekleşecek olan .NET Conf'a göz atmanızı tavsiye ediyorlar.
 

Machine Learning Community Standup - PyTorch ONNX ile Derin Öğrenme



Machine Learning Community Standup - PyTorch ve ONNX ile Derin Öğrenme

"Machine Learning Community Standup - PyTorch ve ONNX ile Derin Öğrenme" videosu, makine öğrenimi, PyTorch ve ONNX ile ilgili çeşitli konuları kapsar. Bir bölüm, aşırı uydurmayı ve bırakma ve çapraz doğrulama kullanarak sinir ağlarında bunun nasıl önleneceğini kapsar. Toplantı sahipleri ayrıca çeşitli topluluk tabanlı makine öğrenimi projelerini ve .NET'i makine öğrenimi ile kullanma konusundaki yaklaşan etkinliklerini vurguluyor. Videoda ayrıca, torç görüşü ve dönüştürmeler gibi çeşitli yerleşik modüllere sahip, bilgisayar görüşü ve doğal dil işleme için kullanılan popüler bir makine öğrenimi kitaplığı olan PyTorch tanıtılıyor. Konuşmacılar, makine öğrenimi modellerini temsil etmek için ONNX biçimini ve birden çok dilde çıkarım ve eğitim çalıştırmak için çalışma zamanını açıklıyor. Öğretici ayrıca PyTorch'un model hayvanat bahçesinde önceden oluşturulmuş modellerin nasıl kullanılacağını tartışır ve Jupyter Notebooks ve Anaconda kullanarak Python paketlerinde ve ortamlarında hata ayıklamayı ve yönetmeyi kapsar. Ek olarak, öğretici, modellerin performansını artırmak için ONNX çalışma zamanı ile kullanılabilen ONNX kullanarak bir PyTorch modelinin eğitiminin ve dışa aktarılmasının ayrıntılarını kapsar.

Video ayrıca makine öğrenimi ve derin öğrenme ile ilgili çeşitli konuları da tartışıyor. Konuşmacılar, Xamarin'de görüntü işleme için SkiaSharp'ı kullanma ve cihaz üstü modellerin boyutları nedeniyle sınırlamaları hakkında konuşuyor, ancak cihaz üstü modellere sahip olmanın avantajlarına dikkat çekiyor. Ayrıca makine öğrenimi teorisini öğrenmek için Andrew Ng Coursera sınıfı gibi çeşitli kaynaklar ve makine öğrenimi modelleri oluşturmak için araçları ve kitaplıkları kullanma hakkında üst düzey bilgiler veren uygulamalı bir makine öğrenimi sınıfı önerirler. Makine öğrenimini öğrenirken bir hedefe sahip olmanın ve öğrenimi kişinin işine dahil etmenin öneminden de bahsediliyor. Son olarak, konuşmacı dinleyicilerin ilgisini çekebilecek yaklaşan içerik hakkında ipuçları verir.

  • 00:00:00 Bu bölümde, sunucular, PyTorch ve ONNX hakkında konuşacak olan ONNX çalışma zamanı ekibinde Microsoft'ta kıdemli bir program yöneticisi olan konuğu Cassie Breviu'yu tanıtıyor. .NET'i PyTorch gibi kitaplıklarla kullanmakla ilgili olan önceki akışın konusunu kısaca özetliyorlar. Ana konuya girmeden önce, toplantı sahipleri, makine öğrenimi konseptleri hakkında konuştukları yeni bir bölüm tanıtıyor ve bu bölümü bırakma ile başlıyor. Bırakma, eğitim sırasında bazı düğümlerin rastgele çıkarılmasıyla elde edilen sinir ağlarında aşırı uyumu önleme yöntemidir.

  • 00:05:00 Videonun bu bölümünde toplantı sahipleri fazla uydurmayı ve bırakma ve çapraz doğrulama kullanımının makine öğrenimi modellerindeki sorunu çözmeye nasıl yardımcı olabileceğini tartışıyor. Bir eğitim setinde %100 doğruluk elde etmenin her zaman iyi bir şey olmadığını ve gerçek veriler üzerinde düşük performansa yol açabileceğini belirtiyorlar. Bir sınava çalışmak ve arkasındaki kavramları anlamadan cevapları ezberlemekle bir benzetme yaparlar. Toplantı sahipleri daha sonra topluluk bağlantılarına geçer ve sunucusuz makine öğrenimi çözümleri oluşturma, duygu analizi uygulamaları, AutoML ve Model Builder kullanma ve Azure kullanarak bir görüntü sınıflandırma modeli eğitimi dahil olmak üzere topluluk içinden çeşitli projelerden ve sunumlardan bahseder. Bu projeler, kullanıcıların AI çözümlerini daha verimli bir şekilde oluşturmasına ve dağıtmasına yardımcı olmayı amaçlamaktadır.

  • 00:10:00 Bu bölümde konuşmacı, görüntü sınıflandırma modellerini eğitmek için Azure'ın nasıl kullanılacağına ilişkin bir eğitimden ve YOLO v5 modeliyle ONNX çalışma zamanı ve nesne algılamanın kullanımına ilişkin bir gösterimden bahsediyor. Ayrıca, katılımcıların bu ayın sonunda çıkacak bir öğrenme modülünden geçecekleri Let's Learn .NET Machine Learning'e Odaklanma etkinliği de dahil olmak üzere, makine öğrenimi ve .NET hakkında yaklaşan birkaç etkinlikten bahsediyorlar. Ardından, Jüpiter not defterlerine benzer not defterlerinin kullanımına izin veren Visual Studio'daki yeni özelliği ve bunun kullanıcıların düşük kodlu bir kullanıcı arabiriminden kodlamaya, makine öğrenimine ve daha derin öğrenmeye tersine mühendislik yapmalarına nasıl olanak tanıdığını tartışıyorlar. Son olarak, not defterlerinin kullanıcı kılavuzları ve örnekler için standart format haline gelmesi, kullanıcıların not defteri dosyalarını indirerek kod hücrelerini çalıştırması ve wiki sayfalarını veya diğer işaretleme dosyalarını okumak yerine bir API kullanmayı öğrenmesi için umutlarını dile getiriyorlar.

  • 00:15:00 Bu bölümde, konuşmacılar Microsoft Learn ve ML.NET'te yapılan çeşitli güncellemeleri ve geliştirmeleri tartışıyorlar. Python yerel ortamlarını nasıl yapılandıracağını bilmeyenler için kolaylaştıran, web kullanıcı arabirimi aracılığıyla erişilebilen etkileşimli not defteri desteğinden bahsediyorlar. Ayrıca, kullanıcıların özel sinir ağları oluşturmasına ve bunları ONNX çalışma zamanı ile yakından entegre etmesine olanak tanıyan ve derin öğrenme modellerini kullanma deneyimini iyileştiren Torch Sharp kitaplığını da vurguluyorlar. Ek olarak, diğer şeylerin yanı sıra ad tanıma, dinamik veri girişi ve çıktı ve zaman serisi tahmini için planlarla ML.NET içinde etik ve sorumlu yapay zekaya odaklanılır. Genel olarak, konuşmacılar kullanıcılardan gelen geri bildirimlerin önemini vurgular ve onları iyileştirmeler için önerilerde bulunmaya teşvik eder.

  • 00:20:00 Videonun bu bölümünde konuşmacı, özellikle kullanılan farklı araçlar ve kitaplıklar açısından makine öğrenimi modelleri oluştururken geliştirme akışının nasıl değişebileceğini tartışıyor. Geleneksel programlamayı makine öğrenimiyle karşılaştırıyorlar ve ikincisi ile verilerin bir model üretmek için bir algoritmaya beslendiğini ve bunun daha sonra çıkarım için kullanıldığını açıklıyorlar. Konuşmacı daha sonra açık kaynaklı bir makine öğrenimi kitaplığı olan PyTorch'u ve sinir ağı işlevi ve veri yardımcı programları dahil olmak üzere çeşitli bileşenlerini tanıtmaya devam ediyor. Ayrıca TensorFlow ve scikit-learn gibi diğer kitaplıkların yanı sıra Jupyter not defterleri ve VS Code gibi araçlara da değiniyorlar.

  • 00:25:00 Bu bölümde konuşmacı, bilgisayarla görme ve doğal dil işlemede yaygın olarak kullanılan popüler bir makine öğrenimi kitaplığı olan PyTorch'a genel bir bakış sunar. Kütüphane, bilgisayar görüşü için meşale görüşü, ses verileri için meşale sesi ve doğal dil işleme için meşale metni gibi çeşitli modüller içerir. Veriler, makine öğreniminin belkemiği olduğundan, modüller ayrıca veri kümeleri, veri yükleyiciler ve verileri bir modelle eğitime hazırlamak için dönüşümler gibi ön işleme işlevleri sağlar. Konuşmacı, kitaplık ve işlevleri hakkında daha fazla bilgi edinmek için PyTorch'ta etkileşimli bir öğretici kullanmanızı önerir. Ayrıca, makine öğrenimi modellerini temsil etmek için oluşturulmuş açık bir biçim olan ONNX'i ve birden çok dilde çıkarım ve eğitim sağlayan platformlar arası bir dağıtım aracı olan ONNX runtime'ı da tanıtıyorlar.

  • 00:30:00 Bu bölümde, konuşmacılar Blazor'da ONNX modellerinin kullanımını tartışırken, Cassie henüz denemediğini itiraf ediyor. Ayrıca PyTorch, Scikit-learn veya TensorFlow gibi kitaplıkları kullanarak modellerin ONNX formatına nasıl dönüştürüleceğinden de bahsediyorlar. ONNX modellerini kullanmak basittir, çünkü tek yapmanız gereken ONNX çalışma zamanı kitaplığını içe aktarmak, bir çıkarım oturumu oluşturmak ve bir sonuç almak için giriş verilerinizi iletmek. Python bu konuda diğer dillere kıyasla güçlü kabul edildiğinden, zorluk farklı dillerde veri işleme ile birlikte gelir. Konuşmacılar ayrıca, yardımcı olması için mevcut örnek kodlarla çıkarım yapmak için kullanılabilecek önceden oluşturulmuş modellere sahip olan model hayvanat bahçesinden de bahsediyor.

  • 00:35:00 Bu bölümde, konuşmacı, bir tür evrişimli sinir ağı (CNN) olan hızlı rcnn kullanarak nesne bölümlemeye odaklanarak, PyTorch'un model hayvanat bahçesindeki önceden oluşturulmuş modellerin nasıl kullanılacağını tartışıyor. Konuşmacı ayrıca tensörlerle çalışmaya ve NumPy kullanarak onları manipüle etmeye kısaca değiniyor ve PyTorch'un tensörleri verimli bir şekilde manipüle etmeyi öğrenmek için etkileşimli bir not defteri sağladığına dikkat çekiyor. Ek olarak, konuşmacı, PyTorch'un veri setlerinin, onları bir açık kaynak havuzundan indiren "torchvision.datasets" kullanılarak elde edildiğini belirtiyor.

  • 00:40:00 Videonun bu bölümünde konuşmacı, kullanılan koda ve farklı blob depolama konumlarına erişim sağlayan PyTorch'un açık kaynak doğasını tartışıyor. PyTorch belgelerinin, erişilebilen tüm mevcut veri kümelerini nasıl listelediğini, veri kümelerinin yalnızca farklı açık kaynak veri kümelerinin etrafındaki bir sarmalayıcı olduğunu vurguluyorlar. Konuşmacı, açık kaynak veri kümelerini kullanmanın yasal sonuçlarını ve kaynaktan neyin alınıp neyin barındırılmaması gerektiğini vurgular. Videoda ayrıca veri kümeleri ve veri yükleyiciler, doğrulama için test verileri ve özel veri kümeleri oluşturma ele alınır. Son olarak, dönüşümlere ve verileri tensörlere dönüştürmek ve algoritma aracılığıyla işlemek için manipüle etmedeki önemine kısaca değinirler.

  • 00:45:00 Bu bölümde konuşmacı, Python paketlerini ve ortamlarını yönetmek için kullandığı araçlardan bahsediyor. Sevdiği ve Windows terminaline eklediği, farklı makine öğrenimi kitaplıkları için önceden yapılandırılmış farklı paketleri hızlı bir şekilde etkinleştirip kullanabileceği Anaconda'yı vurguluyor. Daha fazla araç, Intellisense ve daha büyük bir GPU'ya ihtiyaç duyan modelleri çalıştırmak için bir bulut bilgisayar kullanma yeteneği sunan VS Code'da Jupyter Not Defterlerini nasıl kullandığını göstermeye devam ediyor. Son olarak, .NET ortamını tercih edenler için Anaconda'nın çalıştırılması sayesinde Jupiter Notebook deneyiminin doğrudan kurulabilir olduğuna dikkat çekiyor.

  • 00:50:00 Bu bölümde konuşmacı, kullanıcıların gerekli paketleri yükleyebilecekleri ve tercih ettikleri aracı kullanabilecekleri Azure Machine Learning Studio'da PyTorch ile Jupyter Notebook deneyimini tartışıyor. Konuşmacı, Azure Machine Learning Studio ve PyTorch web sitesinde bulunan PyTorch için Hızlı Başlangıç kılavuzunu kısaca ele alır ve ardından tartışmayı ONNX'e kaydırır. Konuşmacı, çok derine inmeden, bir modeli eğitmek için gereken model mimarisi, kayıp işlevi ve optimize edici hakkında kısa bir genel bakış sağlar. Konuşmacı ayrıca Copilot'tan ve onun kullanıcılar için yorum yazma yeteneğinden kısaca bahseder.

  • 00:55:00 Bu bölümde, konuşmacı ONNX kullanılarak bir PyTorch derin öğrenme modelinin nasıl eğitileceğini ve dışa aktarılacağını açıklıyor. Modeli eğitmek için kullanıcılar, aşırı uydurmayı önlemek için test verilerinden farklı olduğundan emin olarak dönem sayısını ve doğrulama verilerini ayarlamalıdır. Konuşmacı, modelin her kümede döngü halindeyken her çağdaki kaybının bir grafiğini gösterir ve eğitim tamamlandıktan sonra model, cihaza bir tensör gönderen bir işlev kullanılarak ONNX biçiminde dışa aktarılabilir. Dışa aktarılan model, daha iyi performans için giriş tensörleri ve optimize edilmiş grafik optimizasyonları ile ONNX çalışma zamanı kullanılarak çıkarım yapmak için kullanılabilir. Konuşmacı ayrıca ONNX çalışma zamanı için yakında piyasaya sürülecek olan bir Xamarin desteğini de gösteriyor.

  • 01:00:00 Bu bölümde, konuşmacılar Xamarin'de görüntü işleme için SkiaSharp kullanımını ve verileri işlemek için ONNX çalışma zamanının nasıl kullanıldığını tartışıyor. Boyutları nedeniyle cihaz üstü modelleri kullanmanın sınırlamalarından bahsediyorlar, ancak cihaz üstü modellere sahip olmanın avantajlarına dikkat çekiyorlar. Konuşmacılar ayrıca Xamarin mimarisine ve yapı iskelesini nasıl oluşturduğuna da kısaca değiniyor. Tartışma, C# geliştiricileri ile yapay zeka dünyası arasında daha fazla işbirliği istemekten ve makine öğrenimi veya derin öğrenme soruları olan herkesin cevaplar için Twitter'da Cassidy Williams'a veya ONNX çalışma zamanı Twitter kolundan nasıl ulaşabileceğinden bahsedilmesiyle sona eriyor.

  • 01:05:00 Bu bölümde sunucular, makine öğrenimi teorisini öğrenmekle ilgilenenler için kaynakları tartışıyor. Derin öğrenme modellerinin perde arkasını inceleyen Andrew Ng tarafından verilen ders gibi bir kurs dersi almayı öneriyorlar. Makine öğrenimine yaklaşmanın iki yolu olduğu uyarısını veriyorlar: uygulamalı yöntem ve teori yöntemi. Diğer kaynaklar arasında, makine öğrenimi modelleri oluşturmak için araçları ve kitaplıkları kullanma hakkında üst düzey bilgiler veren, Coursera'daki uygulamalı makine öğrenimi sınıfı ve daha derinlemesine olan ve matematiğin bir kısmını kapsayan PyTorch öğrenim yolu yer alır. Ek olarak, sunucular önümüzdeki haftalarda ML.Net için yapılacak bir hackathon'dan bahsediyor.

  • 01:10:00 Bu bölümde konuşmacı, makine öğrenimi ve derin öğrenme hakkında bilgi edinirken bir hedefe sahip olmanın önemini tartışıyor. İnternette birçok ücretsiz kaynak var, ancak nereden başlayacağınıza karar vermek bunaltıcı olabilir. Konuşmacı, bir bilgisayar görü modeli eğitmek ve bu hedefle uyumlu kaynaklar bulmak gibi bir hedef belirlemeyi önerir. Yeni şeyler denemek için hackathon'lar veya proje sprintleri kullanmak gibi öğrenmeyi kişinin işine dahil etmek de yararlı olabilir. Konuşmacı ayrıca zor kısımlarda ilerlemeye devam etmenin ve hedefe ulaşılana kadar pes etmemenin önemli olduğundan bahseder. Son olarak, konuşmacı dinleyicilerin ilgisini çekebilecek yaklaşan içerik hakkında ipuçları verir.