BERT ile Hızlandırın: NLP Optimizasyon Modelleri

Yayınlanan: 2022-03-11

BERT ile NLP'yi Hızlandırma: 100 Kat Daha Az Veriyle Birinci Sınıf Sonuçlar

Derin öğrenme doğal dil işleme (NLP) sınıflandırma modelleri oluştururken iki temel zorluk vardır.

  1. Veri toplama (binlerce veya milyonlarca sınıflandırılmış veri noktası alma)
  2. Derin öğrenme mimarisi ve eğitimi

Dilin karmaşıklığını anlayabilen karmaşık derin öğrenme modelleri oluşturma becerimiz, bu alanlarda genellikle uzun yıllara dayanan bir deneyim gerektiriyor. Sorununuz ne kadar zorsa, çıktınız o kadar çeşitli olur, bu adımların her biri için o kadar fazla zaman harcamanız gerekir.

Veri toplama külfetli, zaman alıcı, pahalı ve başarılı NLP projeleri için bir numaralı sınırlayıcı faktördür. Verileri hazırlamak, esnek ardışık düzenleri oluşturmak, yüzlerce olası hazırlık seçeneği arasından seçim yapmak ve "modeli hazır hale getirmek", yetenekli makine öğrenimi mühendisleriyle bile kolayca aylarca çaba gerektirebilir. Son olarak, derin öğrenme modellerini eğitmek ve optimize etmek, sezgisel anlayış, teknik uzmanlık ve bir soruna bağlı kalma becerisinin bir kombinasyonunu gerektirir.

Bu yazıda ele alacağız

  1. NLP için derin öğrenme eğilimleri: Aktarım yoluyla öğrenme, birinci sınıf modelleri nasıl açık kaynak haline getiriyor?
  2. BERT'e Giriş: Bugüne kadarki en güçlü NLP "araç"ına giriş - Transformatörlerden (BERT) çift yönlü kodlayıcı gösterimleri
  3. BERT nasıl çalışır ve şirketlerin NLP projelerinde yürütme şeklini neden değiştirecek?

Derin Öğrenmede Eğilimler

Doğal olarak, bu sürecin optimizasyonu artan doğrulukla başladı. LSTM (uzun-kısa süreli bellek) ağları birçok NLP görevinde devrim yarattı, ancak bunlar inanılmaz derecede veriye açlardı (ve öyleler). Bu modellerin optimize edilmesi ve eğitilmesi, büyük ve pahalı makinelerde günler veya haftalar alabilir. Son olarak, bu büyük modelleri üretimde kullanmak maliyetli ve zahmetlidir.

Bu karmaşıklık yaratan faktörleri azaltmak için, bilgisayarla görü alanı uzun süredir transfer öğreniminden yararlanmaktadır. Transfer öğrenimi, çözümünüzü yeni bir modelde hızlandırmak için farklı ancak benzer bir görev için eğitilmiş bir modeli kullanma yeteneğidir. Ağaçları zaten kategorize edebilen bir modeli yeniden eğitmek, çalıları sıfırdan tanımak için yeni bir modeli eğitmekten çok daha az çaba gerektirir.

Birinin daha önce hiç çalı görmediği, ancak hayatında birçok ağaç gördüğü bir senaryo hayal edin. Onlara bir çalıyı sıfırdan tanımlamaktansa, ağaçlar hakkında bildikleriyle bir çalının neye benzediğini açıklamayı çok daha kolay bulursunuz. Transfer öğrenimi, öğrenmenin çok insani bir yoludur, bu nedenle bunun derin öğrenme görevlerinde işe yarayacağı sezgisel olarak anlaşılır.

BERT, daha az veriye, daha az eğitim süresine ihtiyacınız olduğu ve daha fazla iş değeri elde ettiğiniz anlamına gelir. Herhangi bir işletmenin inşa edebileceği NLP ürünlerinin kalitesi dünya standartlarında hale geldi.

Geliyor BERT

BERT, dönüştürücü denilenleri kullanır ve cümle kodlamaları üretmek için tasarlanmıştır. Esasen BERT, belirli bir derin öğrenme modeline dayalı bir dil modelidir. Bir cümlenin veya bir cümle dizisinin bağlamsal, sayısal bir temsilini vermek için tasarlanmıştır. Bu dijital temsil, sığ ve karmaşık olmayan bir modelin girdisidir. Sadece bu da değil, sonuçlar genellikle üstündür ve henüz çözülmemiş bir görev için girdi verilerinin bir kısmını gerektirir.

Bir yıl yerine veri toplamak için bir gün geçirebildiğinizi ve aksi takdirde bir LSTM modeli oluşturmak için asla yeterli veriye sahip olamayacağınız veri kümeleri etrafında modeller oluşturabildiğinizi hayal edin. Daha önce geliştirme süresi ve gerekli uzmanlığı karşılayamayan bir işletme için açılacak NLP görevlerinin sayısı şaşırtıcıdır.

BERT ve LSTM resimli

BERT Nasıl Çalışır?

Geleneksel NLP'de model eğitiminin başlangıç ​​noktası kelime vektörleridir. Kelime vektörleri, o kelimenin ne anlama geldiğini sayısal olarak temsil etmeye çalışan sayıların bir listesidir [0.55, 0.24, 0.90 ...]. Sayısal bir temsille, bu kelimeleri karmaşık modellerin eğitiminde kullanabiliriz ve büyük kelime vektörleriyle, kelimelerle ilgili bilgileri modellerimize gömebiliriz.

BERT benzer bir şey yapar (aslında başlangıç ​​noktası kelime vektörleridir), ancak tüm bir giriş cümlesinin (veya cümlelerin) sayısal bir temsilini oluşturur.

LSTM modelleriyle karşılaştırıldığında, BERT birçok şeyi farklı şekilde yapar.

  1. Soldan sağa veya sağdan sola değil, tüm kelimeleri bir kerede okur
  2. Eğitim süresi boyunca kelimelerin %15'i rastgele "maskelenmek" için seçilir (gerçek anlamda [MASK] belirteci ile değiştirilir)
    • Rastgele seçilen kelimelerin %10'u değişmeden bırakılır
    • Maskelenen kelimelerin %10'u rastgele kelimelerle değiştirilir
    • (a) ve (b) modeli cümledeki her kelimeyi tahmin etmeye zorlamak için birlikte çalışırlar (modeller tembeldir)
  3. BERT daha sonra cümledeki tüm kelimeleri tahmin etmeye çalışır ve sadece maskelenmiş kelimeler kayıp işlevine katkıda bulunur - değişmeyen ve rastgele değiştirilen kelimeler dahil
  4. Model, bir sonraki cümle tahmininde ince ayar yaptı. Bu adımda model, belirli bir cümlenin metindeki bir sonraki cümle olup olmadığını belirlemeye çalışır.

Yakınsama yavaştır ve BERT'in eğitilmesi uzun zaman alır. Ancak metindeki bağlamsal ilişkileri çok daha iyi öğrenir. Kelime vektörleri, modelleyebilecekleri karmaşıklığı sınırlayan çok sığ temsillerdir—BERT'in bu sınırlaması yoktur.

Çoğu işletme, birden fazla GPU kullanan ve uygulamaları için eğitilmesi günler süren önceden eğitilmiş modellerden yararlanabilir. Mevcut BERT modellerinin yerinde kullanılamadığı veya belirli bir kullanım durumuna göre ayarlanamadığı birkaç durum vardır. BERT, bir ekibin çözümleri on kat hızlandırmasına olanak tanır. Bir iş çözümünü belirlemek, bir kavram kanıtı oluşturmak ve son olarak bu kavramı çok kısa sürede üretime geçirmek için hareket edilebilir.

BERT Uygulaması ve İş Değerinin Karşılaştırılması

Bu makale, gerçek bir ürün oluşturmanın iş ve mühendislik uygulamasına odaklandığından, karşılaştırmalı değeri daha iyi anlamak için iki model oluşturup eğiteceğiz.

  1. BERT: En basit BERT boru hattı. Metni standart bir şekilde işliyoruz, BERT cümle kodlamalarını üretiyoruz ve bu cümle kodlamalarını sığ bir sinir ağına besliyoruz.
  2. LSTM: Standart Embed - Encode - Attend - Predict mimarisi (yukarıda resmedilmiştir)

Görev? Filmlerin kökenini IMDB'den arsalarına göre tahmin etmek. Veri setimiz Amerikan, Avustralya, İngiliz, Kanada, Japon, Çin, Güney Kore ve Rus filmlerinin yanı sıra toplam 24 köken için on altı başka filmi kapsar. Toplam 35.000'in hemen altında eğitim örneğimiz var.

İşte bir arsadan örnek bir pasaj.

Binlerce yıl önce, Bozkırkurdu ve Parademons lejyonları, üç Ana Kutunun birleşik enerjileriyle Dünya'yı ele geçirmeye çalışır. Olympian Tanrıları, Amazonlar, Atlantisliler, insanlık ve Green Lantern Corps'u içeren birleşik bir ordu tarafından engellenirler. Bozkırkurdu'nun ordusunu püskürttükten sonra, Ana Kutular ayrılır ve gezegendeki konumlarda saklanır. Şu anda insanlık, ölümü Ana Kutuları yeniden harekete geçiren ve Bozkırkurdu'nun efendisi Darkseid'in gözüne girmek için Dünya'ya dönüşüne neden olan Süpermen'in yasını tutuyor. Steppenwolf, Dünya'nın ekolojisini yok edecek ve onu Dünya'nın imajında ​​​​terraform edecek “Birlik” oluşturmak için eserleri toplamayı hedefliyor…

Tahmin etmediyseniz, bu bir Amerikan filmi olan Justice League'in konusu.

Sonuçlar

Sonuçların değişen miktarlarda veriye ve model boyutlarına nasıl tepki verdiğini anlamak için çeşitli parametreler kümesini eğittik. Söylediğimiz gibi, BERT'den en önemli katma değer, çok daha az veriye ihtiyaç duyulmasıdır.

LSTM modeli için GPU'muzda elimizden gelen en büyük modeli eğittik ve en iyi performans gösteren modeli bulmak için kelime dağarcığının boyutunu ve kelime uzunluğunu değiştirdik. BERT modeli için tek bir katmandan başka bir şeyimiz yoktu.

Test setimizi tüm bu örneklerde sabitledik, böylece tutarlı bir şekilde aynı eğitim setini puanlıyoruz.

BERT NLP kullanırken elde edilen sonuçlar

Bu görevde, BERT cümle kodlamaları kullanılarak eğitilen model, sadece 1000 örnekten sonra 0.84'lük etkileyici bir F1 puanına ulaşır. LSTM ağı asla 0.60'ı geçmez. Daha da etkileyicisi, BERT modellerini eğitmek, LSTM modellerini hazırlamaktan ortalama 1/20 oranında zaman aldı .

Çözüm

Herhangi bir ölçümle, bu sonuçlar NLP'de bir devrime işaret ediyor. 100 kat daha az veri ve 20 kat daha az eğitim süresi kullanarak birinci sınıf sonuçlar elde ettik. Yüksek kaliteli modelleri saatler veya günler yerine saniyeler veya dakikalar içinde eğitebilme yeteneği, daha önce karşılanamayan alanlarda NLP'yi açar.

BERT, bu gönderidekinden çok daha fazla kullanıma sahiptir. Çok dilli modeller var. Bu gönderideki gibi tek tek veya birden fazla çıktı kullanarak aynı anda birçok farklı NLP görevini çözmek için kullanılabilir. BERT cümle kodlamaları, ileriye dönük birçok NLP projesinin temel taşı olacak şekilde ayarlanmıştır.

Bu gönderinin arkasındaki kod Github'da mevcuttur. Ayrıca okuyucuları, bu yazı için BERT cümle kodlamalarını oluşturmanın temel taşı olan Bert-as-a-service'e göz atmaya teşvik ediyorum.

İlgili: Önceden eğitilmiş Modellerden En İyi Şekilde Yararlanma