模型:

monsoon-nlp/hindi-bert

英文

发布印地语ELECTRA模型

这是使用Google研究的 ELECTRA 进行训练的印地语语言模型的初步尝试。

截至2022年,我推荐使用Google的MuRIL模型,该模型经过了对英语、印地语和其他主要印度语言的训练,包括其原始脚本和拉丁化脚本: https://huggingface.co/google/muril-base-cased https://huggingface.co/google/muril-large-cased

对于因果语言模型,我建议使用 https://huggingface.co/sberbank-ai/mGPT ,尽管这是一个庞大的模型。

我最初使用 a modified ELECTRA 进行微调,但现在使用SimpleTransformers。

Blog post - 我受到了 https://huggingface.co/blog/how-to-train 的很大影响。

示例笔记本

这个小模型在 BBC Hindi news classification Hindi movie reviews / sentiment analysis 上的结果与多语言BERT相当。

您可以通过调整学习率(还可以:在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

使用ELECTRA基础规模的更大模型( Hindi-TPU-Electra )在印地语电影评论/情感分析上表现优于两个模型,但在BBC新闻分类任务上表现不佳。

语料库

下载: https://drive.google.com/drive/folders/1SXzisKq33wuqrwbfp428xeu_hDxXVUUu?usp=sharing

该语料库由两个文件组成:

额外的注意事项:

  • 添加英文维基文本或平行语料库可以帮助跨语言任务和训练

词汇表

https://drive.google.com/file/d/1-6tXrii3tVxjkbrpSJE9MOG_HhbvP66V/view?usp=sharing

额外的注意事项:

  • 使用HuggingFace Tokenizers创建的,您可以增加词汇表大小并重新训练,记得更改ELECTRA的vocab_size

训练

将文件结构化,使用名为"trainer"的数据目录

trainer
- vocab.txt
- pretrain_tfrecords
-- (all .tfrecord... files)
- 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