• BERT และ RoBERTa ซึ่งเป็นแบบจำลองภาษาที่มีการ Masking ก็สามารถตีความในแนวคิดของ แบบจำลอง diffusion ข้อความ ได้
  • แตกต่างจากแนวทาง Auto-regressive (เช่น GPT) งานนี้ได้แสดงให้เห็นความเป็นไปได้ของการ สร้างแบบเป็นบล็อก และการฟื้นคืนแบบค่อยเป็นค่อยไป
  • ยืนยันผ่านการทดลองว่าการฝึกโดยปรับอัตราการ Masking ตามขั้นตอนไม่ว่าจะเป็น RoBERTa ก็สามารถทำให้เกิด การสร้างข้อความที่เป็นธรรมชาติได้
  • แม้จะ ไม่เปลี่ยนโครงสร้างเดิม ถ้าปรับเป้าหมายการฝึกอย่างเดียวก็ยังเพิ่มความสามารถในการสร้างข้อความได้
  • เมื่อเปรียบเทียบกับ GPT-2 โมเดล diffusion ที่อิง RoBERTa ก็สามารถให้ผลลัพธ์การสร้างข้อความที่มีความสอดคล้องได้ในระดับหนึ่ง

ภาพรวม

Gemini Diffusion ที่ Google DeepMind เปิดเผย ถือเป็น โมเดลภาษาที่อิงการแพร่กระจาย ซึ่งแตกต่างจากสาย GPT แบบเดิม โดยสร้างข้อความทั้งบล็อกในครั้งเดียว แทนที่จะสร้างทีละคำ แนวทางนี้เป็นวิธีการสร้างข้อความผ่านการทำให้สัญญาณรบกวนสุ่มค่อย ๆ ลดลงจนใกล้ต้นฉบับ

จากการอ่านงานวิจัยที่เกี่ยวข้อง Large Language Diffusion Models พบว่า การแพร่กระจายในภาษาชนิดไม่ต่อเนื่องเป็นการขยายแนวคิดของ Masked Language Modeling (MLM) ในที่สุด จึงมีการสำรวจเชิงทดลองว่าแนวคิดนี้สามารถประยุกต์ให้โมเดลตระกูล BERT สร้างข้อความได้หรือไม่

หมายเหตุ: ต่อมา งาน DiffusionBERT ได้ตรวจสอบแนวคิดที่คล้ายกันอย่างเข้มงวดยิ่งขึ้น

ประวัติย่อของ Transformer

Transformer ที่ถูกเสนอขึ้นครั้งแรกในปี 2017 มีโครงสร้างแบบ encoder-decoder แต่ในปี 2018 โมเดลแบบแยกส่วนที่เน้นงานเฉพาะจึงถูกพัฒนา: ส่วน encoder (BERT: bidirectional, เน้นการกู้คืน masked) และส่วน decoder (GPT: autoregressive, เน้นการคาดเดาแบบลำดับ)

  • เฉพาะ encoder (ตระกูล BERT)
    • รับบริบททั้งประโยคเข้ามา แล้วซ่อนบางส่วนด้วย <MASK> และฟื้นคืนจากส่วนที่เหลือ
    • มีจุดเด่นด้าน representation ของประโยค, การจำแนก และงานอื่น ๆ
  • เฉพาะ decoder (ตระกูล GPT)
    • คาดเดา token ถัดไปจากลำดับที่กำหนด
    • โดดเด่นในงานสร้างข้อความ สรุป และแปลความ

BERT ถูกนำไปใช้งานด้านการจำแนกได้โดยตรงตั้งแต่แรก แต่ต่อมา GPT ได้ขยายขอบเขตการใช้งานมากขึ้นเมื่อความสามารถในการสร้างข้อความแข็งแกร่งขึ้น

โมเดล Diffusion สำหรับภาษาที่ยุติธรรมเป็นขั้นต่อขั้น

โมเดล diffusion ได้รับความนิยมอย่างมากในงานสร้างภาพ ในกรณีภาพ:

  • กระบวนการไปข้างหน้า: เพิ่ม Gaussian noise ให้ภาพที่สะอาดอย่างค่อยเป็นค่อยไปจนถึงสภาวะที่กลายเป็น noise ล้วน
  • กระบวนการย้อนกลับ: ใช้โมเดล deep learning ทำการ denoise ซ้ำ ๆ อย่างค่อยเป็นค่อยไปเพื่อกู้คืนข้อมูลต้นฉบับ

เมื่อปรับใช้กับข้อความ แนวทางที่ง่ายที่สุดคือกระบวนการ noise แบบการ mask

  • ไปข้างหน้า (Masking)
    • ที่ t=0 เป็นข้อความต้นฉบับ เมื่อขั้นเพิ่มขึ้น จะสุ่มแทนบาง token ด้วย <MASK>
    • ที่ขั้นสุดท้าย token ทั้งหมดจะถูกแทนด้วย <MASK>
  • ย้อนกลับ (Denoise)
    • Transformer encoder เรียนรู้การกู้คืน token ต้นทางตามการตั้งค่า masking ที่ให้มา
    • ถ้าอัตรา masking ต่ำจะกู้คืนง่าย และยิ่ง masking สูงยิ่งยาก
    • โดยวนซ้ำจากอัตรา masking สูงสู่ต่ำ ทำให้สร้างทั้งลำดับข้อความได้

ในเฟรมเวิร์ก diffusion แบบนี้ โมเดลถูกฝึกโดยรวม denoise loss จากระดับอัตรา masking ต่าง ๆ ตามขั้นตอนต่างกัน ซึ่งหมายความว่า เป้าหมายการกู้คืน masked ของ BERT โดยแก่นแท้คือส่วนหนึ่งของ text diffusion เอง ด้วยการผสมผสาน schedule ของอัตรา masking และการ denoise แบบวนซ้ำ เราสามารถขยายเป้าหมายของ BERT ไปสู่กระบวนการสร้างภาษาธรรมชาติได้

การทดลอง RoBERTa Diffusion

RoBERTa เป็นเวอร์ชันของ BERT ที่ประกาศในปี 2019 โดยมีลักษณะเด่นคือขยาย hyperparameter และข้อมูลฝึก รวมถึงเป้าหมายการเรียนรู้ที่ตรงไปตรงมามากขึ้น (MLM Only)

ในการทดลองนี้ใช้ไลบรารี HuggingFace transformers และ datasets โดยใช้น้ำหนักเริ่มต้น, tokenizer และ Trainer ของ RoBERTa นำ WikiText มาปรับแต่งต่อ (fine-tune) ตามขั้นตอนนี้:

  • ใช้หนึ่งใน 10-step diffusion schedule (mask_probs: 1.0~0.1) ที่สุ่มเลือกในแต่ละ batch แล้วทำ masking
  • ใช้ custom diffusion_collator เลือกความน่าจะเป็น masking และสุ่มแทน <MASK> ให้แต่ละ token
  • เพื่อรักษา context ของ prompt token แรก 16 ตำแหน่งจะถูกเก็บไว้เสมอ

การ masking ข้อมูล (custom collator):

  • เติม pad ต่อกันต่อแต่ละบล็อก token
  • เลือกความน่าจะเป็นการ masking แบบสุ่ม
  • นอกจาก 16 token แรก ให้แทนด้วย <MASK> แบบสุ่มตามความน่าจะเป็นที่กำหนด
  • ส่งคืนชุดข้อมูลที่ถูก masking และชุด label ที่ถูกต้อง

การสร้างผลลัพธ์ (inference):

  • ป้อนลำดับความยาว 256 token โดย token แรก 16 ใช้เป็น prompt ที่เหลือเป็น <MASK>
  • ในแต่ละขั้น โมเดลจะสุ่ม sample token ที่คาดเดาได้ แล้ว re-mask บางส่วนด้วยอัตราที่กำหนดใหม่
  • ลดอัตรา masking ลงเรื่อย ๆ และวนซ้ำไปเรื่อย ๆ จนถึงขั้นสุดท้ายที่กู้คืนครบทุก token

ตัวอย่างผลลัพธ์ที่ได้:

  • ได้ข้อความต่อเนื่องที่สอดคล้องกับ prompt อย่างเป็นธรรมชาติพอสมควร
  • ข้อผิดปกติบางจุดเกิดจากรูปแบบการ pre-processing ของข้อมูล WikiText (เช่น @-@ ในการแทน hyphen)

เปรียบเทียบกับ GPT-2

  • แม้ GPT-2 จะเร็วกว่าเล็กน้อยและให้ความสอดคล้องสูงกว่า แต่ RoBERTa Diffusion ก็ยังให้ผลงานที่เกินความคาดหมาย (มีศักยภาพปรับปรุงแบบก้าวหน้าได้สูง)
  • คุณภาพและความเร็วสามารถดีขึ้นได้ผ่านเทคนิคใหม่เช่น AR-Diffusion และ Skip-Step Diffusion รวมถึงการปรับแต่งอื่น ๆ

สรุป

  • โมเดล masked language อย่าง RoBERTa ถ้าปรับการฝึกโดยควบคุมอัตรา Masking ตามขั้นตอน ก็สามารถกลายเป็น เครื่องมือสร้างภาษาธรรมชาติ ได้
  • การฝึกด้วยการทำลาย/ฟื้นคืนข้อความทีละขั้นผ่าน <MASK> อย่างเดียว ก็ยืนยันได้ว่ามีศักยภาพในการแปลงเป็นโมเดลที่สร้างข้อความได้แบบสมบูรณ์
  • โดยไม่ต้องแก้ไขโครงสร้างโดยตรง การปรับเฉพาะเป้าหมายการฝึกก็เพียงพอในการสร้างความสามารถในการสร้างข้อความได้
  • สุดท้าย โมเดลตระกูล BERT เองก็สอดคล้องเชิงแก่นกับโมเดล text diffusion

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น