Kuru ürünler Google TPU'nun ikinci nesli burada, NVIDIA Tesla V100 hala rekabet edebilir mi?

AI teknolojisi yorumu: Google'ın geçen yılın ortasında piyasaya sürülen TPUv1'i bir kez Nvidia'yı tehdit olarak hissettirdi ve mevcut Google TPU ikinci nesil TPUv2 bu tehdidi gerçekten gerçeğe dönüştürdü. Geçen yılki değerlendirmede, Nvidia Tesla V100 hala Google TPUv1'in meydan okumasından korkmaz mısınız, ancak şimdi ikinci nesil Google TPU geldiği için Nvidia Tesla V100 hala savaşabilir mi?

Aşağıda, RiseML'nin Google TPUv2 ve Nvidia Tesla V100'ün karşılaştırmalı değerlendirmesi yer almaktadır. AI Technology Review, içeriğini aşağıdaki gibi derlemektedir.

2017'de Google, derin öğrenmeyi hızlandırmak için özel bir yonga geliştirdi, tensör işleme birimi v2 (TPUv2). TPUv2, Google'ın 2016'da ilk kez ifşa ettiği derin öğrenme hızlandırma bulut çipi olan TPUv1'in ikinci nesil ürünüdür. NVIDIA GPU'ların yerini alma potansiyeline sahip olduğu düşünülmektedir. RiseML daha önce Google TPUv2 ile ilgili bir ilk deneyim yazdı ve ardından herkesten "Google TPUv2'yi Nvidia V100 GPU ile karşılaştırmak" için çok sayıda acil istek aldı.

Ancak, bu iki derin öğrenme hızlandırma yongasının adil ve anlamlı bir karşılaştırmalı değerlendirmesini yapmak kolay değildir. Aynı zamanda, bu iki ürünün sektörün gelecekteki gelişimi için taşıdığı önem ve mevcut derinlemesine detaylı değerlendirme eksikliği nedeniyle, bu iki ağır bulut yongasının derinlemesine değerlendirmesini kendimiz yapmamız gerektiğini derinden hissediyoruz. Değerlendirme sürecinde çipin karşıt taraflarında durup farklı görüşleri dinlemek için elimizden gelenin en iyisini yaptık ve bu nedenle Google ve NVIDIA mühendisleriyle de temas kurarak bu değerlendirme belgesinin taslak aşamasında görüşlerini bırakmalarını istedik. Yukarıdaki önlemler, iki bulut yongası olan TPUv2 ve V100'ün en kapsamlı derinlemesine karşılaştırma değerlendirmesini yapmamızı sağladı.

Deneysel kurulum

Her ikisi de 64 GB belleğe sahip olan dört NVIDIA V100 GPU'yu karşılaştırmak için dört TPUv2 yongası (bir Cloud TPU cihazından) kullanıyoruz, böylece aynı modeli eğitip aynı toplu iş boyutunu kullanabilirler. Bu deneyde, aynı eğitim modunu da kullandık: Eşzamanlı veri paralel dağıtılmış bir eğitim çalıştırmak için dört TPUv2 yongasından oluşan bir Cloud TPU ve Nvidia tarafı da dört V100 CPU kullanıyor.

Modeller açısından, ResNet-50 modelini, görüntü sınıflandırması için gerçek standartları ve referans noktalarını kullanarak ImageNet üzerinde eğitmeye karar verdik. ResNet-50 herkese açık bir referans örnek modeli olsa da, Cloud TPU ve birden çok GPU'da model eğitimini destekleyen tek bir model uygulaması yoktur.

V100 için Nvidia, Nvidia GPU Cloud platformundaki Docker görüntülerinde kullanılabilen MXNet veya TensorFlow'un uygulanmasını önerir. Ancak, MXNet veya TensorFlow uygulamasının doğrudan kullanılması durumunda, birden çok GPU ve karşılık gelen büyük eğitim grupları altında iyi bir şekilde birleşmeyeceğini gördük. Bunun, özellikle öğrenme oranı ayarında ayarlanması gerekir.

Alternatif olarak, TensorFlow'daki benchmark havuzunu kullandık ve Docker görüntüsünde tensorflow / tensorflow: 1.7.0-gpu, CUDA 9.0, CuDNN 7.1.2 altında çalıştırdık. Nvidia tarafından resmi olarak önerilen TensorFlow uygulamasından önemli ölçüde daha hızlıdır ve MXNet uygulamasından yalnızca% 3 daha yavaştır. Ancak gruplar halinde çok iyi birleşir. Bu, iki uygulamayı karşılaştırmak için aynı platform (TensorFlow 1.7.0) altında aynı çerçeveyi kullanmamıza yardımcı olur.

Bulut TPU için Google, TensorFlow 1.7.0 TPU deposundan bfloat16 uygulamasını resmi olarak önermektedir. TPU ve GPU uygulamaları, her mimarinin karışık hassasiyetli eğitim hesaplamalarını kullanır ve maksimum tensörü depolamak için yarı hassasiyet kullanır.

V100 deneyi için, AWS'de (Xeon E5-2686@2.30GHz 16 çekirdek, 244 GB bellek, Ubuntu 16.04) dört p3.8xlarge V100 GPU örneği (her biri 16 GB belleğe sahip) kullandık. TPU deneyi için, ana bilgisayar olarak küçük bir n1-standard-4 örneği (Xeon@2.3GHz çift çekirdekli, 15GB bellek, Debian 9) kullandık ve bunu dört TPUv2 yongasıyla (her biri 16 GB belleğe sahip) yapılandırdık. Cloud TPU (v2-8).

İki farklı karşılaştırmalı deney yürüttük. İlk olarak, yapay olarak sentezlenmiş doğal sahneler (geliştirilmemiş veriler) altında, özellikle veri çıkış hızı (saniyede işleme) altında görüntü işlemede ikisinin orijinal performansını gözlemledik. Görüntü sayısı). Bu karşılaştırmanın yakınsama ile hiçbir ilgisi yoktur ve G / Ç'de herhangi bir darboğaz olmadığından veya sonuçları etkileyecek gelişmiş veriler olmadığından emin olmak için. İkinci karşılaştırma deneyinde, ikisinin ImageNet üzerinde doğruluğunu ve yakınsamasını gözlemledik.

Veri çıkış hızı sonucu

Yapay olarak sentezlenmiş doğal sahneler (geliştirilmemiş veriler) altında saniyede görüntü işleme şeklinde veri çıkış oranını gözlemledik, yani eğitim verileri de farklı parti boyutları altında işlem sırasında oluşturulur. Aynı zamanda, TPU'nun resmi olarak tavsiye edilen parti boyutunun 1024 olduğu unutulmamalıdır, ancak deneysel gereksinimlerinize göre, her ikisinin de diğer parti boyutları altında performans testlerini gerçekleştirdik.

Oluşturulan verilerin ayarlarına göre ve veri geliştirme olmadan, ikisinin saniyede görüntü işleme performansı çeşitli parti boyutları altında test edildi. Toplu iş boyutu toplam "global" dir; yani 1024, her adımda her GPU / TPU yongasındaki toplu iş boyutunun 256 olduğu anlamına gelir

Parti boyutu 1024 olduğunda, veri çıkış hızında ikisi arasında gerçek bir fark yoktur! Google TPU'nun yaklaşık% 2'lik hafif bir liderliği var. Boyut ne kadar küçükse, ikisinin performansı o kadar düşük olur ve ardından GPU biraz daha iyi performans gösterir. Ancak yukarıda belirtildiği gibi, bu parti boyutları şu anda TPU için önerilen bir ayar değildir.

Nvidia'nın resmi önerisine göre, Nvidia GPU Cloud'da sağlanan Docker görüntüsündeki (mxnet: 18.03-py3) ResNet-50 uygulamasını kullanarak MXNet üzerinde GPU kullanarak bir deney de yaptık. Toplu iş boyutu 768 (1024 çok büyük) olduğunda, GPU saniyede 3280 görüntü işleyebilir. Bu, yukarıdaki TPU'nun en iyi performansından% 3 daha hızlıdır. Bununla birlikte, yukarıda olduğu gibi, parti boyutu 168 ile aynı olduğunda, MXNet birden fazla GPU'da iyi bir şekilde birleşmez.Bu nedenle, aşağıdakiler de dahil olmak üzere TensorFlow uygulamasında ikisinin performansına dikkat ediyoruz.

Bulut maliyeti

Şimdi Google Cloud, bulut TPU'yu (dört TPUv2 yongası) açtı. Bulut TPU, yalnızca hesaplanması gerektiğinde sanal makine örneğine bağlanır. Bulut testi açısından, NVIDIA V100'ü test etmek için AWS'yi kullanmayı düşünüyoruz (çünkü Google Cloud hala V100'ü desteklemiyor). Yukarıdaki test sonuçlarına dayanarak, ilgili platformlarında ve sağlayıcılarında saniyede işlenen görüntü sayısının maliyetini (ABD Doları cinsinden) özetledik.

Saniyede görüntü işleme maliyeti (USD)

Yukarıdaki tabloda gösterilen maliyette, bulut TPU açık bir şekilde kazanır. Ancak, uzun vadeli kiralama veya donanım satın almayı düşündüğünüzde (bulut TPU şu anda mevcut değildir), durum farklı olabilir. Yukarıdaki durum, 12 aylık kiralama durumundaki durumu da içerir (AWS'de p3.8xlarge ayrılmış bulut sunucusu fiyatı (ön ödeme yok)). Bu kiralama durumu, açık bir şekilde fiyatı, dolar başına 375 görüntü işleme maliyetine indirecek.

GPU için dikkate alınması gereken daha ilginç bir satın alma seçeneği var: Örneğin, Cirrascale, aylık 7.500 ABD Doları (yaklaşık 10.3 ABD Doları / saat) kiralama ile dört V100 GPU sunucusu için aylık kiralama hizmeti sağlar. Ancak donanım, AWS'deki donanım yapılandırmasına (CPU türü, bellek, NVLink desteği vb.) Bağlı olarak değişeceğinden, karşılaştırmalara dayalı karşılaştırma değerlendirmesi doğrudan karşılaştırma (bulut dışı kiralama) gerektirir.

Doğruluk ve yakınsama

İkisinin orijinal performansını rapor etmenin yanı sıra, hesaplamanın "anlamlı" olduğunu, yani iyi sonuçlara yakınsama elde etmek için olduğunu doğrulamak istiyoruz. İki farklı uygulamayı karşılaştırdığımız için bazı hatalar beklenebilir. Bu nedenle, bu sadece donanım hızı ile ilgili değil, aynı zamanda uygulama kalitesi hakkında da karşılaştırmalı bir değerlendirmedir. TPU'nun ResNet-50 uygulaması, veri çıkış hızının bir kısmını gerçekten feda eden çok yüksek hesaplama yoğunluklu görüntü ön işleme süreci ekler. Google tarafından verilen uygulama bu şekilde tasarlanmıştır ve daha sonra bu yaklaşımın gerçekten işe yaradığını göreceğiz.

Modeli ImageNet veri seti üzerinde eğitiyoruz Eğitim görevi, bir görüntüyü sinek kuşları, burrito veya pizza gibi 1000 kategoriye ayırmaktır. Bu veri seti eğitim için 1.3 milyon görüntüden (yaklaşık 142 GB) ve doğrulama için 50.000 görüntüden (yaklaşık 7 GB) oluşmaktadır.

1024 parti boyutu ile modeli 90 dönem için eğittik ve veri doğrulama sonuçlarını karşılaştırdık. TPU uygulamasının saniyede 2796 görüntü işleme sürecini her zaman sürdürdüğünü, GPU uygulamasının ise saniyede 2839 görüntünün işlenmesini sağladığını gördük. Bu aynı zamanda yukarıdaki veri işleme hızı sonuçlarından elde edilen farktır. TPU ve GPU'nun orijinal hızını veri geliştirme ve üretilen verilerin kullanımı olmadan karşılaştırıyoruz.

İki uygulamanın 90 eğitim süresinden sonraki ilk doğruluk oranı (yani sadece her görüntünün en yüksek güvenilirlikle tahmin edilmesi dikkate alınarak)

Yukarıdaki şekilde gösterildiği gibi TPU, 90 eğitim dönemi sonunda GPU'nunkinden% 0,7 daha yüksek bir birinci sıradaki doğruluk oranına ulaşır. Bu, değerde küçük bir fark gibi görünebilir, ancak ikisinin zaten çok yüksek olan seviyesinde iyileştirmek son derece zordur ve ikisinin gerçek uygulama senaryolarında, bu kadar küçük bir fark bile sonunda Performansta bir dünya farklılığı yaratın.

Farklı eğitim dönemlerinde görüntüleri tanımayı öğrenen modelin en yüksek doğruluğuna bir göz atalım.

Doğrulanan ikisi tarafından elde edilen ilk doğruluk oranı

Yukarıdaki tablodaki büyütülmüş görüntünün ilk sırasının doğruluğundaki çarpıcı değişiklik, TPU ve GPU'nun iki uygulamasının öğrenme oranı ile tutarlıdır. TPU uygulamasının yakınsama süreci, GPU'nunkinden daha iyidir ve 86 dönemlik model eğitiminden sonra, nihayet% 76,4'lük en yüksek doğruluk oranına ulaşmıştır, ancak karşılaştırma için, TPU uygulamasının aynı en yüksek doğruluğu elde etmek için yalnızca 64 model eğitim dönemine ihtiyacı vardır. oranı. TPU'nun yakınsamasındaki iyileşme, daha iyi ön işleme ve veri geliştirmeden kaynaklanıyor gibi görünüyor, ancak bunu doğrulamak için daha fazla deney yapılması gerekiyor.

Bulut tabanlı çözüm maliyeti

Son olarak, belirli bir doğruluk derecesi gerektiğinde, zaman ve para maliyetleri en kritiktir. % 75,7'lik doğruluğun (GPU ile elde edilebilecek en yüksek doğruluk) kabul edilebilir bir çözüm olduğunu varsayıyoruz ve gerekli model eğitim süresi ve saniyede model görüntü işleme eğitim hızına bağlı olarak doğruluğa ulaşıldığını hesaplayabiliriz. Gerekli maliyet. Bu aynı zamanda modelin belirli bir eğitim dönemi düğümünde harcadığı zamanı ve modelin ilk eğitimi için gereken zamanı hesaplamayı da içerir.

İlk etapta doğruluk oranı, para maliyetinin% 75,7'sine ulaşır (12 aylık kullanım için tutulur)

Yukarıdaki tabloda gösterildiği gibi, bulut TPU, kullanıcıların ImageNet'te modelleri sıfırdan 9 saat içinde% 75,7'lik bir doğrulukla eğitmesine ve 55 ABD doları harcamasına ve modeli% 76,4 yakınsama için eğitmek için 73 ABD doları harcamasına olanak tanır. V100 ve TPU aynı hızda çalışsa da, V100 çok pahalı ve yakınsaması daha yavaş olduğundan TPU kullanımı önemli ölçüde daha uygun maliyetli bir çözümdür.

Yine açıklanması gereken şey, bu sefer yaptığımız karşılaştırmalı değerlendirmenin sonucunun, uygulamanın kalitesine ve bulut sunucunun fiyatına bağlı olmasıdır.

İkisi arasındaki bir başka ilginç karşılaştırma, ikisi arasındaki enerji tüketiminin karşılaştırılmasına dayanacak. Ancak, henüz herkese açık TPUv2 enerji tüketimi bilgisini bilemiyoruz.

sonuç olarak

Deneysel standartlarımıza dayanarak, ResNet-50 üzerinde dört TPUv2 yongasının (yani bir bulut TPU) orijinal çalışma hızının dört GPU kadar hızlı olduğu (% 2 deneysel hata aralığı dahilinde) sonucuna vardık. Ayrıca, platformdaki ikisinin çalışma performansını iyileştirmek ve deneysel hatayı iyileştirmek için yazılımı (TensorFlow veya CUDA) optimize etmeyi dört gözle bekliyoruz.

Her iki pratik uygulamada da belirli bir sorun örneğinde belirli bir doğruluk elde etmek için, zaman ve bulut maliyeti en kritik olanlardır. Mevcut bulut TPU fiyatlandırması, yüksek seviyeli ResNet-50 uygulamasıyla birleştirildiğinde, ImageNet'te zaman ve para maliyetlerine karşı takdire şayan bir doğruluk elde etti (modeli% 76,4 doğruluk elde edecek şekilde eğitmek yalnızca 73 dolara mal oluyor).

Gelecekte, daha derinlemesine değerlendirme için diğer alanlardan farklı ağ mimarilerini model karşılaştırma ölçütü olarak kullanacağız. Bir başka ilginç deney noktası da, belirli bir donanım platformu için donanım kaynaklarını verimli bir şekilde kullanmak için ne kadar çaba gerektirdiğidir. Örneğin, karışık hassasiyetli hesaplamalar önemli performans iyileştirmeleri sağlayabilir, ancak GPU ve TPU'daki uygulama ve model performansı oldukça farklıdır.

Son olarak, bu karşılaştırmalı değerlendirmenin taslağını inceledikleri ve düzelttikleri için Freiburg Üniversitesi'nden Hannah Bast, David Andersen, Tim Dettmers ve Carnegie Mellon Üniversitesi'nden Mathias Meyer'e teşekkür etmek isterim.

RiseML Blog, AI teknolojisi inceleme derlemesi aracılığıyla.

Bu arada, insanları işe alıyoruz, öğrenelim mi?

BAT kıdemli algoritma mühendisleri için özel araştırma ve geliştirme kursları

Hayata ve işe en yakın eğlenceli pratik projeler

Profesyonel öğretim asistanları ile sınıf yönetimi yardımı

Bir teklif almak için öğrendiklerinizi uygulayın, öğrenmeyi bitirir bitirmez işe alınmanız tavsiye edilir.

Kodu tarayın veya öğrenmek için orijinal metni okumak için tıklayın!

( 0 ) Paylaşmaya hoş geldiniz, yarın görüşürüz!

F-PACE ve F-TYPE'ın kombinasyonu? Otomatik statik deneyimi gösterin Jaguar E-PACE
önceki
Upstream Drama İzleme | "Beauty Walk" dans draması "Du Fu" nun öne çıkan özellikleri nelerdir?
Sonraki
Kuru gıda "İlk veri bilimcisi staj deneyimim"
OnePlus 6T McLaren özelleştirilmiş versiyonu yakında geliyor: 10GB büyük bellek + 50W süper hızlı şarj
"Onmyoji" nin arkasındaki Gongfu film endüstrisi yılda yalnızca bir film çekiyor, ancak değeri 1.8 milyar mı?
Konferans | Alibaba ICLR Makalesinin Yorumlanması: Alternatif Yön Yöntemine Dayalı Tekrarlayan Sinir Ağının Çok Bitli Nicelendirilmesi
"Dedektif Chinatown 2" yi dört gözle bekliyorum, Chen Sicheng'in film mükemmellik oranının bu kadar yüksek olduğunu düşünemiyorum!
Sadece karşılaştır, korkmuyor zaten
1,7 milyar kırılıyor! "Mekong Operasyonu" ndan "Kızıl Deniz Operasyonu" na bu adam deniz tanrısı oldu!
2017 Frankfurt Otomobil Fuarı: i Vision Dynamics
Neden cennete bu kadar güçlü gitmiyorsun? Huami Technology, Douyu: Üzgünüz, zaten ayaktayız
Kuru ürünler Shen Yanyao, UT Austin'de doktora öğrencisi: Derin Aktif Öğrenmeye Dayalı Adlandırılmış Varlık Tanıma
Modaya liderlik etmek için doğdu: Vivo LOGO PHONE resmi takdiri
"Dedektif Chinatown 2" ile Wang Baoqiang en çok satan 5. oyuncu oldu, bak bakalım ilk 5'te kim var!
To Top