Tenga en cuenta que el lanzamiento actual de este modelo aún no está completamente entrenado, la versión totalmente entrenada del modelo se lanzará a finales de este mes.
Un nuevo modelo de lenguaje holandés con sede en Roberta, previado en el corpus de Oscar sin desplazamiento holandés utilizando el objetivo de modelado de lenguaje enmascarado (MLM). El modelo es sensible a la caja e incluye puntuación. La cara de abrazo? Se utilizó la biblioteca de transformadores para el proceso de previación
Puede usar este modelo directamente con una tubería para el modelado de lenguaje enmascarado:
> >> 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' }]Aquí le mostramos cómo usar este modelo para obtener las características de un texto dado en 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 )y en 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 estaba previamente programado en la versión holandesa del Corpus Oscar Unshuffled , el actual modelo de Bert Dutch Bert de última generación, Robbert, fue entrenado en la versión barajada de este corpus. Después de la deduplicación, el tamaño de este corpus era de 32 GB
Los textos se tokenizan utilizando una versión de byte de la codificación de pares de bytes (BPE) y un tamaño de vocabulario de 50,000. Las entradas del modelo toman piezas de 512 token contiguo que pueden abarcar sobre los documentos. El tokenizador fue entrenado en textos holandeses, el comienzo de un nuevo documento está marcado con <s> y el final de uno por </s>
Los detalles del procedimiento de enmascaramiento para cada oración son los siguientes:
<mask> .Contrariamente a Bert, el enmascaramiento se realiza dinámicamente durante el pre -provenación (por ejemplo, cambia en cada época y no se fija).
El modelo se entrenó en 4 GPU de Titan RTX para 115k pasos con un tamaño por lotes de 1.3k y una longitud de secuencia de 512. El optimizador utilizado es Adam con una tasa de aprendizaje de 5e-5, y una descomposición de peso de 0.01, calentamiento de la tasa de aprendizaje para los pasos de 20000 y la descomposición lineal de la velocidad de aprendizaje después.
Debido a las limitaciones de crédito en el HPC, no pude fininar a Belabbert en las tareas de evaluación comunes.
Sin embargo, es probable que Belabbert supere al Robbert actual de última generación, ya que Belabbert usa un tokenizador holandés donde Robbert está entrenado con un tokenizador inglés. Además de eso, Robbert está entrenado en un corpus barajado (a nivel de línea) mientras Belabbert está entrenado en la versión sin agitación del mismo corpus, esto hace que Belabbert sea más capaz de lidiar con largas secuencias de texto.
Este trabajo se llevó a cabo en la infraestructura electrónica nacional holandesa con el apoyo de Surf Cooperative.
Gracias a los constructores del Corpus de Oscar por darme permiso para usar la versión holandesa sin desplazarse
¿Un gran grito al brillante @elslooo por el nombre de este modelo?
Gracias a la tarjeta modelo de Roberta por el formato/texto ReadMe.