In-Context Learning (TH)

From Systems analysis Wiki
Jump to navigation Jump to search

การเรียนรู้ในบริบท (อังกฤษ: In-Context Learning, ICL) — คือความสามารถพื้นฐานของโมเดลภาษาขนาดใหญ่ (LLM) ในการเรียนรู้งานใหม่ «แบบทันที» โดยใช้เพียงตัวอย่าง (การสาธิต) ที่ให้ไว้ในบริบท (prompt) ของคำร้องขอเท่านั้น คุณลักษณะสำคัญคือกระบวนการปรับตัวนี้เกิดขึ้นโดยไม่มีการอัปเดตน้ำหนัก (พารามิเตอร์) ของโมเดล กล่าวคือไม่มีการ fine-tuning แบบดั้งเดิม[1][2]

กลไกนี้ช่วยให้โมเดลแสดงความยืดหยุ่นที่น่าทึ่ง โดยสามารถแก้ปัญหาที่ไม่ได้รับการฝึกเป็นการเฉพาะ ICL กลายเป็นหนึ่งในความก้าวหน้าสำคัญที่ทำให้โมเดลภาษาขนาดใหญ่มีความทรงพลังและหลากหลายมากขึ้น[3]

กลไกการทำงาน

ความเข้าใจที่ถูกต้องเกี่ยวกับการทำงานของ ICL ยังคงเป็นพื้นที่วิจัยที่คึกคัก อย่างไรก็ตามมีทฤษฎีชั้นนำหลายข้อที่อธิบายปรากฏการณ์นี้

Transformer ในฐานะ meta-optimizer

ทฤษฎีที่ได้รับความนิยมข้อหนึ่งระบุว่าสถาปัตยกรรม Transformer เรียนรู้การนำอัลกอริทึมการเรียนรู้ไปใช้ใน forward passes ของตนในระหว่างการฝึกล่วงหน้า เมื่อโมเดลได้รับ prompt พร้อมตัวอย่าง โมเดลจะดำเนินการปรับปรุงโดยปริยายเพื่อแก้ปัญหาที่นำเสนอ โดยปรับสถานะภายใน (activations) ของตนแทนที่จะปรับน้ำหนัก[4]

การอนุมานแบบเบย์

ทฤษฎีอีกข้อหนึ่งมองว่า ICL เป็นรูปแบบหนึ่งของการอนุมานแบบเบย์ โมเดลที่ผ่านการฝึกล่วงหน้าบนชุดข้อมูลขนาดใหญ่มีการนิยามเบื้องต้น (prior) เกี่ยวกับแนวคิดต่างๆ มากมาย ตัวอย่างในบริบททำหน้าที่เป็นหลักฐานที่ช่วยให้โมเดลปรับการกระจายความน่าจะเป็นภายหลัง (posterior) เกี่ยวกับแนวคิดแฝง กล่าวอีกนัยหนึ่ง ตัวอย่างช่วยให้โมเดล «เข้าใจ» ว่างานใดในบรรดางานนับพันที่รู้จักควรได้รับการแก้ไขในขณะนั้น[5]

ประเภทของ In-Context Learning

ขึ้นอยู่กับจำนวนตัวอย่างที่ให้ไว้ ICL แบ่งออกเป็นสามประเภทหลัก

  • Few-shot Learning (การเรียนรู้จากตัวอย่างจำนวนน้อย): นี่คือแนวทางที่พบบ่อยที่สุดและสมดุลที่สุด โมเดลได้รับตัวอย่างการสาธิตจำนวนน้อย (โดยทั่วไปตั้งแต่ 2 ถึง 10 ตัวอย่าง)

ตัวอย่าง (การจำแนกความรู้สึก):

Текст: "Какой прекрасный день!"
Тональность: Позитивная

Текст: "Я ненавижу стоять в пробках."
Тональность: Негативная

Текст: "Этот фильм был довольно средним."
Тональность:

คำตอบที่คาดหวัง:

Нейтральная
  • One-shot Learning (การเรียนรู้จากตัวอย่างเดียว): โมเดลได้รับตัวอย่างเพียงหนึ่งตัวอย่าง ซึ่งมักเพียงพอสำหรับการกำหนดรูปแบบคำตอบและปรับปรุงประสิทธิภาพอย่างมีนัยสำคัญเมื่อเทียบกับแนวทาง zero-shot
  • Zero-shot Learning (การเรียนรู้โดยไม่มีตัวอย่าง): โมเดลไม่ได้รับตัวอย่างใดๆ แต่ได้รับเพียงคำสั่งหรือคำอธิบายงาน ในกรณีนี้โมเดลพึ่งพาความรู้ที่ได้รับระหว่างการฝึกล่วงหน้าอย่างสมบูรณ์

การประยุกต์ใช้ในทางปฏิบัติ

การใช้ ICL อย่างถูกต้องช่วยให้สามารถแก้ปัญหาได้หลากหลายโดยไม่ต้องพัฒนาและ fine-tuning ที่มีค่าใช้จ่ายสูง

  • สำหรับงานสร้างสรรค์และงานที่เกี่ยวกับสไตล์ (การสร้างโค้ดในสไตล์เฉพาะ การเขียนข้อความในแบบฉบับของผู้เขียนคนใดคนหนึ่ง):
    • แนะนำให้ใช้ Few-shot Learning
    • ตัวอย่างช่วยให้โมเดลจับสไตล์ รูปแบบ และโครงสร้างผลลัพธ์ที่ต้องการ
  • สำหรับงานง่ายๆ ที่มีคำสั่งชัดเจน (การแปล การสรุปความ การตอบคำถามง่ายๆ):
    • Zero-shot Learning มักเพียงพอ
    • โมเดลสมัยใหม่สามารถจัดการกับงานดังกล่าวได้ดีหากงานเหล่านั้นเป็นส่วนหนึ่งของการฝึกล่วงหน้า
  • สำหรับงานที่รูปแบบผลลัพธ์มีความสำคัญ (การสร้าง JSON การดึงข้อมูลเอนทิตี):
    • แนะนำให้ใช้ One-shot หรือ Few-shot Learning
    • แม้แต่ตัวอย่างเดียวก็สามารถกำหนดโครงสร้างคำตอบที่ต้องการได้อย่างชัดเจน ป้องกันข้อผิดพลาดในการจัดรูปแบบ

ข้อดีและข้อเสีย

การเปรียบเทียบข้อดีและข้อเสียของ ICL
ข้อดี ข้อเสีย
  • ความยืดหยุ่นและความรวดเร็ว: ปรับตัวเข้ากับงานใหม่ได้ทันทีโดยไม่ต้องฝึกใหม่
  • ประหยัดทรัพยากร: ไม่ต้องการการรวบรวมข้อมูล การติดป้ายกำกับ และกำลังการคำนวณสำหรับการ fine-tuning
  • การเข้าถึงได้: ช่วยให้ผู้ใช้ที่ไม่มีความเชี่ยวชาญด้าน ML สามารถปรับแต่งโมเดลด้วยตัวอย่างข้อความง่ายๆ
  • ข้อจำกัดของหน้าต่างบริบท: จำนวนตัวอย่างถูกจำกัดด้วยความยาวบริบทสูงสุดของโมเดล
  • ความไวต่อตัวอย่าง: ผลลัพธ์ขึ้นอยู่กับคุณภาพ ลำดับ และรูปแบบของการสาธิตที่ให้ไว้อย่างมาก
  • ต้นทุนสูงในขั้นตอนการอนุมาน: prompt ที่ยาวพร้อมตัวอย่างจำนวนมากเพิ่มต้นทุนและเวลาในการสร้างผลลัพธ์
  • ความเสี่ยงด้านความปลอดภัย: การส่งข้อมูลที่เป็นความลับเป็นตัวอย่างอาจไม่ปลอดภัย

การเปรียบเทียบกับแนวทางอื่น

ICL vs. Fine-tuning

Fine-tuning (การดับเบิลฝึก) เปลี่ยนแปลงน้ำหนักของโมเดลโดย «บันทึก» ความรู้ใหม่เข้าไปในโมเดล ทำให้โมเดลเป็นผู้เชี่ยวชาญในด้านแคบๆ แต่ลดความยืดหยุ่นโดยรวม ในทางตรงกันข้าม ICL ไม่เปลี่ยนน้ำหนักและมีความยืดหยุ่นมากกว่า แต่อาจด้อยกว่าในด้านประสิทธิภาพสำหรับงานที่เฉพาะทางสูงซึ่งต้องการความรู้เชิงลึกในโดเมนนั้น

ICL vs. RAG (Retrieval-Augmented Generation)

ทั้งสองวิธีขยายบริบทของโมเดล แต่เพื่อวัตถุประสงค์ที่แตกต่างกัน:

  • ICL ใช้ตัวอย่างเพื่อ สอน โมเดล วิธี ดำเนินงาน (การสาธิตทักษะ)
  • RAG ใช้ข้อมูลที่ดึงมาเพื่อ แจ้ง ข้อเท็จจริงที่จำเป็นสำหรับการตอบโมเดล (การให้ความรู้)

ในทางปฏิบัติ ICL และ RAG มักถูกรวมกันเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด

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

  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.
  • Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.
  • Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.
  • Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.
  • Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.
  • Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.
  • Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.
  • Yu, Z.; Ananiadou, S. (2024). How Do Large Language Models Learn In-Context? Query and Key Matrices of In-Context Heads Are Two Towers for Metric Learning. arXiv:2402.02872.
  • Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.
  • Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.
  • Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.

หมายเหตุ