英文

GPT2-Tamil

这个仓库是为了 Huggingface 的 Flax/Jax 社区周而创建的。这个项目的目标是使用 GPT-2 针对泰米尔语进行预训练语言模型。

设置:

要设置该项目,请运行以下命令,

pip install -r requirements.txt

模型:

使用因果关系语言建模 (CLM) 目标在泰米尔语上的预训练模型。

使用的数据集:

GPT-2 模型在 oscar dataset - ta IndicNLP dataset - ta 上进行训练

预期用途和限制:

您可以使用原始模型进行下一句预测,但它主要用于在下游任务上进行微调。查看 model hub ,以查找对您感兴趣的任务进行微调的预训练版本。

如何预训练模型:

执行以下步骤进行训练,

  • 导出模型目录(您想要存储模型文件的目录,如配置文件、分词器等)
>>> export MODEL_DIR=<model_dir>
  • 运行以下命令创建 config.json 文件,
>>> python src/create_config.py
  • 运行以下命令创建分词器,
>>> python src/train_tokenizer.py
  • 创建完配置文件和分词器后,运行以下脚本以开始训练 flax 模型
>>> python scripts/train_gpt2-oscar-tamil.sh

如何使用:

要使用模型进行语言生成,可以直接使用 pipeline。

  • 使用以下命令将 flax 模型转换为 pytorch 模型,
python src/convert_flax_to_pytorch.py
  • 使用以下代码片段进行语言生成,
 >>> from transformers import AutoTokenizer, AutoModelWithLMHead, pipeline
 >>> model_name = 'abinayam/gpt-2-tamil'
 >>> model = AutoModelWithLMHead.from_pretrained(model_name)
 >>> tokenizer = AutoTokenizer.from_pretrained(model_name)
 >>> set_seed(42)
 >>> input_text = "ஒரு ஊரிலே ஒரு காக்கைக்கு"
 >>> max_len = 300
 >>> no_seq = 5
 >>> generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
 >>> sequence = generator(input_text, max_length=max_len, num_return_sequences=no_seq)