In-Context Learning (TH)
การเรียนรู้ในบริบท (อังกฤษ: 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 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.
หมายเหตุ
- ↑ What is In-Context Learning (ICL)? // Lakera.ai
- ↑ In-Context Learning (ICL) // Hopsworks.ai
- ↑ In-Context Learning, In Context // The Gradient
- ↑ Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers // arXiv, 2022.
- ↑ Understanding In-Context Learning // Stanford Human-Centered AI, 2023.