paint-brush
Aç GPU'ların Hızlı Nesne Depolamaya İhtiyacı Varile@minio
21,891 okumalar
21,891 okumalar

Aç GPU'ların Hızlı Nesne Depolamaya İhtiyacı Var

ile MinIO6m2024/03/15
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

MinIO, aç GPU'larınızı beslemek için gereken performansa sahiptir; yakın zamanda yapılan bir karşılaştırma, yalnızca 32 kullanıma hazır NVMe SSD düğümüyle GET'lerde 325 GiB/s ve PUT'larda 165 GiB/s'ye ulaştı.

People Mentioned

Mention Thumbnail
featured image - Aç GPU'ların Hızlı Nesne Depolamaya İhtiyacı Var
MinIO HackerNoon profile picture

Bir zincir, en zayıf halkası kadar güçlüdür ve AI/ML altyapınız yalnızca en yavaş bileşeniniz kadar hızlıdır. Makine öğrenimi modellerini GPU'larla eğitiyorsanız zayıf bağlantınız depolama çözümünüz olabilir. Sonuç, benim "Açlıktan Ölen GPU Sorunu" adını verdiğim şeydir. Starving GPU sorunu, ağınız veya depolama çözümünüz, eğitim verilerini GPU'larınızı tam olarak kullanmaya yetecek kadar hızlı bir şekilde eğitim mantığınıza sunamadığında ortaya çıkar. Belirtiler oldukça açıktır. GPU'larınızı izliyorsanız, bunların hiçbir zaman tam olarak kullanılmaya yaklaşamayacağını fark edeceksiniz. Eğitim kodunuzu ayarladıysanız, toplam eğitim süresine IO'nun hakim olduğunu fark edeceksiniz.


Ne yazık ki bu sorunla boğuşanlara kötü bir haber var. Bu sorunun önümüzdeki yıllarda nasıl daha da kötüleşeceğini anlamak için GPU'larda kaydedilen bazı ilerlemelere bakalım.

GPU’lar Hızlanıyor

GPU’lar hızlanıyor. Yalnızca ham performans iyileşmekle kalmıyor, aynı zamanda bellek ve bant genişliği de artıyor. Nvidia'nın en yeni GPU'larının bu üç özelliğine bir göz atalım. A100 , H100 ve H200 .


GPU

VERİM

HAFIZA

BELLEK BANT GENİŞLİĞİ

A100

624 TFLOP

40GB

1.555 GB/sn

H100

1.979 TFLOP

80GB

3,35 TB/sn

H200

1.979 TFLOP

141 GB

4,8 TB/sn

Yukarıdaki tablo, A100 için PCIe (Çevresel Bileşen Bağlantı Ekspres) soket çözümü ve H100 ve H200 için SXM (Sunucu PCI Express Modülü) soket çözümüyle uyumlu istatistikleri kullanır. A100 için SXM istatistikleri mevcut değildir. Performans açısından karşılaştırma için Kayan Nokta 16 Tensör Çekirdeği istatistiği kullanılır.


Yukarıdaki istatistiklere ilişkin birkaç gözlemi belirtmeye değer. İlk olarak, H100 ve H200 aynı performansa sahiptir (1.979 TFLOPS), bu da A100'den 3,17 kat daha fazladır. H100, A100'den iki kat daha fazla belleğe sahip ve bellek bant genişliği de benzer miktarda arttı; aksi takdirde GPU kendini aç bırakacaktı. H200, 141 GB gibi devasa bir belleği işleyebilir ve bellek bant genişliği de diğer GPU'lara göre orantılı olarak artırılmıştır.


Bu istatistiklerin her birine daha ayrıntılı olarak bakalım ve makine öğrenimi için ne anlama geldiğini tartışalım.


Performans - Bir teraflop (TFLOP), saniyede bir trilyon (10^12) kayan nokta işlemidir. Bu, arkasında 12 sıfır bulunan 1'dir (1.000.000.000.000). Model eğitimi sırasında meydana gelen kayan nokta işlemleri basit tensör matematiğinin yanı sıra kayıp fonksiyonuna (diğer adıyla gradyanlar) karşı ilk türevleri içerdiğinden, TFLOP'ları gigabayt cinsinden IO talebine eşitlemek zordur. Ancak göreceli karşılaştırmalar mümkündür. Yukarıdaki istatistiklere baktığımızda, her ikisi de 1.979 TFLOPS hızında çalışan H100 ve H200'ün 3 kat daha hızlı olduğunu görüyoruz; diğer her şey buna ayak uydurabilirse potansiyel olarak verileri 3 kat daha hızlı tüketiyor.


GPU Belleği - Video RAM veya Grafik RAM olarak da bilinir. GPU belleği, sistemin ana belleğinden (RAM) ayrıdır ve grafik kartı tarafından gerçekleştirilen yoğun grafik işlem görevlerini yerine getirmek üzere özel olarak tasarlanmıştır. GPU belleği, modelleri eğitirken parti boyutunu belirler. Geçmişte eğitim mantığı CPU'dan GPU'ya taşınırken toplu iş boyutu azaltılıyordu. Ancak GPU belleği kapasite açısından CPU belleğini yakaladıkça GPU eğitimi için kullanılan parti boyutu artacaktır. Performans ve bellek kapasitesi aynı anda arttığında, her gigabaytlık eğitim verisinin daha hızlı işlendiği daha büyük talepler ortaya çıkar.


Bellek Bant Genişliği - GPU bellek bant genişliğini, belleği ve hesaplama çekirdeklerini birbirine bağlayan "otoyol" olarak düşünün. Birim zamanda ne kadar veri aktarılabileceğini belirler. Tıpkı daha geniş bir otoyolun belirli bir sürede daha fazla arabanın geçmesine izin vermesi gibi, daha yüksek bellek bant genişliği de bellek ile GPU arasında daha fazla verinin taşınmasına olanak tanır. Gördüğünüz gibi bu GPU'ların tasarımcıları her yeni sürüm için bellek bant genişliğini bellekle orantılı olarak artırdı; bu nedenle çipin dahili veri yolu darboğaz olmayacaktır.

Geleceğe Bir Bakış

Ağustos 2023'te Nvidia duyuruldu hızlandırılmış bilgi işlem ve üretken yapay zeka için yeni nesil platformu - GH200 Grace Hopper Superchip Platformu. Yeni platform şunu kullanıyor: Grace Hopper Süper Çip tarafından ek Süper Çiplerle bağlanabilen NVIDIA NVLink model eğitimi ve çıkarım sırasında birlikte çalışmalarına olanak tanır.


Grace Hopper Superchip'in tüm özellikleri önceki çiplere göre bir gelişmeyi temsil etse de, AI/ML mühendisleri için en önemli yenilik, birleşik belleğidir. Grace Hopper, GPU'ya CPU belleğine tam erişim sağlar. Bu önemlidir çünkü geçmişte GPU'ları eğitim için kullanmak isteyen mühendisler önce verileri sistem belleğine çekmek, ardından verileri oradan GPU belleğine taşımak zorundaydı. Grace Hopper, verileri GPU'ya almak için CPU belleğini geri dönüş arabelleği olarak kullanma ihtiyacını ortadan kaldırır.


Birkaç temel GPU istatistiğinin yanı sıra Grace Hopper'ın yeteneklerinin basit bir şekilde karşılaştırılması, GPU'ları yükseltmekten ve diğer her şeyin buna ayak uydurabileceğinden emin olmaktan sorumlu olan herkes için biraz korkutucu olsa gerek. Bir depolama çözümünün, bu GPU iyileştirmelerine ayak uydurmak için kesinlikle verileri daha hızlı sunması gerekecektir. Aç GPU sorununa ortak bir çözüme bakalım.

Ortak Bir Çözüm

Bu soruna, kuruluşların mevcut depolama çözümlerini değiştirmelerini veya yükseltmelerini gerektirmeyen, yaygın ve açık bir çözüm bulunmaktadır. Kuruluşunuzun ihtiyaç duyduğu tüm kurumsal özelliklerden yararlanabilmeniz için mevcut depolama çözümünüzü sağlam tutabilirsiniz. Bu depolama çözümü büyük olasılıkla kuruluşunuzun tüm yapısal olmayan verilerini tutan bir Veri Gölü'dür; bu nedenle oldukça büyük olabilir ve toplam sahip olma maliyeti de göz önünde bulundurulmalıdır. Ayrıca yedeklilik, güvenilirlik ve güvenlik için etkinleştirilen ve tamamı performansı etkileyen birçok özelliğe sahiptir.


Ancak yapılabilecek şey, bilgi işlem altyapınızla aynı veri merkezinde bulunan bir depolama çözümü kurmaktır; ideal olarak bu, bilgi işlem altyapınızla aynı kümede olacaktır. Mevcut en iyi depolama aygıtlarına sahip yüksek hızlı bir ağa sahip olduğunuzdan emin olun. Buradan yalnızca makine öğrenimi eğitimi için gereken verileri kopyalayın.


Amazon yakın zamanda duyurdu Amazon S3 Express Tek Bölge bu yaklaşımı örneklendirmektedir. Yüksek aktarım hızı ve düşük gecikme süresi için optimize edilmiş bir paket türüdür ve tek bir Erişilebilirlik Alanıyla sınırlıdır (çoğaltma yoktur). Amazon'un amacı, müşterilerin bunu yüksek hızlı erişim gerektiren verilerin bir kopyasını tutmak için kullanmasıdır. Sonuç olarak, model eğitimi için özel olarak tasarlanmıştır. Amazon'a göre S3 Standard'a göre 8 kat maliyetle 10 kat daha fazla veri erişim hızı sağlıyor. Amazon S3 Express One Zone değerlendirmemiz hakkında daha fazla bilgi edinin Burada .

MinIO Çözümü

Yukarıda özetlediğim ortak çözüm, AWS'nin S3 depolama çözümünü özel paketler sunarak daha yüksek maliyetle özelleştirmesini gerektiriyordu. Ek olarak, bazı kuruluşlar (MinIO müşterisi olmayanlar) yukarıda anlattığım basit şeyleri yapan özel depolama çözümleri satın alıyorlar. Ne yazık ki, nispeten basit bir sorunu çözmek için yeni bir ürüne ihtiyaç duyulması nedeniyle bu, mevcut altyapıya karmaşıklık katıyor.


Tüm bunların ironisi, MinIO müşterilerinin her zaman bu seçeneğe sahip olmasıdır. NVMe sürücülere sahip yüksek hızlı bir ağ üzerinde yeni bir MinIO kurulumuyla yukarıda anlattıklarımı tam olarak yapabilirsiniz. MinIO, yazılım tanımlı bir depolama çözümüdür; aynı ürün, çeşitli depolama aygıtlarını kullanarak çıplak donanımda veya seçtiğiniz kümede çalışır. Kurumsal Data Lake'iniz, HDD'lerle yalın donanımda MinIO kullanıyorsa ve makine öğrenimi olmayan tüm verileriniz için iyi çalışıyorsa, onu değiştirmenize gerek yoktur. Ancak, GPU kullandığınız için makine öğrenimi için kullanılan veri kümeleri daha hızlı GÇ gerektiriyorsa bu yazıda özetlediğim yaklaşımı göz önünde bulundurun. Yüksek hızlı MinIO örneğinizde kullanmak üzere ML verilerinizin bir kopyasını oluşturduğunuzdan emin olun; güçlendirilmiş bir MinIO kurulumunda her zaman altın bir kopya bulunmalıdır. Bu, yüksek hızlı MinIO örneğinizde çoğaltma ve şifreleme gibi özellikleri kapatmanıza olanak tanıyarak performansı daha da artırır. MinIO'ları kullanarak veri kopyalamak kolaydır yansıtma özellik.



MinIO, aç GPU'larınızı beslemek için gereken performansı sağlayabilir. son kıyaslama kullanıma hazır NVMe SSD'lerin yalnızca 32 düğümüyle GET'lerde 325 GiB/s ve PUT'larda 165 GiB/s'ye ulaştı.


İndirmek MinIO bugün ve bir veri göl evi oluşturmanın ne kadar kolay olduğunu öğrenin. Herhangi bir sorunuz varsa bizimle iletişime geçmeyi unutmayın. Gevşek !


Ayrıca burada görünür.