📚Makale Okumaları — volm.4

Başak Buluz Kömeçoğlu
5 min readSep 15, 2020

TinyBERT: Distilling BERT for Natural Language Understanding

TinyBERT: Doğal Dili Anlamak için BERT’i Damıtmak☺️

Birçok kişinin ve araştırmacının aslında uzun yıllardır var olan “dil modeli” göreviyle tanışmasını sağlayan BERT modeli, 2018 yılında sunulduğunda bugün tıpkı GPT-3'ün yarattığı hayranlığı yaratmıştı 🤩 Öyle ki araştırmacılar artık dil için ImageNet anının geldiğini söyler olmuşlardı 🥳

🚩Bu söylemin ne anlama geldiğini ve BERT’in yapısını incelediğim blog yazısı için böyle buyurun lütfen ✌🏻

by James Pond on Unsplash

BERT ve ardından peş peşe tanıtılan XLNet, RoBERTa, SpanBERT gibi önceden eğitilmiş dil modelleri birçok dil görevinde sağladıkları üstün başarılar ile adlarından söz ettirirken , diğer taraftan da çok fazla sayıda parametreye sahip olması ve cep telefonları gibi cihazlara yerleştirilmesi zor olan uzun çıkarım süresine ihtiyaç duyması yönleriyle araştırmacılara yeni bir geliştirme konusu sundular. Bu kez ele alacağımız TinyBERT modeli de tam da bu yaraya çare olması amacıyla geliştirildi 🧙🏻‍

🐲 Motivasyon

Başarımı korurken, model çıkarımını hızlandırmak ve boyutunu küçültmek için önerilen niceleme (quantization), ağırlık budama (weights pruning) ve bilgi damıtma (knowledge distillation (KD)) gibi birçok model sıkıştırma tekniği literatürde daha önce önerilmişti. Bu makalede de, bir öğretmen-öğrenci çerçevesinde (framework) Hinton ve diğerleri tarafından önerilen bir fikir olan bilgi damıtmasına odaklanılmıştır. Buradaki temel amaç KD’nin, geniş bir öğretmen ağına gömülü olan bilgiyi küçük bir öğrenci ağına aktarmasıdır. Yani bir anlamda öğrenci ağı, öğretmen ağının davranışlarını yeniden üretecek şekilde eğitilmektedir.

Makalede bu çerçeveye dayanılarak, özellikle Transformer tabanlı modeller için yeni bir damıtma yöntemi önerilmiş ve böylelikle BERT’den 7 kat daha küçük ve 9 kat daha hızlı, performansının % 96'sına ulaşan bir TinyBERT modeli elde edilmiştir 😎

TinyBERT’in öğrenme süreci

TinyBERT ile elde edilen 3 temel çıktıyı özetleyecek olursak;

🥇 Öğretmen BERT’de kodlanan dil bilgisinin TinyBERT’e iyi bir şekilde aktarılmasını sağlamak için yeni bir Transformer damıtma yönteminin keşfedilmesi,

🥈 Önerilen Transformer damıtma yöntemini hem eğitim öncesi hem de ince ayar aşamalarında gerçekleştiren yeni bir iki aşamalı öğrenme çerçevesi ile TinyBERT’in öğretmen BERT’nin hem genel hem de göreve özgü bilgileri yakalayabilme kabiliyetine sahip olunması,

🥉 Deneysel olarak TinyBERT’in GLUE görevlerinde öğretmen BERT-Base’in performansını % 96'dan fazla oranda başarmasının yanı sıra, çok daha az parametreye ve çıkarım süresine sahip olması ve diğer durumlardan önemli ölçüde daha iyi performans sergilemesidir.

🧪 Transformer Damıtması (Transformer distillation)

Çalışmada önerilen transformer damıtması olarak Türkçeleştirebileceğimiz Transformer distillation, Transformer ağları için özel olarak tasarlanmış bir bilgi damıtma yöntemidir. Aşağıdaki resimde de görüldüğü üzere hem öğrenci hem öğretmen ağı transformer katmanlarıyla oluşturulmuştur.

Transformer damıtmasına genel bir bakış; (a) : Transformer damıtma çerçevesi, (b): Dikkat temelli damıtma (Attnloss) ve Gizli durumlar tabanlı damıtma (Hidnloss) barındıran Transformer-katmanı damıtmasının detayları

Transformer damıtma işlevi, aslında temel olarak öğrencinin öğretmeninden iyi bir şekilde öğrenmesine yardımcı olmak için tasarlanmış bir dizi kayıp fonksiyonudur. Bunlar, öğrencinin öğretmenin gömme katmanının, dikkat matrislerinin, gizli temsillerinin ve bazı girdi metinleri verildiğinde tahmin katmanının nasıl tepki verdiğini gözlemlemesini sağlar.

👩🏻‍🏫 TinyBERT Öğrenmesi

BERT’in uygulaması genellikle iki öğrenme aşamasından oluşur:

  1. ön eğitim (pre-training),
  2. ince ayar (fine-tuning).

Ön eğitim aşamasında BERT tarafından öğrenilen bilginin çok olması oldukça önemlidir ve bu bilgilerin aktarılması gerekir. Bu nedenle, TinyBERT’de genel damıtma ve göreve özgü damıtma olmak üzere yeni bir iki aşamalı öğrenme çerçevesi önerilmiştir.

🔸 Genel damıtma, öğrencinin TinyBERT’in genelleme yeteneğini geliştirmede önemli bir rol oynayan öğretmen BERT’de gömülü olan zengin bilgiyi öğrenmesine yardımcı olur. Burada öğretmen olarak ince ayar yapmadan orijinal BERT-Base ve eğitim verileri olarak da büyük ölçekli bir korpus kullanılmıştır. Genel alandaki korpus üzerinde Transformer damıtma gerçekleştirerek, alt seviye görevler için ince ayar yapılabilen genel bir TinyBERT elde edilmiştir. Ancak, gizli / gömme boyutundaki ve katman sayısındaki önemli azalmalar nedeniyle, genel TinyBERT, BERT’den nispeten daha kötü performans gösterir.

🔸 Göreve özgü damıtmada ise, daha önce önerilen Transformer damıtması artırılmış göreve özgü veri kümesinde yeniden gerçekleştirilmiş ve böylelikle öğrenciye göreve özgü bilgi öğretilmiştir. Böylelikle iki aşamalı damıtma ile öğretmen ve öğrenci modelleri arasındaki boşluğun daha da azaltılabilmesi mümkün olmuştur. Burada ince ayarlı BERT öğretmen olarak kullanılmıştır ve göreve özgü eğitim kümesini genişletmek için bir veri artırma yöntemi önerilmiştir. Görevle ilgili daha fazla örnek görmek, öğrenci modelinin genelleme yeteneklerini daha da geliştirilebilmektedir. Bu çalışmada, önceden eğitilmiş bir dil modeli olan BERT ve GloVe kelime gömmeleri veri artırma için kelime düzeyinde değiştirme yapmak üzere birleştirilmiştir.

💡 İki öğrenme aşaması da birbirini tamamlayıcı niteliktedir: genel damıtma, göreve özel damıtma için iyi bir başlangıç ​​sağlarken, göreve özgü damıtma ise göreve özgü bilgileri öğrenmeye odaklanarak TinyBERT’i daha da geliştirir.

Model boyutunda BERT ve TinyBERT arasında büyük bir boşluk olmasına rağmen, TinyBERT önerilen iki aşamalı damıtmayı gerçekleştirerek çeşitli NLP görevlerinde rekabetçi performanslar elde etmektedir.

🕊️ ️SONUÇLAR

TinyBERT, çeşitli doğal dil anlama görevlerinin bir koleksiyonu olan Genel Dil Anlama Değerlendirmesi (General Language Understanding Evaluation (GLUE)) kıyaslamasında değerlendirildiğinde;

🟢 TinyBERT, tüm GLUE görevlerinde sürekli olarak BERTSMALL’dan daha iyi olmakla beraber, ortalama olarak % 6,3'lük büyük bir gelişme sağlamaktadır. Bu da, önerilen bilgi damıtma öğrenme çerçevesinin, aşağı seviye görevlerden bağımsız olarak küçük modellerin performanslarını etkili bir şekilde iyileştirebileceğini gösterir.

🟢 Öğretmen olarak ele alınan BERTBase ile karşılaştırıldığında ise; TinyBERT rekabetçi performansları korur ve model verimliliğinde 7,5 kat daha küçükken diğer taraftan 9,4 kat daha hızlıdır.

🟢 Zorlu CoLA veri kümesi için (dilbilimsel kabul edilebilirlik yargılarını tahmin etme görevi), tüm damıtılmış küçük modellerin öğretmen modeli ile arasında nispeten daha büyük bir performans açığı vardır.

🟢 BERT-PKD ve DistillBERT’de , öğrenci modelleri iyi eğitilmiş öğretmen BERT’in bazı katmanlarıyla başlatır. Bu durum öğrenci modellerinin, öğretmenleriyle aynı boyutta Transformer katmanı (veya gömme katmanı) ayarlarını korumasını gerektirir. Bu çalışmada önerilen iki aşamalı damıtma çerçevesinde ise , TinyBERT genel damıtma ile başlatılır, bu nedenle model boyutu seçiminde daha esnek olma avantajına sahiptir.

Çalışmanın genelinden çıkarılacak en temel sonuçlar ise şunlardır:

🔴 Çalışmanın sonuçları incelendiğinde, göreve özgü damıtma (ince ayar), genel damıtmadan (ön eğitim) daha önemli olduğu açıkça kanıtlanmaktadır. Bu bilgi, önceden eğitilmiş General TinyBERT’i tereddüt etmeden kendi ince ayar deneylerimiz için kullanabileceğiniz öngörüsünü sağlar.

🔴 Veri artırma, düşük kaynak gerektiren görevlerde göreve özgü damıtma kadar önemli olabilir.

İncelenen “TINYBERT: DISTILLING BERT FOR NATURAL LANGUAGE UNDERSTANDING” makalesi 2019 yılının sonunda Huazhong University of Science and Technology, Huawei Noah’s Ark Lab ve 3Huawei Technologies Co., Ltd. araştırmacıları tarafından yayınlanmıştır.

✔️Orjinal makale : “TINYBERT: DISTILLING BERT FOR NATURAL LANGUAGE UNDERSTANDING”

✔️TinyBERT GitHub Reposu

Keyifli okumalar ☕

--

--

Başak Buluz Kömeçoğlu

Research Assistant at Information Technologies Institute of Gebze Technical University | Phd Candidate at Gebze Technical University