Microsoft, tarihteki en büyük NLG modelini yayınladı: Transformer mimarisine dayalı, 17 milyar parametre desteği

Son yıllarda, BERT ve GPT-2 gibi derin öğrenme dil modelleri, soru cevaplama, özetleme ve insan-makine diyaloğu gibi aşağı akış doğal dil işleme görevlerinin performansını büyük ölçüde geliştirdi.

Bugün, Microsoft Research, Transformer mimarisine dayalı en büyük dil oluşturma modeli Turing-NLG'yi piyasaya sürdü. Bu modelin parametreleri 17 milyar kadar yüksektir; bu, NVIDIA'nın Megatron'un (şu anda en büyük ikinci Transformer modeli) iki katı ve OpenAI'nin GPT-2'sinin on katıdır.

Transformer tabanlı mimari, modelin açık metin görevlerini tamamlamak için sözcükler üretebileceği anlamına gelir. Eksik cümleleri doldurmanın yanı sıra, girdi belgesindeki sorulara ve özetlere yanıtlar da üretebilir.

Microsoft'un gişe rekorları kıran bir dil üretme modeli olan Turing-NLG'yi geliştirebilmesinin nedeni, aslında aynı zamanda açık kaynaklı olan derin öğrenme kitaplığı DeepSpeed'den ayrılamazdı.

Microsoft, DeepSpeed'in model paralellik derecesini (16'dan 4'e) azaltmalarına, her düğümün toplu iş boyutunu 4 kat artırmalarına ve eğitim süresini orijinalin 1 / 3'üne düşürmelerine izin verdiğini söyledi. Sadece bu değil, DeepSpeed büyük modellerin eğitim verimliliğini artırmak için daha az GPU kullanıyor.

1. Turing-NLG: 17 milyar parametre ile gelir ve performansı diğer en iyi modelleri aşar

Turing-NLG, 17 milyar parametreye sahip Transformer tabanlı üretken bir dil modelidir.Birçok dil modeli karşılaştırmasında mevcut en iyi performansa sahip diğer modelleri geride bırakır ve soru cevaplama ve özetleme gibi pratik görevlere uygulandığında iyi performans gösterir. Önceki soru-cevap ve özetleme sistemleri, cevaplar ve özetler üretmek için bir "dayanak" olarak belgelerden mevcut içeriği çıkarmaya dayanıyordu, bu nedenle üretilen sonuçlar genellikle doğal değil ve tutarsız. Turing-NLG, soru-cevap ve özet görevlerini çok doğal bir şekilde tamamlayabilir.

1. Turing-NLG'nin dayandığı donanım ve yazılım atılımlarının geliştirilmesi

(Leifeng.com tarafından üretilmiştir)

Aslında, 1,3 milyardan fazla parametresi olan herhangi bir model tek bir GPU'ya sığamaz (bellek 32 GB olsa bile), bu nedenle modelin birden çok GPU'da paralelleştirilmesi gerekir.

Microsoft'a göre, Turing-NLG modelinin eğitimi temel olarak donanım ve yazılımdaki aşağıdaki atılımlara dayanmaktadır:

İlk olarak, NVIDIA'nın yeni nesil süper bilgisayarı DGX-2'nin donanım yapılandırmasını InfiniBand bağlantı teknolojisi ile birlikte kullandılar, böylece GPU'lar arasındaki iletişim öncekinden çok daha hızlıydı.

İkinci olarak, 4 NVIDIA V100 GPU'yu kapsayan modeli dilimlemek için NVIDIA'nın Megatron-LM çerçevesine Tensor dilimlemeyi uyguladılar;

Üçüncüsü, ZeRO iyileştirici ve DeepSpeed kitaplığı, modelin paralelliğini azaltmalarına (16'dan 4'e), her düğümün toplu iş boyutunu 4 kat artırmalarına ve eğitim süresini 1 / 2'ye düşürmelerine olanak tanır. 3.

Dahası, DeepSpeed, büyük modellerin eğitim verimliliğini artırmak için daha az GPU kullanır. 512'lik bir grup eğitimi alırken yalnızca 256 NVIDIA GPU gerektirirken, yalnızca Megatron-LM çerçevesini kullanan bir model 1024 NVIDIA gerektirir GPU.

Aynı koşullar altında, Turing-NLG modeli ve Open AI'nın GPT-2, Megatron-LM modeli standart dil görevlerinde performans göstergeleri-WikiText-103 şaşkınlık (düşük performans daha iyidir), LAMBADA sonraki kelime tahmini Doğruluğun karşılaştırması (performans ne kadar yüksekse o kadar iyi) aşağıdaki gibidir:

Açık AI, GPT-2'nin daha iyi performans elde etmesini sağlamak için ek işlem (sözcük filtrelemeyi durdur) kullanır, Turing-NLG ve Megatron-LM modelleri ise bu durdurma sözcüğü filtreleme teknolojisini kullanmaz. Turing-NLG modeli, WikiText-103 şaşkınlığı ve LAMBADA sonraki kelime tahmin doğruluğu açısından Open AI GPT-2 ve Megatron-LM modellerinden daha iyi performans gösterir. Aşağıdaki şekil, doğrulama karmaşasında Turing-NLG modelinin (mavi çizgi ve yeşil çizgi) ve Megatron-LM modelinin (turuncu çizgi) performansının karşılaştırmasını göstermektedir:

(Leifeng.com tarafından üretilmiştir) Şekil 1: Doğrulama karışıklığında Turing-NLG 17B modeli (mavi çizgi ve yeşil çizgi) ile Megatron-8B modelinin (turuncu çizgi) karşılaştırılması. Noktalı çizgi, mevcut en iyi performans gösteren model tarafından elde edilen en düşük doğrulama kaybını temsil eder. Şekildeki mavi çizgiden yeşile geçiş, Turing-NLG modelinin performansının mevcut en iyi modelden daha zayıf olmaktan mevcut en iyi modeli geçmeye geçişini temsil etmektedir. Şekle göre, Turing-NLG modelinin doğrulama şaşkınlığındaki performansı her zaman Megatron-LM modelinden daha iyidir.

2. Turing-NLG'nin Soru-Cevap ve özet görevlerdeki iki buluşu

Turing-NLG, Soru-Cevap ve özet görevlerde iki atılım gerçekleştirdi:

1) Doğrudan soru ve cevap oluşturma veya sıfır örneklem altında soru ve cevap üretme becerisinin farkına varın.Çoğu İnternet kullanıcısı web'de soru aradığında, genellikle cevap sayfasının üst kısmında bir cevap kartı görürler ve bu cevapların çoğu belirli bir paragraf bağlamındadır. Soruya cümle içinde cevap verebilir.

Turing-NLG, bilgi arama ihtiyaçlarını karşılamak için kullanıcıların sorularını doğrudan yanıtlayabilir. Örneğin, bir kullanıcı "Jason Mraz kiminle meşgul?" İçin arama yaptığında, çoğu arama motoru aşağıdaki şekilde gösterildiği gibi tam yanıt sayfasını görüntülerken "Tristan Prettyman" adını vurgular:

Turing-NLG doğrudan tam bir cümle kullanacak: "Jason Mraz ve Tristan Prettyman nişanlandı."

Web araması dışındaki uygulama senaryolarında, bu doğrudan yanıt üretme yeteneği daha da önemlidir.Örneğin, kullanıcılar kişisel girdilerini (e-posta veya Word belgeleri gibi) istediklerinde, bu yetenek AI asistanlarının akıllıca yanıt vermesine olanak tanır. Bu soruya yanıt vermek daha doğal ve rahatsız edici değil. Turing-NLG modeli aynı zamanda "sıfır örnekleme" soru ve cevap yeteneğine sahiptir, bu da soruları bağlamsal paragraflar olmadan cevaplayabileceği anlamına gelir. Aşağıdaki şekil, modelin soruyu paragraf olmadan doğrudan yanıtladığı iki durumu göstermektedir:

(Leifeng.com tarafından üretilmiştir)

Bu durumda, Turing-NLG modeli, nihai cevabı oluşturmak için ön eğitim sırasında kazanılan bilgilere dayanır. Aşağıdaki şekil, Turing-NLG modeli ile önceki kıyaslama sistemi (CopyNet'in LSTM modeline benzer) arasındaki iki göstergede Olgusal Doğruluk ve Dilbilgisi Doğruluğu arasındaki karşılaştırmayı göstermektedir:

Microsoft araştırmacıları, büyük ölçekli eğitim öncesi modellerin, onlardan daha iyi bir şeyler öğrenmek için daha az alt görev örneği gerektirdiğini ve soruları "doğrudan" yanıtlayan yalnızca 100.000 örneğe sahip olduklarını ve model eğitiminin çok az örneği olduğunu keşfettiler. Bu durumda, Turing-NLG modeli, Olgusal Doğruluk ve Dilbilgisel Doğruluk açısından LSTM kıyaslama modelinden daha iyi performans gösterir.

2) Daha az denetim altında özet özetler üretme becerisi Doğal dil işleme belgelerinde özetler iki türe ayrılır: özetler: belgelerden soyut içerik olarak az sayıda cümle çıkartın; soyut özetler: NLG modelini kullanın Özet oluşturmak, tıpkı insanların özetleri yapma şekli gibidir. Turing-NLG modeli, tıpkı insanlar gibi, e-postalar, blog gönderileri, Word belgeleri ve hatta Excel tabloları ve PPT sunumları gibi çeşitli metin belgeleri için özet özetleri "yazmayı" amaçlamaktadır.

Başlıca zorluklardan biri, bu senaryolar için denetlenen eğitim verilerinin eksikliğidir, çünkü insanlar bu belge türlerini her zaman açıkça özetlememektedir. Turing-NLG'nin gücü, metni anlamada o kadar iyidir ki, fazla denetim olmaksızın diğer özetleme tekniklerinden daha iyi performans gösterebilir.

Turing-NLG'nin farklı metin türleri için olabildiğince geniş özetler üretmesine izin vermek için, araştırmacılar ayrıca Turing-NLG modelini dış dünyaya açık hemen hemen tüm özet veri setlerinde çoklu görev modunda ince ayar yaptılar. Aşağıdaki şekil, ROUGE değerlendirme indeksinde Turing-NLG modeli, PEGASUS (yakın zamanda önerilen Transformer tabanlı dil modeli) ve SOTA'nın (daha önce en iyi performans gösteren dil modeli) karşılaştırmasını göstermektedir:

Turing-NLG'nin çok görevli bir modda eğitildiği, yani tüm veri setlerinde senkronize eğitimin yapıldığı unutulmamalıdır. Hepimizin bildiği gibi, ROUGE değerlendirme indeksinin özet görevde bazı eksiklikleri vardır, bu nedenle bazı kamuya açık makaleler için Turing-NLG modelinin özet içerik çıktısı referans için aşağıdaki tabloda gösterilmektedir:

2. ZeRO ve DeepSpeed: büyük model eğitimine yardımcı olmak için optimize edici + derin öğrenme kitaplığı

Yukarıda bahsedildiği gibi, Turing-NLG, ZeRO iyileştirici ve DeepSpeed kitaplığına dayalı olarak geliştirilmiştir. Microsoft'un en son derin öğrenme açık kaynak kitaplığı olan DeepSpeed, model eğitiminin hızını, maliyetini ve kullanılabilirliğini artırabilir. Daha da önemlisi, yeni piyasaya sürülen DeepSpeed, 100 milyar parametre modelini eğitme yeteneğinin kilidini açar.Hiperparametre sayısı olmasa da, büyük ölçekli veri eğitimi alanında rakipsizdir.

DeepSpeed, PyTorch ile uyumludur ve ZeRO paralel optimize edici içine yerleştirilmiştir. Bu optimize ediciyi kullanarak, model ve veri paralelliği için gerekli kaynaklar büyük ölçüde azaltılabilir ve eğitilebilir parametrelerin sayısı büyük ölçüde artırılabilir. Özellikle, Sıfır Yedeklilik Optimize Edici (kısaca Sıfır), büyük ölçekli dağıtılmış derin öğrenme için yeni bir depolama optimizasyon teknolojisidir. Mevcut GPU kümeleri nesli üzerinde 100 milyar parametreli bir derin öğrenme modeli eğitebilir ve iş hacmi, mevcut en iyi sistemin yaklaşık 3 ila 5 katıdır.

1. Veri paralelliği ve model paralelliği sınırlamalarının üstesinden gelmek için ZeRO kullanın

Makale yayınlandı, adres: https://arxiv.org/pdf/1910.02054.pdf

Kuşkusuz, büyük ölçekli derin öğrenme modelleri doğruluğu önemli ölçüde artırabilir, ancak milyarlarca parametreye sahip modellerin doğrudan eğitimi genellikle donanıma dayanamaz. Bu donanım belleği sorununu çözmek için genel çözüm, bilgi işlem kaynaklarını ve verimliliği hesaba katmaktır, ancak genellikle aşağıdaki iki sınırlama vardır:

Veri paralelliğinin cihaz hafızasını kaydetme üzerinde çok az etkisi vardır: 32G GUP ile bile, 1 milyar parametresi olan bir model karşısında çaresizdir.

İnce taneli paralel bilgi işlem ve iletişim pahalı olduğundan, model paralelliği tek bir düğümün ötesine etkili bir şekilde genişletilemez.

Bununla birlikte, ZeRO kullanmak veri paralelliği ve model paralelliği sınırlamalarının üstesinden gelebilir. ZeRO, model durumunu (parametreler, gradyan ve optimize edici durumu) paralel veri süreçlerine böler, bir dereceye kadar paralel veri süreçleri arasındaki bellek fazlalığını ortadan kaldırabilir. ZeRO ayrıca, model eğitimi sırasında iletişimleri dinamik olarak planlayabilir, gerekli durumun dağıtılmış cihazlar arasında paylaşılmasını sağlayarak veri taneli hesaplama ve iletişimin sürdürülmesini sağlar. Başka bir deyişle, ZeRO, her bir cihazın bellek kullanımının, veri paralellik derecesi ile doğrusal olarak ölçeklenmesine izin verir, yani, toplanan cihaz belleği yeterince büyük olduğu sürece, ZeRO tarafından desteklenen veri paralelliği herhangi bir boyut modelini "kaldırabilir".

ZeRO, aşağıdaki şekilde gösterildiği gibi temel olarak üç optimizasyon aşamasına sahiptir: Üç aşama şunlardır: optimize edici durumunun bölünmesi, gradyan ve parametreler.

Açıklama: Standart veri paralel testleri ile karşılaştırıldığında, ZeRO'nun üç aşaması bellek ve iletişimden tasarruf sağlar. Burada model, modeldeki parametre sayısını temsil eder ve K, optimize ediciye özgü sabit bir terimdir.

Daha spesifik: optimize edici durum bölümü (Pos) aşamasının belleği orijinalin 1 / 4'üne düşürülür; gradyan bölümleme ((Pos + g) aşama belleğindeki artış, ek olarak orijinalin 1 / 8'ine düşürülür.İletişim miktarı veri paralelliği ile aynıdır ; Eklenen parametre bölümleme aşamasının bellek azaltımı, veri paralelliği Nd ile doğrusal olarak ilişkilidir.Yukarıdaki tüm aşamaları etkinleştirdikten sonra, ZeRO kullanarak 1024 NVIDIA GPU üzerinde bir trilyon parametre modeli eğitebilir.

Trilyon parametre düzeyinde bir modeli eğitmek için Adam'ı 16 bit hassasiyetle kullanırsanız, optimize ediciyi eğitimde tutmak için yaklaşık 16 TB bellek gerekir. 1024'e bölünen 16 TB, 16 GB'a eşittir; bu, neyse ki makul bir GPU bellek aralığı dahilindedir.

2. DeepSpeed: PyTorch uyumluluğu ve sistem performansı

Daha önce de belirtildiği gibi, DeepSpeed'in ilk sürümü PyTorch ile uyumludur ve sunulan hafif API, ZeRO, dağıtılmış eğitim, karma hassasiyet vb. Gibi en son eğitim teknolojilerini içerir. Operasyonel düzeyde, PyTorch modelinde yalnızca birkaç satırlık kod değişikliği, model eğitiminin hızını ve ölçeğini artırmak için DeepSpeed'i kullanabilir.

Sol: Megatron-LM ile karşılaştırılan verim derecesi. Sağ: ZeRO ile ve ZeRO olmadan, yalnızca veri paralelliği kullanılarak eğitilebilir modelin boyut karşılaştırması.

Yukarıdaki şekilde gösterildiği gibi, DeepSpeed ölçek, hız, maliyet ve kullanılabilirlik açısından olağanüstüdür.

Ölçek: OpenAI GPT-2, NVIDIA Megatron-LM ve Google T5 gibi şu anda en gelişmiş büyük ölçekli eğitimin büyüklüğü sırasıyla 1,5 milyar, 8,3 milyar ve 11 milyar parametreye sahiptir. Ve ZeRO tarafından onaylanan DeepSpeed 100 milyar parametreyi çalıştırabilir.

Hız: Mevcut iş hacmi, mevcut en yeni teknolojiden 5 kat daha yüksektir. Örneğin, GPT serisindeki modelleri etkin bir şekilde eğitmek için DeepSpeed, ZeRO ile güçlendirilmiş verileri NVIDIA Megatron-LM modeli paraleliyle birleştirir. Ek olarak, düşük bant genişliğine sahip ara bağlantıya sahip NVIDIA GPU kümesinde, 1.5 milyar parametreye sahip standart GPT-2 modelinin verimi, tek başına Megatron-LM'ye kıyasla 3.75 kat artar. Bu hız artışı, DeepSpeed'in daha yüksek bellek verimliliği ve daha düşük bir model paralelliği kullanımı ile ilgilidir.Elbette, daha büyük toplu işlem hacmi, verimi iyileştirme çalışmasına katkıda bulunur.

Maliyet: Verimi artırırken, eğitim maliyetlerindeki tasarruf da çok büyüktür. Örneğin, 20 milyar parametreli bir modeli eğitmek için geleneksel olarak DeepSpeed'den 3 kat daha fazla kaynak gerekir.

Kullanılabilirlik: DeepSpeed ve ZeRO'yu PyTorch modellerinde sadece birkaç satır kod değişikliği ile kullanabilirsiniz. Yani, mevcut model paralellik kitaplığıyla karşılaştırıldığında, DeepSpeed'in kodu yeniden tasarlamasına veya modeli yeniden yapılandırmasına gerek yoktur. 6 milyara kadar parametreye sahip modellerde bile ZeRO tarafından desteklenen veri paralelliğini kolayca kullanabilir.

Özetle, ZeRO-OS tamamlayıcıdır ve farklı model paralelliği türleriyle uyumludur.Tek bir düğüm için uygun olmayan büyük modeller için performansı önemli ölçüde artırabilir ve kaynakları koruyabilir.

3. Reddit değerlendirmesi: karışık incelemeler

Makalenin başında belirtildiği gibi, Microsoft DeepSpeed, ZeRO-OS'yi 17 milyar parametreli Turing-NLG modelini eğitmek için kullanıyor.Eğitim sonuçları, doğruluğunun ve eğitim verimliliğinin mevcut son teknoloji yöntemden daha yüksek olduğunu gösteriyor.

Tek başına NVIDIA Megatron-LM kullanımıyla karşılaştırıldığında ZeRO-OS, çok fazla bellek tasarrufu sağlayabilir ve Turning-NLG modelinin model paralelliğini 1 / 4'e düşürebilir, toplu işlem hacmini 4 kat artırabilir ve verimi 3 kat artırabilir.

17 milyar parametreli Turing-NLG modeline gelince, sosyal medyada da çok tartışmalara neden oldu.Reddit'in "r / MachineLearning" sayfasında ilgili konuların popülaritesi sadece 10 saatte 216.70 kişiye ulaştı. Bir fikir verdim.

Tartışma sayfası: https://www.reddit.com/r/MachineLearning/comments/f1tuv0/r_turingnlg_a_17billionparameter_language_model/

Gönderiyle ilgili en yüksek yorum şöyleydi: Neyse ki, 17 milyar hiperparametre değil 17 milyar parametre var. Şu anda en akıllı makinenin 100 trilyondan fazla parametresi var (burada insanlardan bahsediyor) Verimliliğin de çok önemli olduğunu inkar etmiyor, ancak yeterli fonla daha fazla parametreye sahip olmanın yanlış bir yanı yok.

Bu yoruma yanıt olarak, bazı insanlar bu karşılaştırmanın anlamsız olduğu yanıtını verdiler.Nöronlar arasındaki kalite farkını düşünün, özellikle en son araştırma sayfası, tek bir insan nöronunun da iki yapay katmana eşdeğer olan XORed olabileceğini gösteriyor. Sinir ağı.

Tartışmayı karmaşık biyolojiye sokan yorumlar da var: insan nöronları, binlerce sinapsdan oluşan karmaşık bir ağdır. Sinaps ve NN parametrelerinin oranının yaklaşık 1: 1 olduğunu ve nöronların NN nöronlara oranının yaklaşık 1: 1 olduğunu söylemek mantıklıdır, çünkü NN'de karmaşıklığı sağlamak için küçük bir grup "nöron" gerekir.

Kavun yiyenler sordu: Turing deyince aklıma "pazarlama" geliyor.

Kavun yiyenler sordular: Turing deyince aklıma "pazarlama" geliyor.

Elbette daha profesyonel bir tartışma da var: Kaç parametre ekleneceğini bildikten sonra, sonra ne yapmalıyım?

Bu mesajın yayıncısı, bu çalışmanın eksikliklerine dikkat çekti: Modeli tek bir GPU'da çalıştırmak için yeterli VRAM olup olmadığı hala çözülmedi.

Bazı netizenler karbon emisyonlarından da bahsetti: daha fazla parametre daha fazla karbon tüketimi anlamına geliyor. Peki bu model hakkında ne düşünüyorsunuz? ~~~

Çin merkez binasını 1,15 milyar yuan'a satan LG'ye ne oldu?
önceki
AI performansı 480 kat artırıldı! Arm, Cortex-M platformu için ilk mikro sinir ağı işlemcisini yayınladı
Sonraki
Atlas Derin sis örtülü, Yangcheng'de düşük görünürlük
Yeni taç pnömonisi altında, yarı iletken endüstrisinin ölümü
Sana çok yakın
Yeniden çalışmanın zirvesinde, Wanjiang kiralık evleri araştırmak için "köyü süpürüyor" ve "binayı süpürüyor"
Maskeler ve ev ofis dolandırıcılığına dikkat edin! Yalancı boşta değil
Muhabir doğrudan vuruyor | Bir şebeke üyesinin 12 saat boyunca salgını önleme: Günde 96 kişi sıcaklık ölçümü
12 Şubat Beijing News ve Pnömoni Ekspresi ile Mücadele
Barınak hastanesindeki hastalar ne yiyor? Yemekler ücretsiz, iki et ve bir vejeteryan, süt ve meyve
Nanjing Çocuk Hastanesi, Hubei Huangshi sağlık ekibinin sorunsuz bir şekilde ulaşmasına yardım etti
Baodi Bölgesi, Datangzhuang Kasabasındaki savaş "salgını" nda saat on iki
Huizhou Kültür, Yayın, Turizm ve Spor Sistemi "dört kapsamlı askıya alma" uygulamasını sürdürüyor
Demiryolu departmanı, ilkbahar tarımı ve gübrenin taşınmasını sağlamak için "yeşil kanalı" açıyor
To Top