บทความนี้เป็นสรุปเนื้อความจากวิดีโอ Deep Dive into LLMs like ChatGPT – YouTube
โดย Andrej Karpathy ความยาว 3 ชั่วโมง 30 นาที
บทความนี้จะพาไปสำรวจเทคโนโลยีปัญญาประดิษฐ์ที่เรียกว่า Large Language Models (LLMs) เช่น ChatGPT จากมุมมองแบบเข้าใจง่าย พร้อมนำเสนอหัวข้อย่อย ๆ ที่ครอบคลุมกระบวนการตั้งแต่การเตรียมข้อมูล เทคนิค tokenization พื้นฐานของโครงสร้าง neural network กระบวนการ inference การฝึกสอนเพื่อสร้างแชทบอทที่มีความเป็นผู้ช่วย และสุดท้ายจิตวิทยา (psychology) ของ LLMs ที่ทำให้เราเข้าใจถึงแนวคิดเบื้องหลังพฤติกรรมและข้อจำกัดของระบบเหล่านี้
ทั้งนี้ บทความนี้อ้างอิงข้อมูลและแนวคิดจากวิดีโอ “Deep Dive into LLMs like ChatGPT” โดยใช้ภาษาที่อ่านง่าย และจัดโครงสร้างเป็นหัวข้อย่อยเพื่อความเข้าใจที่ชัดเจน
บทนำสู่ LLMs และความมหัศจรรย์ของการจำลองข้อความ
LLM คือโมเดลภาษาขนาดใหญ่ที่สามารถเรียนรู้จากข้อความบนอินเทอร์เน็ตและสร้างข้อความใหม่ที่มีลักษณะคล้ายกับข้อมูลต้นฉบับ ด้วยความสามารถในการจับใจความและบริบทของภาษา LLMs เช่น ChatGPT สามารถนำมาใช้งานในด้านการช่วยเหลือ การเขียนโปรแกรม ให้คำปรึกษา และตอบคำถามต่าง ๆ ได้อย่างน่าประทับใจ
ในวิดีโอนี้ เราได้เห็นภาพรวมของกระบวนการสร้าง LLM ตั้งแต่การรวบรวมข้อมูล การเตรียมข้อมูล (Pre-processing) การแปลงข้อความเป็นสัญลักษณ์ (Tokenization) การฝึกสอน neural network และการปรับจูน (fine-tuning) ให้เปลี่ยนจากการเป็น “token simulator” ไปสู่ “assistant” ที่สามารถตอบโต้ได้อย่างมีประสิทธิภาพ
ข้อมูลการฝึกสอน (Pre-training Data): การรวบรวมและกรองข้อมูลอินเทอร์เน็ต
ขั้นตอนแรกของการสร้าง LLM คือการรวบรวมข้อมูลจากอินเทอร์เน็ต บริษัทต่าง ๆ เช่น Hugging Face ได้รวบรวมข้อมูลที่มีคุณภาพโดยใช้แหล่งข้อมูลอย่าง common crawl ที่ได้ทำการ index ข้อมูลจากเว็บเพจมากมาย ตั้งแต่ปี 2007 จนถึงปัจจุบัน แม้ว่าอินเทอร์เน็ตจะมีข้อมูลมหาศาล แต่ในการฝึกสอน LLM จะมีการกรองข้อมูลเพื่อลดเสียงรบกวน เช่น การกำจัดเว็บไซต์ที่มีเนื้อหาที่ไม่เหมาะสม (เช่น โฆษณา, สแปม, เนื้อหาที่ไม่เกี่ยวข้อง) และทำการลบข้อมูลส่วนบุคคล (PII) เพื่อลดความเสี่ยงด้านความเป็นส่วนตัว
นอกจากนี้ยังมีการคัดเลือกภาษาโดยใช้ตัวจัดจำแนกภาษา (language classifier) เพื่อตัดสินใจว่าจะเก็บข้อมูลที่เป็นภาษาอังกฤษเป็นหลัก (หรือภาษาอื่น ๆ ที่ต้องการ) วิธีนี้ช่วยให้โมเดลมีคุณภาพในการเรียนรู้และความแม่นยำสูงขึ้นในการประมวลผลภาษาใดภาษาหนึ่ง
การแทนข้อความด้วยสัญลักษณ์ (Tokenization): เปลี่ยนข้อความเป็น “อะตอมของภาษา”
เพื่อให้โมเดล neural network สามารถประมวลผลข้อความได้ เราต้องแปลงข้อความปกติให้เป็นชุดของสัญลักษณ์ (tokens) ก่อน ซึ่งในขั้นตอนแรก ข้อความถูกแปลงเป็นลำดับของรหัสบิต (binary representation) และจากนั้นจึงนำมาจัดกลุ่มเป็น “byte” โดยแต่ละ byte จะมีค่า 0-255
แต่เนื่องจากความยาวของลำดับบิตที่มากมาย เราสามารถลดความยาวลำดับได้โดยการบีบอัดผ่านวิธีที่เรียกว่า “Byte Pair Encoding (BPE)” ซึ่งเป็นกระบวนการที่ค้นหาคู่ของสัญลักษณ์ที่เกิดขึ้นบ่อย ๆ แล้วรวมเข้าด้วยกัน สัญลักษณ์ใหม่ที่ได้มีจำนวนที่มากขึ้นและทำให้ลำดับของ token ที่ได้สั้นลง โดยโมเดล LLMs ล่าสุด อย่างเช่น GPT-4 ก็มีคลังสัญลักษณ์ (vocabulary) ที่มีขนาดมากกว่า 100,000 สัญลักษณ์
การ tokenization ไม่เพียงแต่ช่วยลดความยาวของลำดับข้อมูลเท่านั้น แต่ยังมีผลต่อความแม่นยำในการจับใจความและการเรียนรู้ของโมเดลด้วย เพราะทุก ๆ token ที่สร้างขึ้นจะเป็น “อะตอม” ที่บรรจุข้อมูลที่สำคัญเกี่ยวกับโครงสร้างและบริบทของภาษา
โครงสร้างภายในของ Neural Network: การผสมผสานของคณิตศาสตร์และการปรับจูนพารามิเตอร์
เมื่อเราได้ชุด token แล้ว กระบวนการต่อไปคือการฝึกสอน neural network ซึ่งเป็นชุดของสมการคณิตศาสตร์ที่ซับซ้อนและมีพารามิเตอร์นับพันล้าน ค่าเริ่มต้นของพารามิเตอร์เหล่านี้จะถูกกำหนดแบบสุ่ม จากนั้นจะได้รับการปรับจูนผ่านกระบวนการเรียนรู้ (training) เพื่อให้โมเดลสามารถจับคู่อย่างถูกต้องระหว่าง token ในบริบทต่าง ๆ
โมเดลสมัยใหม่ เช่น Transformer จะใช้กระบวนการ “attention” ซึ่งช่วยให้โมเดลสามารถจับความสัมพันธ์ในระยะไกล (long-range dependencies) ของข้อความได้ โดยมีองค์ประกอบหลัก ๆ เช่น
– การ embedding: เปลี่ยนแต่ละ token ให้เป็นเวกเตอร์ที่มีมิติต่าง ๆ เพื่อเป็นตัวแทนของความหมายในเชิงตัวเลข
– Layer Normalization: ช่วยปรับระดับค่าสำหรับแต่ละชั้นของโมเดล
– Matrix Multiplication และ Softmax: กระบวนการคำนวณความน่าจะเป็นของ token ถัดไปในลำดับ
ทุก ๆ “knob” หรือพารามิเตอร์ใน Neural Network ถูกปรับจูนอย่างละเอียดผ่านวิธีการคำนวณ Loss และการใช้เทคนิค optimization ทำให้โมเดลสามารถพยากรณ์ (predict) คำถัดไปในประโยคได้อย่างแม่นยำและเที่ยงตรงตามรูปแบบของข้อมูลที่เคยเห็น
กระบวนการ Inference: การทำนายและการสร้างข้อความใหม่
หลังจากที่โมเดลผ่านการฝึกสอนไปแล้ว ขั้นตอนต่อไปคือการใช้งาน (inference) โดยในระหว่างการ inference เมื่อผู้ใช้งานป้อนคำถามหรือข้อความเป็น “prompt” โมเดลจะเริ่มต้นจากการทำ “autocomplete” หรือการคาดเดา token ถัดไปในลำดับ จากนั้นจึงค่อย ๆ ต่อเนื่องกันออกมาเป็นข้อความที่ต่อเนื่องและมีความหมาย
การทำนายในแต่ละขั้นตอนของ token นั้นเป็นกระบวนการแบบสุ่ม (stochastic sampling) ซึ่งหมายความว่า สิ่งที่เลือกขึ้นมาในแต่ละครั้งจะมาจากการสุ่มตามความน่าจะเป็นที่คำนวณขึ้นมา โมเดลจึงมีแนวโน้มที่จะให้ผลลัพธ์ที่แตกต่างกันในแต่ละครั้ง แม้ในกรณีที่มี prompt เดียวกัน ซึ่งเป็นเหตุผลที่ทำให้ ChatGPT และ LLMs อื่น ๆ มี “ความฉลาด” และ “ความสร้างสรรค์” ในการตอบคำถาม
อย่างไรก็ตาม แม้ว่าโมเดลจะสามารถสร้างข้อความที่น่าประทับใจ แต่การคาดเดาด้วยความน่าจะเป็นของระบบส่งผลให้มีข้อผิดพลาดในบางครั้ง เช่น การ “hallucinate” หรือการสร้างข้อมูลที่ไม่มีอยู่จริง ซึ่งเป็นปัญหาที่นักพัฒนายังคงต้องแก้ไขและปรับปรุง
ตัวอย่างของ GPT-2 และ Llama 3: ความก้าวหน้าของโมเดลภาษา
ในบรรดาโมเดลภาษาที่เปิดตัวมาก่อนหน้านี้ GPT-2 ของ OpenAI เป็นตัวอย่างสำคัญที่แสดงให้เห็นว่าโมเดลภาษาสามารถประมวลผลและสร้างข้อความที่มีความสัมพันธ์กันได้ดี GPT-2 มีพารามิเตอร์ประมาณ 1.6 พันล้านตัว และถูกฝึกด้วยข้อมูลประมาณ 100 พันล้าน token แต่เมื่อเทียบกับโมเดลใหม่อย่าง Llama 3 จาก Meta ซึ่งมีขนาดใหญ่ถึง 45 พันล้านพารามิเตอร์ และได้รับการฝึกสอนด้วยข้อมูลกว่า 15 ล้านล้าน token ก็แสดงให้เห็นว่าขนาดและความลึกของโมเดลมีผลต่อความสามารถในการเข้าใจภาษาและตอบสนองในทางที่มีประสิทธิภาพยิ่งขึ้น
โมเดลเหล่านี้มีการออกแบบที่แตกต่างกันเล็กน้อยในรายละเอียด แต่ที่สำคัญคือ จุดมุ่งหมายในการ “จำลอง” พฤติกรรมของภาษาที่พบในอินเทอร์เน็ต หลังจากการฝึกสอนที่เข้มข้นแล้ว โมเดลจะกลายเป็น “base model” ที่สามารถนำไปพัฒนาต่อยอดให้กลายเป็นผู้ช่วยเสมือน (assistant) ที่ตอบสนองคำถามของผู้ใช้งานได้
การฝึกสอนและการปรับจูน (Training & Fine-Tuning): จาก Base Model สู่ Assistant
หลังจากผ่านกระบวนการ pre-training ที่ใช้ข้อมูลจากอินเทอร์เน็ต โมเดลที่ได้จะกลายเป็น base model อยู่แล้ว ซึ่งเป็น “token simulator” ที่สามารถทำนายและสร้างข้อความได้ตามสถิติของข้อมูลที่ได้เรียนรู้มา แต่ในขั้นตอนต่อไป เราต้องการเปลี่ยนฐานของโมเดลให้กลายเป็นผู้ช่วย (assistant) ซึ่งสามารถตอบคำถามและมีพฤติกรรมที่เป็นมิตรต่อผู้ใช้งาน
ขั้นตอนนี้เรียกว่า “post-training” หรือ “fine-tuning” โดยเราจะใช้ชุดข้อมูลที่เป็นบทสนทนา (conversations) ซึ่งสร้างขึ้นโดยมนุษย์หรือแม้กระทั่งผู้ช่วยที่เป็น LLM อื่น ๆ ในการสอนให้โมเดลมี ‘persona’ ของผู้ช่วยที่เป็น “helpful, truthful และ harmless”
ตัวอย่างเช่น ในการตั้งคำถามเช่น “2+2 เท่ากับเท่าไหร่” โมเดลที่ผ่านการ fine-tuning จะตอบ “4” ได้อย่างถูกต้องและแสดงความเป็นกันเองในบทสนทนา
กระบวนการ fine-tuning นี้ช่วยให้โมเดลสามารถรับรู้ถึงบริบทของบทสนทนา และสามารถเปลี่ยนบทบาทจากการเป็นเพียงแค่ “token predictor” ไปสู่บทบาทของผู้ช่วยที่เข้าใจและตอบสนองได้อย่างเหมาะสมในสถานการณ์จริง
เทคนิค Few-Shot Prompting และการเรียนรู้ในบริบท (In-Context Learning)
อีกหนึ่งเทคนิคที่นักพัฒนานำมาใช้ในการปรับปรุงประสิทธิภาพของ LLM คือ “few-shot prompting” ที่เป็นการให้ตัวอย่างบทสนทนาเล็ก ๆ น้อย ๆ แก่โมเดล เพื่อเป็นไกด์ไลน์ในการตอบคำถามในการสนทนาจริง
วิธีการนี้ทำให้โมเดลสามารถ “เรียนรู้ในบริบท” (in-context learning) ได้อย่างรวดเร็ว โดยที่มันจะรับรู้รูปแบบและสไตล์ของการสนทนาจากตัวอย่างที่ได้รับ หากเราให้ตัวอย่างที่ชัดเจน โมเดลก็จะปรับตัวและสร้างคำตอบที่สอดคล้องกับตัวอย่างเหล่านั้น เทคนิคนี้เป็นวิธีที่มีประสิทธิภาพในการสร้างแอปพลิเคชันที่ต้องการให้โมเดลแสดงพฤติกรรมเฉพาะเจาะจง
ความท้าทายเรื่อง Hallucinations: ทำไม LLMs จึง “จินตนาการ” ข้อมูลผิดพลาด?
ปัญหาหนึ่งที่นักพัฒนาต้องเผชิญหน้ากับ LLM คือ “hallucinations” ซึ่งหมายถึงการที่โมเดลสร้างข้อมูลหรือคำตอบที่ไม่มีอยู่จริง แม้ในกรณีที่มีบริบทหรือคำถามที่ชัดเจนให้กับระบบ
สาเหตุหลักของเรื่องนี้คือ โมเดลเรียนรู้จากการจับสถิติของข้อมูลในแบบที่ไม่สามารถตรวจสอบความถูกต้องของข้อมูลได้ในทุกกรณี โดยเฉพาะเมื่อต้องตอบคำถามเกี่ยวกับข้อมูลที่หายากหรือไม่มีในฐานข้อมูลในช่วงเวลาที่โมเดลได้รับการฝึกสอน
นักวิจัยจึงใช้วิธีการ “interrogate” โมเดลโดยอัตโนมัติ กล่าวคือ เราสามารถถามโมเดลซ้ำ ๆ เพื่อวัดความแน่นอนของคำตอบ และถ้าคำตอบไม่แน่นอนหรือหลากหลาย โมเดลจะเรียนรู้ที่จะตอบกลับว่า “ฉันไม่ทราบ” หรือ “ขอโทษ ฉันไม่มีข้อมูลเพียงพอ” วิธีนี้ช่วยลดปัญหาของ hallucinations และทำให้คำตอบมีความถูกต้องเพิ่มขึ้น
การใช้ Tools และการเชื่อมโยงข้อมูลภายนอก: การเติมเต็มความรู้ของโมเดล
แม้ว่าโมเดล LLM ด้วยตนเองจะมีความสามารถเก็บข้อมูลมาเป็น “ความจำ” ภายในพารามิเตอร์ที่ได้รับการฝึกสอน แต่ข้อจำกัดด้านความรู้ที่อยู่ในช่วงเวลาของข้อมูล (knowledge cutoff) ยังคงมีอยู่ ทำให้กรณีที่ถามข้อมูลเหตุการณ์ล่าสุดหรือข้อมูลที่ไม่อยู่ในฐานข้อมูลของโมเดล โมเดลอาจให้คำตอบที่ไม่ถูกต้องหรือ “hallucinate” ข้อมูลออกมา
หนึ่งในแนวทางแก้ไขคือการให้โมเดลสามารถ “ออกคำสั่ง” เพื่อใช้เครื่องมือภายนอก (tool use) เช่น การเชื่อมต่อกับเครื่องมือค้นหาข้อมูลจากอินเทอร์เน็ต (เช่น Bing หรือ Google Search) โดยมีการกำหนดให้โมเดลสามารถ emit special tokens เพื่อให้ระบบภายนอกค้นหาข้อมูลแล้วส่งข้อความเข้ามาเติมใน context window ของโมเดลอีกครั้ง วิธีการนี้ช่วยให้การอัปเดตข้อมูลและการตรวจสอบความถูกต้องเป็นไปได้ในแบบ real-time และเพิ่มความแม่นยำในการตอบคำถามเกี่ยวกับข้อมูลล่าสุด
จิตวิทยาของ LLMs: การจำลองพฤติกรรมของมนุษย์ในเชิงสถิติ
แม้ว่า LLMs จะเป็นผลผลิตจากการคำนวณทางคณิตศาสตร์ แต่ผลลัพธ์ที่ได้กลับมีลักษณะที่คล้ายคลึงกับการคิดและจิตวิทยาของมนุษย์ในบางแง่มุม โดยเฉพาะอย่างยิ่ง เมื่อโมเดลได้รับการปรับจูนให้เหมือนผู้ช่วยที่ “สุภาพและเป็นประโยชน์” นั่นคือ ผลลัพธ์ที่เราเห็นนั้นเป็นการจำลองพฤติกรรมของผู้ให้คำปรึกษา โดยอิงตามข้อมูลที่มนุษย์ได้สร้างขึ้นและแนะนำไว้ในชุดข้อมูลการฝึกสอน
ตัวอย่างเช่น เมื่อคุณถาม “แนะนำที่เที่ยวในปารีส” โมเดลจะไม่ค้นคว้าใหม่จริง ๆ แต่จะดึงข้อมูลออกมาจากสถิติและประสบการณ์ที่เคย “เห็น” ในข้อมูลฝึกสอน ซึ่งบางครั้งอาจมีการ “จำลอง” คำตอบที่มั่นใจแม้จะไม่ถูกต้องทั้งหมด แต่ในกระบวนการ fine-tuning ด้วยวิธีที่เกี่ยวข้องกับ human feedback ผู้พัฒนาก็ได้พยายามให้โมเดลแสดงพฤติกรรมที่แสดงความรู้สึกแห่งความสุภาพและให้ความช่วยเหลือมากยิ่งขึ้น
จิตวิทยาของ LLMs ยังรวมถึงแนวคิด “in-context learning” ที่โมเดลสามารถปรับความเข้าใจผ่านการอ่านตัวอย่างบทสนทนาใน prompt ด้วย ซึ่งเป็นการเรียนรู้แบบชั่วขณะที่ส่งผลให้โมเดลสามารถแสดงพฤติกรรมที่เป็นเอกลักษณ์ในแต่ละครั้งที่ใช้งาน
ค่าใช้จ่ายและเทคโนโลยีฮาร์ดแวร์: ภาพรวมของการใช้ GPU ในการฝึกสอน LLMs
หนึ่งในเหตุผลสำคัญที่ทำให้ LLMs มีพัฒนาการอย่างรวดเร็วในช่วงไม่กี่ปีที่ผ่านมา เนื่องจากฮาร์ดแวร์ที่ทรงพลังและประสิทธิภาพการทำงานของ GPU เน้นไปที่การประมวลผลแบบขนาน (parallel processing) ที่ช่วยให้เราสามารถฝึกสอนโมเดลที่มีขนาดใหญ่ด้วยเวลาและค่าใช้จ่ายที่ลดลง
ในวิดีโอนี้ ผู้บรรยายได้แสดงให้เห็นตัวอย่างของเครื่องคอมพิวเตอร์ที่ใช้ GPU รุ่น Nvidia H100 ซึ่งเป็นฮาร์ดแวร์ที่ทันสมัยและสามารถประมวลผลได้อย่างรวดเร็ว ซึ่งในปัจจุบันเราสามารถเช่าใช้บริการจากคลาวด์ได้ในราคาที่ค่อนข้างสมเหตุสมผล เช่น การเช่า 8 GPU ในหนึ่ง node ด้วยค่าใช้จ่ายไม่ถึง $3 ต่อ GPU ต่อชั่วโมง
ด้วยความสามารถของฮาร์ดแวร์ การฝึกสอนโมเดลที่มีพารามิเตอร์หลายพันล้านตัวจึงเป็นไปได้ในเวลาเพียงไม่กี่วัน ด้วยเทคโนโลยีและซอฟต์แวร์ที่พัฒนาขึ้นเข้ามาช่วยในการจัดการประสิทธิภาพ ทำให้ช่วงต้นของการพัฒนา LLM ที่เคยใช้เงินลงทุนหลายหมื่นหรือหลักร้อยพันดอลลาร์ สามารถลดลงได้อย่างมีนัยสำคัญ
การปรับปรุงประสิทธิภาพผ่าน Fine-Tuning ด้วย Human Feedback
หลังจากสร้าง base model จากการฝึกสอนกับข้อมูลอินเทอร์เน็ตแล้ว ขั้นตอนต่อไปคือการนำโมเดลไปปรับจูน (fine-tuning) ให้เข้ากับงานเฉพาะทาง โดยเฉพาะอย่างยิ่งการพัฒนาเป็น “assistant” ที่ให้บริการบทสนทนา
ในขั้นตอนนี้ บริษัทเช่น OpenAI ได้ใช้เทคนิค Reinforcement Learning from Human Feedback (RLHF) ซึ่งเป็นกระบวนการที่มนุษย์มีบทบาทเป็นผู้ประเมินผลและให้คะแนนกับคำตอบที่โมเดลสร้างขึ้น วิธีการนี้ช่วยให้โมเดลเรียนรู้วิธีตอบสนองที่ถูกต้อง สุภาพ และน่าเชื่อถือมากขึ้น โดยการสร้างชุดข้อมูลที่เป็นบทสนทนาที่มีการปรับเปลี่ยนตามผลตอบรับของมนุษย์
ในขณะเดียวกันก็มีความสามารถในการสร้างชุดข้อมูล “synthetic” ซึ่งเป็นการให้ LLM ตัวอื่น ๆ ช่วยสร้างตัวอย่างบทสนทนาที่สมจริง จากนั้นมนุษย์จะเข้ามาตรวจแก้ไขและปรับปรุงคำตอบ ทำให้กระบวนการฝึกสอนในขั้นตอนนี้มีประสิทธิภาพและช่วยลดภาวะ hallucination
แนวทางการ Encoding บทสนทนา: การจัดโครงสร้างการสื่อสารใน LLM
หนึ่งในความท้าทายสำคัญเมื่อพูดถึงการฝึกสอนโมเดลให้ตอบโต้เป็นบทสนทนา คือการที่เราต้องแปลงบทสนทนาให้เป็นลำดับ token ที่มีโครงสร้างชัดเจน โดยที่โมเดลสามารถ “เข้าใจ” ว่าใครกำลังพูด (ผู้ใช้หรือผู้ช่วย) และแยกแยะบทสนทนาที่มีหลายเทิร์น
ตัวอย่างหนึ่งคือจาก GPT-4 ที่ใช้ token เฉพาะสำหรับ “เริ่มต้น” และ “จบ” ของแต่ละเทิร์นเช่น IM_START และ IM_END ซึ่งช่วยให้โมเดลสามารถเข้าใจบริบทในการสลับบทบาทระหว่างผู้ใช้และผู้ช่วยได้อย่างแม่นยำ ส่งผลให้การตอบสนองเป็นไปในทิศทางที่ถูกต้องและสอดคล้องกับตัวอย่างที่ได้ฝึกสอนมา
การออกแบบ encoding แบบนี้เป็นสิ่งสำคัญ ไม่เพียงแต่ช่วยลดความสับสนในลำดับข้อมูล แต่ยังช่วยให้โมเดลสามารถ “จำ” รูปแบบของบทสนทนาได้ดีขึ้น และสามารถนำไปสู่การสร้างผู้ช่วยที่มีความสม่ำเสมอและตอบสนองได้ตามความคาดหวัง
การต่อสู้กับ “Hallucinations” และการยอมรับข้อจำกัดของโมเดล
แม้ว่า LLMs จะก้าวหน้ามากในด้านการสร้างข้อความที่สอดคล้องกับรูปแบบของภาษา แต่ปัญหาของ hallucinations ยังคงเป็นอุปสรรคสำคัญ เมื่อโมเดลสร้างข้อมูลที่ไม่มีอยู่จริงหรือให้คำตอบที่ผิดพลาด แม้ในบางกรณีที่คำถามอาจดูเหมือนมีคำตอบชัดเจน
เพื่อแก้ไขปัญหานี้ นักวิจัยได้นำแนวทางหลายวิธีมาใช้ เช่น
- การเพิ่มตัวอย่างในชุดข้อมูลฝึกสอนที่แสดงให้โมเดลรู้ว่า “ในกรณีที่ไม่ทราบข้อมูล ให้ตอบว่าไม่ทราบ”
- การใช้การสอบถาม (interrogation) โมเดลซ้ำ ๆ เพื่อประเมินความมั่นใจในคำตอบ
- การรวมเครื่องมือภายนอก เช่น การค้นหาข้อมูลจากอินเทอร์เน็ตเข้ามาเติมเต็มความรู้ให้กับโมเดลในขณะที่ทำการ inference
แนวทางเหล่านี้ช่วยให้โมเดลมีความสามารถที่ดีขึ้นในการระบุข้อจำกัดของตัวเองและตอบว่า “ขอโทษ ฉันไม่มีข้อมูลเพียงพอ” เมื่อเผชิญกับคำถามที่อยู่นอกเหนือขอบเขตความรู้ที่ได้รับการฝึกสอนมา
การใช้เครื่องมือช่วย (Tool Use) และการเชื่อมต่อกับ Context ภายนอก
ในสถานการณ์ที่ข้อมูลในโมเดลอาจล้าสมัยหรือไม่ครบถ้วน แนวทางหนึ่งที่ได้รับความนิยมคือการให้โมเดลสามารถ “เรียกใช้งาน” เครื่องมือภายนอกได้ เช่น การสืบค้นข้อมูลจากเว็บ หรือการเชื่อมต่อกับฐานข้อมูลที่อัปเดตอยู่เสมอ
ในแนวทางนี้ โมเดลจะ “emit” special tokens ที่ระบุถึงการเริ่มต้นและสิ้นสุดการใช้งานเครื่องมือ เช่น “[SEARCH_START]” และ “[SEARCH_END]” จากนั้นระบบจะไปค้นหาข้อมูลใหม่และเพิ่มข้อมูลเหล่านั้นกลับเข้าไปใน context window ของโมเดล วิธีนี้ช่วยให้ผลลัพธ์ที่ได้มีความทันสมัยมากขึ้นและลดปัญหา hallucinations เนื่องจากข้อมูลที่นำมาใช้งานมาจากแหล่งข้อมูลที่ได้ผ่านการยืนยันแล้ว
การผสานการใช้เครื่องมือภายนอกเข้ากับ LLMs ไม่เพียงแต่ช่วยเสริมความรู้ของโมเดล แต่ยังเปิดโอกาสให้ผู้ใช้งานสามารถขอข้อมูลหรือควมช่วยเหลือที่เฉพาะเจาะจงมากขึ้นได้
LLM ในฐานะ “ผู้ช่วยเสมือน”: การเปลี่ยนโหมดการตอบสนองให้เป็นมิตรและเป็นประโยชน์
ผลลัพธ์ที่ดีที่สุดของ LLM ไม่ใช่เพียงการจำลองข้อความที่เหมือนกับบทความบนอินเทอร์เน็ตเท่านั้น แต่คือการสร้างผู้ช่วยที่สามารถตอบสนองต่อคำถามและบทสนทนาได้อย่างเป็นธรรมชาติ การปรับแต่งโมเดลให้ตอบสนองในลักษณะ “assistant” นั้นไม่สามารถทำได้เพียงแค่ผ่านการฝึกสอนพื้นฐานเท่านั้น แต่จำเป็นต้องมีข้อมูลบทสนทนาที่มีการคัดเลือกมาอย่างดีและมีการปรับจูนผ่าน human feedback
ในขั้นตอนนี้ ผู้พัฒนาจะใช้ชุดข้อมูลที่ประกอบด้วยบทสนทนาที่คัดสรรมาจากแหล่งต่าง ๆ ซึ่งในแต่ละบทสนทนาจะมีการกำหนดบทบาทให้ชัดเจน เช่น ผู้ใช้และผู้ช่วย และมีตัวอย่างคำตอบที่ถูกต้องตามแนวทาง “helpful, truthful และ harmless” แล้วจึงให้โมเดลฝึกตามแนวทางดังกล่าว ทำให้เมื่อมีการใช้งานจริง ผู้ช่วยสามารถตอบสนองได้ตามที่ผู้ใช้งานคาดหวัง
ยกตัวอย่างเช่น หากมีผู้ใช้ถาม “ทำไมท้องฟ้าถึงสีฟ้า” ผู้ช่วยที่ผ่านการปรับจูนนี้จะให้คำอธิบายที่ตรงประเด็นและเข้าใจง่าย พร้อมทั้งมีการแสดงความสุภาพในการตอบที่ทำให้ผู้ใช้งานรู้สึกเชื่อถือและเป็นกันเอง
การตรวจสอบและการประเมินคุณภาพของโมเดล
อีกหนึ่งส่วนสำคัญในกระบวนการพัฒนา LLM คือการตรวจสอบและประเมินผลลัพธ์ของโมเดลในทุกขั้นตอน ไม่ว่าจะเป็นการวัดค่า loss ระหว่างการฝึกสอน การประเมินความแม่นยำของคำตอบในแต่ละคำทำนาย หรือการทดสอบรูปแบบของบทสนทนาที่โมเดลสร้างขึ้น
นักวิจัยและนักพัฒนาจะคอยตรวจสอบ “loss” ในระหว่างการอัปเดตโมเดลเป็นตัวชี้วัดว่าการปรับจูนได้ผลหรือไม่ เมื่อค่า loss ลดลงอย่างต่อเนื่อง แสดงว่าโมเดลมีความเข้าใจในรูปแบบของข้อความและบทสนทนามากขึ้น นอกจากนี้ยังมีการใช้ human evaluation เพื่อให้ความเห็นและวัดความพึงพอใจจากผู้ใช้งานจริง ซึ่งเป็นสิ่งที่ช่วยให้สามารถปรับปรุงรายละเอียดของการตอบสนองของโมเดลในภายหลังได้
การตรวจสอบคุณภาพนี้ยังรวมถึงการทดสอบโดยใช้ prompt ที่หลากหลายและลักษณะของคำถามที่ท้าทาย เพื่อดูว่าโมเดลสามารถจัดการกับสถานการณ์ที่ซับซ้อนได้ดีเพียงใด
ผลกระทบในเชิงจริยธรรมและความรับผิดชอบในการใช้งาน
การนำ LLMs มาใช้งานในสังคมก็มีด้านจริยธรรมที่ต้องคำนึงถึงอย่างมาก เนื่องจากโมเดลเป็นเพียงการจำลองพฤติกรรมที่ได้รับจากข้อมูลในอดีต บางครั้งโมเดลอาจสร้างข้อมูลที่มีอคติหรือทำให้เกิดความเข้าใจผิดขึ้นได้
ผู้พัฒนาและผู้ใช้งานจึงต้องมีความรับผิดชอบในการตรวจสอบและปรับปรุงโมเดล รวมถึงต้องมีการตั้งระดับความปลอดภัยในการใช้งาน โดยการป้องกันไม่ให้โมเดลให้ข้อมูลที่เป็นอันตรายหรือส่งเสริมมุมมองที่ไม่เหมาะสม เช่น การป้องกันไม่ให้โมเดลเผยแพร่ข้อมูลที่ผิดหรือมีความเป็นอันตรายต่อสังคม
นอกเหนือจากนั้น ยังมีการใช้คำแนะนำและแนวทางการ labeling จากผู้เชี่ยวชาญเพื่อให้โมเดลมีความ “helpful, truthful และ harmless” ในทุกครั้งที่ตอบสนองต่อผู้ใช้งาน
สรุปและมุมมองในอนาคตของเทคโนโลยี LLM
เทคโนโลยีความสามารถของ LLM ได้ก้าวกระโดดขึ้นอย่างรวดเร็วในช่วงไม่กี่ปีที่ผ่านมา จากโมเดลพื้นฐานที่ทำหน้าที่ “token simulation” จนกลายเป็นผู้ช่วยที่ตอบสนองต่อบทสนทนาได้อย่างเป็นธรรมชาติและมีประโยชน์ ขณะที่เรายังคงเผชิญกับความท้าทายทางด้าน “hallucinations” และการปรับปรุงการเรียนรู้ในบริบทอย่างต่อเนื่อง
อนาคตของ LLM คาดว่าจะมีการผสานรวมกับเครื่องมือภายนอกและขยายขอบเขตของฐานข้อมูลความรู้ให้ทันสมัยอยู่เสมอ รวมถึงการใช้เทคนิคการปรับจูนและ human feedback ที่เข้มข้นมากขึ้นเพื่อให้สามารถตอบสนองในหลากหลายสถานการณ์ได้อย่างดีและแม่นยำมากขึ้น ในขณะเดียวกัน กระบวนการพัฒนา LLM ยังต้องเผชิญกับเรื่องจริยธรรมและความรับผิดชอบในเชิงสังคมอย่างต่อเนื่อง
ผู้พัฒนาและนักวิจัยกำลังพยายามค้นหาแนวทางที่จะลดข้อจำกัดและแก้ไขปัญหาที่เกิดขึ้นจากการจำลองข้อมูลแบบสถิติ เพื่อให้ LLMs มีความสามารถในการ “รู้ว่าเมื่อใดควรจะบอกว่าไม่รู้” และสามารถอัปเดตความรู้ได้ด้วยการเชื่อมโยงกับโลกภายนอกอย่างต่อเนื่อง
ข้อคิดสำคัญและการนำไปประยุกต์ใช้งานในชีวิตจริง
ในโลกปัจจุบัน LLM ไม่เพียงแต่เป็นเครื่องมือที่ใช้ในงานวิจัยหรือในสาขาเทคโนโลยีเท่านั้น แต่ยังมีบทบาทในการให้บริการช่วยเหลือผู้ใช้งานในหลาย ๆ ด้าน เช่น การตอบคำถามทั่วไป การช่วยเขียนบทความ แสดงความคิดเห็นเกี่ยวกับปัญหาด้านการเขียน และแม้กระทั่งการให้คำปรึกษาในด้านสุขภาพจิต
การใช้งาน LLM แบ่งออกได้เป็นสองส่วนหลัก ๆ คือ
- การใช้งานในฐานะ “token simulator” เพื่อสร้างข้อความที่มีคุณสมบัติตามรูปแบบของข้อมูลที่เคยได้รับฝึกสอน
- การปรับปรุงให้กลายเป็น “assistant” ที่มีพฤติกรรมเป็นมิตรและมีความสามารถในการตอบสนองในบทสนทนาอย่างมีประสิทธิภาพ
เพื่อให้การใช้งาน LLM มีความปลอดภัยและเป็นประโยชน์ต่อผู้ใช้งาน เราต้องคำนึงถึงจริยธรรมและกำหนดกรอบแนวทางในการใช้งานอย่างชัดเจน โดยเฉพาะอย่างยิ่งในเรื่องของความเป็นส่วนตัวและการหลีกเลี่ยงการเผยแพร่ข้อมูลที่ไม่ถูกต้องหรืออันตราย
บทสรุป
การสร้างและพัฒนา Large Language Models (LLMs) เป็นกระบวนการที่ซับซ้อนและต้องอาศัยความรู้ในหลายสาขา ทั้งการเตรียมข้อมูล การแปลงข้อมูลเป็น token การฝึกสอน neural network และการปรับจูนให้เข้ากับบทสนทนาในลักษณะที่เป็น “assistant” ผ่านการใช้ human feedback โดยแต่ละกระบวนการมีความสำคัญและมีผลต่อคุณภาพของโมเดลในการนำไปใช้งานจริง
ในบทความนี้ เราได้เจาะลึกเข้าไปในหลาย ๆ หัวข้อที่เกี่ยวข้องไม่ว่าจะเป็น
- การเตรียมข้อมูลและกระบวนการกรองข้อมูลสำหรับการฝึกสอน
- การแปลงข้อความเป็น token และการใช้ Byte Pair Encoding (BPE)
- โครงสร้างภายในของ neural network และกลไกการทำงานของ Transformer
- กระบวนการ inference ที่ทำให้โมเดลสามารถสร้างประโยคต่อเนื่องได้
- ตัวอย่างเฉพาะของ GPT-2 และ Llama 3 ในการเปลี่ยนแปลงจาก base model สู่ assistant
- เทคนิคการปรับจูนผ่าน few-shot prompting และการใช้ human feedback
- การจัดการกับปัญหา hallucinations และการใช้เครื่องมือภายนอกเพื่อเติมเต็มความรู้
- แนวทางในการตรวจสอบคุณภาพและประเมินผล รวมถึงประเด็นด้านจริยธรรมในการใช้งาน LLM
แม้กระทั้งเทคโนโลยีจะก้าวหน้าและสามารถสร้างข้อความที่น่าทึ่งได้ในระดับหนึ่ง แต่ก็ยังมีข้อจำกัดที่ต้องเรียนรู้และปรับปรุงอยู่ต่อไป ด้วยการใช้แนวทางการปรับจูนและการผสานกับเครื่องมือภายนอกในอนาคต จะช่วยให้ LLMs กลายเป็นผู้ช่วยที่มีประสิทธิภาพสูงขึ้นและสามารถให้ความช่วยเหลือในงานที่หลากหลายได้อย่างปลอดภัยและน่าเชื่อถือ
ท้ายที่สุดนี้ ทั้งนักวิจัยและนักพัฒนา รวมถึงผู้ใช้งานทั่วไป ควรมีความเข้าใจเบื้องต้นเกี่ยวกับวิธีการทำงานของ LLMs ความสามารถกับข้อจำกัดของมัน เพื่อที่เราจะสามารถนำเทคโนโลยีนี้ไปใช้ให้เกิดประโยชน์สูงสุดต่อสังคมในยุคปัญญาประดิษฐ์