如何解决如何准备数据以在新语言上从头开始训练 GPT 模型
经过一周的挣扎,我不得不来这里请教专业人士。我一直在尝试使用 PyTorch 从头开始编写我自己的 GPT 模型,我做了这部分,但现在我对如何为预训练部分准备数据感到困惑,例如我尝试使用 sentencePiece 标记器来标记我的巨大“印地语”语言语料库,但不知何故抛出错误。
那么谁能指导我如何准备印地语语料库以预训练我的 GPT,任何用于标记或准备数据的库?
这是我尝试过的:
我正在使用 tokenizers
库。
from tokenizers.models import BPE
from tokenizers import Tokenizer
from tokenizers.decoders import ByteLevel as ByteLevelDecoder
from tokenizers.normalizers import NFKC,Sequence
from tokenizers.pre_tokenizers import ByteLevel
from tokenizers.trainers import BpeTrainer
class BytePairEncodingTokenizer(object):
def __init__(self):
self.tokenizer = Tokenizer(BPE())
self.tokenizer.normalizer = Sequence([
NFKC()
])
self.tokenizer.pre_tokenizer = ByteLevel()
self.tokenizer.decoder = ByteLevelDecoder()
def bpe_train(self,paths):
trainer = BpeTrainer(vocab_size=50_000,show_progress=True,inital_alphabet=ByteLevel.alphabet(),special_tokens=[
"<s>","<pad>","</s>","<unk>","<mask>"
])
self.tokenizer.train(trainer,paths)
def save_tokenizer(self,location,prefix=None):
if not os.path.exists(location):
os.makedirs(location)
self.tokenizer.model.save(location,prefix)
tokenizer = BytePairEncodingTokenizer()
tokenizer.bpe_train("/content/drive/MyDrive/datasets/hindi/hindi.txt")
tokenizer.save_tokenizer("/content/drive/MyDrive/datasets/hindi/",prefix="hindiTokenizer")
这不适用于我的语料库。
所以主要问题是如何准备我的语料库来预训练我的 GPT。
colab 笔记本:https://colab.research.google.com/drive/1UdLrJ8zioMqsSylf4VGmETJiELP6FzFQ?usp=sharing
数据集链接:https://drive.google.com/file/d/1MKA3FMDUMRqz-_AACv068zWqdHCYamvA/view?usp=sharing
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。