Zephyrnet Logosu

Intel® Xeon® Ölçeklenebilir Platformlarda Yapay Zeka İş Yükleri için Yazılım Optimizasyonlarının Avantajlarını Gösterme

Tarih:

Intel® Xeon® Ölçeklenebilir Platformlarda Yapay Zeka İş Yükleri için Yazılım Optimizasyonlarının Avantajlarını Gösterme

Bu blogun odak noktası, devam eden yazılım optimizasyonlarının yalnızca en yeni platformlar için değil, aynı zamanda önceki nesillerin mevcut kurulum tabanı için de performansı artırabileceğini gün ışığına çıkarmaktır. Bu, müşterilerin mevcut platform yatırımlarından değer elde etmeye devam edebileceği anlamına gelir.


Huma Abidi ve Haihao Shen, Intel

Intel® Xeon® Ölçeklenebilir platformlar, veri merkezli yenilikte ileriye dönük evrimsel bir sıçrama için temel sağlar. Intel® Derin Öğrenme Güçlendirme yapay zeka çıkarımını ve eğitim performansını geliştirmek için yerleşik AI hızlandırmaya sahip bir teknolojidir. Özellikle, 3. Nesil Intel Xeon Ölçeklenebilir İşlemciler için açıkladı Haziran 2020'de, endüstrinin Brain Floating Point 86-bit (blfoat16) ve Vector Neural Network Talimatları (VNNI) için ilk x16 desteğiydi. Donanım mimarisindeki geliştirmeler, yazılım optimizasyonları ile birleştiğinde, 1.93x AI eğitiminde daha fazla performans ve 1.9x AI çıkarımında 2'ye kıyasla daha fazla performansnd Nesil Intel Xeon Ölçeklenebilir işlemciler1.

Bu blogun odak noktası, devam eden yazılım optimizasyonlarının yalnızca en yeni platformlar için değil, aynı zamanda önceki nesillerin mevcut kurulum tabanı için de performansı artırabileceğini gün ışığına çıkarmaktır. Yeni donanımın sağladığı her büyüklükteki performans artışı için, yazılım optimizasyonları bu sonuçları çoğaltma potansiyeline sahiptir. Bununla birlikte, kabaca her 12-18 ayda bir yeni donanım platformları piyasaya çıkmaktadır. Bu yeni platform tanıtımlarının arasında, mevcut nesil platformlar için bile performansı artırmak için yazılım yığınında yenilikler yapmaya devam ediyoruz. Ek olarak, TensorFlow ve PyTorch gibi açık kaynaklı yazılım yığınları, uygulamalarında sürekli olarak yenilikleri ve değişiklikleri teşvik ediyor. Yazılım yığınımız, bu hızlı sürümleri ele alacak ve Intel için optimize edilmiş sürümlerimizi hızlandıracak şekilde düzenlenmiştir. Ayrıca, sektörde ve akademide AI araştırma topluluğu tarafından yayınlanan yeni modelleri ve kullanım örneklerini etkinleştirmenin ön safındayız. Bu, müşterilerin mevcut platform yatırımlarından değer elde etmeye devam edebileceği anlamına gelir.

Bu noktayı vurgulamak için, popüler derin öğrenme iş yüklerindeki performansı ölçtük. Aşağıdaki tablo görüntü sınıflandırmasını (ResNet50 v1.5), doğal dil işleme (Transformer / BERT) ve öneri sistemlerini (Geniş ve Derin) içerir. İş yüklerinin hepsinin 2'de çalıştırıldığına dikkat etmek önemlidir.nd nesil Intel Xeon Ölçeklenebilir işlemciler. Tek değişken, yazılım sürümlerinin farklı sürümleridir. Bu nedenle, ortaya çıkan tablodaki performans kazanımları tamamen yazılım optimizasyonlarına atfedilir.

Sonuçlar

 
Derin Öğrenme İş Yükü Performansı2

Sonuçlar

Bu etkileyici performans kazanımları, Intel tarafından optimize edilmiş derin öğrenme çerçevelerinde (egTensorFlow, PyTorch ve MXNet) kullanılan yazılım optimizasyonlarının yanı sıra Intel® OpenVINO DağıtımıTM araç derin öğrenme çıkarımı için. Yazılım optimizasyonuna yaklaşımlarımızdan bazıları listelenmiştir:

  • Intel® oneAPI Derin Sinir Ağı Kitaplığı (oneDNN), tüm popüler derin öğrenme çerçevelerinde kullanılmıştır ve ilkeller, Convolution, GEMM, BatchNorm, vb. Gibi tipik DNN operatörlerinin yürütülmesini hızlandırmak için kullanılmaktadır.
  • Grafik birleştirme, bellek ayak izini azaltmak ve bellek bant genişliğinden tasarruf etmek için kullanılır. Grafik füzyonuna ek olarak, sabit katlama (Evrişim ve BatchNorm) ve ortak alt ifade eliminasyonu da grafik uygulamasının ön hesaplaması olarak kullanılır.
  • Daha iyi bellek ve iş parçacığı yönetimi ile elde edilen çalışma zamanı optimizasyonu. Bellek yönetimi, belleği olabildiğince yeniden kullanarak önbellek kullanımının iyileştirilmesine yardımcı olur. İş parçacığı yönetimi, iş yükü yürütme için iş parçacığı kaynaklarını daha etkin bir şekilde tahsis eder.

Tek düğümlü yazılım optimizasyonlarına ek olarak, daha iyi ölçek büyütme / ölçeklendirme verimliliği göstermek için çok düğümlü yazılım optimizasyonları da araştırılır. Veri / model / hibrit paralellik, hesaplama / iletişim örtüşmesi (veya boru hattı örtüşmesi) ve bazı yeni iletişim toplu algoritmalarıyla (örneğin, halka tabanlı tüm azaltma) birlikte çok düğümlü eğitim için iyi bilinen bir tekniktir.

Intel'in Yazılım Optimizasyonlarına Nasıl Erişebilirsiniz

 
Yazılım alanındaki çalışmalarımız sayesinde, derin öğrenme çerçeveleri için sürekli olarak performans iyileştirmeleri yapıyoruz. Intel'in mevcut nesil Intel donanımlarını geliştiren ve gelecekteki platformlara fayda sağlayan yazılım optimizasyonlarına erişim sağlamanın birçok yolu vardır.

The Intel® AI Analitiği Araç Seti, oneAPI tarafından desteklenen, geliştiricilere, araştırmacılara ve veri bilimcilere, ardışık düzendeki her adımı hızlandırmak için tanıdık Python araçları sağlar - derin sinir ağlarını eğitir, eğitimli modelleri çıkarım için uygulamalara entegre eder ve veri analizi ve makine öğrenimi iş yükleri için işlevleri yürütür. Araç seti şunları içerir:

Intel® Teknolojisi için Optimize Edilmiş PyTorch. Bu, hem ana hat Pytorch'a hem de Pytorch'un Intel uzantısı Bu, Out of Box deneyimini müşterilerimiz için daha iyi hale getirmeyi amaçlamaktadır.

TensorFlow için Intel® Optimizasyonu. Google ile işbirliği içinde TensorFlow, Intel® Xeon® Ölçeklenebilir işlemcilerde yüksek performans elde etmek için doğrudan Intel® mimarisi için optimize edilmiştir. Intel ayrıca AI kapsayıcıları sunar. DockHub'da Intel® TensorFlow Optimizasyonunun docker imajını yayınlıyoruz. Aşağıdaki etiketler kullanılır:

  • 3rd Gen Intel Xeon Ölçeklenebilir İşlemciler görüntüsü: intel / intel optimized-tensorflow: tensorflow-2.2-bf16-nightly
  • 2nd Gen Intel Xeon Ölçeklenebilir İşlemciler görüntüsü: intelaipg / intel için optimize edilmiş-tensorflow: en yeni-prs-b5d67b7-avx2-devel-mkl-py3

 
Intel® Mimarisi için Model Hayvanat Bahçesi. Bu havuz, Intel tarafından Intel® Xeon® Ölçeklenebilir işlemcilerde çalıştırılmak üzere optimize edilmiş 40'tan fazla popüler açık kaynaklı makine öğrenimi modeli için önceden eğitilmiş modellere, örnek komut dosyalarına, en iyi uygulamalara ve adım adım öğreticilere bağlantılar içerir. Ayrıca katkıda bulunuyoruz Google Model Bahçesi Intel için optimize edilmiş modeller ekleyerek.

Intel® Low Precision Inference Toolkit derin öğrenme çıkarım iş yüklerini hızlandırır. Bu, müşterilerin düşük hassasiyetli çıkarım çözümlerini hızlı bir şekilde dağıtmasına yardımcı olmak için FP32 hassasiyetini int8 hassasiyetine dönüştürmek için geliştirilmiştir.

Python için Intel® Dağıtımı müşterilerin kod değişikliği yapmadan hesaplama paketlerini hızlandırmasını sağlar.

Intel'in oneAPI Derin Sinir Ağı Kitaplığı (oneDNN), Intel Mimarisi İşlemciler ve Intel® İşlemci Grafikleri / GPU için optimize edilmiş sinir ağları için temel yapı taşlarını içeren açık kaynaklı bir performans kitaplığıdır. PyTorch ve MXNet ikili dosyalarında ve Tensorflow'a eklenecek işlemde CPU için OneDNN varsayılandır.

Sonuç

 
Intel® Xeon® Ölçeklenebilir işlemciler hem Karmaşık yapay zeka iş yüklerini hem de genel amaçlı bilgi işlem iş yüklerini destekler. Yapay zeka özelliklerini her nesil için Intel Xeon Ölçeklenebilir işlemcilerde yenilemeye ve yayınlamaya ek olarak, Intel yazılım optimizasyonları donanım özelliklerinden yararlanır ve popüler yapay zeka iş yüklerine önemli performans hızı getirmeye devam eder. Geliştiriciler ve son müşteriler güncel kalmalı ve Intel platformlarının performansını ortaya çıkarmak için tasarlanmış Intel tarafından optimize edilmiş çerçevelerden ve yazılım araç setlerinden yararlanmalıdır.

 
Referanslar

 
Bildirimler ve Sorumluluk Reddi Beyanları

Performans testlerinde kullanılan yazılım ve iş yükleri, yalnızca Intel mikroişlemcilerde performans için optimize edilmiş olabilir.  

SYSmark ve MobileMark gibi performans testleri, belirli bilgisayar sistemleri, bileşenler, yazılımlar, işlemler ve işlevler kullanılarak ölçülür. Bu faktörlerden herhangi birinde yapılacak herhangi bir değişiklik, sonuçların değişmesine neden olabilir. Diğer ürünlerle birleştirildiğinde o ürünün performansı dahil, planladığınız satın alma işlemlerinizi tam olarak değerlendirmenize yardımcı olması için diğer bilgilere ve performans testlerine başvurmalısınız. Daha eksiksiz bilgi için www.intel.com/benchmarks adresini ziyaret edin.

Performans sonuçları, yapılandırmalarda gösterilen tarihlerdeki testlere dayanmaktadır ve herkese açık tüm güncellemeleri yansıtmayabilir. Yapılandırma ayrıntıları için yedeklemeye bakın. Hiçbir ürün veya bileşen mutlak güvenliğe sahip olamaz. 

Intel'in derleyicileri, Intel mikroişlemcilerine özgü olmayan optimizasyonlar için Intel olmayan mikroişlemciler için aynı derecede optimizasyon yapabilir veya yapmayabilir. Bu optimizasyonlar SSE2, SSE3 ve SSSE3 komut setlerini ve diğer optimizasyonları içerir. Intel, Intel tarafından üretilmeyen mikro işlemcilerde herhangi bir optimizasyonun kullanılabilirliğini, işlevselliğini veya etkililiğini garanti etmez. Bu üründeki mikroişlemciye bağlı optimizasyonlar, Intel mikroişlemcilerle kullanılmak üzere tasarlanmıştır. Intel mikro mimarisine özgü olmayan belirli optimizasyonlar Intel mikroişlemciler için ayrılmıştır. Bu bildirim kapsamındaki özel talimat setleri hakkında daha fazla bilgi için lütfen ilgili ürünün Kullanıcı ve Referans Kılavuzlarına bakın. 

Maliyetleriniz ve sonuçlarınız değişebilir. 

Intel teknolojileri, etkin donanım, yazılım veya hizmet etkinleştirmesi gerektirebilir.

Yapılandırmalar: 3 Temmuz itibarıyla Intel tarafından test ediliyorrd, 2020.

ResNet50 v1.5

  • Haziran-18: eğitim, meşale v0.4, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 python benchmark_.py –arch resnet50 –num-iters = 20; çıkarım, meşale v0.4, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 python benchmark_.py –arch resnet50 –num-iters = 20 – çıkarım
  • Nisan-19: eğitim, meşale v1.01, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 python benchmark_.py –arch resnet50 –num-iters = 20; çıkarım: MLPerf v0.5 gönderme + yama: https://github.com/pytorch/pytorch/pull/25235, ./inferencer –net_conf resnet50 –log_level 0 –w 20 –batch_size 128 –iterations 1000 –device_type ideep –dummy_data true –random_multibatch false –numa_id 0 –init_net_path resnet50 / init_net_xt8.pbtxt –predict_net_shared50 / resmem_net_shared_ USE_LOCAL –data_order NHWC –quantized true
  • Jun-20: eğitim, https://github.com/pytorch/pytorch/tree/gh/xiaobingsuper/18/orig, KMP_AFFINITY = granularity = ince, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 python benchmark_.py –arch resnet50 –num-iters = 20; çıkarım, Nisan-19 ile aynı

Trafo

  • Nisan-19: eğitim, docker intelaipg / intel-optimized-tensorflow: latest-prs-b5d67b7-avx2-devel-mkl-py3, OMP_NUM_THREADS = 28 python ./benchmarks/launch_benchmark.py –framework tensorflow –hassas fp32 –mode eğitimi - model adı transformer_mlperf –num-intra-thread 28 –num-threadler arası 1 –data-location transformer_data –random_seed = 11 train_steps = 100 steps_between_eval = 100 params = big save_checkpoints = ”Hayır” do_eval = ”Hayır” print_iter = 10; çıkarım, docker intelaipg / intel-optimizeed-tensorflow: latest-prs-b5d67b7-avx2-devel-mkl-py3, OMP_NUM_THREADS = 28 python benchmark / launch_benchmark.py –model-name transformer_lt_official –precision fp32 –tode çıkarım –batchlow -boyut 64 –num-intra-thread 28 –num-threadler 1 –içinde-grafik fp32_graphdef.pb –veri-konum transformer_lt_official_fp32_pretrained_model / data - file = newstest2014.en file_out = translate.txt referansı = newstest2014.de vocab_file = vocab .txt NOINSTALL = Doğru
  • Jun-20: eğitim, docker i intel / intel-optimized-tensorflow: tensorflow-2.2-bf16-nightly, OMP_NUM_THREADS = 28 python ./benchmarks/launch_benchmark.py –framework tensorflow –precision fp32 –mode eğitimi –model-name transformer_mlperf - num-intra-thread 28 –num-inter-thread 1 –data-location transformer_data –random_seed = 11 train_steps = 100 steps_between_eval = 100 params = big save_checkpoints = ”Hayır” do_eval = ”Hayır” print_iter = 10; çıkarım, docker intelaipg / intel-optimizeed-tensorflow: latest-prs-b5d67b7-avx2-devel-mkl-py3, OMP_NUM_THREADS = 28 python benchmark / launch_benchmark.py –model-name transformer_lt_official –precision fp32 –tode çıkarım –batchlow -boyut 64 –num-intra-thread 28 –num-threadler 1 –içinde-grafik fp32_graphdef.pb –veri-konum transformer_lt_official_fp32_pretrained_model / data - file = newstest2014.en file_out = translate.txt referansı = newstest2014.de vocab_file = vocab .txt NOINSTALL = Doğru

Bert

  • Nisan-19: çıkarım, docker intelaipg / intel-optimized-tensorflow: latest-prs-b5d67b7-avx2-devel-mkl-py3, OMP_NUM_THREADS = 28 python run_squad.py –init_checkpoint = / tf_dataset / dataset / data-bert-squad squad-ckpts / model.ckpt-3649 –vocab_file = / tf_dataset / dataset / data-bert-squad / uncased_L-24_H-1024_A-16 / vocab.txt –bert_config_file = / tf_dataset / dataset / data-bert-squad / uncased_L- 24_H-1024_A-16 / bert_config.json –predict_file = / tf_dataset / dataset / data-bert-squad / uncased_L-24_H-1024_A-16 / dev-v1.1.json –precision = fp32 –output_dir = / root / logs - predikt_batch_size = 32 –do_predict = Doğru –mod = kıyaslama
  • Jun-20: çıkarım, docker i intel / intel-optimized-tensorflow: tensorflow-2.2-bf16-nightly, OMP_NUM_THREADS = 28 python launch_benchmark.py –model-name bert_large –precision fp32 –mode çıkarsama –framework tensorflow –batch boyutu 32 –Socket-id 0 –docker-image intel / intel-optimized-tensorflow: tensorflow-2.2-bf16-nightly –data-location veri kümesi / bert_large_wwm / wwm_uncased_L-24_H-1024_A-16
    –Checkpoint / tf_dataset / dataset / data-bert-squad / squad-ckpts –sadece kıyaslama –verbose - https_proxy = http: //proxy.ra.intel.com: 912 http_proxy = http: //proxy.ra.intel. com: 911 DEBIAN_FRONTEND = etkileşimsiz init_checkpoint = model.ckpt-3649 infer_option = SQuAD

Geniş ve Derin

  • Haziran-18: eğitim, mxnet 1.3, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 python train.py, inference, mxnet 1.3, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 numactl –physcpubind = 0-27 –membind = 0 python çıkarım.py –hassas Doğru
  • Nisan-19: eğitim, mxnet 1.4, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 python train.py, inference, mxnet 1.4, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 numactl –physcpubind = 0-27 –membind = 0 python çıkarım.py –hassas Doğru
  • Haziran-20: eğitim, mxnet 1.7, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 python train.py, çıkarım, mxnet 1.7, KMP_AFFINITY = granularity = fine, noduplicates, compact, 1,0 OMP_NUM_THREADS = 28 numactl –physcpubind = 0-27 –membind = 0 python inference.py –symbol-file = WD-quantized-162batches-naive-symbol.json –param-file = WD-quantized-0000.params –accuracy True

© Intel Corporation. Intel, Intel logosu ve diğer Intel markaları, Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Diğer isimler ve markalar başkalarının mülkiyetinde olabilir. 

  1. Bakın https://software.intel.com/articles/optimization-notice Intel yazılım ürünlerindeki performans ve optimizasyon seçenekleriyle ilgili daha fazla bilgi için.
  2. Test yapılandırma ayrıntılarına bakın. Performans ve karşılaştırma sonuçları hakkında daha eksiksiz bilgi için şu adresi ziyaret edin: www.intel.com/benchmarks.

 
Hüma Abidi Intel'de Yapay Zeka Yazılım Ürünlerinin Kıdemli Yöneticisidir ve DL, ML ve Analitik Yazılım Ürünlerinin stratejisi, yol haritaları, gereksinimleri, doğrulanması ve Kıyaslamasından sorumludur. Müşterilerin yapay zeka çözümleri oluşturmasına olanak tanıyan yapay zeka ürünleri sunmaktan sorumlu, dünya çapında çeşitli bir mühendis ve teknoloji ekibine liderlik ediyor.

Haihao Shen Intel'de Makine Öğrenimi Performansı (MLP) konusunda kıdemli bir derin öğrenme mühendisidir. Derin öğrenme çerçeveleri için kıyaslamaya ve düşük hassasiyetli optimizasyon aracının geliştirilmesine liderlik ediyor. Intel'de yazılım optimizasyonu ve doğrulama konusunda 10 yıldan fazla deneyime sahiptir. Intel'e katılmadan önce, Şanghay Jiao Tong Üniversitesi'nden yüksek lisans derecesi aldı.

İlgili:

Kaynak: https://www.kdnuggets.com/2020/09/showcasing-benefits-software-optimizations-ai-workloads-intel.html

spot_img

En Son İstihbarat

spot_img