หมายเหตุ การเปิดตัวรุ่นปัจจุบันของรุ่นนี้ยังไม่ได้รับการฝึกฝนอย่างสมบูรณ์รุ่นที่ผ่านการฝึกอบรมอย่างเต็มที่จะวางจำหน่ายในปลายเดือนนี้
รูปแบบภาษาที่ใช้ภาษาดัตช์โรเบอร์ต้าใหม่ซึ่งได้รับการปรับแต่งเกี่ยวกับคลังข้อมูลออสการ์ที่ไม่มีการวางตัวของดัตช์โดยใช้วัตถุประสงค์การสร้างแบบจำลองภาษาที่สวมหน้ากาก (MLM) แบบจำลองเป็นตัวพิมพ์เล็กและรวมถึงเครื่องหมายวรรคตอน Huggingface? ห้องสมุดหม้อแปลงถูกใช้สำหรับกระบวนการ pretraining
คุณสามารถใช้โมเดลนี้โดยตรงกับไปป์ไลน์สำหรับการสร้างแบบจำลองภาษาที่สวมหน้ากาก:
> >> 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' }]นี่คือวิธีการใช้โมเดลนี้เพื่อรับคุณสมบัติของข้อความที่กำหนดใน 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 )และใน 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 ได้รับการฝึกฝนเกี่ยวกับ Oscar Corpus เวอร์ชั่น ดัตช์ของดัตช์ Robbert รุ่น Robbert ที่ทันสมัยที่สุดในยุคปัจจุบันได้รับการฝึกฝนเกี่ยวกับ คลัง ข้อมูลนี้ หลังจากการขจัดความซ้ำซ้อนขนาดของคลังนี้คือ 32GB
ข้อความถูก tokenized โดยใช้ไบต์รุ่นของการเข้ารหัสไบต์คู่ (BPE) และขนาดคำศัพท์ 50.000 อินพุตของโมเดลนำชิ้นส่วนของ 512 โทเค็นที่ต่อเนื่องกันซึ่งอาจครอบคลุมผ่านเอกสาร Tokenizer ได้รับการฝึกฝนในตำราภาษาดัตช์จุดเริ่มต้นของเอกสารใหม่จะถูกทำเครื่องหมายด้วย <s> และจุดสิ้นสุดของหนึ่งโดย </s>
รายละเอียดของขั้นตอนการกำบังสำหรับแต่ละประโยคมีดังต่อไปนี้:
<mask>ตรงกันข้ามกับเบิร์ตการปิดบังจะทำแบบไดนามิกในระหว่างการเตรียมการ (เช่นมันเปลี่ยนไปในแต่ละยุคและไม่ได้รับการแก้ไข)
โมเดลได้รับการฝึกฝนใน 4 Titan RTX GPU สำหรับ 115k ขั้นตอนด้วยขนาดแบทช์ 1.3K และความยาวลำดับ 512 เครื่องมือเพิ่มประสิทธิภาพที่ใช้คือ Adam ด้วยอัตราการเรียนรู้ 5E-5 และการสลายตัวของน้ำหนัก 0.01 อัตราการเรียนรู้อุ่นเครื่องสำหรับขั้นตอน 20000 และการสลายตัวเชิงเส้น
เนื่องจากข้อ จำกัด ด้านเครดิตของ HPC ฉันไม่สามารถ Finetune Belabbert ในงานการประเมินทั่วไป
อย่างไรก็ตาม Belabbert มีแนวโน้มที่จะมีประสิทธิภาพสูงกว่า Robbert ที่ทันสมัยในปัจจุบันเนื่องจาก Belabbert ใช้ Tokenizer ชาวดัตช์ที่ Robbert ได้รับการฝึกฝนด้วย Tokenizer ภาษาอังกฤษ ยิ่งไปกว่านั้นร็อบเบิร์ตได้รับการฝึกฝนในคอร์ปัส (ในระดับบรรทัด) ในขณะที่ Belabbert ได้รับการฝึกฝนเกี่ยวกับคลังข้อมูลเดียวกันที่ยังไม่ได้รับการฝึกฝนซึ่งทำให้ Belabbert สามารถจัดการกับข้อความที่ยาวนาน
งานนี้ดำเนินการกับโครงสร้างพื้นฐานของ E-Infrastructure แห่งชาติของดัตช์ด้วยการสนับสนุนของสหกรณ์โต้คลื่น
ขอบคุณผู้สร้าง Oscar Corpus ที่อนุญาตให้ฉันใช้เวอร์ชันดัตช์ที่ไม่ได้รับการยกเว้น
เสียงตะโกนที่สำคัญออกไปที่ @elslooo ที่ยอดเยี่ยมสำหรับชื่อของรุ่นนี้?
ขอบคุณการ์ดรุ่นของ Roberta สำหรับรูปแบบ/ข้อความ readme