LLM สามารถเขียนโค้ดได้ แต่จะเกิดอะไรขึ้นถ้าพวกเขาสามารถรันโปรแกรมได้?

แม้ว่า Large Language Models (LLM) จะถูกนำมาใช้กับแอพพลิเคชั่นที่หลากหลาย แต่โดยทั่วไปแล้วพวกมันมักจะประสบปัญหาในการแก้ปัญหางานที่ใช้เหตุผล ปัญหานี้ลดลงอย่างมากด้วยเทคนิคการกระตุ้นเตือน เช่น "ห่วงโซ่แห่งความคิด" และ "การกระตุ้นเตือนน้อยที่สุด" ในระดับสูง เทคนิคเหล่านี้สนับสนุนพฤติกรรมการใช้เหตุผลใน LLM โดยการให้ตัวอย่างเหตุผลในการแก้ปัญหาภายในกรอบเวลาของแบบจำลอง จากนั้น โมเดลจะสามารถเรียนรู้ที่จะแสดงผลเหตุผลดังกล่าวและสร้างวิธีแก้ปัญหาทีละขั้นตอนสำหรับปัญหาที่ซ่อนอยู่ โดยเฉพาะอย่างยิ่ง นี่เป็นแนวทางที่พร้อมท์เท่านั้นที่ไม่ต้องมีการปรับแต่งอย่างละเอียด ซึ่งเผยให้เห็นว่า LLM สามารถให้เหตุผลเมื่อได้รับพร้อมท์และมีบริบทที่เพียงพอ

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

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