-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pretrained language models #6
Comments
@akalieren Buraya su ana kadar yaptiklarinin/bulduklarinin detaylarini ve yorumlarini yazabilir misin? |
Şu ana kadar BERT base cased ve uncased modelleri eğittim. Bu hafta BERT-Large'ı başlatmayı planlıyorum. BERT-Large ile birlikte vocabulary ve record'ları daha düzenli elde etmek için BERT-base'i tekrar eğiteceğim. Şu ana kadar eğittiğim modelleri sadece 27GB'lık OSCAR datasını kullanarak eğittim. Wikipedia ve ek generic dataset'er karşılaştırma elde etmek için eklenebilir. Benchmark için NER fine-tunning kullanmıştım. Hali hazırda HF'deki Electra-Large ve BERTurk ile karşılaştırdım sonuçlar ortalama aynıydı. Bu hafta hepsini tekrar eğittikten sonra, buraya ekleyeceğim. BERT özelinde, orijinal BERT 16GB büyüklüğünde bir dataset ile eğitilmiş. Benim araştırdığım kadarıyla modelin büyüklüğünü arttırmadan dataset'i arttırmak çok verim sağlamıyor. Bu konuda elinizde experiment varsa tekrar gözden geçirebiliriz. Lakin Roberta-Large, XLNet, GPT2 gibi modelleri daha fazla datayla beslemek mantıklı olabilir. Orijinal Roberta-Large 200GB dataset ile eğitilmiş. Roberta'yı küçük bir datasette eğittim lakin 27GB'lık dataset için şu anda hafıza problemini çözmek ile uğraşıyorum. TFRC'in sağladığı TPU VM'ler, modeli eğitmemiz için gereken tüm datayı hafızada yeterli alan olmadığı için yazamıyor. Dolayısıyla orijinal BERT repository'sinde olduğu gibi HF Datasets'in Google Cloud'tan datayı okuyacağı bir çözüm üzerinde çalışıyorum. Bu konuda başka bir öneriniz varsa değerlendirebiliriz. |
Tesekkurler! yorumlarimi asagida bulabilirsin.
Dataset distribution hakkinda benim yorumum soyle; normalde OSCAR cok noisy bir dataset ozellikle de "deduplicated" versiyonudur, cunku hep tek satirlik metinler var, uzun context icin noisy oluyor. Onerim soyle: (Turkish Wikipedia + Clean bir WebCrawl + Books). Elimizde Turkish-Wiki yeni clean bir dump'i var, WebCrawl olarak OPUS/OSCAR kullanilabilir.
Data 100 GB uzerinde olursa bir epoch tamamlayabilmek icin bile cok fazla computation harcariz. O yuzden final size 30-50GB range'inde olabilir.
Bunun icin bir cozum olarak, batchleri onceden preprocess ederek google bucket'ine yukleyebiliriz. Ondan sonra TPU'lara dogrudan oradan veririz. Arabic BERT/ALBERT'i o sekilde train ettim. Ayrica, tokenizer'in configuration'ini neye gore belirledin? default settings kullanarak mi ? yoksa Turkce'ye ozel bir arastirma mi yaptin? Bir de model/tokenizer config'lerini karsilastirirken yukarida yazdigim gibi intrinsic evaluation yaparak tek bir dataset uzerinden gidelim. |
Progress planModels
Language modeling benchmark:Create a benchmark similar to wiki-103, This will include a clean text. Tokenization configuration:Decide on few options:
TODO:
|
We created a language modeling benchmarking dataset based on a recent Turkish wikipedia dump. This dataset contains 67M words. We named it trwiki-67. more details can be found here. |
Egitilmis dil modelleri
Guncel dil modellerinin train edilmesi, Huggingface’teki transformer tabanli language modellerin Turkce icin egitilmesi ve hem TDD hem Huggingface uzerinden paylasilmasi.
Train edilecek modeller
Generic: Bu siniftaki modeller genel Turkce icin kullanilacak modeller, bu sekilde zaten var olan modeller bulunuyor.
Bu siniftaki modellerin egitilecegi data generic bir data olmali, benim onerim su sekilde (Turkish Wikipedia + Clean bir WebCrawl + Books) bir dili temsil etmek icin iyi bir kombinasyon olusturuyor.
Ilk asamada Turkce RoBERTa train edilebilir.
Specific domain: Bu siniftaki modeller ozel bir domain icin egitilmis olacak, ornegin, User generated noisy data (facebook, twitter gibi) icin modeller. Haberler icin modeller..
Tokenizers
Oncelikle tokenizer icin en iyi konfigurasyonu (vocab size/encoding method) bulmak icin, farkli turdeki tokenizerlari egitim karsilastirma yapmak iyi olacak.
Benchmarking data
Intrinsic evaluation platform
Data modellerini/tokenizerlari evaluate etmek icin kullanacagimiz bir dataseti belirlenmesi gerekiyor. Bu data cok buyuk olmak zorunda degil. Bunun train/dev/test halinde bolunmesi lazim, ve karsilastirma yapacagimiz metrigi modele gore sececegiz MLM modelleri icin accuracy, Autoregressive modeller icin perplexity.
Ornek dataset wiki-103
Extrinsic evaluation platform
Data modellerini birkac downstream datasi uzerinde performansinin olculmesi icin gerekli framework'u hazirlamak. Ornek benchmark GLUE
The text was updated successfully, but these errors were encountered: