LLM: โมเดลภาษาขนาดใหญ่คืออะไร

เทคโนโลยีที่ใหม่กว่าอย่างโมเดลภาษาขนาดใหญ่ (LLM) จะคาดคะเนโทเค็นหรือลำดับโทเค็น ซึ่งบางครั้งอาจเป็นโทเค็นหลายย่อหน้า โปรดทราบว่าโทเค็นอาจเป็นคํา คําย่อย (ชุดย่อยของคํา) หรือแม้แต่อักขระเดียว LLM ทำการคาดการณ์ได้ดีกว่ามากเมื่อเทียบกับโมเดลภาษา N-gram หรือเครือข่ายประสาทแบบซ้ำ

  • LLM มีพารามิเตอร์มากกว่าโมเดลที่เกิดซ้ำ
  • LLM จะรวบรวมบริบทได้มากกว่า

ส่วนนี้จะแนะนำสถาปัตยกรรมที่ใช้กันอย่างแพร่หลายและประสบความสำเร็จมากที่สุดในการสร้าง LLM ซึ่งก็คือ Transformer

Transformer คืออะไร

Transformer เป็นสถาปัตยกรรมล้ำสมัยสําหรับแอปพลิเคชันโมเดลภาษาที่หลากหลาย เช่น การแปล

รูปที่ 1 ข้อมูลที่ป้อนคือ: I am a good dog. เครื่องมือแปลภาษาที่ใช้ Transformer จะเปลี่ยนอินพุตเป็นเอาต์พุต: Je suis un bon chien ซึ่งเป็นประโยคเดียวกันที่แปลเป็นภาษาฝรั่งเศส
รูปที่ 1 แอปพลิเคชันที่ใช้ Transformer ซึ่งแปลจากภาษาอังกฤษเป็นภาษาฝรั่งเศส

 

ทรานฟอร์เมอร์แบบสมบูรณ์ประกอบด้วยโปรแกรมเปลี่ยนไฟล์และโปรแกรมถอดรหัส

เช่น ในโปรแกรมแปล

  • ตัวเข้ารหัสจะประมวลผลข้อความอินพุต (เช่น ประโยคภาษาอังกฤษ) ให้เป็นรูปแบบสื่อกลาง
  • โปรแกรมถอดรหัสจะแปลงการนำเสนอระดับกลางนั้นให้เป็นข้อความเอาต์พุต (เช่น ประโยคภาษาฝรั่งเศสที่เทียบเท่า)
รูปที่ 2 เครื่องมือแปลภาษาที่อิงตาม Transformer เริ่มต้นด้วยตัวเข้ารหัส ซึ่งจะสร้างการนำเสนอระดับกลางของประโยคภาษาอังกฤษ ตัวถอดรหัสจะแปลงการนำเสนอระดับกลางนั้นให้เป็นประโยคเอาต์พุตภาษาฝรั่งเศส
รูปที่ 2 Transformer แบบสมบูรณ์มีทั้งตัวเข้ารหัสและตัวถอดรหัส

 

โมดูลนี้มุ่งเน้นที่ Transformers แบบสมบูรณ์ซึ่งมีทั้งโปรแกรมเข้ารหัสและโปรแกรมถอดรหัส แต่ก็มีสถาปัตยกรรมเฉพาะโปรแกรมเข้ารหัสและเฉพาะโปรแกรมถอดรหัสด้วย

  • สถาปัตยกรรมเฉพาะตัวแปลงจะแมปข้อความอินพุตเป็นการแสดงผลระดับกลาง (มักเป็นเลเยอร์การฝัง) Use Case สำหรับสถาปัตยกรรมที่ใช้เฉพาะโปรแกรมเปลี่ยนไฟล์มีดังนี้
    • การคาดคะเนโทเค็นใดก็ได้ในลำดับอินพุต (ซึ่งเป็นบทบาทตามแบบแผนของโมเดลภาษา)
    • การสร้างการฝังที่ซับซ้อน ซึ่งอาจใช้เป็นอินพุตสําหรับระบบอื่น เช่น ตัวจัดหมวดหมู่
  • สถาปัตยกรรมเฉพาะตัวถอดรหัสจะสร้างโทเค็นใหม่จากข้อความที่สร้างไว้แล้ว โดยปกติแล้วโมเดลเฉพาะตัวถอดรหัสจะเก่งในการสร้างลำดับ โมเดลเฉพาะตัวถอดรหัสสมัยใหม่สามารถใช้ความสามารถในการสร้างเพื่อสร้างการต่อยอดจากประวัติการสนทนาและพรอมต์อื่นๆ

Self-attention คืออะไร

ในการปรับปรุงบริบท Transformers อาศัยแนวคิดที่เรียกว่าการให้ความสำคัญกับตนเองเป็นอย่างมาก ในแง่หนึ่งแล้ว การใส่ใจตนเองจะถามคำถามต่อไปนี้ในนามของโทเค็นอินพุตแต่ละรายการ

"โทเค็นอินพุตแต่ละรายการส่งผลต่อความถูกต้องในการตีความโทเค็นนี้มากน้อยเพียงใด"

"Self" ใน "Self-Attention" หมายถึงลําดับข้อมูลเข้า กลไกการให้ความสำคัญบางอย่างจะให้ความสำคัญกับความสัมพันธ์ของโทเค็นอินพุตกับโทเค็นในลำดับเอาต์พุต เช่น การแปล หรือกับโทเค็นในลำดับอื่นๆ แต่การให้ความสำคัญกับตนเองจะพิจารณาเฉพาะความสำคัญของความสัมพันธ์ระหว่างโทเค็นในลำดับอินพุต

เพื่อความง่าย เราจะสมมติว่าแต่ละโทเค็นคือคํา และบริบทที่สมบูรณ์คือประโยคเดียว ลองพิจารณาประโยคต่อไปนี้

The animal didn't cross the street because it was too tired.

ประโยคก่อนหน้ามี 11 คำ คําทั้ง 11 คําให้ความสนใจกับคําอื่นๆ อีก 10 คํา โดยคํานึงถึงว่าคําแต่ละคํามีความสําคัญกับตนเองเพียงใด ตัวอย่างเช่น สังเกตว่าประโยคนี้มีคำสรรพนาม it คำสรรพนามมักมีความคลุมเครือ โดยปกติแล้วคำสรรพนาม it จะหมายถึงคำนามหรือวลีนามล่าสุด แต่ในตัวอย่างประโยคนี้ it หมายถึงคำนามใดล่าสุด สัตว์หรือถนน

กลไกการให้ความสำคัญกับตนเองจะพิจารณาความเกี่ยวข้องของคำที่อยู่ใกล้เคียงแต่ละคำกับคำสรรพนาม it รูปที่ 3 แสดงผลลัพธ์ โดยเส้นยิ่งเป็นสีน้ำเงินมาก แสดงว่าคำนั้นมีความเกี่ยวข้องกับคำสรรพนาม it มากขึ้น กล่าวคือ animal มีความสำคัญมากกว่า street สําหรับคำสรรพนาม it

รูปที่ 3 ความเกี่ยวข้องของคําทั้ง 11 คําในประโยคที่ว่า "สัตว์ไม่ข้ามถนนเพราะเหนื่อยมาก" กับคำสรรพนาม "มัน" คําว่า "สัตว์" มีความเกี่ยวข้องกับคำสรรพนาม "มัน" มากที่สุด
รูปที่ 3 การใส่ Self-Attention ลงในคำสรรพนาม it จากบทความ Transformer: A Novel Neural Network Architecture for Language Understanding

 

ในทางกลับกัน สมมติว่าคําสุดท้ายในประโยคมีการเปลี่ยนแปลงดังนี้

The animal didn't cross the street because it was too wide.

ในประโยคที่แก้ไขแล้วนี้ เราหวังว่าการใส่ใจตนเองจะจัดอันดับให้ street มีความเกี่ยวข้องกับคำสรรพนาม it มากกว่า animal

กลไกการใส่ใจตนเองบางกลไกเป็นแบบแบบ 2 ทิศทาง ซึ่งหมายความว่าจะคำนวณคะแนนความเกี่ยวข้องสำหรับโทเค็นที่อยู่ก่อนและอยู่หลังคำที่สนใจ ตัวอย่างเช่น ในรูปที่ 3 โปรดสังเกตว่าระบบจะตรวจสอบคำทั้ง 2 ด้านของ it ดังนั้น กลไกการใส่ใจตนเองแบบ 2 ทิศทางจึงรวบรวมบริบทจากคำที่อยู่ด้านข้างของคำที่สนใจได้ ในทางตรงกันข้าม กลไกการใส่ใจตนเองแบบทิศทางเดียวจะรวบรวมบริบทจากคำด้านข้างของคำที่สนใจได้เท่านั้น การใส่ใจตนเองแบบ 2 ทิศทางมีประโยชน์อย่างยิ่งในการสร้างการนําเสนอทั้งลําดับ ขณะที่แอปพลิเคชันที่สร้างลําดับทีละโทเค็นต้องใช้การใส่ใจตนเองแบบทิศทางเดียว ด้วยเหตุนี้ โปรแกรมเข้ารหัสจึงใช้การใส่ใจตนเองแบบ 2 ทิศทาง ส่วนโปรแกรมถอดรหัสจะใช้แบบทิศทางเดียว

การใส่ใจตนเองแบบหลายหัวคืออะไร

โดยปกติแล้วแต่ละเลเยอร์การใส่ใจตนเองจะประกอบด้วยส่วนหัวการใส่ใจตนเองหลายส่วน เอาต์พุตของเลเยอร์คือการดำเนินการทางคณิตศาสตร์ (เช่น ค่าเฉลี่ยถ่วงน้ำหนักหรือผลคูณจุด) ของเอาต์พุตจากส่วนต่างๆ

เนื่องจากแต่ละเลเยอร์ Self-Attention จะเริ่มต้นด้วยค่าแบบสุ่ม หัวแต่ละหัวจึงสามารถเรียนรู้ความสัมพันธ์ที่แตกต่างกันระหว่างคำแต่ละคำที่สนใจกับคำที่อยู่ใกล้เคียง เช่น เลเยอร์ Self-Attention ที่อธิบายไว้ในส่วนก่อนหน้านี้มุ่งเน้นที่การระบุคำนามที่คำสรรพนาม it อ้างอิงถึง อย่างไรก็ตาม เลเยอร์ Self-Attention อื่นๆ อาจเรียนรู้ความเกี่ยวข้องทางไวยากรณ์ของคำแต่ละคำกับคำอื่นๆ ทั้งหมด หรือเรียนรู้การโต้ตอบอื่นๆ

การให้ความสำคัญกับตนเองจะบังคับให้คําทุกคําในบริบทต้องเรียนรู้ความเกี่ยวข้องของคําอื่นๆ ทั้งหมดในบริบท เราจึงอาจสรุปว่านี่เป็นปัญหาประเภท O(N2) โดยที่

  • โดย N คือจํานวนโทเค็นในบริบท

ราวกับว่า Big O ก่อนหน้ายังไม่น่าพอใจพอ Transformer ยังมีเลเยอร์การใส่ใจตนเองหลายเลเยอร์และส่วนหัวการใส่ใจตนเองหลายส่วนต่อเลเยอร์การใส่ใจตนเอง 1 เลเยอร์ ดังนั้น Big O จึงเท่ากับ

O(N2 · S · D)

where:

  • S คือจํานวนชั้นการใส่ใจตนเอง
  • D คือจํานวนหัวต่อเลเยอร์

คุณอาจไม่เคยฝึก LLM ตั้งแต่ต้น การฝึก LLM ระดับอุตสาหกรรมต้องใช้ความเชี่ยวชาญด้าน ML, ทรัพยากรการประมวลผล และเวลาจำนวนมาก อย่างไรก็ตาม คุณคลิกไอคอนเพื่อดูข้อมูลเพิ่มเติม เราจึงจำเป็นต้องอธิบายให้คุณทราบ

ส่วนผสมหลักในการสร้าง LLM คือข้อมูลการฝึก (ข้อความ) จำนวนมากมหาศาล ซึ่งมักจะมีการกรองอยู่บ้าง ระยะแรกของการฝึกมักจะเป็นการเรียนรู้แบบไม่ควบคุมดูแลรูปแบบใดรูปแบบหนึ่งกับข้อมูลการฝึก กล่าวโดยละเอียดคือ โมเดลจะฝึกด้วยการคาดการณ์ที่มีการปกปิด ซึ่งหมายความว่าจะมีการซ่อนโทเค็นบางรายการในข้อมูลการฝึกไว้ โมเดลจะฝึกโดยพยายามคาดการณ์โทเค็นที่ขาดหายไป ตัวอย่างเช่น สมมติว่าประโยคต่อไปนี้เป็นส่วนหนึ่งของข้อมูลการฝึก

The residents of the sleepy town weren't prepared for what came next.

ระบบจะนำโทเค็นแบบสุ่มออก เช่น

The ___ of the sleepy town weren't prepared for ___ came next.

LLM เป็นเพียงเครือข่ายประสาท ดังนั้น Loss (จํานวนโทเค็นที่มีการมาสก์ซึ่งโมเดลพิจารณาได้อย่างถูกต้อง) จะกําหนดระดับการอัปเดตค่าพารามิเตอร์ด้วยวิธี Backpropagation

โมเดลที่อิงตาม Transformer ซึ่งได้รับการฝึกให้คาดการณ์ข้อมูลที่ขาดหายไปจะค่อยๆ เรียนรู้ที่จะตรวจหารูปแบบและโครงสร้างระดับสูงขึ้นในข้อมูลเพื่อหาเบาะแสเกี่ยวกับโทเค็นที่ขาดหายไป ลองดูตัวอย่างอินสแตนซ์ที่มีการมาสก์ต่อไปนี้

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

การฝึกอย่างละเอียดกับตัวอย่างที่มีการปกปิดจำนวนมากช่วยให้ LLM เรียนรู้ว่า "harvested" หรือ "picked" มีโอกาสสูงที่จะตรงกับโทเค็นแรก และ "oranges" หรือ "they" เป็นตัวเลือกที่ดีสำหรับโทเค็นที่ 2

ขั้นตอนการฝึกเพิ่มเติมที่ไม่บังคับที่เรียกว่าการปรับแต่งวิธีการสามารถปรับปรุงความสามารถของ LLM ในการทําตามวิธีการ

Why are Transformers so large?

Transformers มีพารามิเตอร์หลายร้อยพันล้านหรือหลายล้านล้านรายการ โดยทั่วไปแล้ว หลักสูตรนี้แนะนําให้สร้างโมเดลที่มีพารามิเตอร์จํานวนน้อยแทนพารามิเตอร์จํานวนมาก ท้ายที่สุดแล้ว โมเดลที่มีพารามิเตอร์จํานวนน้อยจะใช้ทรัพยากรในการทําการคาดการณ์น้อยกว่าโมเดลที่มีพารามิเตอร์จํานวนมาก อย่างไรก็ตาม งานวิจัยแสดงให้เห็นว่า Transformer ที่มีพารามิเตอร์มากกว่าทำงานได้ดีกว่า Transformer ที่มีพารามิเตอร์น้อยกว่าอย่างสม่ำเสมอ

แต่ LLM สร้างข้อความได้อย่างไร

คุณได้เห็นว่านักวิจัยฝึก LLM ให้คาดเดาคำที่ขาดหายไป 1-2 คำอย่างไร และคุณอาจไม่ประทับใจ ท้ายที่สุดแล้ว การคาดคะเนคำ 1-2 คำก็ถือเป็นฟีเจอร์เติมข้อความอัตโนมัติที่ฝังอยู่ในซอฟต์แวร์ข้อความ อีเมล และซอฟต์แวร์การเขียนต่างๆ คุณอาจสงสัยว่า LLM สามารถสร้างประโยค ย่อหน้า หรือแม้แต่บทกวีไฮกุเกี่ยวกับการเก็งกำไรได้อย่างไร

อันที่จริงแล้ว LLM นั้นเป็นกลไกการเติมข้อความอัตโนมัติที่สามารถคาดคะเน (เติม) โทเค็นหลายพันรายการโดยอัตโนมัติ ตัวอย่างเช่น ลองดูประโยคต่อไปนี้ followed by a masked sentence

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

LLM สามารถสร้างความน่าจะเป็นของประโยคที่มีการปกปิดได้ ซึ่งรวมถึงข้อมูลต่อไปนี้

Probability คํา
3.1% เช่น สุนัขสามารถนั่ง อยู่ และพลิกตัว
2.9% เช่น สุนัขรู้วิธีนั่ง อยู่ และพลิกตัว

LLM ที่มีขนาดใหญ่พอสามารถสร้างความน่าจะเป็นของย่อหน้าและเรียงความทั้งเรื่อง คุณสามารถมองว่าคําถามของผู้ใช้ต่อ LLM เป็นประโยค "ที่ระบุ" ตามด้วยมาสก์สมมติ เช่น

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

LLM จะสร้างความน่าจะเป็นสําหรับคําตอบที่เป็นไปได้ต่างๆ

อีกตัวอย่างหนึ่งคือ LLM ที่ผ่านการฝึกด้วย "โจทย์ปัญหา" ทางคณิตศาสตร์จํานวนมากอาจดูเหมือนกำลังใช้เหตุผลทางคณิตศาสตร์ที่ซับซ้อน อย่างไรก็ตาม LLM เหล่านั้นเป็นเพียงการเติมข้อความอัตโนมัติในพรอมต์โจทย์ภาษา

ประโยชน์ของ LLM

LLM สามารถสร้างข้อความที่ชัดเจนและเข้าใจง่ายสําหรับกลุ่มเป้าหมายที่หลากหลาย LLM สามารถคาดการณ์งานที่ได้รับการฝึกฝนอย่างชัดแจ้ง นักวิจัยบางคนอ้างว่า LLM สามารถทำนายอินพุตที่ไม่ได้ผ่านการฝึกอย่างชัดแจ้งด้วย แต่นักวิจัยคนอื่นๆ ได้โต้แย้งการกล่าวอ้างนี้

ปัญหาเกี่ยวกับ LLM

การฝึกอบรม LLM นั้นมีปัญหาหลายประการ ซึ่งรวมถึง

  • รวบรวมชุดข้อมูลการฝึกอบรมขนาดใหญ่
  • ใช้เวลาหลายเดือนและใช้ทรัพยากรการประมวลผลและไฟฟ้าอย่างมหาศาล
  • การแก้ปัญหาเกี่ยวกับการทำงานแบบขนาน

การใช้ LLM เพื่ออนุมานการคาดการณ์จะทำให้เกิดปัญหาต่อไปนี้

  • LLM เพ้อฝัน ซึ่งหมายความว่าการคาดการณ์มักมีข้อผิดพลาด
  • LLM ใช้ทรัพยากรการประมวลผลและไฟฟ้าเป็นจำนวนมาก โดยทั่วไปแล้ว การฝึก LLM ด้วยชุดข้อมูลขนาดใหญ่จะลดปริมาณทรัพยากรที่จําเป็นสําหรับการอนุมาน แม้ว่าชุดข้อมูลขนาดใหญ่จะต้องใช้ทรัพยากรการฝึกมากกว่า
  • LLM อาจมีอคติทุกประเภทเช่นเดียวกับโมเดล ML ทั้งหมด

แบบฝึกหัด: ทดสอบความเข้าใจ

สมมติว่า Transformer ได้รับการฝึกจากเอกสาร 1, 000 ล้านรายการ ซึ่งรวมถึงเอกสารหลายพันรายการที่มีคำ elephant อย่างน้อย 1 รายการ ข้อความใดต่อไปนี้น่าจะเป็นไปได้
Transformer จะเชื่อมโยงคําว่า elephant กับสำนวนต่างๆ ที่มีคําว่า elephant
ต้นอะคาเซีย ซึ่งเป็นอาหารสำคัญของช้างจะค่อยๆ ได้รับคะแนนการดึงดูดความสนใจตนเองสูงเมื่อใช้ร่วมกับคำว่าช้าง
Transformer จะค่อยๆ เรียนรู้ที่จะไม่สนใจการใช้คำ elephant ในข้อมูลการฝึกแบบเสียดสีหรือแดกดัน