🚀 發佈印地語ELECTRA模型
這是首次嘗試使用谷歌研究的 ELECTRA 訓練印地語語言模型。
截至2022年,我推薦使用谷歌在英語、印地語和其他主要印度語言(包括其文字和拉丁化文字)上訓練的MuRIL模型:https://huggingface.co/google/muril-base-cased 和 https://huggingface.co/google/muril-large-cased
對於因果語言模型,我建議使用 https://huggingface.co/sberbank-ai/mGPT,不過這是一個大型模型
分詞和訓練的CoLab鏈接
我最初使用 修改後的ELECTRA 進行微調,但現在使用SimpleTransformers。
博客文章 - 我深受這篇文章的影響:https://huggingface.co/blog/how-to-train
🚀 快速開始
示例筆記本
這個小型模型在 BBC印地語新聞分類 和 印地語電影評論/情感分析(使用SimpleTransformers)任務上取得了與多語言BERT相當的結果。
通過調整學習率,使用ktrain可以獲得更高的準確率(此外,在config.json中更改model_type - 這是ktrain的一個開放問題):https://colab.research.google.com/drive/1mSeeSfVSOT7e-dVhPlmSsQRvpn6xC05w?usp=sharing
在MLQA數據集上的問答任務:https://colab.research.google.com/drive/1i6fidh2tItf_-IDkljMuaIGmEU6HT2Ar#scrollTo=IcFoAHgKCUiQ
一個更大的模型(印地語-TPU-Electra)使用ELECTRA基礎大小,在印地語電影評論/情感分析任務上優於上述兩個模型,但在BBC新聞分類任務上表現不佳。
📚 詳細文檔
語料庫
下載鏈接:https://drive.google.com/drive/folders/1SXzisKq33wuqrwbfp428xeu_hDxXVUUu?usp=sharing
語料庫包含兩個文件:
- 由OSCAR去重的印地語CommonCrawl:https://traces1.inria.fr/oscar/
- 最新的印地語維基百科(https://dumps.wikimedia.org/hiwiki/ )+ 使用WikiExtractor轉換為文本
額外提示:
- 添加英語維基文本或平行語料庫有助於跨語言任務和訓練
詞彙表
下載鏈接:https://drive.google.com/file/d/1-6tXrii3tVxjkbrpSJE9MOG_HhbvP66V/view?usp=sharing
額外提示:
- 使用HuggingFace Tokenizers創建;你可以增加詞彙量並重新訓練;記得更改ELECTRA的vocab_size
訓練
將文件按以下結構組織,這裡數據目錄名為 "trainer"
trainer
- vocab.txt
- pretrain_tfrecords
-- (所有 .tfrecord... 文件)
- models
-- modelname
--- checkpoint
--- graph.pbtxt
--- model.*
CoLab筆記本提供了GPU和TPU設置的示例。
configure_pretraining.py
轉換
使用以下過程將正在進行或已完成的ELECTRA檢查點轉換為適用於Transformers的模型:
git clone https://github.com/huggingface/transformers
python ./transformers/src/transformers/convert_electra_original_tf_checkpoint_to_pytorch.py
--tf_checkpoint_path=./models/checkpointdir
--config_file=config.json
--pytorch_dump_path=pytorch_model.bin
--discriminator_or_generator=discriminator
python
from transformers import TFElectraForPreTraining
model = TFElectraForPreTraining.from_pretrained("./dir_with_pytorch", from_pt=True)
model.save_pretrained("tf")
當你在同一級別有一個包含config.json、pytorch_model.bin、tf_model.h5、special_tokens_map.json、tokenizer_config.json和vocab.txt的目錄後,運行:
transformers-cli upload directory