Transformer – โครงสร้างพื้นฐานของ Generative AI

Transformer – โครงสร้างพื้นฐานของ Generative AI

17 มิถุนายน 2567

ในปัจจุบันไม่สามารถปฏิเสธได้เลยว่ากระแสของ Generative AI กำลังมาแรงมาก ๆ ไม่ว่าจะเป็นโมเดลสำหรับสร้างรูปภาพเช่น Stable Diffusion หรือ Dall-E หรือว่าโมเดลทางภาษาที่สามารถรับคำสั่งหรือคำถามของผู้ใช้ (prompt) แล้วสามารถสร้างคำตอบขึ้นมาตอบโต้กับผู้ใช้ได้ราวกับเป็นคนจริง ๆ ตัวอย่างเช่น ChatGPT ของ OpenAI หรือว่า Gemini ของ Google โมเดลต่าง ๆ เหล่านี้มีโครงสร้างและหลักการที่ซับซ้อน แต่ส่วนใหญ่เป็นการพัฒนาต่อจากโมเดล Transformer ทั้งนั้น แม้แต่โมเดล ChatGPT ซึ่งย่อมาจาก Generative Pretrained Transformer ก็เป็นการพัฒนาต่อจากโมเดล Transformer ดังนั้นในบทความนี้เราจะมาดูกันว่า Transformer นั้นมีหลักการทำงานอย่างไร

รูปที่ 1 ตัวอย่างภาพที่สร้างโดยโมเดล Midjourney (Link)

Transformer เป็นโมเดลที่พัฒนาโดยบริษัท Google ถูกนำเสนอครั้งแรกในปี 2017 ในบทความงานวิจัยชื่อ Attention is All You Need โมเดล Transformer ทำงานโดยการรับ input sequence ที่มีลักษณะเป็นลำดับที่มีความยาว เช่นข้อความต่าง ๆ จากนั้น โมเดลจะหาความสัมพันธ์ระหว่างตัวแปรต่าง ๆ ที่ได้รับเข้ามาและใช้ความสัมพันธ์นั้นในการสร้าง output sequence ออกมาเป็นคำตอบ โดยคำตอบจะมีลักษณะเป็นลำดับที่มีความยาวเช่นกัน ตัวอย่างเช่น input อาจเป็นคำถามว่าท้องฟ้ามีสีอะไร โมเดลที่ผ่านการฝึกมาแล้วจะสามารถหาความสัมพันธ์ระหว่างคำว่าท้องฟ้า สี และสีฟ้า จากนั้นจึงตอบกลับมาว่าท้องฟ้ามีสีฟ้า

ความจริงแล้วโมเดลที่ทำงานโดยการรับ input sequence เข้ามาและสร้าง output sequence โดยใช้บริบทความสัมพันธ์จาก input sequence นั้นมีมาก่อนหน้านี้แล้ว เช่นโมเดล seq2seq โครงสร้างของโมเดล seq2seq ประกอบไปด้วยส่วนประกอบหลัก 2 ส่วนคือ Encoder และ Decoder โดย Encoder มีหน้าที่รับ input sequence เข้ามา จากนั้นแปลง input sequence ให้กลายเป็นตัวแปรทางคณิตศาสตร์ที่โมเดลสามารถเข้าใจและทำการคำนวณต่อไปได้ จากนั้น Decoder จึงนำตัวแปรต่าง ๆ เหล่านี้มาทำการคำนวณหาความสัมพันธ์และสร้าง output sequence ออกมาเป็นคำตอบ โดยโครงสร้าง Encoder-Decoder นี้จะเห็นได้ในรูปที่ 2

รูปที่ 2 โมเดล seq2seq ประกอบด้วย encoder และ decoder (Link)

            ในรูปที่ 2 จะเห็นได้ว่าส่วน Encoder ทำการแปลงประโยค “She is eating a green apple” ให้กลายเป็น Context Vector จากนั้นจึงส่ง Context Vector ให้กับ Decoder เพื่อใช้ในการสร้าง Output sequence ออกมาเป็นภาษาจีน การทำงานแบบนี้มีข้อจำกัดคือ Encoder จะต้องแปลงข้อมูลทั้งหมดที่อยู่ใน input sequence ให้กลายเป็นเวกเตอร์เพียงแค่เวกเตอร์เดียวเท่านั้น และนอกจากนี้ คำท้าย ๆ ของ input sequence ยังมีผลต่อเวกเตอร์มากกว่าคำต้น ๆ อีกด้วย เมื่อคำต้น ๆ ไม่ค่อยมีผลกับเวกเตอร์ ส่วน Decoder จึงไม่ค่อยให้ความสำคัญ ทำให้ประสิทธิภาพของโมเดลด้อยลงเมื่อ input sequence มีความยาวมาก โมเดล Transformer จึงมีการคิดค้นการคำนวณแบบใหม่ขึ้นมาแก้ปัญหานี้ โดยเรียกการคำนวณใหม่นี้ว่า Attention Mechanism

รูปที่ 3 โครงสร้างของโมเดล Transformer

จากรูปโครงสร้างโมเดล Transformer จะเห็นได้ว่า Transformer ประกอบไปด้วย 2 ส่วนคือ Encoder ทางซ้าย และ Decoder ทางขวา เช่นเดียวกับโมเดล seq2seq แต่มีสิ่งที่เพิ่มมาคือกลไก Attention หรือในรูปคือ Multi-Head Attention กลไกนี้จะคำนวณค่าความสัมพันธ์ระหว่างคำใน output sequence ทุกคำ กับคำใน input sequence ทุกคำ จึงทำให้โมเดลสามารถรับข้อมูลจาก input sequence ทั้งหมดได้พร้อมกัน โมเดล Transformer จึงสามารถใช้ข้อมูลทั้งหมดพร้อมกันในการคำนวณได้ โมเดลจึงมีประสิทธิภาพในการประมวลผลข้อความที่มีความยาว เช่นหน้าเว็บไซต์ทั้งหน้า หรือในกรณีของโมเดลที่มีการสนทนาตอบโต้กับผู้ใช้ โมเดลจะสามารถใช้ข้อความก่อนหน้าเป็นบริบทในการสร้างคำตอบต่อ ๆ ไปได้

รูปที่ 4 ตัวอย่างค่า Attention จากการแปลภาษา (Link)

              ตัวอย่างในรูปที่ 4 เป็นตัวอย่างการแปลภาษาอังกฤษเป็นฝรั่งเศส แถบสีที่อยู่ใต้คำภาษาฝรั่งเศสคือค่า Attention ที่บ่งบอกว่าคำนั้นมีความสัมพันธ์กับคำภาษาอังกฤษใน input sequence มากแค่ไหน ยิ่งสีเข้มก็ยิ่งมีความสัมพันธ์มาก โดยจะเห็นได้ว่า “Comment” มีความสัมพันธ์กับ “How”, “se” มีความสัมพันธ์กับ “How” และ “was”, “passe” มีความสัมพันธ์กับ “was”, “ta” มีความสัมพันธ์กับ “your”, และ “journée” มีความสัมพันธ์กับ “day”

รูปที่ 5 กลไกการคำนวณ Attention

            กลไก Attention ประกอบไปด้วยส่วนประกอบ 3 ส่วนได้แก่ Query (Q) เป็นตัวแทนของบริบท หรือสิ่งที่โมเดลกำลังโฟกัสอยู่ในปัจจุบัน Key (K) เป็นตัวแทนส่วนประกอบของข้อมูลที่โมเดลรับเข้ามา และ Value (V) เป็นตัวแทนน้ำหนักที่โมเดลให้กับส่วนประกอบต่าง ๆ ของข้อมูลที่ได้รับเข้ามา โดยโมเดลจะนำทั้งสามส่วนประกอบ Q, K, V มาทำการคำนวณทางคณิตศาสตร์ตามรูปที่ 5 และได้ผลลัพธ์ออกมาเป็นค่าความสัมพันธ์ระหว่าง Q สิ่งที่โมเดลกำลังโฟกัสอยู่ และ K ส่วนประกอบต่าง ๆ ของข้อมูลที่รับเข้ามา สำหรับผู้ที่สนใจรายละเอียดการคำนวณสามารถอ่านต่อได้ในบทความงานวิจัยต้นฉบับชื่อ Attention Is All You Need หรือบทความ Wikipedia ชื่อ Attention (machine learning) นอกจากการคำนวณ Attention แล้ว ในโมเดล Transformer ได้พัฒนาต่อเป็นกลไก Multi-Head Attention เป็นการคำนวณ Attention หลายครั้งโดยใช้ค่าน้ำหนักของโมเดลที่ต่างกัน ทำให้โมเดลสามารถค้นพบความสัมพันธ์ระหว่างแต่ละคำใน input sequence ได้ในหลายมุมมอง ตัวอย่างรูปที่ 7 แสดงความสัมพันธ์ของคำว่า Its กับคำอื่น ๆ ใน 2 มุมมอง

รูปที่ 6 ค่า Attention ที่คำนวณได้จะเป็นความสัมพันธ์ระหว่างคำต่าง ๆ
รูปที่ 7 ตัวอย่าง Multi-Head Attention ของคำว่า Its แสดงความสัมพันธ์ใน 2 มุมมอง

            กลไก Attention เป็นกลไกที่ไม่ซับซ้อนมาก แต่สามารถแก้ปัญหาของโมเดลแบบดั้งเดิมที่ลืมข้อมูลก่อนหน้านี้ให้สามารถจำได้และนำไปใช้ในการคำนวณต่อไป เป็นสิ่งที่ยกระดับโมเดล Transformer ให้ต่างจากโมเดลแบบดั้งเดิมให้เป็นโมเดลแบบใหม่ มีความใกล้เคียงกับความคิดของมนุษย์มากขึ้น และเป็นรากฐานของโมเดลประเภท Generative AI ที่บริษัทต่าง ๆ นำไปต่อยอดจนสามารถทำงานประเภทสร้างรูปภาพใหม่ วิดิโอใหม่ หรือตอบโต้กับผู้ใช้ได้ แต่อย่างไรก็ตาม Generative AI ยังคงมีข้อจำกัดอยู่ เช่นต้องใช้ข้อมูลจำนวนมหาศาลในการฝึกและสร้างขึ้น ต้องใช้คอมพิวเตอร์ประสิทธิภาพสูงในการใช้งานตัวโมเดลซึ่งทำให้มีค่าใช้จ่ายในการใช้งาน ปัจจุบันมีหลายบริษัทกำลังพยายามย่อขนาดของโมเดลลงให้สามารถใช้งานกับอุปกรณ์ทั่วไปได้ เช่นโทรศัพท์ Samsung รุ่นใหม่ก็เริ่มมีการนำ Generative AI มาใช้งานในการตัดต่อรูปภาพ แปลงเสียงพูดเป็นตัวหนังสือ หรือแปลภาษาแล้ว หากในอนาคตสามารถย่อส่วนโมเดลให้ใช้ในอุปกรณ์ขนาดเล็กได้จริง เราจะได้เห็นโมเดล Generative AI ใช้งานอย่างแพร่หลายมากกว่านี้อย่างแน่นอน

บทความโดย ไพโรจน์ เจริญศรี
ตรวจทานและปรับปรุงโดย วีรภัทร สาธิตคณิตกุล

อ้างอิง

Data Scientist at Big Data Institute (Public Organization), BDI

Formal Senior Data Scientist at Big Data Institute (Public Organization), BDI

แบ่งปันบทความ

กลุ่มเนื้อหา

แท็กยอดนิยม

แจ้งเรื่องที่อยากอ่าน

คุณสามารถแจ้งเรื่องที่อยากอ่านให้เราทราบได้ !
และเราจะนำไปพัฒนาบทความให้มีเนื้อหาที่น่าสนใจมากขึ้น

ไอคอน PDPA

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ “นโยบายคุ้กกี้” และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ “ตั้งค่า”

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่มีความจำเป็น (Strictly Necessary Cookies)
    เปิดใช้งานตลอด

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

  • คุกกี้เพื่อการวิเคราะห์และประเมินผลการใช้งาน (Performance Cookies)

    คุกกี้ประเภทนี้ช่วยให้ BDI ทราบถึงการปฏิสัมพันธ์ของผู้ใช้งานในการใช้บริการเว็บไซต์ของ BDI รวมถึงหน้าเพจหรือพื้นที่ใดของเว็บไซต์ที่ได้รับความนิยม ตลอดจนการวิเคราะห์ข้อมูลด้านอื่น ๆ BDI ยังใช้ข้อมูลนี้เพื่อการปรับปรุงการทำงานของเว็บไซต์ และเพื่อเข้าใจพฤติกรรมของผู้ใช้งานมากขึ้น ถึงแม้ว่า ข้อมูลที่คุกกี้นี้เก็บรวบรวมจะเป็นข้อมูลที่ไม่สามารถระบุตัวตนได้ และนำมาใช้วิเคราะห์ทางสถิติเท่านั้น การปิดการใช้งานคุกกี้ประเภทนี้จะส่งผลให้ BDI ไม่สามารถทราบปริมาณผู้เข้าเยี่ยมชมเว็บไซต์ และไม่สามารถประเมินคุณภาพการให้บริการได้

  • คุกกี้เพื่อการใช้งานเว็บไซต์ (Functional Cookies)

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

  • คุกกี้เพื่อการโฆษณาไปยังกลุ่มเป้าหมาย (Targeting Cookies)

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

บันทึกการตั้งค่า
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.