Contextual forgetting — การลืมบริบทในโมเดลภาษาขนาดใหญ่

From Systems analysis Wiki
Jump to navigation Jump to search

การลืมบริบทในโมเดลภาษาขนาดใหญ่ คือปรากฏการณ์หลากมิติที่โมเดลภาษาขนาดใหญ่ (LLM) สูญเสีย เพิกเฉย หรือใช้งานข้อมูลที่ได้รับไปก่อนหน้าภายในการโต้ตอบเดียวกันอย่างไม่มีประสิทธิภาพ[1] ต่างจากความจำของมนุษย์ LLM ไม่มีที่เก็บสถานะระยะยาว และอาศัยเพียง หน้าต่างบริบท เท่านั้น ซึ่งได้แก่ข้อความปริมาณจำกัด (วัดเป็น token) ที่โมเดลสามารถประมวลผลได้ในคราวเดียว หน้าต่างนี้ทำหน้าที่เป็นความจำระยะสั้นหรือความจำใช้งานของโมเดล[2]

การแสดงออกที่เป็นที่รู้จักมากที่สุดของข้อจำกัดนี้คือปัญหา "สูญหายในช่วงกลาง" (Lost in the Middle) ซึ่งเป็นแนวโน้มของโมเดลในการประมวลผลข้อมูลที่อยู่ต้นและท้ายของบริบทยาวได้ดีกว่า แต่ประมวลผลข้อมูลในช่วงกลางได้แย่กว่า[2] ปรากฏการณ์นี้ไม่ใช่ความผิดพลาด แต่เป็นคุณสมบัติพื้นฐานที่เกิดจากสถาปัตยกรรม transformer และหลักการฝึกสอน

สองประเภทของการลืม: Contextual and Catastrophic - สองประเภทของการลืม: บริบทและหายนะ

สิ่งสำคัญคือต้องแยกแยะประเภทของ "การลืม" ใน LLM สองประเภทที่แตกต่างกันอย่างพื้นฐาน ได้แก่ การลืมภายในบริบทและการลืมแบบหายนะ

การลืมภายในบริบท (สูญหายในช่วงกลาง)

การลืมประเภทนี้เกิดขึ้น ระหว่างการโต้ตอบในเซสชันเดียว (inference) กับโมเดลที่ได้รับการฝึกสอนแล้ว และเกี่ยวข้องกับข้อจำกัดของ หน้าต่างบริบท เมื่อปริมาณของบทสนทนาหรือเอกสารเกินขนาดของหน้าต่าง โมเดลจะ "ลืม" ส่วนที่เก่าที่สุดเพื่อเปิดพื้นที่สำหรับข้อมูลใหม่ แม้แต่ภายในขอบเขตของหน้าต่าง ข้อมูลจากช่วงกลางของบริบทก็อาจถูกนำมาใช้ได้อย่างมีประสิทธิภาพน้อยกว่า นี่คือข้อจำกัดด้านความจำใช้งานของโมเดล[3] ในวรรณกรรมเชิงสื่อ ปรากฏการณ์นี้ยังเรียกอีกว่า "Context Degradation Syndrome" (CDS)[1]

การลืมแบบหายนะ (การเบี่ยงเบนของโมเดล)

การลืมประเภทนี้ หรือที่รู้จักในชื่อ "การเบี่ยงเบนของโมเดล" (model drift) เกิดขึ้น ในระหว่างกระบวนการ fine-tuning โมเดลด้วยข้อมูลใหม่ เมื่อโมเดลที่ผ่านการ pre-training บนคลังข้อมูลความรู้ทั่วไปขนาดใหญ่ถูก fine-tuning บน dataset เฉพาะทาง (เช่น ข้อความทางการแพทย์) น้ำหนักของโมเดลจะเปลี่ยนแปลง ซึ่งอาจนำไปสู่การเสื่อมสภาพหรือ "การลบเลือน" ความรู้และทักษะที่เรียนรู้มาก่อนหน้าซึ่งไม่เกี่ยวข้องกับงานใหม่[4]

สาเหตุและกลไก

การลืมบริบทเป็นผลโดยตรงของสถาปัตยกรรม transformer และเรขาคณิตของปริภูมิเวกเตอร์

เอฟเฟกต์ "สูญหายในช่วงกลาง" (Lost in the Middle)

งานวิจัยของมหาวิทยาลัย Stanford ในปี 2023 ที่มีชื่อว่า "Lost in the Middle" ได้แสดงให้เห็นอย่างชัดเจนว่าประสิทธิภาพของ LLM ในการดึงข้อมูลจากบริบทยาวมี เส้นโค้งรูปตัว U[2] ความแม่นยำของคำตอบสูงที่สุดเมื่อข้อมูลที่เกี่ยวข้องอยู่ที่ต้น (primacy effect) หรือท้าย (recency effect) ของบริบท และลดลงอย่างมีนัยสำคัญหากข้อมูลนั้น "ซ่อน" อยู่ในช่วงกลาง สาเหตุของปรากฏการณ์นี้:

  • กลไก attention: สถาปัตยกรรม transformer โดยธรรมชาติให้ attention กับ token แรกๆ อย่างไม่สมส่วน (เรียกว่า "attention sinks") เพื่อรักษา global coherence รวมถึงให้ความสนใจกับบริบทในพื้นที่ใกล้เคียง ส่งผลให้ "โฟกัส" ในช่วงกลางอ่อนแอลง[5]
  • ข้อมูลสำหรับ pre-training: โมเดลส่วนใหญ่ได้รับการฝึกสอนบนข้อความที่ค่อนข้างสั้น ซึ่งข้อมูลสำคัญแทบไม่เคยอยู่ห่างจากต้นข้อความหลายหมื่น token ทำให้โมเดลใช้บริบทยาวมากได้อย่างไม่มีประสิทธิภาพ[6]

การแสดงออกและผลที่ตามมา

  • Context Degradation Syndrome: ในระหว่างบทสนทนายาว โมเดลเริ่ม "หลงประเด็น" ตอบซ้ำ ขัดแย้งกับข้อเท็จจริงที่ระบุไว้ก่อนหน้า และให้คำตอบที่กว้างและคลุมเครือมากขึ้นเรื่อยๆ[1]
  • ความล้มเหลวในงานหลายขั้นตอน: ในงานที่เงื่อนไขถูกชี้แจงผ่านหลายรอบของการสนทนา โมเดลอาจ "ยึดติด" กับสมมติฐานเริ่มต้นที่ผิดพลาดและเพิกเฉยต่อการชี้แจงในภายหลัง ส่งผลให้ไม่สามารถแก้ไขปัญหาได้อย่างสิ้นเชิง[7]
  • ความไม่น่าเชื่อถือในการวิเคราะห์เอกสาร: เมื่อวิเคราะห์รายงานยาวหรือเอกสารทางกฎหมาย LLM อาจพลาดข้อเท็จจริงสำคัญที่อยู่ในส่วนกลาง ทำให้ไม่น่าเชื่อถือสำหรับงานประเภทนี้

กลยุทธ์การลดผลกระทบและการป้องกัน

นักวิจัยและนักพัฒนาใช้แนวทางหลายวิธีเพื่อแก้ไขปัญหาการลืมบริบท

การขยายหน้าต่างบริบท

แนวทางที่ตรงไปตรงมาที่สุดคือการเพิ่มขนาดหน้าต่างบริบท โมเดลสมัยใหม่ เช่น Claude 3 (200,000 token) และ Gemini 1.5 Pro (สูงสุด 2 ล้าน token) ได้ขยายขีดจำกัดนี้อย่างมีนัยสำคัญ[8][9] อย่างไรก็ตาม งานวิจัยแสดงให้เห็นว่าการขยายหน้าต่างเพียงอย่างเดียวไม่ได้รับประกันการใช้งานอย่างมีประสิทธิภาพ และปัญหา "สูญหายในช่วงกลาง" ยังคงมีอยู่[2]

การออกแบบ prompt อย่างชาญฉลาด

การจัดโครงสร้าง prompt อย่างถูกต้องสามารถปรับปรุงประสิทธิภาพได้อย่างมีนัยสำคัญ บริษัท Anthropic แนะนำแนวปฏิบัติดังต่อไปนี้[10]:

  • วางเอกสารไว้ที่ต้น: นำข้อความยาวไว้ที่ต้น prompt ก่อนคำสั่งและคำถาม
  • ใช้ XML tag: ครอบเอกสารในแท็ก `<document>` เพื่อแบ่งแยกอย่างชัดเจน
  • อ้างอิงคำตอบด้วยการอ้างอิง: ให้คำสั่งโมเดลดึงข้อความที่เกี่ยวข้องก่อน จากนั้นจึงกำหนดคำตอบบนพื้นฐานของข้อความเหล่านั้น

การทำ Externalization ของหน่วยความจำ: Retrieval-Augmented Generation (RAG)

แนวทางที่แตกต่างพื้นฐาน คือการไม่นำข้อมูลทั้งหมดใส่ในหน้าต่างบริบท แต่นำไปเก็บในระบบภายนอก (ฐานข้อมูลเวกเตอร์) และส่งให้ตามคำขอ

  1. การดึงข้อมูล (Retrieve): เมื่อได้รับคำขอ ระบบจะค้นหาข้อมูลที่เกี่ยวข้องในฐานข้อมูลภายนอก
  2. การเสริมข้อมูล (Augment): ส่วนที่ค้นพบจะถูกเพิ่มเข้าไปในคำขอต้นฉบับ
  3. การสร้าง (Generate): LLM สร้างคำตอบโดยอาศัยบริบทที่ได้รับ

RAG ช่วยให้ทำงานกับข้อมูลปริมาณมากที่แทบไม่มีขีดจำกัด และให้การเข้าถึงข้อมูลที่ทันสมัยและตรวจสอบแล้ว ซึ่งลดความเสี่ยงของการเกิด hallucination และถือเป็นแนวทางแก้ไขที่น่าเชื่อถือที่สุดในปัจจุบัน[11]

ลิงก์

  • Lost in the Middle: How Language Models Use Long Contexts — งานวิจัยต้นฉบับของมหาวิทยาลัย Stanford
  • การประกาศ Claude ที่มีหน้าต่างบริบท 100K token จาก Anthropic

เอกสารอ้างอิง

  • Liu, N. F. et al. (2023). Lost in the Middle: How Language Models Use Long Contexts. arXiv:2307.03172.
  • An, C. et al. (2024). Why Does the Effective Context Length of LLMs Fall Short?. arXiv:2410.18745.
  • Ding, J. et al. (2023). LongNet: Scaling Transformers to 1,000,000,000 Tokens. arXiv:2307.02486.
  • Yang, A. et al. (2024). Context Parallelism for Scalable Million-Token Inference. arXiv:2411.01783.
  • Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
  • Ding, Y. et al. (2024). LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens. arXiv:2402.13753.
  • Li, S. et al. (2023). Functional Interpolation for Relative Positions Improves Long Context Transformers. arXiv:2310.04418.
  • Dong, Z. et al. (2024). Exploring Context Window of Large Language Models via Decomposed Positional Vectors. arXiv:2405.18009.
  • Laban, P. et al. (2025). LLMs Get Lost in Multi-Turn Conversation. arXiv:2505.06120.
  • Li, R. et al. (2024). Extending Context Window in Large Language Models with Segmented Base Adjustment for Rotary Position Embeddings. Applied Sciences, 14(7), 3076. DOI:10.3390/app14073076.
  • Yang, A. & Reizenstein, J. (2024). Exploring Context Window of LLMs via Decomposed Positional Vectors (NeurIPS Poster). NeurIPS 2024.

หมายเหตุ

  1. 1.0 1.1 1.2 Howard, James. «Context Degradation Syndrome: When Large Language Models Lose the Plot». jameshoward.us. [1]
  2. 2.0 2.1 2.2 2.3 Liu, Nelson F.; et al. «Lost in the Middle: How Language Models Use Long Contexts». arXiv. [2]
  3. Liu, Nelson F.; et al. «Lost in the Middle: How Language Models Use Long Contexts». ACL Anthology. [3]
  4. Greyling, Cobus. «Catastrophic Forgetting In LLMs». Medium. [4]
  5. «Exploring Context Window of Large Language Models via Decomposed Positional Vectors». NeurIPS Proceedings. [5]
  6. An, Chenxin; et al. «Why Does the Effective Context Length of LLMs Fall Short?». arXiv. [6]
  7. «LLMs Get Lost In Multi-Turn Conversation». arXiv. [7]
  8. «Introducing the next generation of Claude». Anthropic. [8]
  9. «Google's Gemini 1.5 Pro - Revolutionizing AI with a 1M Token Context Window». Medium. [9]
  10. «Long context prompting tips». Anthropic Documentation. [10]
  11. «What is Retrieval-Augmented Generation (RAG)?». Google Cloud. [11]