[Xin Zhiyuan Rehberi] BERT'i de sev, BERT'den de nefret et! BERT, tarihteki en güçlü NLP modellerinden biridir, ancak aynı zamanda sektördeki en çok zaman alan uygulamadır ve hesaplama miktarı ImageNet'ten çok daha fazladır! Google araştırmacıları, BERT eğitim süresini 3 günden 76 dakikaya başarıyla düşüren yeni bir optimize edici önerdi! Bu makale ICLR 2020 tarafından kabul edilmiştir. Daha fazlasını öğrenmek için sağdaki bağlantıya tıklayın!
Google tarafından piyasaya sürülen tarihin en güçlü NLP modellerinden biri olan BERT, NLP alanında büyük bir atılımdır.
Büyük ölçekli veri kümelerinin ortaya çıkmasıyla birlikte, büyük ölçekli derin sinir ağlarını büyük veri kümeleri üzerinde eğitmek ve hatta Stokastik Gradient Descent (SGD) gibi hesaplama açısından verimli optimizasyon yöntemlerinin kullanımı özellikle zorlu hale geldi. Örneğin, BERT ve ResNet-50 gibi en gelişmiş derin öğrenme modelleri, 16 TPUv3 çip üzerinde eğitim için 3 gün ve 8 Tesla P100 GPU üzerinde eğitim için 29 saat gerektirir.
Bu sorunu çözmek için büyük parti stokastik optimizasyon yöntemlerinin kullanılmasına ilgi artmıştır. Bu araştırma alanındaki en seçkin algoritma, birkaç dakika içinde ImageNet üzerinde RESNET'i eğitmek için katman katman uyarlanabilir öğrenme oranını kullanan LARS'tır. Bununla birlikte, LARS, BERT gibi dikkat modelleri için iyi performans göstermez, bu da performans kazanımlarının görevler arasında tutarlı olmadığını gösterir.
Bu nasıl yapılmalı? Google, UC Berkeley ve UCLA araştırma ekiplerinden ICLR 2020 tarafından alınan son başyapıtlara bir göz atalım. "Derin Öğrenme için Büyük Toplu Optimizasyon: 76 dakikada BERT Eğitimi" . İlk olarak, büyük küçük gruplar halinde derin sinir ağlarının eğitimini hızlandırmak için ilkeli bir katman katman uyarlanabilir strateji üzerinde çalıştılar. Bu stratejiyi kullanarak, Araştırma ekibi yeni bir katman katman uyarlanabilir kitle optimizasyon teknolojisi LAMB geliştirdi Ve LAMB ve LARS'ın yakınsaklık analizi verilmiştir, bu da genel dışbükey olmayan durumda Durağan Noktaya yakınsadığını göstermektedir. Deneysel sonuçlar, LAMB'nin BERT ve RESNET-50 eğitimi gibi görevlerde iyi performansa sahip olduğunu ve çok az hiperparametre ayarlaması olduğunu göstermektedir. Özellikle BERT eğitimi için önerilen optimize edici, performans düşüşü olmadan çok büyük (32868) toplu işleme kullanımını destekler. Toplu iş boyutunu TPUv3 Kapsülünün bellek sınırına yükselterek , BERT eğitim süresi 3 günden 76 dakikaya düşürülebilir !
https://arxiv.org/pdf/1904.00962.pdf
LARS'tan esinlenerek, özellikle büyük ölçekli öğrenim için uygun olan genel bir adaptasyon stratejisi üzerinde çalışılır ve bu strateji için sezgi sağlar.
Uyarlanabilir stratejiye dayalı olarak, SGD'deki uyarlanabilir öğrenme oranını gerçekleştirmek için yeni bir optimizasyon algoritması (LAMB) önerilmiştir. Ek olarak, dışbükey olmayan durumda bir durgunluk noktası elde etmek için LARS ve LAMB'nin yakınsaklık analizi sağlanır. Bu yöntemleri büyük parti ayarlarında kullanmanın faydalarına odaklanacağız.
Birden çok zorlu görevde LAMB'ın güçlü ampirik performansını gösterir. LAMB kullanılarak, BERT eğitiminin toplu boyutu performansı düşürmeden 32.000'den fazla olacak şekilde genişletildi; süre 3 günden 76 dakikaya düşürüldü. Bu şu anda BERT eğitiminin geçen süresini birkaç saatin altına indiren ilk çalışmadır. .
Ayrıca, RESNET gibi en gelişmiş görüntü sınıflandırma modelini eğitmede LAMB'nin verimliliğini gösterir. Bu araştırmada önerilen uyarlanabilir çözücü, RESNET-50 için en gelişmiş doğruluğu elde edebilen ilk uyarlanabilir çözücüdür.
LAMB'ın tam adı, Gruplama eğitimi için Katmanlı Uyarlanabilir Momentler optimize edicidir.
BERT eğitiminin temeli, Adam optimizasyonunun bir çeşidi olan optimize edici olarak ağırlık zayıflatmalı Adam'ı kullanır. Başka bir uyarlanabilir optimize edici olan LARS, daha önce ImageNet'te RESNET'in toplu öğrenimi için önerilmişti.
Daha fazla iyileştirme elde etmek için araştırma ekibi LAMB için hibrit toplu eğitim kullandı. BERT eğitimi iki aşama içerir: toplam çağın ilk 9 / 10'u 128 sıra uzunluğunu kullanır ve toplam çağın son 1 / 10'u 512 sıra uzunluğunu kullanır. Bellek sınırlamaları nedeniyle, eğitimin ikinci aşaması daha uzun bir sıra uzunluğu gerektirir, bu nedenle TPUv3 Kapsülde maksimum 32768 grup boyutu kullanılabilir.
LAMB algoritmasına genel bir bakış aşağıdaki gibidir:
Bu çalışma, LAMB ve mevcut optimize edicilerin iki önemli büyük ölçekli eğitim görevi üzerindeki deneysel sonuçlarını karşılaştırmaktadır: BERT ve RESNET-50 eğitimi. Küçük gruplar halinde de karşılaştırıldı ( < 1k) ve küçük veri kümeleri (CiFAR, MNIST gibi), LAMB ve mevcut optimize edicilerin sonuçları.
BERT eğitimi
Birincisi, BERT eğitimini hızlandırmanın deneysel sonuçlarıdır. Bu deney, Wikipedia ve BooksCorpus tarafından sırasıyla 2.5 milyar ve 800 milyon kelimeyle dikilen Devlin ve diğerleri ile aynı veri kümesini kullanıyor. Bu makalede, SQuAD görevi özel ilgi konusudur. Deneyde, SQuAD-v1 üzerindeki F1 puanı doğruluk indeksi olarak kullanılır ve tüm karşılaştırmalar Devlin ve diğerlerinin temel BERT modeline dayanır.
Devlin ve arkadaşları, BERT'yi eğitmek için önce 128 sıra uzunluğuna sahip 900 bin yineleme eğitim modeli kullandı ve ardından bunu son 100 bin yinelemede 512 sıra uzunluğuna dönüştürdü. Bu, 16 TPUv3 yongasında yaklaşık 3 günlük eğitim süresi ile sonuçlandı.
Eğitim optimize edicinin LAMB olarak değiştirilmesi dışında metnin ilk denemesi, temel ile aynı eğitim sürecini sürdürür ve temel ile aynı sayıda dönemle çalışır, ancak parti boyutu 512'den 32K'ya genişletilir (32K boyut (sıra uzunluğu 512) seçin) Esas olarak TPU Bölmesinin bellek sınırlaması nedeniyle). LAMB optimize ediciyi kullanarak, 32768 toplu iş boyutuna sahip 15625 yinelemede 91.460 F1 puanı elde edilebilir (dizi uzunluğu 128 ve dizi uzunluğu 512 olan 1562 yineleme). 32K toplu iş boyutu için bu makale BERT eğitim süresini 3 günden yaklaşık 100 dakikaya düşürür.
Bu makale, tablodaki F1 puanını, uyumsuz sürümün puanı olan 91.345 olarak bildirmektedir.
Tablo 1: Doğruluk indeksi olarak SQuAD-v1'in F1 puanını kullanın. F1'in temel puanı, BERT'nin kamu bilgi tabanı (1 Şubat 2019 itibariyle) tarafından sağlanan önceden eğitilmiş model (BERT-büyük) ile elde edilir. Bu makale, deneyde TPUv3'leri kullanır. Bu makale, temel ile aynı ayarları kullanır: toplam çağın ilk 9 / 10'u 128 sıra uzunluğunu ve son 1 / 10'u 512'lik bir dizi uzunluğunu kullanır. Tüm deneyler aynı sayıda dönemi çalıştırır. Geliştirici kümesi, test verilerini temsil eder. Daha iyi sonuçlar elde etmek için bu makalenin hiperparametreleri manuel olarak ayarlayabileceğini belirtmekte fayda var.
Kütle işleme teknolojisi, derin sinir ağı eğitimini hızlandırmanın anahtarıdır. Bu makale, uyarlamalı element bazlı güncellemeyi (Adaptive Elementwise Updating) ve katman bazlı öğrenme oranlarını (Layerwise Learning Rate) destekleyen LAMB optimizerini önermektedir. Ek olarak, LAMB, küçük partiler ve büyük partiler için uygun genel amaçlı bir optimize edicidir.
Bu makale ayrıca, standart SGD'den daha iyi performansına odaklanan LAMB iyileştirici için teorik bir analiz sağlar. Geniş bir uygulama yelpazesi için, LAMB'ın performansı mevcut optimize edicilerden daha iyidir. LAMB kullanarak, BERT ön eğitiminin parti boyutunu, doğruluk kaybı olmadan 64K'ya genişletebilir ve böylece BERT eğitim süresini 3 günden yaklaşık 76 dakikaya indirebiliriz. LAMB aynı zamanda RESNET-50 ImageNet eğitiminde en gelişmiş doğruluğu elde edebilen ilk büyük ölçekli uyarlanabilir çözümleyicidir.