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

 

ONNX Runtime ile Uygulamalı Makine Öğrenimi



ONNX Runtime ile Uygulamalı Makine Öğrenimi

Microsoft'ta Temel Eğitim Bulutu Sözcüsü olan Jennifer Looper, bu videoda uygulama oluşturma, makine öğrenimi ve veri biliminin yakınsamasını tartışıyor. Web için akıllı uygulamalar oluşturmayı öneriyor ve makine öğrenimi teknolojisini uygulamalara dahil etmek için ml5.js, Magenta.js, PoseNet ve Brain.js dahil olmak üzere çeşitli JavaScript API'lerini araştırıyor. Looper, klasik makine öğrenimi için scikit-learn'ün yararlılığını vurguluyor ve onu, sinir ağlarının ağır çözümü olmadan güçlü bir araç olarak öneriyor. Ayrıca, makine öğrenimi ve derin öğrenme modelleri oluşturmak için ortak bir operatör seti tanımlayarak eğitimi ve çıkarımı optimize eden ve denetimli makine öğrenimi kullanarak temel bir sınıflandırma görevini gerçekleştirme sürecini açıklamak için Kaggle'dan veri sağlayan Onnx Runtime'ı tartışıyor. Ardından konuşmacı, makine öğrenimi modellerini kullanarak bir öneri motorunun nasıl oluşturulacağını gösterir ve makine öğrenimi hakkında daha fazla bilgi edinmek için Microsoft'un çevrimiçi kaynaklarının ziyaret edilmesini önerir. Onnx Runtime'ın müfredatlarının bir parçası olarak yeni başlayanlar veya makine öğrenimi hakkında daha fazla bilgi edinmek isteyen herkes için uygun olduğu sonucuna varıyor.

  • 00:00:00 Bu bölümde, Microsoft'ta Temel Eğitim Bulut Sözcüsü olan Jen Looper, uygulama oluşturma ile makine öğrenimi ve veri bilimi arasındaki yakınsamayı tartışıyor. Günümüzde mobil uygulamalar oluşturmanın zorluklarını, özellikle de arka planda makine öğrenimi algoritmaları çalıştıran ve zeka ile donatılmış yeni uygulamalar karşısında açıklıyor. Looper, akıllı deneyimlere yönelik bu yeni talebin, öncelikle bağımsız uygulama geliştiricilerin karşılaştığı zorluklara katkıda bulunduğunu iddia ediyor.

  • 00:05:00 Bu bölümde, konuşmacı akıllı uygulamaların nasıl oluşturulacağını ve mimari kararların ve teknik yığının bu sürece rehberlik edeceğini tartışıyor. Seçenekler arasında yerel bir uygulama oluşturma, web için oluşturma veya masaüstü için oluşturma yer alır. Konuşmacı, akıllı uygulamalar oluşturmak için web'e bağlı kalmayı öneriyor ve web geliştiricileri ile makine öğrenimi mühendisleri arasındaki beceri kümelerindeki farklılıklara rağmen, bu alanların bir araya gelmesinin yolları olduğunu açıklıyor. Konuşmacı, geliştiriciler ve makine öğrenimi mühendisleri arasındaki iş birliğini örnekleyerek devops, veri kaynağı bulma ve temizleme, eğitim ve yinelemenin yanı sıra makine öğrenimi modellerinin doğru şekilde sunulmasını ve sürekli iyileştirilmesini sağlayan ML Ops ekibine atıfta bulunuyor.

  • 00:10:00 kişisel anekdotlar, konuşmacı, makine öğrenimi mühendisliğindeki farklılıklar arasında köprü kurmanın ve web uygulamaları oluşturmanın, köprü korkusunun üstesinden gelmekten daha az göz korkutucu olabileceğini açıklıyor. Konuşmacı, makine öğrenimi teknolojisini web uygulamalarına dahil etmek için TensorFlow.js, Brain.js ve ONNX gibi çeşitli araçları tanıtıyor. Her aracın avantajlarını vurguluyor ve izleyicileri, sundukları harika demoları keşfetmeleri için TensorFlow web sitesini keşfetmeye teşvik ediyor. Ayrıca ONNX Runtime ve ONNX tabanlı modelleri web uygulamalarına getirme becerisine de odaklanmaktadır. Genel olarak konuşmacı, uygulama geliştiricilere uygulamalarını makine öğrenimi teknolojisi ile geliştirmek için mevcut araçlar hakkında bilgi sağlamayı amaçlamaktadır.

  • 00:15:00 Videonun bu bölümünde konuşmacı, tarayıcıda yapay zeka keşfetmek ve oluşturmak için önceden eğitilmiş modellerle kullanılabilecek çeşitli Javascript API'lerini tartışıyor. Bunlardan biri, Tensorflow üzerine kurulu olan ve görüntü tanıma ve ses analizi ile ilgili örnekler sunan ml5.js'dir. Bahsedilen başka bir API, tarayıcıda müzik ve sanat oluşturmak için önceden eğitilmiş modelleri kullanan Magenta.js'dir. Konuşmacı ayrıca tüm vücut, yüz veya sadece el için tekli veya çoklu pozları tahmin etmek için kullanılabilen PoseNet'ten bahsediyor. Son olarak konuşmacı, sinir ağlarının tarayıcılarda ve Node.js'de Javascript'te çalışmasına izin veren Brain.js'yi tanıtır.

  • 00:20:00 Bu bölümde konuşmacı, makine öğrenimi modellerini eğitmek için JavaScript ve tarayıcı kullanmanın sınırlamalarını tartışarak bunun bu amaç için harika bir ortam olmadığını ve kullanıma hazır modelleri çalıştırmak için daha uygun olduğunu öne sürüyor veya mevcut olanları yeniden eğitmek. Daha sağlam ve uygun makine öğrenimi modelleri için Python'un gidilecek yol olduğunu ve programcıların Python'u tehlikeli olmaya yetecek kadar öğrenebileceğini ve modellerini eğitmek için Jupyter Notebooks ile çalışabileceğini öneriyorlar. Ayrıca görseller ve diğer ortamlar hakkında eğitim için loeb.ai gibi hizmetleri kullanmayı tartışıyorlar.

  • 00:25:00 Bu bölümde, konuşmacı makine öğrenimi için TensorFlow'u kullanmaya bir alternatif olan scikit-learn'i tartışıyor. Konuşmacı, tüm makine öğrenimi problemlerinin sinir ağları gerektirmediğini ve GitHub'da sinir ağlarını kullanmayan bir müfredat oluşturduklarını açıklıyor. Ayrıca, kullanıcıların malzemeleri girmesine ve bu malzemelerle yapabilecekleri bir mutfak türü için öneriler almasına olanak tanıyan, bir ONNX çalışma zamanı tarafından desteklenen bir mutfak önerme uygulaması oluşturmak için scikit-learn'i nasıl kullandıklarını da gösteriyorlar. Konuşmacı, klasik makine öğrenimi için scikit-learn'ün kullanışlılığını vurguluyor ve sinir ağlarının ağır çözümü olmadan güçlü bir araç olarak öneriyor.

  • 00:30:00 Videonun bu bölümünde konuşmacı, sınıflandırma, regresyon ve kümeleme gibi temel makine öğrenimi görevleri için örnekler ve belgeler sağlayan açık kaynaklı bir makine öğrenimi çerçevesi olan scikit-learn'ü tanıtıyor. Scikit-learn'ün veri bilimcileri arasında popüler bir çerçeve olduğunu ve numpy, scipy ve matplotlib ile birlikte geldiği için herkes tarafından erişilebilir olduğunu açıklıyorlar. Konuşmacı daha sonra, makine öğrenimi ve derin öğrenme modelleri oluşturmak için ortak bir operatör seti tanımlayarak eğitimi ve çıkarımı optimize eden Açık Sinir Ağı Değişiminin (Onnx) bir ürünü olan Onnx Runtime'ı tartışır. Onnx Runtime, çeşitli çerçeveleri, araçları ve çalıştırma sürelerini destekler ve yapay zeka geliştiricilerinin seçtikleri çıkarım motoruyla tercih ettikleri çerçeveyi kullanmalarına olanak tanır. Konuşmacı, Python kullanarak verileri temizlemeyi, scikit-learn kullanarak modelleri eğitmeyi ve skl'yi Onnx kitaplığına kullanarak modelleri Onnx Runtime ile kullanmak üzere dönüştürmeyi içeren tipik bir makine öğrenimi iş akışını özetliyor.

  • 00:35:00 Videonun bu bölümünde, konuşmacı farklı mutfak türleri hakkında Kaggle'dan veri alıyor ve verilerin nasıl temizlenip dengeleneceğini açıklıyor. Veri seti, Hint, Tayland, Kore, Japon veya Çin olarak sınıflandırılan 100 potansiyel içerik içerir. Modeli oluşturmak için konuşmacı, sonuçları optimize etmek için bir algoritma, bir sınıflandırıcı ve bir çözücü seçmeniz gerektiğini açıklar. Veri seti, yalnızca yaklaşık 700 veri noktasıyla küçüktür. Veriler etiketlenmiştir, bu da denetimli öğrenmenin kullanılabileceği anlamına gelir ve konuşmacı, verileri makine öğrenimi uygulamalarında kullanmak üzere şekillendirmeden ve temizlemeden önce anlamanın önemini vurgular.

  • 00:40:00 Bu bölümde sunum yapan kişi, denetimli makine öğrenimi kullanarak temel bir sınıflandırma görevi gerçekleştirme ve çok sınıflı bir sınıflandırma algoritması seçme sürecini tartışıyor. Sunucu, çok sınıflı sınıflandırma için bir hile sayfası sunar ve veri setinin doğası ve yerel olarak eğitim nedeniyle sinir ağlarını dışlar. Kalan iki çok sınıflı sınıflandırma algoritması, lojistik regresyon ve karar ormanlarıdır. Sunum yapan kişi, lojistik regresyonu seçer ve çok sınıflı sınıflandırmayı ele almak için bire karşı dinlenmeyi seçer. Sunum yapan kişi daha sonra doğru çözücüyü seçmenin önemini açıklar ve liblineer çözücüyü seçer. Sunucu, modeli lr fit kullanarak eğitir ve kişniş, soğan, bezelye, patates, domates ve bitkisel yağlar içeren bir tarif kullanarak doğruluğunu test eder ve %71 doğruluk bildirir. Sunum yapan kişi ayrıca, mevcut veri ve etiket miktarına dayalı olarak uygun bir algoritmanın seçilmesine yardımcı olmak için Scikit-learn algoritması kopya kağıdı sunar.

  • 00:45:00 Bu bölümde, konuşmacı bir makine öğrenimi modeli oluştururken doğru sınıflandırma algoritmasını seçmenin önemini tartışıyor. Hangisinin en iyi doğruluğu verdiğini görmek için farklı sınıflandırıcılar ve çözücülerle nasıl deneyler yaptıklarını gösterirler. Destek Vektörü Sınıflandırıcısını (SVC) seçtikten sonra modeli yeniden oluşturdular ve doğruluğunu test ettiler. Modelin doğruluğundan memnun kaldıklarında, onu bir Onyx dosyasına dönüştürdüler ve bir web uygulaması oluşturmak için Onyx çalışma zamanını kullandılar. Konuşmacı, içerik verilerini içe aktarılan bir modele beslemek için bir dizi onay kutusuyla basit bir web uygulamasını nasıl oluşturduklarını ve çıkarımı başlatmak için eşzamansız bir işlevi nasıl kullandıklarını açıklıyor. Daha sonra web uygulamasını gösterdiler ve modelin ne önerdiğini kontrol ettiler.

  • 00:50:00 Videonun bu bölümü, makine öğrenimi modellerini kullanarak bir öneri motorunun nasıl oluşturulacağını gösterir. Model, bir içerik listesi girerek, ne tür bir mutfak yaratılabileceğini önerir. Ayrıca konuşmacı, Microsoft'un kümeleme, regresyon, sınıflandırma, takviyeli öğrenme, doğal dil işleme ve zaman serisi uygulamaları gibi çeşitli konularda ücretsiz içerik sunan çevrimiçi kaynakları aracılığıyla izleyicileri makine öğrenimi hakkında daha fazla bilgi edinmeye davet ediyor. Konuşmacı, izleyicileri soru sormaya ve mycommworld.com web sitesindeki içerikle etkileşime geçmeye teşvik ediyor.

  • 00:55:00 Bu bölümde Onnx Runtime'ın yeni başlayanlar için iyi bir araç olup olmadığı sorulur. Cevap evet, çünkü konuşmacılardan biri yeterince uğraşırsa herkesin her şeyi öğrenebileceğine inanan, kendi kendini yetiştirmiş bir web geliştiricisi. Bu nedenle Onnx Runtime, müfredatlarının bir parçası olarak yeni başlayanlar veya makine öğrenimi hakkında daha fazla bilgi edinmek isteyen herkes için uygundur.
 

ONNX'in gücünü daha önce hiç olmadığı gibi Spark'a getirin



ONNX'in gücünü daha önce hiç olmadığı gibi Spark'a getirin

Bu videoda, Huawei'den Shivan Wang, çıkarım için ONNX'in gücünün Spark'a nasıl getirileceğini açıklıyor. Spark'ta DL modellerini devreye almanın zorluklarını ve Spark topluluğunun süreci basitleştirmek için Spip adlı bir teklifi nasıl başlattığını tartışıyor. Konuşmacı ayrıca Huawei'nin AI işlemcisi Ascent'i ve birden fazla Ascent işlemci modelini ve Atlas donanımını içeren Ascent AI ekosistemini tartışıyor. ONNX modellerini model çevirisine ihtiyaç duymadan doğrudan Ascent donanımında kullanmak için bir sonraki çalışma zamanında Con'u yeni bir yürütme sağlayıcısı olarak eklemenizi önerir. Son olarak, ONNX'in gücünü Spark'a getirmek için POC kodunun neredeyse tamamlandığını belirtiyor ve ilgili kullanıcıları tartışmak ve potansiyel olarak test amacıyla kaynak sağlamak için bir mesaj bırakmaya davet ediyor.

  • 00:00:00 Bu bölümde, Huawei'den Shivan Wang, çıkarım için Onyx'in gücünün Spark'a nasıl getirileceğini tartışıyor. İyi tanımlanmış veri çerçevesi çıkarım arayüzünün, verileri kolayca yükleyebilen ve özellik mühendisliğini tamamlayabilen veri mühendisleri için çok kolay olduğunu açıklıyor. Ancak, yapay zeka çerçeveleri ile dahili ön örnekler arasında boşluklar vardır ve bu da DL modellerinin Spark üzerinde dağıtımını zorlaştırır. Süreci basitleştirmek için Spark topluluğu, Spark ve yapay zekanın küçük hücreyi etkilemesi için basit bir API sağlayacak olan Spip adlı bir teklif üzerinde bir tartışma başlattı. Son olarak, Spark yürütücüsünde Onyx çıkarımını yürüten kullanıcılar, Onyx çıkarım platformunun yardımıyla Büyük Veri üzerindeki Onyx etkisini kolayca tamamlayabilir.

  • 00:05:00 Bu bölümde konuşmacı, Huawei'nin Ascent adlı AI işlemcisini ve birden fazla Ascent işlemci modelini ve Atlas donanımını içeren Ascent AI ekosistemini tartışıyor. Ascent ekosisteminin yazılım katmanına Cam denir ve geliştiricilerin Ascent platformuna dayalı hizmetler altında yapay zeka uygulamalarını hızlı bir şekilde oluşturmasına yardımcı olacak API'ler sağlar. Bir ONNX modelini başka bir donanımda çalıştırmak için, kullanıcının önce modeli ONNX'ten Ascent'e çevirmek için Con tarafından sağlanan bir model çeviri aracını kullanması gerekir. Ancak konuşmacı, daha iyi bir çözümün, kullanıcıların ONNX modellerini model çevirisine ihtiyaç duymadan doğrudan Ascent donanımında kullanabilmesi için bir sonraki çalışma zamanında yeni bir yürütme sağlayıcısı olarak Con'u eklemek olduğunu öne sürüyor. Tüm ONNX operatör desteğini bu yılın sonuna kadar bitirmeyi ve ONNX model Zoo'daki tüm modellerin Ascent'te iyi çalışmasını ve ardından gelecek yıl daha fazla geliştirmeyi planlıyorlar.

  • 00:10:00 Bu bölümde konuşmacı, ONNX'in gücünü Spark'a getirmek için kullanılan POC kodunun neredeyse tamamlandığından ve ekleme işlemi gibi temel işlemlerin doğru şekilde çalışabildiğinden bahseder. Ayrıca, ilgili kullanıcıları tartışmak ve potansiyel olarak test amacıyla kaynak sağlamak için bir mesaj bırakmaya davet ederler. Bölüm, izleyicilere izledikleri için teşekkür ederek sona eriyor.
 

Builders Build #3 - Colab'dan ONNX ile Üretime



Builders Build #3 - Colab'dan ONNX ile Üretime

Video, ONNX kullanarak bir projeyi Colab'dan üretime dağıtma sürecini göstermektedir. Sunum yapan kişi, sinyalleri ön işleme, dağıtım için kodu değiştirme, AWS Lambda'da bir işleyici oluşturma, bir web sitesinde ses girişini kabul etme, S3'e bir işlev yükleme ve ONNX için bağımlılıkları dağıtma gibi çeşitli konuları kapsar. Konuşmacı, bazı zorluklarla karşılaşmasına rağmen, modelini AWS ile başarılı bir şekilde dağıtır ve sonraki adımlar için bir tarayıcı yükleme base64 dosya nesnesi veya ses dosyası okuma parçaları kullanabileceklerini önerir.

Ek olarak video, seste karşılaştırmalı öğrenme için SimCLR modelinin kullanımını, onları modele besleyerek bir şarkı kataloğu oluşturmayı ve k=1'de sıfır kayıp ve geri çağırma elde etmek için PyTorch ile eğitmeyi gösteriyor. Sunucu, üretimde PyTorch kullanmanın zorluklarını tartışıyor ve çözüm olarak ONNX'i öneriyor. Video, PyTorch modelinin ONNX formatında nasıl dışa aktarılacağını ve yükleneceğini ve çıkarımın nasıl yürütüleceğini gösterir. Ayrıca, Torch Audio ve Numpy kitaplıkları kullanılarak ses dosyalarının nasıl işleneceğini gösterir ve dağıtım için bir PyTorch modeli kurarken sorunları giderir. Video, modellerin Colab dizüstü bilgisayarlarındaki geliştirmeden üretim ortamlarına nasıl kaydırılacağına ilişkin içgörüler sunar.

  • 00:00:00 Bu bölümde, konuşmacı, bir görüntüye uygulanan bir dizi farklı dönüşümden iki rasgele dönüşümü örneklemeyi içeren ve iki farklı görüntü (x tilde i ve x tilde j), bunlar daha sonra iki projeksiyonu (zi ve zj) döndürmek için bir projeksiyon fonksiyonuna (MLP) geçirilen iki vektörü (hi ve hj) vermek üzere bir kodlayıcıya (resnet 50) geçirilir. Amaç, f ve g'yi öğrenmek için karşılaştırmalı bir kayıp kullanarak iki projeksiyonun kosinüs benzerliğini maksimize etmektir, böylece modelin iki projeksiyonunun çıktısı birbirine çok yakın olur. Konuşmacı, bu çerçeveyi, girdinin bir görüntü değil, bir spektrograma dönüştürülmüş bir sinyal olduğu sese uygular ve farklı dönüşümlerden biri olarak oynatma hızını değiştirmek için bir düşük geçiş filtresi kullanır.

  • 00:05:00 Bu bölümde sunum yapan kişi, bir çift pozitif ve negatif çiftlerin toplamını içeren bir çapraz entropi kaybı olan model için kullanılan NT_Xent kaybının uygulanmasını tartışır. Ayrıca eğitim verileriyle aynı test verilerini kullanarak ve metrik olarak k'de geri çağırmayı kullanarak değerlendirme sırasında biraz kopya çekmekten bahsediyorlar. Son olarak, Lightning adlı bir web sitesinde kayıp işlevinin bir uygulamasını bulduklarını ve sahte veriler üzerinde test edildiğinde iyi çalıştığını belirtiyorlar.

  • 00:10:00 Bu bölümde konuşmacı, her şarkıyı temsil eden bir dizi vektör elde etmek için onları modele besleyerek bir şarkı kataloğunu nasıl oluşturduklarını açıklıyor; bunlar daha sonra karşılık gelen başlıklar, ses sinyalleri ve ses sinyalleri ile kaydedildi. indeks temsilleri. Daha sonra özelliklerin nokta çarpımını ve katalog indeksini alarak benzerlikleri hesapladılar, vektörleri normalleştirdiler ve en iyi eşleşmeleri belirlemek için k'de hatırlamayı hesapladılar. PyTorch'ta normal bir eğitim döngüsü kullandılar ve modelin sıfır kayba yaklaşmasına ve k'nin bire eşit olduğu, yani tutarlı bir şekilde doğru şarkıyı tahmin ettiği anlamına gelen hatırlamaya ulaşmasına yardımcı olan LARS iyileştiriciyi eklediler. Konuşmacı daha sonra üretimde PyTorch kullanmanın zorluklarını tartışıyor ve diğer çerçevelerle sorunsuz entegrasyona ve farklı cihazlarda dağıtıma izin veren bir format olan ONNX'i kullanarak bir çözüm sunuyor.

  • 00:15:00 Bu bölümde konuşmacı, modellerin bulutta barındırmak için PyTorch ve TensorFlow gibi diğer çerçevelerden içe aktarılmasına olanak tanıyan hafif bir çıkarım çerçevesi olan ONNX'in kullanımını tartışıyor. Konuşmacı, ses verileri üzerinde çıkarım yapmak, sesten spektrogramı almak, spektrogram üzerinde modeli çalıştırmak ve tahminlerle bir JSON nesnesi döndürmek için ONNX'ten yararlanacak bir python işleyici işlevi oluşturmayı amaçlıyor. Konuşmacı, ONNX'i kullanmak için modelin .onnx dosya uzantısı olarak kaydedilmesi gerektiğini belirtiyor ve modeli PyTorch'tan ONNX'e aktarma sürecini açıklıyor.

  • 00:20:00 Bu bölümde, konuşmacı bir modelin torch.one ve x.export işlevlerini kullanarak PyTorch'tan ONNX formatına nasıl aktarılacağını açıklar. Sahte girdi, ONNX biçiminin girdi dosyasının beklenen şeklini anlamasına olanak tanır ve çıktı ve girdi adları bir sözlük veya JSON nesnesi kullanılarak belirtilir. Konuşmacı simclr adlı bir modeli geçerli zaman damgasıyla dışa aktarmanın bir örneğini sağlar, model dosyası içindeki tren parametresi ağırlıklarını depolamak için dışa aktarma parametrelerini kullanır ve modelin zaman damgasını almak için bir lambda işlevinin nasıl ekleneceğini gösterir.

  • 00:25:00 video oluşturucunun ONNX kullanan bir modelde çıkarımın nasıl yükleneceğini ve çalıştırılacağını araştırdığı yeni bir bölüm başlatın. Bir çıkarım oturumu oluşturmayı ve modeli bir model yolundan yüklemeyi tartışırlar. Oluşturucu, modeli bir API'ye dahil etmeyi planlıyor ancak işleyicide sesi nasıl alacağından emin değil. 64 tabanlı bir şey kullanmayı düşünürler ve test etmek için yeni bir dosya oluştururlar. Daha sonra, bir modeli yüklemeden çıkarımın nasıl yürütüleceğini tartışmaya geçerler ve bunun yerine buna odaklanmaya karar verirler.

  • 00:30:00 Bu bölümde, konuşmacı bir numpy dizisi kullanmak yerine meşale sesini kullanmak için kodu değiştirmeyi tartışıyor. Konuşmacı, meşale sesini kullanabileceklerini keşfeder ve ilerlemek için onu kurar. Daha sonra girdi ve çıktı adlarını değiştirmeyi tartışırlar ve kitaplıklarına karşı kosinüs benzerliği yapmak için çıktıyı "izdüşüm" olarak adlandırırlar. Kitaplık, konuşmacının kosinüs benzerlik hesaplamalarında kullanmayı amaçladığı bir dizi başlık, bir dizi dalga formu ve bir dizi projeksiyon içeren bir JSON nesnesi olarak kurulur.

  • 00:35:00 Bu bölümde konuşmacı kod yazarken ve süreci yüksek sesle anlatırken görülüyor. Bir müzik kitaplığındaki şarkıların listesini sıralamak için bir senaryo yazıyorlar, yol boyunca matris çarpma, benzerlikler ve sıralama algoritmaları gibi çeşitli teknikleri tartışıyorlar. Konuşmacı ayrıca bir JSON kitaplığı yükler ve onu komut dosyasında kullanır. Video, ONNX çerçevesini kullanarak işbirliğinden üretime yazılım oluşturmaya yönelik bir dizinin parçasıdır.

  • 00:40:00 Bu bölümde sunum yapan kişi, JSON formatında bir katalog oluşturmak ve kaydetmek için ONNX'in nasıl kullanılacağını gösterir. Katalog, dizilerden oluşturulur ve sunum yapan kişi, "dump()" işlevini kullanarak kataloğu bir JSON dosyası olarak boşaltmadan önce şekilleri kontrol eder. Ortaya çıkan hata, "katalog"u "kütüphane"nin bir kopyasına çevirerek çözülür. Sunucu daha sonra "tolist()" yöntemini kullanarak dizileri listelere dönüştürür ve JSON dosyasını indirir. Son olarak sunum yapan kişi, "load()" işlevini kullanarak kaydedilen JSON dosyasının nasıl yükleneceğini gösterir.

  • 00:45:00 Bu bölümde, konuşmacı Python'daki Torch Audio ve Numpy kitaplıklarını kullanarak ses dosyalarını dosya yollarından işleme yaklaşımlarını tartışıyor. Torch Audio'yu indirdiklerini ve ses dosyasını yeniden örneklemek ve ön işlemek için "ön işleme sinyali" yöntemini kullanacaklarını açıklıyorlar. Ardından, boyutları korurken işlenen sinyalin ortalamasını hesaplamak için Numpy'nin ortalama işlevini kullanırlar ve ardından np.pad kullanarak sinyali doldururlar. Genel olarak, konuşmacı işleme yöntemlerinin açık ve özlü bir açıklamasını sağlar.

  • 00:50:00 Videonun bu bölümünde konuşmacı bir fonksiyon kullanarak bir dalga formunun spektrogramını almaya çalışıyor. Ancak, işlevin hedef örnekleme hızını tanımaması ve bir hata mesajı vermesiyle ilgili bazı sorunlar var gibi görünüyor. Hoparlör, sorunu gidermek için bir test klibi kullanmayı dener ve beklenmeyen bir çıktı veren spektrogramın şeklini yazdırır. Bir girdi veya model sorunu olup olmadığına bakılmaksızın, sorunlara tam olarak neyin neden olduğu açık değildir.

  • 00:55:00 Bu bölümde konuşmacı, dağıtım için bir PyTorch modeli kurmaya çalışırken ortaya çıkan bazı hata mesajlarını değerlendirir ve Torch paketinin boyutu ve uyumsuz bağımlılıkları ile ilgili sorunları belirler. Torch Audio ile yüklenen bir dosyanın kendisini 1 GB'tan fazla belleğe ihtiyaç duyduğunu belirttiğini ve bunun da büyük dosya girişlerine sahip modelleri çalıştırırken potansiyel olarak sorunlara yol açtığını belirtiyorlar. Bunu çözmek için, dosyaların bunun yerine librosa ile yüklenmesini ve frekans gibi özellikleri dönüştürürken ve dosyaları yüklerken Torch Audio'yu değiştirmenizi önerirler. Genel olarak, bu bölüm, modelleri Colab not defterlerindeki geliştirmeden üretim ortamlarında dağıtıma geçirirken ortaya çıkabilecek sorunların bazılarını vurgulamaya odaklanmaktadır.

  • 01:00:00 Bu bölümde, hoparlör, hala 500 megabayttan daha küçük bir boyuta sahip olan projeyi oluşturmaya devam etmek için Torch ve Torch sesini kurar. Sinyalin orijinal örnekleme oranı ve bir hedef örnekleme oranı ile geri dönmesini sağlamak için Librosa ve yeniden örnekleme kullanırlar. Komut dosyasını çalıştırırken bazı hatalarla karşılaşıyorlar ve sonucun garip olmaması için farklı kanalları karıştırmaları gerektiğini fark ediyorlar. Projenin beklendiği gibi çalışmasını sağlamak için sorun gidermeye devam ederler.

  • 01:05:00 Bu bölümde konuşmacı sinyal ön işleme ile çalışıyor ve farklı kanalları yüklüyor. Sinyalin yalnızca bir kanalı olduğu ve bunu birden çok kez genişletmeleri gerektiği bir sorunla karşılaşıyorlar. Hoparlör, sorunu çözmek için numpy ve sıkıştırarak genişletme karartmalarını kullanır ve sonuçta değişiklikleri gerçekleştirir.

  • 01:10:00 Bu bölümde, konuşmacı, bir isteği işleyecek ve ardından çıkarımı çalıştıracak bir işlev olan SpeakFluent REST API'nin konuşlandırılmasına izin verecek şekilde kodu değiştiriyor. Ses dosyasına ve dosya adına sahip bir istek almak için işleyiciyi değiştirirler ve ardından dosyayı yerel olarak kaydederler. Torch olmadan ONNX çalışma zamanını kullanarak çıkarım yaparlar ve ardından en iyi eşleşmeyi döndürürler.

  • 01:15:00 Bu bölümde konuşmacı, şu anda bir dizi şarkı başlığı ve bunlara karşılık gelen en iyi eşleşen başlıkları döndüren uygulama için kaynak python işleyicisini tartışıyor. Konuşmacı ayrıca, bir S3 kovası için URI'yi döndürmeyi ve en iyi eşleşme için eşleşme yüzdesini içerecek işleyiciye gelecekteki eklemelerden de bahseder. Konuşmacı bir ara vermeyi planlıyor ve bir AWS Lambda işlevine yükleyip dağıtabilen gerçek bir işleyici oluşturmaya geri dönecek.

  • 01:25:00 Videonun bu bölümünde sunum yapan kişi, bir betik ve bir olay kullanarak AWS Lambda üzerinde nasıl işleyici oluşturulacağını açıklıyor. Lambda işleyicisi, bir isteği değil, bir olayı almak üzere tasarlanmıştır ve formun ses kısmını olaydan alacaktır. Sunum yapan kişi, sürecin ön uçta bir form oluşturmayı ve kimliği ses girişinden almayı içerdiğini açıklıyor.

  • 01:30:00 Videonun bu bölümünde bir geliştirici, Javascript kullanan bir web sitesinde ses girdisini kabul etme ve dosyayı işlenmek üzere bir sunucuya yükleme sürecini tartışıyor. Geliştirici, web sitesine bir kayıt düğmesi ekleyeceklerini ve Javascript'i kullanarak bir dosya oluşturacaklarını ve otomatik olarak sunucuya yükleyeceklerini açıklıyor. Daha sonra, yüklenen dosya üzerinde çıkarım aramayı ve JSON.dumps kullanarak bir gövdeyle 200 durum kodu döndürmeyi tartışırlar. Geliştirici, verimliliği artırmak için dosya yerine sesin base64 kodlamasını kullanmayı da düşünüyor. Lambda runtime kullanarak AWS'de Python ile ONNX çıkarımı çalıştırma sürecini keşfediyorlar.

  • 01:35:00 Bu bölümde konuşmacı, S3'e bir fonksiyon yükleme ve Diva adlı proje için sıfırdan yeni bir fonksiyon oluşturma sürecini tartışıyor. Konuşmacı süreçten rahatsız olduğunu ifade eder, ancak Python 3.9'u kullanarak yeni bir işlev oluşturmaya devam eder, ARM'deki farkı tartışır ve ayrıca dosyaları doğrudan işleve yüklemeyi düşünür.

  • 01:40:00 Bu bölümde, konuşmacı Bulut İşlevleri kontrol panelini keşfediyor ve bir zip dosyasının nasıl yükleneceğini, etkinlik biçimlerinin JSON olarak nasıl değiştirileceğini ve yeni bir etkinliğin nasıl oluşturulacağını gösteriyor. Ayrıca, bellek ve ortam değişkenleri için ek yapılandırmalara olan ihtiyacı da tartışırlar. Konuşmacı daha sonra base64 sesle bir kayıt eklemeye çalışır ancak mevcut seçeneklerle ilgili bir sorunla karşılaşır.

  • 01:45:00 Bu bölümde, konuşmacı büyük bir JSON dosyasını kopyalayıp yapıştırıyor ve onu bir AWS Lambda dağıtım paketi olarak kaydediyor gibi görünüyor. Farklı bir yöntem kullanmak istediklerinden bahsediyorlar, ancak sonunda onu kaldırın ve bunun yerine Lambda işleyicisini kullanmaya karar verin. Ancak bazı şeyleri yüklemeleri ve paketi AWS'ye yüklemenin bir yolunu bulmaları gerekiyor. Ayrıca dışa aktarma işlevlerini de tartışırlar.

  • 01:50:00 Bu bölümde konuşmacı, açık kaynaklı bir model yönetim projesi olan ONNX için gerekli bağımlılıkları derlemek ve dağıtmak için gerekli adımları tartışıyor. Uyumluluk sorunlarından kaçınmak için Lambda'ya benzer bir ortamda derlemenin önemli olduğunu açıklıyorlar ve ONNX çalışma zamanı klasörünü bulup dağıtım paketine kopyalamayı öneriyorlar. Bu süreç "kötü" olarak değerlendirilebilse de konuşmacı, kodun düzgün çalışmasını sağlamak için gerekli olduğunu açıklıyor. Daha sonra librosa, scipy ve numpy dahil olmak üzere gerekli bağımlılıkları listeler ve 200 megabayta kadar olabilen dağıtım paketinin boyutunu tartışırlar.

  • 01:55:00 Bu bölümde konuşmacı, modellerini AWS ile dağıtmak için atmaları gereken adımları tartışıyor. Hafif bir Lambda işleyici oluşturmaları, onu AWS limitout ile nasıl dağıtacaklarını bulmaları ve 50 megabayttan büyük olduğu için S3'te depolayıp depolamamaya karar vermeleri gerekiyor. Bir sonraki adım, işleme işlevini bir dosya yerine bir base64 ses nesnesi alacak şekilde güncellemektir ve konuşmacı bunu başarmak için bir tarayıcı yükleme base64 dosya nesnesi veya ses dosyası okuma bitleri kullanmayı düşünür. Bunu yapabileceklerini düşündüklerini belirterek sözlerini bitirirler.
 

Optimum, OpenVINO™, ONNX Runtime ve Azure'un gücünü birleştiriyor



Optimum, OpenVINO™, ONNX Runtime ve Azure'un gücünü birleştiriyor

Video, geliştiricinin iş akışını basitleştirmek ve modellerinin doğruluğunu ve hızını artırmak için Optimum, OpenVINO, ONNX Runtime ve Azure kombinasyonunu gösteriyor. Konuşmacılar, derin öğrenme modellerini optimize etmek için yardımcı işlevlerin, ONNX Çalışma Zamanının ve OpenVINO Yürütme Sağlayıcısının kullanımını gösterir. Ayrıca, Sinir Ağı Sıkıştırma Çerçevesinde niceleme kullanarak kucaklanan yüz modellerinin nasıl optimize edileceğini gösterirler ve Azure ML, Optimum, ONNX Runtime ve OpenVINO kullanarak eğitim ve çıkarım sürecini gösterirler. Gösterim, doğruluk kaybını en aza indirirken modellerin performansını iyileştirmede bu araçların gücünü vurgulamaktadır.

  • 00:00:00 Videonun bu bölümünde Cassie, Intel temsilcileriyle OpenVINO araç seti ve Onyx çalışma zamanı hakkında konuşuyor. OpenVINO araç seti, derin öğrenme modellerinin performansını artırmak için Intel Donanımı için özel olarak tasarlanmış gelişmiş optimizasyon teknikleri kullanır. Onyx çalışma zamanı kitaplığı ve anlık oturum kod satırında basit bir değişiklikle geliştiriciler, Onyx modellerinin çıkarımını hızlandırmak için Intel'in OpenVINO yürütme sağlayıcısını kullanabilir. Videoda gösterilen demo, popüler bir derin öğrenme modeli olan YOLO V7'nin bir Intel CPU üzerindeki hızlandırılmış performansını sergiliyor.

  • 00:05:00 Videonun bu bölümünde konuşmacı, ön işleme yapmak, belirli etiketlere renk değerleri atamak ve görüntüleri okuyup yeniden işlemek için demoda kullanılan çeşitli yardımcı işlevleri tartışıyor. Demo, bir çıkarım oturumu oluşturmak ve çıkarım görevini çalıştırmak için ONNX Çalışma Zamanını ve Intel CPU'daki derin öğrenme modellerini hızlandırmak için OpenVINO Yürütme Sağlayıcısını kullanır. İşlem, ONNX ve OpenVINO kitaplıklarının yüklenmesini, ONNX Çalışma Zamanı kitaplığının içe aktarılmasını ve OpenVINO sağlayıcısının ayarlanmasını içeren kod satırında basit bir değişiklik yapılarak basitleştirilir. Konuşmacı ayrıca, ONNX modelinin nasıl bir bellek içi grafik temsiline dönüştürüldüğüne ve arka uç sorgulaması için Grafik Uygulayıcıya nasıl girdiğine dair kısa bir mimari genel bakış sunar.

  • 00:10:00 Bu bölümde konuşmacılar, Neural Network Compression Framework'de nicemleme kullanarak kucaklaşan yüz modellerinin nasıl optimize edileceğini tartışıyor. Optimum Intel ve OV Config kullanarak eğitim sırasında nicelemenin nasıl etkinleştirileceğini gösteren bir kod örneğini inceliyorlar. Ayrıca, geliştiricilerin ve müşterilerin karmaşık etkinlikleri daha verimli bir şekilde gerçekleştirmesine yardımcı olmak için veri hazırlığı, model eğitimi, çıkarım, dağıtım ve otomasyonu entegre eden bir yapay zeka iş akışını da sergiliyorlar. Konuşmacılar, daha iyi performans için bu iş akışlarını desteklemek üzere Azure ML'nin nasıl kullanılacağını gösterir.

  • 00:15:00 Videonun bu bölümünde, konuşmacı Azure ML, Optimum, ONNX Runtime ve OpenVINO kullanarak eğitim ve çıkarım sürecini tartışıyor. Eğitim ardışık düzeni için kullanılan dosyaları ve betikleri ve işin Azure ML'ye nasıl gönderileceğini tartışarak başlarlar. Daha sonra çıkarım betiğini ve onun ONNX Runtime ile OpenVINO yürütme sağlayıcısını nasıl kullandığını tartışmak için devam ederler. Konuşmacı, modelin nicelleştirilmesi ve eğitimi için F1 puanı sonuçları hakkında ayrıntılar vererek, bu işlem sırasında yalnızca küçük bir doğruluk kaybı olduğunu gösteriyor. Genel olarak, bölüm, bu teknolojileri kullanarak eğitim ve çıkarım sürecine ilişkin ayrıntılı bir genel bakış sunar.

  • 00:20:00 Bu bölümde konuşmacı, fp32 orijinal modelini ve Netron aracılığıyla görselleştirilen int 8 optimize edilmiş modeli göstererek niceleme işleminin nasıl çalıştığını gösterir. Ayrıca, eğitim ve çıkarım sürecinde doğruluğu ve performansı iyileştirmek için Azure ML ve OpenVINO'dan nasıl yararlanılabileceğini tartışıyorlar. Performansı daha fazla optimize etmek ve iyileştirmek için ONNX Runtime'ı kullanmaktan bahsediyorlar ve izleyicileri daha fazla bilgi için koda ve blog gönderisine göz atmaya teşvik ediyorlar. Genel olarak gösteri, geliştiricinin iş akışını basitleştirmek ve modellerinin doğruluğunu ve hızını artırmak için birden çok aracı birleştirmenin gücünü gösteriyor.
 

ONNX Modellerinin Daha Hızlı Çıkarımı | Geliştiriciler için Edge İnovasyon Serisi | Intel Yazılımı



ONNX Modellerinin Daha Hızlı Çıkarımı | Geliştiriciler için Edge İnovasyon Serisi | Intel Yazılımı

ONNX Çalışma Zamanı için OpenVINO Yürütme Sağlayıcısı bu videoda tartışılmaktadır. Derin öğrenme modellerinin çeşitli Intel bilgi işlem cihazlarına dağıtılmasına izin veren, platformlar arası bir makine öğrenimi modeli hızlandırıcısıdır. Geliştiriciler, Intel donanımı için optimize edilmiş OpenVINO araç setini kullanarak ve sağlayıcıyı kodda OpenVINO Yürütme Sağlayıcısı olarak ayarlayarak, gelişmiş optimizasyon teknikleriyle ONNX modellerinin çıkarımını hızlandırabilir. Video, tartışılan araçları kullanmak için gereken değişikliğin basitliğini vurgulamaktadır.

 

Buluttan İstemciye ONNX Runtime ile Daha Hızlı ve Daha Hafif Model Çıkarımı



Buluttan İstemciye ONNX Runtime ile Daha Hızlı ve Daha Hafif Model Çıkarımı

Bu videoda Microsoft Cloud ve AI grubundan Emma, Open Neural Network Exchange (ONNX) ve ONNX modellerini farklı donanımlar üzerinde çıkarım yapmak için yüksek performanslı bir motor olan ONNX Runtime'ı anlatıyor. Emma, ONNX Çalışma Zamanı INT8 nicelemenin sağlayabileceği önemli performans kazancı ve model boyutunda azalmanın yanı sıra doğruluğun önemini tartışıyor. ONNX Çalışma Zamanı INT8 nicelemesinin uçtan uca iş akışını gösteriyor ve PyTorch nicelemesini kullanan bir temel modelin sonuçlarını sunuyor. Ayrıca Emma, ONNX Runtime'ın buluttan istemciye model çıkarımını optimize etme yeteneğini ve hem Android hem de iOS platformlarında varsayılan olarak 300 kilobayttan daha küçük bir boyuta nasıl ulaşabileceğini tartışıyor.

  • 00:00:00 Bu bölümde, Microsoft Cloud ve AI grubundaki AI Framework Ekibinde Kıdemli Program Yöneticisi olan Emma, ONNX ve ONNX Runtime'ın AI Software Stack'teki rolünü açıklıyor. Açık Sinir Ağı Değişimi anlamına gelen ONNX, hem geleneksel makine öğrenimi modellerini hem de derin öğrenme sinir ağlarını temsil eden standart bir formattır. ONNX Runtime, ONNX modellerini farklı donanımlarda çıkarım yapmak için yüksek performanslı bir motordur. ONNX Dönüştürücüleri ve ONNX Çalıştırma Zamanı, ONNX dönüştürücü araçları kullanılarak herhangi bir çerçeveden açılabilen bir ONNX modelini çalıştırmaya yönelik iş akışındaki ana parçalardır. PyTorch, TensorFlow ve Caffe dahil olmak üzere ONNX'i destekleyen birçok popüler çerçeve vardır.

  • 00:05:00 Bu bölümde ONNX Runtime'ın faydaları ve özellikleri ele alınmaktadır. ONNX Runtime, çeşitli diller için API'ler ve CPU'lar, GPU'lar ve VPU'lar için donanım hızlandırmaları sunan ONNX modelleri için yüksek performanslı bir çıkarım motorudur. ONNX Çalışma Zamanı da açık ve genişletilebilir olup, makine öğrenimi çıkarımının kolay optimizasyonuna ve hızlandırılmasına olanak tanır. Halihazırda birden çok dahili ve harici platforma entegre edilmiştir ve birçok amiral gemisi ürünü güçlendirmektedir. ONNX Runtime'ın en yeni ve en heyecan verici özelliklerinden biri, kayan nokta sayılarına daha düşük bitlerle yaklaşan, model boyutu belleğini azaltan ve performansı artıran CPU için INT8 nicelemedir. Çeşitli modellerde ve donanımlarda kıyaslama sonuçları, ONNX Çalışma Zamanı kullanılarak önemli hızlanmalar gösteriyor.

  • 00:10:00 Bu bölümde, konuşmacı, büyük bir makinede çıkarım performansını üç kata kadar ve daha küçük makinelerde yaklaşık yüzde 60'a kadar hızlandırabilen ve aynı zamanda modeli azaltabilen ONNX Çalışma Zamanı INT8 nicelemesinin önemli performans kazancını tartışıyor. boyutunu neredeyse dört katına çıkardı. Konuşmacı ayrıca doğruluğun önemini vurgular ve ONNX Çalışma Zamanı nicelemeli modellerinin ortak bir NLP görevinde FP32 modelleriyle benzer doğruluğu nasıl koruyabileceğine dair bir örnek sunar. Ardından konuşmacı, modelleri ONNX formatına dönüştürmeyi, bir INT8 modeli elde etmek için niceleme aracını kullanmayı ve ardından ONNX Runtime'da çıkarım gerçekleştirmeyi içeren uçtan uca ONNX Çalışma Zamanı INT8 niceleme iş akışını gösterir. Son olarak, konuşmacı PyTorch nicelemesini kullanarak temel modelin sonuçlarını sunar ve Hugging Face'ten Tokenize ve değerlendirme işlevini kullanarak performansı değerlendirir.

  • 00:15:00 Bu bölümde, konuşmacılar model performansını ve boyutunu optimize etmek için ONNX Çalışma Zamanı niceleme sürecini tartışıyor. İşlem, nicelemeden önce yalnızca transformatör modelleri için gerekli olan bir optimizasyon adımını içerir. Optimize edildikten sonra model, ONNX Runtime'ın niceleme API'si kullanılarak 8 bit formatta nicelendirilebilir ve bu da çok daha küçük bir model boyutuyla sonuçlanır. Performans ve doğruluk sonuçları, ONNX Çalışma Zamanı nicelemesinin F1 puanı açısından PyTorch nicelemesinden daha iyi performans gösterdiğini göstermektedir. ONNX Runtime'ın bir başka heyecan verici özelliği de, akıllı telefonlarda ve uç cihazlarda cihaz üstü çıkarım için çalışma zamanı boyutunu küçültme yeteneğidir.

  • 00:20:00 Bu bölümde, ONNX Runtime'ın model çıkarımını buluttan istemciye optimize etme yeteneği tartışılmaktadır. ONNX Runtime mobile için iki ana teknik etkinleştirilmiştir: ONNX Runtime formatı adı verilen yeni bir optimize edilmiş formatın tanıtılması ve Runtime boyutunu azaltmak için yalnızca önceden tanımlanmış modellerin ihtiyaç duyduğu operatörlerle ONNX Runtime'ın oluşturulması. Bu, kullanılmayan operatörlerden kurtularak Çalışma Zamanı boyutunu önemli ölçüde azaltır, kendi cihaz çıkarımı ve bellek gereksinimlerinin karşılanması için daha uygun hale getirir. Temel ONNX Çalışma Zamanı mobil paketi, varsayılan olarak hem Android hem de iOS platformlarında 300 kilobayttan daha küçük bir boyuta ulaşabilir. ONNX Runtime, GitHub deposunda bulunan öğreticiler ve örnekler içeren açık kaynaklı bir projedir.
 

ONNX dönüştürme ve niceleme ile hızlı T5 trafo modeli CPU çıkarımı



ONNX dönüştürme ve niceleme ile hızlı T5 trafo modeli CPU çıkarımı

T5 trafo modelini ONNX'e çevirerek ve kuantizasyon uygulayarak, model boyutunu 3 kat küçültmek ve çıkarım hızını 5 kata kadar artırmak mümkündür. Bu, saniyenin altında gecikme süresine sahip bir CPU'da T5 gibi bir soru oluşturma modeli dağıtmak için özellikle kullanışlıdır. Ek olarak, Gradio uygulaması, model için görsel olarak çekici bir arayüz sunar. Huggingface'in T5 trafo modeli kullanılır ve ONNX ve niceleme için FastT5 kitaplığı kullanılır. Bu optimizasyonların uygulanması, bu sistemlerin üretim dağıtımları için önemli maliyet tasarruflarıyla sonuçlanabilir.

  • 00:00 Tanıtım ve Gündem

  • 01:07 Transformers kitaplığını sarılma yüzünden kurun

  • 02:18 İndir Sarılma yüz modeli

  • 02:40 Soru Oluşturma Örneği

  • 04:00 GUI'de Gradio uygulama dağıtımı

  • 08:11 T5 Pytorch'u ONNX'e Dönüştürün ve FastT5 ile Nicelleştirin

  • 17:22 Modeli sürücüye kaydedin

  • 18:30 Gradio Uygulamasını Yeni modelle çalıştırın

  • 21:55 Gelecek bölüm & Sonuç
 

Azure AI ve ONNX Çalışma Zamanı



Azure AI ve ONNX Çalışma Zamanı

Metin, makine öğreniminin ve dağıtımının çeşitli yönlerini kapsar. Veri biliminin gelişimini, çerçeve uyumluluğunun zorluklarını, model dağıtımı için Azure AI ve ONNX Runtime'ın kullanımını, ML ortamlarının oluşturulmasını ve ONNX Runtime'ın sınırlamalarını tartışır. Konuşmacı, ONNX'in standardizasyonunu ve çoklu çerçeve desteğini vurgulayarak farklı donanımlar için optimize etmeyi kolaylaştırır. Video ayrıca, donanım tercihleri için bir karşılaştırma ölçütünün bulunmadığından ve ONNX'in sınırlamalarının üstesinden gelmek için birden fazla araç kullanma ihtiyacından da bahsediyor.

  • 00:00:00 Konuşma metninin bu bölümünde, konuşmacı veri biliminin evrimini ve bir laboratuvar çalışması biliminden birbirine bağlı bir dünyaya nasıl dönüştüğünü tartışıyor. Konuşmacı, IoT sistemleriyle çalışma deneyimini ve bunların elle oluşturulmaktan bulut hizmetlerini kullanmaya nasıl dönüştüğünü paylaşıyor. Konuşmacı ayrıca bulut hizmetlerinin kullanımına izin verilmeyen ortamlarda çalışabilmenin önemine ve bu durumlarda ne kadar uzman şirketlere ihtiyaç duyulduğuna vurgu yapıyor. Son olarak konuşmacı, çerçeveleri veya bulut sağlayıcılarını değiştirmek zorunda olmanın zorluklarını ele alıyor ve müşterilerin neden genellikle çerçeveleri değiştirmek yerine sağlayıcıları değiştirdiğini açıklıyor.

  • 00:05:00 Bu bölümde konuşmacı, farklı AI çerçeveleri arasındaki uyumluluk ve bunun işletmeleri nasıl etkilediği hakkında konuşuyor. Bir banka örneğiyle, eğer bir şirket sistemini tek bir AI çerçevesi üzerine kurmuşsa, ancak daha sonra farklı bir çerçeve kullanmak isteyen yeni bir müşteri gelirse, şirketin sistemi tamamen sıfırdan yeniden inşa etmek zorunda kalacağını ve bunun da onlara mal olacağını açıklıyor. hem zaman hem para. Daha sonra, işletmelerin mevcut çerçevelerini ve modellerini tam bir yeniden yapılandırmaya ihtiyaç duymadan uyumlu bir biçime dönüştürmelerine olanak tanıyan Onex çalışma zamanını tartışıyor. Konuşmacı ayrıca bu dönüştürülen modelleri analiz etmek ve optimize etmek için mevcut araçlardan bahseder.

  • 00:10:00 Bu bölümde konuşmacı, makine öğrenimi modellerini farklı platformlarda kolayca dağıtmak için Azure AI ve ONNX Runtime'ın nasıl kullanılabileceğini açıklıyor. İşletmeler, platformları ve dilleri için uygun seçenekleri seçerek, sinir ağlarının 0'lar ve 1'ler dizilerini yüklemek için yazılımı kullanabilir ve sistemi kolay dağıtım için dışa aktarmak için seçtikleri platform ve dili kullanabilir. Oturum ayrıca geliştirme süreci boyunca eğitimi optimize etmek için Onex'in nasıl kullanılabileceğini de kapsar, bu da daha hızlı ve daha doğru sonuçlara yol açar. Konuşmacı ayrıca Intel serrandello'nun GPU'lar ve CPU'lar için model geliştirmeyi daha da kolaylaştıran otomatik optimizasyon sistemini tanıtıyor.

  • 00:15:00 Bu bölümde konuşmacı, makine öğrenimi ortamının oluşturulmasını ve çanak yaprakların ve taç yaprakların uzunluğuna ve genişliğine dayalı olarak bitki türleri için bir sınıflandırıcının geliştirilmesini tartışıyor. Konuşmacı, bir ML ortamı oluşturmanın eskiden sunucu kümeleri satın almayı ve her şeyi manuel olarak yapılandırmayı gerektirdiğini, ancak artık kendi ML ortamlarını oluşturabileceklerini ve donanıma ihtiyaç duymadan kendi stüdyolarını başlatabileceklerini belirtiyor. Makine öğrenimi ortamları, normal bir sanal makine ve TensorFlow modellerini kaydetmek için kullanılan ONNX'i içerir. Konuşmacı daha sonra bitki türlerini verilen parametrelere göre sınıflandırmak için basit bir sinir ağının oluşturulmasını gösterir.

  • 00:20:00 Bu bölümde, konuşmacı kaydedilmiş bir ONNX modelinin nasıl yükleneceğini ve üzerinde bir tahminin nasıl çalıştırılacağını gösterir. Tensorflow çerçevesini içe aktarır, ONNX modelini yükler ve giriş değerlerine benzersiz bir giriş adı atar. Daha sonra, ONNX ifadesini yürütmek üzere rastgele giriş değerleri oluşturmak için bir bağlantı alanı oluşturur. Son olarak aramayı çalıştırır ve tahminden elde edilen çıktı değerinin kategorisini alır. Daha önce oluşturulan ONNX modeli, belgeleme gerektirmeyen tek bir dosyadır, bu nedenle geliştiricilerin onu kullanmasını kolaylaştırır.

  • 00:25:00 Bu bölümde konuşmacı, Azure AI ve ONNX Runtime'ın makine öğrenimi modellerini çeşitli uygulamalara entegre etmeyi nasıl kolaylaştırdığını açıklıyor. Azure AI ile müşterinin yalnızca modelini tercih ettiği dilde oluşturması gerekir ve ardından modeli yüklemek ve modeli çağırmak için gerekli girdi verilerini oluşturmak için Azure AI'yı kullanabilir. ONNX Çalışma Zamanı daha sonra, temel alınan platformdan bağımsız olarak modeli Xamarin, Android veya Mac gibi farklı uygulamalara entegre etmek için kullanılabilir. Bu, makine öğrenimi modellerini çeşitli cihaz ve platformlara kolaylıkla entegre etmeyi mümkün kılar. Konuşmacı ayrıca, ONNX Runtime'ın mobil cihazlar için olanlar da dahil olmak üzere çeşitli işlemciler için optimize ettiğini belirtiyor.

  • 00:30:00 Bu bölümde konuşmacı, tüm büyük çerçeveleri desteklediği ve birçok şirket tarafından desteklendiği için ONNX'in makine öğrenimi modelleri için fiili standart haline geldiğini açıklıyor. Bu standardizasyon, geçmişte olduğu gibi manuel optimizasyona ihtiyaç duymadan farklı donanımlar için daha kolay optimizasyon sağlar. Ek olarak, ONNX sinir ağları ile sınırlı değildir ve diğer algoritmalar için de kullanılabilir. Konuşmacı ayrıca, ONNX'in farklı platformlarda aynı matematiksel işlevleri ve işlemleri desteklediğini ve desteklenen opset'ler eşleştiği sürece farklı donanım ve platformlar arasında sorunsuz dağıtıma izin verdiğini belirtiyor.

  • 00:35:00 Bu bölümde, konuşmacı performans açısından ONNX çalışma zamanının sınırlamalarını tartışıyor. ONNX, genel kullanım durumları için iyi çalışan harika bir araç olsa da, donanımı tam potansiyelinden kullanmaz. Pytorch gibi ONNX'in ötesindeki diğer araçların daha faydalı olabileceği yer burasıdır. Ancak, bir kişinin odak noktası modeli dışa aktarmaksa, ONNX diğer araçların yerini tamamen alabilir. Ayrıca konuşmacı, ONNX'in çoklu makine işleme gibi makineler arası iletişimi işlemediğini açıklıyor. Konuşmacı, bu sınırlamaların üstesinden gelmek için ONNX ile birlikte başka araçların kullanılmasını önerir.

  • 00:40:00 Bu bölümde, konuşmacı donanım tercihleri için bir karşılaştırma ölçütünün bulunmadığını tartışıyor ve çoğu karşılaştırma ölçütünün donanım üreticisinin web sitesinde bulunabileceğini vurguluyor. Ayrıca, birçok şirketin artık donanım için yazdığını, bunun tersi olmadığını da belirtiyorlar. Konuşmacı daha sonra Core ml, ONNX Runtime ve RT gibi hızlandırma için en sık kullanılan platformlardan bahseder. Eğitim aşamasının nasıl hızlandırıldığından bahsediyorlar ve bu tamamlandığında müşterilere satış yapmak daha kolay oluyor. Konuşmacılar, önümüzdeki birkaç yıl içinde çok az değişiklik olacağını ve xeon ve benzeri programların öne çıkmaya devam edeceğini öne sürüyorlar.
 

ONNX ile Makine Öğrenimini her yerde devreye alın. Azure ml.net İşlevinde çalışan Python SKLearn Modeli



ONNX ile Makine Öğrenimini her yerde devreye alın. Azure ml.net İşlevinde çalışan Python SKLearn Modeli

Video, ONNX çalışma zamanının farklı dillerde ve çerçevelerde oluşturulmuş makine öğrenimi modellerinin dağıtımını nasıl basitleştirdiğini ve standartlaştırdığını gösterir. Bir Python scikit-learn modelini bir ONNX modeline paketleme ve onu bir Azure ML .NET işlevinde dağıtma sürecini gösterir. Video, Azure işlevinin bir HTTP POST isteği aracılığıyla kolayca tetiklenebileceğini, böylece herhangi bir uygulamadan veya web sitesinden çağrı yapmayı kolaylaştırdığını ve makine öğrenimi modelini oluşturmak için kullanılan dilden bağımsız olarak bir ONNX modeline dönüştürülebileceğini ve Tutarlı bir şekilde çalışması için ML.NET aracılığıyla dağıtılır.

  • 00:00:00 Bu bölümde video, ONNX çalışma zamanını ve bunun çeşitli dillerde ve çerçevelerde oluşturulmuş makine öğrenimi modellerinin dağıtım sürecini nasıl basitleştirdiğini tanıtıyor. ONNX çalışma zamanı, modellerin farklı bir ortama kolayca dağıtılabilecek şekilde kapsüllenmesini sağlar. Asitleme işleminin yerini alır ve Python, R, .NET, Java ve diğer dillerde çalışan standart bir çalışma zamanı sağlar. Video, Python'da basit bir model oluşturmanın, onu bir ONNX modelinde paketlemenin ve bir ML .NET işlevinde çalıştırmanın uçtan uca bir örneğini göstererek devam ediyor. Bu örnekte kullanılan kod, Advancing LLS YouTube kanalının genel GitHub'ında mevcuttur.

  • 00:05:00 Bu bölümde, konuşmacı bir Azure işlevinde ONNX kullanarak bir makine öğrenimi modelinin nasıl dağıtılacağını gösterir. Demo, San Francisco ev fiyatı verilerini kullanarak doğrusal bir regresyon modeli eğitmek için scikit-learn kullanan temel bir Python modelini göstererek başlar. Model, sayısal ve kategorik değerlerden oluşan bir eğitim seti kullanılarak eğitilir ve model eğitildikten sonra, kalıcı olması ve bir konteynerde konuşlandırılması için seçilir. Son olarak, konuşmacı, eğitim setinde tahmin çağırarak modeli test eder ve bazı değerleri geri alır. Bu süreç, makine öğrenimi modellerini ONNX kullanarak herhangi bir yerde devreye almak ve çalıştırmak için kullanılabilir.

  • 00:10:00 Videonun bu bölümünde sunucu, modeli Python'un kullanması gerekmeyecek şekilde ONNX'te çalışacak şekilde ayarlar. Modelin eğitimine giren özelliklerin sayısı belirtilir ve ONNX modeli, ne bekleyeceğini bilmek için başlatılır. İlk giriş, puanlama için gerekli olan özellik girişi olarak adlandırılır. Modeli puanlamak için bir oturum oluşturulur ve eğitim verilerine dayanarak tahmin yapmaktan bir kod satırı sorumludur. Daha sonra tahminler yazdırılır.

  • 00:15:00 Bu bölümde, konuşmacı bir Python modelini ONNX'te çalıştırmayı ve kullanılan paketlerden bağımsız olarak Python'da nasıl tutarlı bir şekilde çalıştırılabileceğini tartışıyor. Konuşmacı, bir Python modelinin ONNX'e nasıl dönüştürüleceğini ve bir JSON nesnesiyle bir HTTP POST kullanarak bir Azure işlevinde nasıl çalıştırılacağını gösterir. İşlev, yıl, daha büyük yaşam alanı ve satış durumu gibi önemli verileri çıkarır ve verileri puanlamak ve sonucu döndürmek için ONNX kullanan modele iletir. Konuşmacı, Azure işlevinin arkasında bir REST API bulunan standart bir HTTP tetikleyicisi olduğunu ve herhangi bir uygulamadan veya web sitesinden çağrı yapmayı kolaylaştırdığını açıklıyor.

  • 00:20:00 Bu bölümde, konuşmacı, giriş adı verilen bir değişken oluşturmak ve bunu oturumun çalışması için kabul edilebilir olacak şekilde giriş tensörünü şekillendirmek için kullanmak için gerekli adımları açıklar. Oturum, yolda yeni oturumu çalıştırmak ve belirlenen girdiyle puanlama yapmak için başlatılır ve başlatılır. Skor sonucu daha sonra çıkarılır ve bir sonuç nesnesi olarak paketlenir ve işleve geri iletilir. Konuşmacı, bir puan geri almak için inşa yılı ve yaşam alanı gibi ham JSON nesne modeli parametrelerinden geçerek Postman'da dağıtılan modelin nasıl test edileceğini gösterir. ONNX ve ML.NET aracılığıyla makine öğrenimi modellerini dağıtmanın avantajı, bir ONNX modeline dönüştürülebildiği, ardından tutarlı bir şekilde konuşlandırılıp çalıştırılabildiği sürece, insanların modellerini hangi dilde oluşturdukları önemli değildir.
 

Makine Öğrenimi Modellerini (TensorFlow/Caffe2/ONNX) Dağıtma - Hızlı ve Kolay



Makine Öğrenimi Modellerini (TensorFlow/Caffe2/ONNX) Dağıtma - Hızlı ve Kolay

Video, transfer öğreniminin görüntüleri sınıflandırmak için nasıl kullanılabileceğini ve görüntü sınıflandırma modelinin Python ve TensorFlow kullanılarak bir son kullanıcı uygulamasına nasıl entegre edileceğini gösterir. Sunucu, fotoğrafların gerekli perspektiften yüklenmediği ve etiketlerin manuel olarak kontrol edilmesi gerektiğinde karşılaşılan zorlukları göstermek için bir araba ticareti uygulaması örneği kullanıyor, bu da can sıkıntısına ve verimsizliğe yol açıyor. Transfer öğrenme tekniğini kullanarak fotoğraf perspektiflerini tanıması için mevcut bir sinir ağını eğiterek bu zorlukların nasıl üstesinden gelineceğini açıklıyor. Ardından, GraphPipe açık kaynak projesini kullanarak modelin Oracle bulutunda nasıl test edileceğini ve konuşlandırılacağını gösteriyor. Son olarak sunum yapan kişi, makine öğrenimi modellerinin laboratuvar aşamasından üretim aşamasına alınmasının önemini vurgulamaktadır.

  • 00:00:00 Bu bölümde Jeroen Kloosterman, makine öğreniminin görüntü sınıflandırması için nasıl kullanılabileceğini ve görüntü sınıflandırma modelinin bir son kullanıcı uygulamasına nasıl entegre edileceğini açıklıyor. Fotoğrafların gerekli perspektiften yüklenmediği ve etiketlerin manuel olarak kontrol edilmesinin gerektiği, bunun da can sıkıntısına ve verimsizliğe yol açtığı bir araba ticareti uygulamasının karşılaştığı zorlukları vurguluyor. Bu zorlukların üstesinden gelmek için Jeroen, Python ve Tensorflow kullanarak fotoğraf perspektiflerini tanıması için mevcut bir sinir ağını eğiterek transfer öğrenme tekniğini kullanıyor. Jeroen Kloosterman, farklı bakış açılarını tanımak için sinir ağının yalnızca son katmanlarının izini sürerek ağı fotoğrafları otomatik olarak sınıflandırması için başarılı bir şekilde eğitiyor.

  • 00:05:00 Bu bölümde Jeroen, önceki bölümde eğitilmiş olan modelin nasıl test edileceğini ve ardından GraphPipe açık kaynak projesini kullanarak Oracle bulutunda devreye alınmasını gösteriyor. Başlamak için, modeli yeniden eğitmek için TensorFlow'u kullanan yeniden eğitme Python betiği çağrılır. Ortamı Oracle bulutunda kurduktan sonra sunum yapan kişi, görüntü sınıflandırıcıyı çağırmak için Python kullanarak örnek bir istemci yazar. Model tarafından döndürülen sınıflandırma, ön uç tarafından araba satış uygulamasının son kullanıcısına bir mesaj göstermek için kullanılabilir. Son olarak sunum yapan kişi, makine öğrenimi modellerinin laboratuvar aşamasından üretim aşamasına alınmasının önemini vurgulamaktadır.