berta, berta для предложений и лонгформера?
Не шарю глубоко в теме, но основное отличие в том, что берт может принимать на вход только очень ограниченную последовательность токенов (обычно 512), поэтому для обработки последовательностей длиннее нужны всякие костыли типа sliding windows (название говорит за себя, я думаю). Longformer почти ничем не отличается, только он принимает на вход последовательности 4096 токенов и больше (до 16К токенов за раз, есть и такие модели). Для некоторых задач берт оказывается слишком тяжелым, например, для разрешения кореферентности нужно держать в ОЗУ репрезентации всех возможных спэнов документа и сравнивать все возможные пары спэнов, то есть в квадрате и в четвертой степени, как на картинке) Лонгформер для кореферентности позволяет использовать в 3-4 раза меньше памяти при обучении и инференсе, при этом точность та же, что с обычным бертом.
Теперь их можно просто from transformers import LongformerModel model = LongformerModel.from_pretrained('ruRoberta-large-4096', gradient_checkpointing=True)
Спасибо большое, потестим этот лонгформер👍
Обсуждают сегодня