Google açık kaynak GPipe: tek bir hızlandırıcı 318 milyon parametreyi işler, 25 kat hız artışı

[Xinzhiyuan Kılavuzu] DNN modellerinin eğitim hızını hızlandırma yönteminde, veri paralelliği tek bir hızlandırıcı tarafından desteklenen modelin boyutuyla sınırlıdır ve model paralelliği, DNN'nin sıralı doğası nedeniyle çok fazla hesaplama gücü israfına neden olur. Şu anda Google, iki yöntemin avantajlarını birleştiren, ikisinin dezavantajlarını çözen ve eğitim hızını başarıyla iyileştiren GPipe'ı piyasaya sürdü.

Derin sinir ağları (DNN), konuşma tanıma, görsel tanıma ve dil işleme gibi birçok makine öğrenimi görevini destekledi.

BigGan, Bert ve GPT2.0'daki en son gelişmeler, DNN modeli ne kadar büyükse, performansın o kadar iyi olduğunu göstermektedir.

Görsel tanıma görevlerinin geçmişteki ilerlemesi, model boyutu ile sınıflandırma doğruluğu arasında güçlü bir ilişki olduğunu da göstermektedir.

Örneğin, 2014 ImageNet Görsel Tanıma Yarışması'nda kazanan GoogleNet, 4 milyon parametre kullandı ve% 74,8 doğruluk elde etti.

2017 ImageNet Challenge'ın galibi Squeeze-and-Excitation Networks, 150 milyon parametre kullanarak% 82,7 doğruluk elde etti.

Yalnızca 3 yılda veri işleme kapasitesi 36 katına çıktı. Aynı dönemde, GPU belleği yalnızca yaklaşık 3 kat arttı.

Mevcut en gelişmiş görüntü modeli, kullanılabilir bulut TPUv2 belleğinin üst sınırına ulaştı. Bu nedenle, büyük ölçekli derin öğrenmeye ulaşmak ve mevcut hızlandırıcıların bellek sınırlamalarının üstesinden gelmek için daha verimli ve ölçeklenebilir bir altyapıya acil ihtiyaç vardır.

ImageNet doğruluğu ve model boyutu arasında güçlü korelasyon

Yukarıdaki amaca bağlı olarak Google, GPipe .

GPipe nedir ve ne kadar etkilidir?

GPipe, devasa derin sinir ağlarını öğrenebilen, dağıtılmış bir makine öğrenimi, ölçeklenebilir boru hattı paralel kitaplığıdır.

Eşzamanlı stokastik gradyan inişi ve boru hattı paralelizmi kullanarak eğitim, birden çok ardışık katmandan oluşan herhangi bir DNN için uygundur.

GPipe, araştırmacıların daha büyük modelleri eğitmek için daha fazla hızlandırıcıyı kolayca dağıtmasına ve hiper parametreleri ayarlamadan performansı iyileştirme etkisine ulaşmasına olanak tanır.

GPipe, donanımın daha yüksek kullanımını sağlamak için hızlandırıcılar ve ardışık düzenler arasında yürütülen ağ katmanını bölümlere ayırırken, aktif bellek kullanımını en aza indirmek için yeniden hesaplamayı kullanır.

Örneğin, 8 hızlandırıcı bölümü kullanan GPipe, 25 kat daha büyük bir sinir ağını eğitebilir.

Ve GPipe neredeyse doğrusal hızlanmaya ulaştı. Hızlandırıcı sayısının 4 katı kullanılarak aynı modelin işlenme hızı 3,5 kat, 16 kat hızlandırıcının hızı 11 kat artırılmıştır.

Aynı zamanda, hesaplanan eğimin ve bölüm sayısının tutarlı olmasını sağlamalıdır, böylece model parametrelerinde herhangi bir değişiklik yapılmadan doğrusal hızlanma korunabilir.

Şu anda, çekirdek GPipe kitaplığı Lingvo çerçevesi altında açık kaynaklıdır.

Modeli neden hızlandırıcılar arasında bölmeliyim?

DNN modellerini hızlandırmanın iki standart yöntemi vardır:

  • Veri paralel yöntemi, daha fazla makine kullanın ve giriş verilerini ayırın
  • Model paralelliği. Modeli, hızlandırılmış model eğitimine sahip GPU veya TPU gibi özel donanıma taşıyın
  • Ancak, hızlandırıcının belleği ve ana bilgisayarla olan iletişim bant genişliği sınırlıdır. Bu nedenle model paralelliği, modelin bölünmesini gerektirir ve geçmeyen hızlandırıcılara farklı bölümler atanır.

    Bununla birlikte, DNN'nin sıralı yapısı nedeniyle, bu basit strateji, hesaplama sırasında yalnızca bir hızlandırıcının etkin olmasına neden olabilir ve bu da çok fazla hesaplama gücü israfına neden olabilir.

    Standart veri paralel yöntemi, farklı girdi verileriyle aynı modelin aynı anda birden çok hızlandırıcı üzerinde eğitilmesine olanak tanır, ancak her hızlandırıcı sınırlı bir model boyutunu destekleyebilir.

    GPipe'ın yaklaşımı, modeli bölmek ve farklı hızlandırıcılara atamak ve küçük partiyi otomatik olarak daha küçük mikro partilere bölmek ve böylece birden fazla hızlandırıcıda verimli eğitim gerçekleştirmektir.

    Ek olarak, gradyan her zaman mikro partide biriktiği için, bölüm sayısı modelin kalitesini etkilemez.

    Zaman bölümü: Ağın sürekliliği nedeniyle, saf model paralel strateji ciddi şekilde yetersiz kullanıma yol açar. Aynı anda yalnızca bir hızlandırıcı etkindir.

    Kabarcık bölümü: GPipe, küçük girdileri daha küçük mikro yığınlara böler, böylece farklı hızlandırıcılar aynı anda ayrı mikro gruplar üzerinde çalışabilir.

    GPipe kullanmakla kullanmamak arasındaki fark nedir?

    Bir TPUv2, 8 hızlandırıcı çekirdeği ve 64 GB belleği (hızlandırıcı başına 8 GB) içerir. Bellek sınırlamaları nedeniyle, tek bir hızlandırıcının eğitebileceği parametre sayısının üst sınırı 82 milyondur.

    GPipe, toplu segmentasyonda geri yayılım ve yeniden hesaplama yardımıyla ara etkinleştirme belleğini 6,26 GB'tan 3,46 GB'a düşürdü ve tek hızlandırıcı parametre işlemenin üst sınırını 318 milyona yükseltti.

    Ayrıca boru hattı paralelliği ile maksimum model boyutunun beklendiği gibi bölüm sayısı ile orantılı olduğunu görüyoruz.

    GPipe ile AmoebaNet, GPipe olmadan 25 kat daha fazla olan bulut TPUv2'nin 8 hızlandırıcısına 1,8 milyar parametre ekleyebilir.

    Google, GPipe'ın AmoebaNet-D modeli işleme hızı üzerindeki etkisini ölçtü. Verimlilik ve hızlandırıcıların sayısı neredeyse doğrusal olarak hızlandırılmıştır, 8 hızlandırıcı + 8 bölüm, 2 hızlandırıcı + 2 bölümden 2,5 kat daha hızlıdır.

    TPUv3 daha iyi çalışıyor. 8 milyar parametreli Transformer dil modeli 1024 token cümlede etkinleştirildi ve 16 hızlandırıcı hızı 11 kat artırdı

    AmoebaNet-D'yi hızlandırmak için GPipe kullanan bu model bir hızlandırıcı için uygun değildir. Temel naive-2, model iki bölüme bölündüğünde yerel bölümleme yönteminin performansıdır. Pipeline-k, modeli k hızlandırıcılarla k bölümlerine ayıran GPipe performansını ifade eder.

    GPipe ayrıca hiperparametreleri değiştirmeden daha fazla hızlandırıcı kullanarak eğitimi genişletebilir. Bu nedenle, sinir ağı eğitimini genişletmek için tamamlayıcı bir şekilde daha fazla hızlandırıcı kullanmak için veri paralelliği ile birleştirilebilir.

    GPipe ne kadar doğrudur?

    Daha önce işlenen veri miktarı ne kadar büyükse, elde edilen doğruluk o kadar yüksek olduğunu belirtmiştik.

    ImageNet ILSVRC-2012 veri kümesinde Google, Cloud TPUv2 kullanarak 557 milyon parametre ve 480 x 480 giriş görüntü boyutuna sahip bir AmoebaNet-B modeli eğitti.

    Ağ 4 bölüme ayrılmıştır. Bu dev model, çok sayıda popüler veri kümesinde iyi performans gösterir. Herhangi bir harici veri olmadığında, doğruluk en gelişmiş% 84,3 ilk-1 ve% 97 ilk-5 single'a ulaşır -crop doğruluğu doğrular.

    Büyük ölçekli sinir ağları, yalnızca ImageNet gibi veri kümeleri için uygun değildir, aynı zamanda aktarım öğrenimi yoluyla diğer veri kümeleriyle de yakından ilgilidir.

    Şu anda ImageNet modeli ne kadar iyi olursa geçişin o kadar iyi olduğunu biliyoruz. Google, CIFAR10 ve CIFAR100 veri kümeleri üzerinde aktarım öğrenme deneyleri gerçekleştirdi ve yayınlanan en iyi CIFAR-10'un doğruluğunu% 99'a ve CIFAR-100'ün doğruluğunu% 91,3'e yükseltti.

    GPipe'ı nereden alabilirim?

    https://github.com/tensorflow/lingvo/blob/master/lingvo/core/gpipe.py

    Referans bağlantısı:

    https://ai.googleblog.com/2019/03/introducing-gpipe-open-source-library.html

    Chen Yufan uyuşturucu kullandığı için tutuklandı ve kendisine gerçek bir çekiç verildi. Konserin başlangıçta yıl sonunda iptal edilmesi planlanmıştı.
    önceki
    ABD düşünce kuruluşu raporu: Çin'in çip yeniliği yavaş, aşmak çok zor
    Sonraki
    İspanya, daha az kart tutarak geçici olarak Portekiz'i geçti ve B Grubu'nun son turu sıralama harikalarını belirlemek için çekilebilir.
    Yeni Jeep Commander: Reddetmesi zor, beş kişilik büyük bir SUV
    Çin'in güçlü tüketim gücü var
    1 No'lu Merkezi Belge burada! İşte dört ipucu, lütfen kontrol edin
    Popüler keşif şarkılarını deneyimlemek için 5 gün 600 kilometre: genel performans şüpheleri ortadan kaldırabilir mi?
    HD kodlanmamış fotoğraflar! Ülke genelinde polis tarafından aranan 5 kaçak, haber verdikleri için ödüller
    Temmuz ayında Kuzey Amerika pazarında en çok satan ilk on modelin envanteri: Japon markaları yedi koltuk aldı
    Para bu 8 kişi tarafından yapıldı! En zengin sekiz kişinin serveti, dünya servetinin yarısına ulaşıyor
    WeChat Pay, Alipay'den daha mı iyi performans gösteriyor? Ma Huateng, WeChat ödeme ekibini 100 milyon yuan ile ödüllendirdi
    Changxing Bridge bu yıl trafiğe açılıyor! Bu okulların yeri değiştirildi ve genişletildi! Jingdezhen hakkındaki tüm haberleri biliyor musun?
    Kısa test Pekin (BJ) 20: Kendi biçme özelliklerine ek olarak, başka hangi önemli özellikleri var?
    Kardeş süt çayı aldatıldı mı? Yatırım şirketinin başkanı nakit çıkarmak için sadece 10 günde halka açıldı
    To Top