Remarque La version actuelle de ce modèle n'est pas encore entièrement formée, la version entièrement formée du modèle sera publiée plus tard ce mois-ci
Un nouveau modèle de langue néerlandais basé à Roberta, pré-entraîné sur le Corpus Oscar non taillé néerlandais en utilisant l'objectif de modélisation du langage masqué (MLM). Le modèle est sensible à la casse et comprend la ponctuation. La face étreinte? La bibliothèque de transformateurs a été utilisée pour le processus de pré-formation
Vous pouvez utiliser ce modèle directement avec un pipeline pour la modélisation du langage masqué:
> >> from transformers import pipeline
> >> unmasker = pipeline ( 'fill-mask' , model = 'jwouts/belabBERT_115k' , tokenizer = 'jwouts/belabBERT_115k' )
> >> unmasker ( "Hoi ik ben een <mask> model." )
[{ 'sequence' : '<s>Hoi ik ben een dames model.</s>' ,
'score' : 0.05529128015041351 ,
'token' : 3079 ,
'token_str' : 'Ġdames' },
{ 'sequence' : '<s>Hoi ik ben een kleding model.</s>' ,
'score' : 0.042242035269737244 ,
'token' : 3333 ,
'token_str' : 'Ġkleding' },
{ 'sequence' : '<s>Hoi ik ben een mode model.</s>' ,
'score' : 0.04132745787501335 ,
'token' : 6541 ,
'token_str' : 'Ġmode' },
{ 'sequence' : '<s>Hoi ik ben een horloge model.</s>' ,
'score' : 0.029257522895932198 ,
'token' : 7196 ,
'token_str' : 'Ġhorloge' },
{ 'sequence' : '<s>Hoi ik ben een sportief model.</s>' ,
'score' : 0.028365155681967735 ,
'token' : 15357 ,
'token_str' : 'Ġsportief' }]Voici comment utiliser ce modèle pour obtenir les fonctionnalités d'un texte donné dans Pytorch:
from transformers import RobertaTokenizer , RobertaModel
tokenizer = RobertaTokenizer . from_pretrained ( 'jwouts/belabBERT_115k' )
model = RobertaModel . from_pretrained ( 'jwouts/belabBERT_115k' )
text = "Vervang deze tekst."
encoded_input = tokenizer ( text , return_tensors = 'pt' )
output = model ( ** encoded_input )Et dans TensorFlow:
from transformers import RobertaTokenizer , TFRobertaModel
tokenizer = RobertaTokenizer . from_pretrained ( 'jwouts/belabBERT_115k' )
model = TFRobertaModel . from_pretrained ( 'jwouts/belabBERT_115k' )
text = "Vervang deze tekst."
encoded_input = tokenizer ( text , return_tensors = 'tf' )
output = model ( encoded_input )Belabbert a été pré-entraîné sur la version néerlandaise du Corpus Oscar non taillé , le modèle de Bert néerlandais de pointe actuel a été formé sur la version mélangée de ce corpus. Après la déduplication, la taille de ce corpus était de 32 Go
Les textes sont tokenisés à l'aide d'une version d'octet du codage des paires d'octets (BPE) et d'une taille de vocabulaire de 50 000. Les entrées du modèle prennent des pièces de 512 jetons contigus qui peuvent s'étendre sur des documents. Le tokenizer a été formé sur les textes néerlandais, le début d'un nouveau document est marqué de <s> et la fin d'un par </s>
Les détails de la procédure de masquage pour chaque phrase sont les suivants:
<mask> .Contrairement à Bert, le masquage se fait dynamiquement pendant la pré-entraînement (par exemple, il change à chaque époque et n'est pas fixe).
Le modèle a été formé sur 4 GPU Titan RTX pour 115 000 étapes avec une taille de lot de 1,3k et une longueur de séquence de 512. L'optimiseur utilisé est Adam avec un taux d'apprentissage de 5e-5, et, une décroissance de poids de 0,01, un échauffement du taux d'apprentissage pour les étapes de 20000 et la décroissance linéaire du taux d'apprentissage après.
En raison des limitations de crédit sur le HPC, je n'ai pas pu Finetune Belabbert sur les tâches d'évaluation courantes.
Cependant, Beabbert est susceptible de surpasser l'actuel Robbert de pointe puisque Belabbert utilise un tokenzer néerlandais où Robbert est formé avec un jetons anglais. En plus de cela, Robbert est formé sur un corpus mélangé (au niveau de la ligne) tandis que Beabbert est formé sur la version non bousculée du même corpus, ce qui rend Belabbert plus capable de faire face à de longues séquences de texte.
Ces travaux ont été réalisés sur l'e-infrastructure nationale néerlandaise avec le soutien de Surf Cooperative.
Merci aux constructeurs de l'Oscar Corpus de m'avoir donné la permission d'utiliser la version néerlandaise non taillée
Un cri majeur au brillant @elslooo pour le nom de ce modèle?
Merci à la carte modèle de Roberta pour le format / texte Readme.