3

「オンザフライ」のトークン化について質問があります。この質問は、「Transformers と Tokenizers を使用してゼロから新しい言語モデルをトレーニングする方法」を読むことで引き出されました。最後に、「データセットが非常に大きい場合は、前処理ステップとしてではなく、その場でサンプルを読み込んでトークン化することを選択できます」という文があります。datasetsと の両方を組み合わせたソリューションを考えてみましたがtokenizers、適切なパターンを見つけることができませんでした。

このソリューションでは、データセットを Pytorch データセットにラップする必要があると思います。

ドキュメントの具体例として

import torch

class SquadDataset(torch.utils.data.Dataset):
    def __init__(self, encodings):
        # instead of doing this beforehand, I'd like to do tokenization on the fly
        self.encodings = encodings 

    def __getitem__(self, idx):
        return {key: torch.tensor(val[idx]) for key, val in self.encodings.items()}

    def __len__(self):
        return len(self.encodings.input_ids)

train_dataset = SquadDataset(train_encodings)

トークナイザーのベクトル化された機能を利用する「オンザフライ」トークン化でこれをどのように実装しますか?

4

1 に答える 1