- โมเดลภาษาขนาดใหญ่ (LLM) แบบเดิมยังขาดความสามารถในการปรับตัวได้ทันทีให้เข้ากับงานหรือความรู้ใหม่
- เฟรมเวิร์ก SEAL แบบใหม่ทำให้ LLM มีความสามารถในการปรับตัวเอง โดยสร้างข้อมูลสำหรับการปรับจูนละเอียดและคำสั่งสำหรับอัปเดตด้วยตนเอง
- กระบวนการนี้ประกอบด้วยการสร้าง self-edit, การดำเนินการตามคำสั่ง และการปรับปรุงประสิทธิภาพอย่างต่อเนื่องผ่านลูปการเรียนรู้แบบเสริมกำลัง (Based on RL)
- SEAL แสดงให้เห็นถึงประสิทธิภาพที่ดีขึ้นกว่าวิธีเดิมในการทดลองด้าน การผสานความรู้ใหม่ และ few-shot generalization
- งานวิจัยนี้นำเสนออีกก้าวที่มีแนวโน้มดีสู่การทำให้ LLM มีความสามารถในการ ปรับตัวแบบชี้นำตนเอง
ภาพรวม
- โมเดลภาษาขนาดใหญ่ (LLM) แสดงประสิทธิภาพที่ทรงพลัง แต่ ยังไม่มีกลไกในการปรับน้ำหนักของตนเองแบบไดนามิกตามงานใหม่ ข้อมูลใหม่ หรือตัวอย่างใหม่
- งานวิจัยนี้นำเสนอเฟรมเวิร์ก Self-Adapting LLM (SEAL) ซึ่งทำให้ LLM สามารถสร้างข้อมูลสำหรับการปรับจูนละเอียดและสร้างคำสั่งอัปเดตได้ด้วยตนเอง
- เมื่อได้รับอินพุตใหม่ SEAL จะทำให้โมเดลสร้าง self-edit เช่น การจัดโครงสร้างข้อมูลใหม่ในหลายรูปแบบ, การกำหนด optimization hyperparameters, หรือ การเรียกใช้เครื่องมือสำหรับ data augmentation และการอัปเดตแบบอิง gradient
- self-edit เหล่านี้นำไปสู่การอัปเดตถาวรกับน้ำหนักของโมเดลผ่านกระบวนการ supervised fine-tuning (SFT) และช่วยรับประกันความสามารถในการปรับตัวอย่างต่อเนื่อง
- เพื่อให้การสร้าง self-edit มีประสิทธิภาพ ระบบใช้ ลูปการเรียนรู้แบบเสริมกำลัง โดยใช้ประสิทธิภาพของงานปลายทางหลังอัปเดตโมเดลเป็นสัญญาณรางวัล
อุปมาอุปไมยกับการเรียนรู้ของมนุษย์
- ได้แรงบันดาลใจจากวิธีที่ นักเรียนเตรียมสอบโดยเขียนข้อมูลจากการบรรยาย หนังสือเรียน อินเทอร์เน็ต ฯลฯ ใหม่เป็นโน้ตในแบบของตนเอง
- แต่ละคนมีวิธีจัดโครงสร้างข้อมูลต่างกัน บางคนสรุปเป็นแผนภาพ บางคนเป็นข้อความ บางคนเป็นสมการ
- สิ่งนี้สะท้อนว่าการจัดระเบียบใหม่หรือเสริมความรู้ภายนอกให้อยู่ในรูปแบบที่ตนเข้าใจง่าย เป็นลักษณะทั่วไปของการเรียนรู้แบบมนุษย์
- LLM แบบเดิมเมื่อได้รับงานใหม่ มักเพียงทำ fine-tuning กับชุดข้อมูลที่ให้มาตรง ๆ หรือทำ in-context learning เท่านั้น
- แต่วิธีเหล่านี้มีข้อจำกัด เพราะรูปแบบหรือปริมาณของข้อมูลอาจไม่ได้เหมาะสมที่สุดต่อการเรียนรู้
SEAL: ข้อเสนอของเฟรมเวิร์กการปรับตัวเอง
- SEAL ถูกฝึกด้วยอัลกอริทึมการเรียนรู้แบบเสริมกำลัง เพื่อให้ LLM สร้างข้อมูลฝึกและคำสั่งสำหรับการปรับจูนละเอียดด้วยภาษาธรรมชาติได้ด้วยตนเอง
- ในที่นี้ self-edit อยู่ในรูปของคำสั่งที่ระบุข้อมูลและ optimization hyperparameters (ถ้ามี)
- จุดเด่นของ SEAL คือไม่ต้องมีโมดูลเพิ่มเติมหรือเครือข่ายเสริม แต่ใช้ ความสามารถในการสร้างภาษาธรรมชาติของโมเดลเพื่อควบคุมกระบวนการปรับตัวของตัวเองโดยตรง
วิธีการทำงานของ SEAL
- ในแต่ละ รอบ iteration ของลูปภายนอกของการเรียนรู้แบบเสริมกำลัง (RL) โมเดลจะสร้างผู้สมัคร self-edit (SE)
- จากนั้นนำ self-edit ที่สร้างขึ้นไปใช้เพื่ออัปเดตน้ำหนัก
- หลังจากนั้นจะประเมินประสิทธิภาพของโมเดลบนงานปลายทาง และรับสัญญาณรางวัลจากผลลัพธ์ดังกล่าว
- ใช้สัญญาณรางวัลนี้เพื่อปรับปรุงนโยบายการสร้าง self-edit แบบวนซ้ำ
การทดลองและผลลัพธ์
- ใน งานการผสานความรู้ SEAL ทำ fine-tuning โดยใช้ข้อมูลสังเคราะห์ (synthetic) ที่โมเดลสร้างขึ้นเอง
- ใน SQuAD เวอร์ชัน no-passage-in-context ประสิทธิภาพ question-answering เพิ่มขึ้นอย่างมากจาก 33.5% ก่อนฝึก RL เป็น 47.0% หลังฝึก RL
- ข้อมูลที่ SEAL สร้างขึ้น ให้ประสิทธิภาพดีกว่าข้อมูลสังเคราะห์ที่สร้างโดย GPT-4.1 ด้วย
- ใน การทดลอง few-shot learning ใช้เวอร์ชันที่ทำให้ง่ายขึ้นของเบนช์มาร์ก ARC-AGI โดย SEAL เลือกข้อมูลเสริมและ optimization hyperparameters ด้วยตนเอง
- เลือกชุดเครื่องมือต่าง ๆ โดยอัตโนมัติ เช่น อัตราการเรียนรู้ จำนวน epoch และการคำนวณ loss แบบเลือกเฉพาะตามประเภทโทเค็น
- การใช้ SEAL ที่ผ่านการเรียนรู้แบบเสริมกำลังช่วยให้ประสิทธิภาพดีขึ้น และมีประสิทธิผลมากกว่าทั้งการทำ in-context learning แบบง่าย ๆ หรือการใช้เครื่องมือโดยไม่มี RL
บทสรุป
- เฟรมเวิร์ก SEAL พิสูจน์เชิงทดลองว่า LLM สามารถปรับตัวเองได้ผ่านข้อมูลและคำสั่งที่สร้างขึ้นเอง
- แนวทางนี้ชี้ให้เห็นถึงความก้าวหน้าสำคัญสำหรับการพัฒนาโมเดลภาษารุ่นถัดไปที่มี ประสิทธิภาพด้านข้อมูล ความสามารถในการปรับตัว และความเป็นอเนกประสงค์
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ตอนที่เพื่อนอัจฉริยะด้านคณิตศาสตร์สองคนของฉันกระโดดเข้าไปในวงการ ML ตั้งแต่ช่วงกลางทศวรรษ 2010 พวกเขามักเล่าเรื่องอัลกอริทึมชื่อ NEAT/HyperNEAT(Neuroevolution of Augmented Topologies) ให้ฟัง [ลิงก์ Wikipedia ของ NEAT] ฉันไม่ใช่ผู้เชี่ยวชาญด้าน ML เลยอาจไม่เข้าใจถูกต้องทั้งหมด แต่เข้าใจว่าความต่างคือ NEAT วิวัฒนาการโทโพโลยีของเครือข่าย ส่วนงานวิจัยนี้วิวัฒนาการน้ำหนัก ฉันมองว่ามันเป็นสองแนวทางที่ต่างกัน คือแบบที่เปลี่ยนโครงสร้างเครือข่ายโดยพื้นฐานกับแบบที่เปลี่ยนน้ำหนัก เพื่อพยายามแก้ปัญหาเดียวกัน เพื่อนสองคนนั้นดูเชื่อมั่นมากว่าอนาคตของ AI อยู่ที่ RL(การเรียนรู้แบบเสริมกำลัง) และอัลกอริทึมเชิงวิวัฒนาการ
มีวิดีโอแนะนำ NEAT ที่ฉันชอบที่สุดอยู่ตัวหนึ่ง คือ SethBling's MarI/O - Machine Learning for Video Games [ลิงก์ YouTube]
ฉันคิดว่ามนุษย์นี่น่าทึ่งมาก เราสร้างระบบคอมพิวเตอร์สมมุติขึ้นมาเพื่อพยายามทำความเข้าใจเซลล์ประสาท แต่ก็พบว่าในความเป็นจริงมันไม่ได้ทำงานแบบนั้น ถึงอย่างนั้นเราก็ยังหยิบไอเดียจากระบบในจินตนาการนั้นมาสร้างเทคโนโลยีที่พลิกวงการ และจนถึงตอนนี้เราก็ยังคงได้รับแรงบันดาลใจจากระบบสมมุตินั้นและพัฒนาต่อไปเรื่อยๆ
ช่วงนี้ฉันอินกับแนวคิด NEAT/แนววิวัฒนาการแบบนี้มาก หลังจากใช้ genetic algorithm กับโปรเจกต์โคลนเสียง Kokoro แล้วได้ผลพอสมควร ก็เริ่มสงสัยว่าจะทำให้โครงสร้างเครือข่ายวิวัฒนาการเองเพื่อสร้าง “สติปัญญาที่ประกอบตัวเองได้” หรือเปล่า เลยอยากรู้ว่าถ้าจะทำให้มันเป็นไปได้จริงต้องทำอย่างไร แต่พอเห็นว่า LLM เกิดขึ้นมาในรูปแบบนี้ ก็อดคิดไม่ได้ว่าวิธีแบบไฮบริดอาจเป็นทางเลือกที่สมจริงกว่าไหม
ฉันคิดว่าแนวทาง
self-editที่ใช้ RL ให้โมเดลปรับโครงสร้างข้อมูลด้วยตัวเองเพื่อเพิ่มประสิทธิภาพการเรียนรู้นั้นฉลาดมาก แก่นของไอเดียคือความจริงที่ว่าความรู้ต่างประเภทกันเหมาะกับรูปแบบการแทนข้อมูลที่ต่างกัน(เหมือนคณิตศาสตร์กับประวัติศาสตร์ที่มีวิธีจดต่างกัน) มีข้อสังเกตสำคัญอยู่สองข้อ ข้อแรก ผลด้านการผสานความรู้(47% vs 46.3%, อิงข้อมูล GPT-4.1) ไม่ใช่แค่เพราะใส่ข้อมูลเพิ่ม แต่เพราะโมเดลหาฟอร์แมตการเรียนรู้ที่ดีกว่าได้จริง ปัญหา catastrophic forgetting ยังไม่ถูกแก้ และก็ยังไม่ชัดว่าความหลากหลายของข้อมูลดีขึ้นจริงแค่ไหน ข้อสอง การประเมินรางวัลหนึ่งครั้งใช้เวลา 30~45 วินาที จึงไม่เหมาะกับการใช้งานจริงส่วนใหญ่ แต่ถ้าเป็นงานอย่างการประมวลผลเอกสารสำคัญที่ต้องการการเก็บรักษาข้อมูลให้ดีที่สุด ก็อาจคุ้มค่าที่จะลงทุน ข้อจำกัดใหญ่อีกอย่างคือมันใช้ได้กับงานที่มีเมตริกประเมินชัดเจนเท่านั้น(เพราะต้องมี Q&A อ้างอิงหรือ test case เพื่อคำนวณรางวัล) ถึงอย่างนั้น ในบริบทอย่างเอกสารเทคนิคหรือสื่อการสอนที่ทำการประเมินอัตโนมัติได้ ก็มีโอกาสมากที่จะนำไปสู่กระบวนทัศน์ใหม่ของการจัดการความรู้ มันอาจยังไม่ถึงขั้นเอเจนต์ที่พัฒนาตัวเองได้เต็มรูปแบบ แต่ก็ให้ความรู้สึกว่าเป็นความก้าวหน้าสำคัญที่โมเดลเริ่มปรับปรุง “วิธีการเรียนรู้” ของตัวเองได้เมื่อไม่กี่วันก่อน Anthropic ก็เผยแพร่งานวิจัยเกี่ยวกับ self finetuning ที่คล้ายกันเหมือนกัน [ลิงก์บทความ arxiv]
มีการพูดคุยที่เกี่ยวข้องกำลังดำเนินอยู่ [HN thread ที่เชื่อมโยงกัน]
ฉันว่ามันน่าทึ่งจริงๆ ตามเกณฑ์ RM ระดับ production ของ Claude 3.5 Sonnet นโยบายผู้ช่วยแบบ unsupervised ถูกประเมินว่าสามารถเอาชนะนโยบายที่ฝึกด้วย RM จากการกำกับของมนุษย์ได้ถึง 60% ในการเปรียบเทียบแบบตัวต่อตัว ตอนนี้เราน่าจะเข้าสู่ช่วงที่โมเดลสามารถทำผลงานได้ดีกว่าเดิมผ่านการชี้นำกันเองโดยไม่ต้องพึ่งการกำกับจากมนุษย์แล้ว
แม้ LLM จะทรงพลัง แต่ปัญหาคือมันไม่มีกลไกสำหรับปรับน้ำหนักเมื่อได้รับงานใหม่ สติปัญญาของมนุษย์ผสานกระบวนการเรียนรู้กับการนำไปใช้เข้าไว้ในลูปป้อนกลับเดียวกัน แต่ LLM แยกการฝึกและการอนุมานออกจากกันอย่างสิ้นเชิง เราปล่อยโมเดลใหม่ที่ “เรียนรู้” เพิ่มขึ้นอีกนิด แล้วก็ทิ้งโมเดลเก่าไป สำหรับ LLM การอนุมานคือจุดจบของการเรียนรู้ ฉันคิดว่านี่คือความเข้าใจผิดเกี่ยวกับ AI ที่แพร่หลายที่สุด พอหลงคิดว่า LLM กำลังเรียนรู้อยู่ ก็จะเผลอจินตนาการว่า AGI ใกล้มาถึงมากแล้วได้ง่าย
อย่างกรณีของ Deepseek การใช้ reinforcement learning สามารถช่วย refinement ประสิทธิภาพของ LLM ได้
ถ้าสามารถนำ LLM กลับมาฝึกใหม่ตามปฏิกิริยาของผู้ใช้(ชอบ/ไม่ชอบ) ได้ล่ะ? ฉันกำลังนึกภาพว่ามันน่าจะใช้ข้อมูลอินพุตและเอาต์พุตมาทำเป็นลูปป้อนกลับได้หรือเปล่า
อยากให้ผู้เชี่ยวชาญที่รู้จริงช่วยสรุปสถานะปัจจุบันและข้อจำกัดของการทำให้ LLM “เรียนรู้หน้างาน” ต่อเนื่องจริงๆ เช่น งานที่ทำให้ code agent ค่อยๆ เรียนรู้ codebase ไปตามเวลา ทั้งในแง่ต้นทุน? model collapse? หรืออย่างอื่น? แน่นอนว่าห้องแล็บใหญ่ๆ คงกำลังลองทำเรื่องนี้อยู่ แต่จากมุมมองผู้ใช้ทั่วไปกลับไม่ค่อยได้ยินเรื่องพวกนี้ ตอนนี้ดูเหมือนทุกคนจะเน้นแต่วิธีฝึกที่ดีกว่าด้วย RL และสำหรับสิ่งที่ฝึกไม่ทันก็ยัดเพิ่มเข้าไปใน context ภายหลัง แต่ฉันรู้สึกว่าการขาด self-learning แบบเรียลไทม์จากประสบการณ์นี่แหละคือจุดที่แยกเราออกจาก AGI
continual learning ตอนนี้ยังไม่มีทางออกที่เฉียบขาดจริงๆ ถูกต้องแล้วที่มักพูดถึงเรื่องทรัพยากรคอมพิวต์, model collapse, การลืม ฯลฯ วิธีเดียวที่มีอยู่คือ 1) ฝึกโมเดล 2) เพิ่มข้อมูลใหม่ 3) ฝึกใหม่ทั้งก้อน 4) ทำซ้ำ ซึ่งก็เลี่ยงไม่ได้ ในแง่ของเวลาไม่มีวิธีไหนรับประกันได้อย่างสมบูรณ์ ขณะนี้ในสาย CL เหมือนยังไม่มีคำตอบ “ของจริง” เลย เราต้องขยายพื้นที่การแทนค่าของโมเดลไปพร้อมกับรักษาพื้นที่การแทนค่าเดิมไว้ให้มากที่สุด ซึ่งแทบเป็นไปไม่ได้ที่จะทำสองอย่างนี้พร้อมกัน สิ่งมีชีวิตที่มีระบบประสาทดูเหมือนทำเรื่องนี้ได้ง่ายมาก แต่สำหรับ AI มันยากมหาศาล ฉันถึงคิดว่าปัญญาประดิษฐ์อาจต้องมีแนวคิดอย่าง “การนอน” หรือ “การพัก” ด้วย
ฉันไม่ใช่ผู้เชี่ยวชาญ แต่คิดว่าปัญหาความเป็นส่วนตัวก็มีบทบาทสำคัญเหมือนกัน ถ้าจะทำ continual learning ก็คงหลีกเลี่ยงไม่ได้ที่จะต้องทำในระดับข้อมูลรวม(aggregate) แทนระดับผู้ใช้รายคนเพราะปัญหาทราฟฟิกและต้นทุน แต่แบบนั้นก็เสี่ยงต่อการรั่วไหลของข้อมูลข้ามเซสชัน ฉันเห็นด้วยอย่างมากว่าการหาวิธีทำ continual learning อย่างปลอดภัยอาจเป็นอุปสรรคใหญ่ที่สุดของ AGI
ปัญหาเรื่องความเชื่อถือได้ก็ใหญ่เหมือนกัน เพราะเรายังไม่มั่นใจในการประเมินอัตโนมัติ จึงไม่ปล่อยเวอร์ชัน continuous training แบบอัตโนมัติออกใช้งานทันที จนกว่าจะตรวจได้ก่อนว่าประสิทธิภาพดีขึ้นจริง สุดท้ายก็ต้องรวบหลายอัปเดตมาเช็กขั้นสุดท้าย(“vibe check”) ก่อนค่อยนำไปใช้จริง
ปัญหาที่ชัดที่สุดดูเหมือนจะเป็นการที่การปรับจูนต่อเนื่องของ LLM อาจทำให้
alignmentเพี้ยนได้ง่าย ส่งผลให้ความมั่นคงและความปลอดภัยไม่สามารถรับประกันได้ฉันคิดว่าอุปสรรคที่ชัดเจนที่สุดคือปัญหา catastrophic forgetting
CPU ของฉันคือ neural-net processor, a learning computer แต่ตอนที่ Skynet ส่งฉันมาคนเดียว มันตั้งสวิตช์เป็น read-only ไว้ด้วย ทำให้นึกถึงประโยคจาก Terminator
เว็บไซต์ทางการพร้อมโค้ดและตัวอย่าง [หน้าโครงการ SEAL]
ตามการคาดการณ์ของ Villalobos et al. [75] ภายในปี 2028 frontier LLM จะชนเพดานจากข้อความที่มนุษย์เขียนซึ่งเปิดเผยต่อสาธารณะทั้งหมด กำแพงข้อมูลนี้จะผลักดันความจำเป็นของ synthetic data augmentation เมื่อคลังข้อมูลระดับเว็บเริ่มหมดลง สุดท้ายโมเดลก็ต้องสามารถสร้างสัญญาณการฝึกใหม่ที่มีประสิทธิภาพสูงได้ด้วยตัวเอง สรุปคือแนวคิดของ SEAL คือการทำ meta-training ให้โมเดลตัวสร้าง synthetic data เพื่อใช้ทำ pretraining ด้วยข้อมูลใหม่และเพิ่มประสิทธิภาพให้โมเดลในอนาคต ฉันคิดว่านี่มีอินไซต์มาก โดยเฉพาะเมื่อปี 2028 ก็ไม่ได้ไกลเลย
ดูเหมือนว่า “การลืมอย่างถูกต้อง(forgetting correctly)” กำลังกลายเป็นปัญหาที่สำคัญกว่า “การเรียนรู้อย่างถูกต้อง(learning correctly)” ไปแล้ว เราก้าวหน้าอย่างมากในการดูดซับข้อเท็จจริงใหม่ๆ อย่างรวดเร็ว แต่เทคนิคในการทิ้งข้อมูลที่สำคัญน้อยกว่าอย่างมีประสิทธิภาพภายใต้ความจุที่จำกัดยังตามหลังอยู่อีกมาก “การลืมอย่างถูกต้อง” เป็นสิ่งที่สมองมนุษย์ทำได้ดีมาก แต่ฉันสงสัยว่าจริงๆ แล้วมันทำงานอย่างไร
ฉันไม่เห็นด้วยว่ามนุษย์ “ลืมอย่างถูกต้อง” ได้เก่งนัก จริงๆ แล้วฉันไม่คิดว่ามนุษย์จะมีระบบที่ยอดเยี่ยมอะไรขนาดนั้น สมองมีความจุมหาศาลจนไม่ได้ต้องลบพื้นที่ทิ้งเพื่อเปิดทางให้ข้อมูลใหม่โดยตั้งใจนัก แต่จะลืมก็ต่อเมื่อข้อมูลเดิมที่ไม่ดีเริ่มรบกวนการเรียนรู้ใหม่มากกว่า
ฉันคิดว่าการเรียนรู้กับ spaced-repetition(การทบทวนแบบเว้นระยะ) เชื่อมกันแน่นมาก มันเกี่ยวข้องกับเครื่องมือการเรียนอย่าง Anki มากก็จริง แต่ในโลกจริง สิ่งที่เราเจอเป็นคาบตามธรรมชาติอยู่แล้ว(กลางวันกลางคืน, ฤดูกาล, สถานที่ที่ไปบ่อย, คนที่เจอบ่อย ฯลฯ) ก็คือ spaced-repetition นั่นเอง ฉันกำลังคิดด้วยว่าอาจมี “ด้านกลับ(reverse)” ของแนวคิดนี้อยู่ด้วยหรือไม่
ในงานวิจัยที่ฉันเคยทำ พบว่า LLM “ซ่อน” ข้อมูลภายในไว้ มันไม่ได้แค่ “ลืม” ไปเฉยๆ แต่เมื่อมีการฝึกเพิ่มเติมภายหลัง ข้อมูลนั้นอาจลอยกลับขึ้นมาสู่ผิวหน้าได้อีก เพราะอย่างนั้น ถ้าไม่คอยตรวจสอบสถานะหน่วยความจำทั้งหมดของโมเดลระหว่างการฝึกอย่างต่อเนื่อง การตรวจสอบเพียงบางส่วนก็มีข้อจำกัดมาก
หรืออาจจะเป็นแบบ least-recently-used ก็ได้ ฉันกำลังลองทดสอบเล่นๆ ในหัวตัวเองอยู่ นี่แหละทำให้สาขานี้น่าสนุก
ภายนอกดูเหมือนมันเป็นเฟรมเวิร์กที่ปรับจูน LoRA adapter แล้วค่อยรวมเข้ากับ base model โดยใช้ฟังก์ชัน
merge_and_unloadที่รวม adapter เข้ากับ base model ใน PeftModel ของ HuggingFace …เลยยังไม่ค่อยเห็นว่าความใหม่อยู่ตรงไหน