เทคโนโลยีที่ใหม่กว่าอย่างโมเดลภาษาขนาดใหญ่ (LLM) จะคาดคะเนโทเค็นหรือลำดับโทเค็น ซึ่งบางครั้งอาจเป็นโทเค็นหลายย่อหน้า โปรดทราบว่าโทเค็นอาจเป็นคํา คําย่อย (ชุดย่อยของคํา) หรือแม้แต่อักขระเดียว LLM ทำการคาดการณ์ได้ดีกว่ามากเมื่อเทียบกับโมเดลภาษา N-gram หรือเครือข่ายประสาทแบบซ้ำ
- LLM มีพารามิเตอร์มากกว่าโมเดลที่เกิดซ้ำ
- LLM จะรวบรวมบริบทได้มากกว่า
ส่วนนี้จะแนะนำสถาปัตยกรรมที่ใช้กันอย่างแพร่หลายและประสบความสำเร็จมากที่สุดในการสร้าง LLM ซึ่งก็คือ Transformer
Transformer คืออะไร
Transformer เป็นสถาปัตยกรรมล้ำสมัยสําหรับแอปพลิเคชันโมเดลภาษาที่หลากหลาย เช่น การแปล
![รูปที่ 1 ข้อมูลที่ป้อนคือ: I am a good dog. เครื่องมือแปลภาษาที่ใช้ Transformer จะเปลี่ยนอินพุตเป็นเอาต์พุต: Je suis un bon chien ซึ่งเป็นประโยคเดียวกันที่แปลเป็นภาษาฝรั่งเศส](https://developers.google.cn/static/machine-learning/crash-course/images/Iamagooddog.png?authuser=6&hl=th)
ทรานฟอร์เมอร์แบบสมบูรณ์ประกอบด้วยโปรแกรมเปลี่ยนไฟล์และโปรแกรมถอดรหัส
- โปรแกรมเปลี่ยนไฟล์จะแปลงข้อความที่ป้อนเป็นการนำเสนอระดับกลาง โปรแกรมและอุปกรณ์เปลี่ยนไฟล์คือโครงข่ายระบบประสาทเทียมขนาดใหญ่
- โปรแกรมถอดรหัสจะแปลงการนำเสนอระดับกลางนั้นให้เป็นข้อความที่มีประโยชน์ ตัวถอดรหัสยังเป็นโครงข่ายประสาทเทียมขนาดใหญ่ด้วย
เช่น ในโปรแกรมแปล
- ตัวเข้ารหัสจะประมวลผลข้อความอินพุต (เช่น ประโยคภาษาอังกฤษ) ให้เป็นรูปแบบสื่อกลาง
- โปรแกรมถอดรหัสจะแปลงการนำเสนอระดับกลางนั้นให้เป็นข้อความเอาต์พุต (เช่น ประโยคภาษาฝรั่งเศสที่เทียบเท่า)
![รูปที่ 2 เครื่องมือแปลภาษาที่อิงตาม Transformer เริ่มต้นด้วยตัวเข้ารหัส ซึ่งจะสร้างการนำเสนอระดับกลางของประโยคภาษาอังกฤษ ตัวถอดรหัสจะแปลงการนำเสนอระดับกลางนั้นให้เป็นประโยคเอาต์พุตภาษาฝรั่งเศส](https://developers.google.cn/static/machine-learning/crash-course/images/TransformerBasedTranslator.png?authuser=6&hl=th)
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 คําในประโยคที่ว่า "สัตว์ไม่ข้ามถนนเพราะเหนื่อยมาก" กับคำสรรพนาม "มัน" คําว่า "สัตว์" มีความเกี่ยวข้องกับคำสรรพนาม "มัน" มากที่สุด](https://developers.google.cn/static/machine-learning/crash-course/images/Theanimaldidntcrossthestreet.png?authuser=6&hl=th)
ในทางกลับกัน สมมติว่าคําสุดท้ายในประโยคมีการเปลี่ยนแปลงดังนี้
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 อื่นๆ อาจเรียนรู้ความเกี่ยวข้องทางไวยากรณ์ของคำแต่ละคำกับคำอื่นๆ ทั้งหมด หรือเรียนรู้การโต้ตอบอื่นๆ
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 ทั้งหมด