2 คะแนน โดย GN⁺ 2024-03-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Quiet-STaR เป็นวิธีฝึกให้โมเดลภาษาสร้างเหตุผลภายในก่อนจะตอบ โดยใช้ข้อความเว็บทั่วไปเป็นสัญญาณการเรียนรู้แทนชุดข้อมูล QA ที่มีคำตอบกำกับ
  • หาก STaR เดิมเลือกเรียนรู้เฉพาะเหตุผลที่นำไปสู่คำตอบที่ถูกต้อง Quiet-STaR จะให้รางวัลกับเหตุผลที่ช่วยปรับปรุงการทำนายข้อความในอนาคต เพื่อใช้ประโยชน์จากการให้เหตุผลโดยนัยในข้อความที่ไม่มีโครงสร้าง
  • ระบบจะสุ่มตัวอย่างเหตุผลแบบขนานในทุกตำแหน่งโทเคน และผสมการทำนายที่มีเหตุผลกับไม่มีเหตุผล เพื่อเรียนรู้ไปในทิศทางที่ทำนายข้อความถัดไปจริงได้แม่นยำขึ้น
  • ผลจากการทำ continued pretraining กับ Mistral 7B บน OpenWebMath และ C4 แสดงให้เห็นว่า โดยไม่ต้อง fine-tuning รายงานตามงานเฉพาะ ความแม่นยำเพิ่มขึ้นจาก GSM8K 5.9%→10.9% และ CommonsenseQA 36.3%→47.2%
  • ผลลัพธ์เด่นชัดมากขึ้นในโทเคนที่คาดเดาได้ยาก และยิ่งใช้จำนวนโทเคนสำหรับความคิดภายในยาวขึ้น ก็ยิ่งมีแนวโน้มช่วยเพิ่มความสามารถในการให้เหตุผลโดยตรงมากขึ้น

ใช้ข้อความทั่วไปเป็นเป้าหมายของการเรียนรู้การให้เหตุผล

  • เวลามนุษย์เขียนหรือพูด มักหยุดคิดชั่วครู่ และความหมายของข้อความจำนวนมากก็อยู่ในเหตุผลและนัยที่ไม่ได้ถูกเขียนออกมาตรง ๆ ระหว่างประโยค
  • แนวทางที่เน้นการให้เหตุผลแบบเดิมมักโฟกัสกับการตอบคำถามหรือทำงานแบบเอเจนต์ให้สำเร็จเป็นหลัก แต่ Quiet-STaR มองว่า การให้เหตุผลมีอยู่โดยนัยในงานเขียนแทบทุกชนิด
  • ตัวอย่างของการให้เหตุผลโดยนัยมีดังนี้
    • ขั้นตอนกลางที่ไม่ได้ระบุไว้ชัดเจนในบทพิสูจน์
    • ทฤษฎีที่ใช้คาดเดาสภาวะจิตใจของอีกฝ่ายในการสนทนา

ขยาย STaR ไปสู่ language modeling

  • STaR(Self-Taught Reasoner) เป็นวิธีที่ใช้ตัวอย่างจำนวนน้อยในชุดข้อมูลถาม-ตอบเพื่อสุ่มตัวอย่างเหตุผล แล้วเรียนรู้เฉพาะเหตุผลที่นำไปสู่คำตอบที่ถูกต้อง ทำให้สามารถแก้ปัญหาที่ยากขึ้นได้แบบวนซ้ำ
  • STaR มีข้อจำกัดตรงที่พึ่งพาข้อมูลซึ่งถูกคัดสรรมาอย่างพิถีพิถัน เช่น ชุดข้อมูล QA คุณภาพสูง
    • ชุดข้อมูลลักษณะนี้อาจครอบคลุมได้เฉพาะงานให้เหตุผลบางประเภท
    • บางกรณีอาจต้องมีการให้เหตุผลกำกับไว้โดยตรง หรืออย่างน้อยต้องมีงานให้เหตุผลเฉพาะทางให้
  • Quiet-STaR ไม่ได้ฝึกกับงานเฉพาะอย่าง QA คณิตศาสตร์ แต่ฝึกโมเดลภาษาให้สร้าง เหตุผลที่ช่วยอนุมานข้อความในอนาคต จากข้อความอินเทอร์เน็ตขนาดใหญ่
  • แนวทางนี้สร้างอยู่บนสัญชาตญาณของพาราไดม์ language modeling ที่ว่า “language model คือผู้เรียนรู้แบบมัลติทาสก์ที่ไม่ต้องมีผู้สอน”

ขั้นตอนการฝึก: think, talk, learn

  • Quiet-STaR ทำงานเป็นสามขั้นตอน
    • think: สร้างเหตุผลแบบขนานหลังทุกโทเคนในข้อความ เพื่ออธิบายข้อความในอนาคต
    • talk: ผสมการทำนายโทเคนถัดไปทั้งกรณีมีเหตุผลและไม่มีเหตุผล
    • learn: ใช้รางวัลแบบ REINFORCE เพื่อเพิ่มความน่าจะเป็นของเหตุผลที่ช่วยทำนายข้อความในอนาคต และทิ้งเหตุผลที่ทำให้แย่ลง
  • ระหว่างการฝึก สำหรับ thought หนึ่งชุด โมเดลจะใช้เมตาโทเคนที่เรียนรู้ได้ เช่น START และ END เพื่อระบุจุดเริ่มต้นและจุดสิ้นสุดของความคิด
  • หลังสร้างเหตุผลแล้ว mixing head จะเป็นตัวตัดสินว่าควรสะท้อนการทำนายที่อิงเหตุผลนั้นเข้าสู่การทำนายโทเคนในอนาคตมากน้อยเพียงใด

โจทย์ด้านการติดตั้งใช้งานที่ทำให้โมเดลคิดได้ในทุกโทเคน

  • ในข้อความทั่วไป จำเป็นต้องสร้างเหตุผลสำหรับทุกโทเคน จึงมีต้นทุนการคำนวณสูง
  • เพื่อลดภาระนี้ ผู้วิจัยได้เสนอและติดตั้งใช้งาน อัลกอริทึมการสุ่มตัวอย่างแบบขนานรายโทเคน ที่สร้างเหตุผลได้ในทุกตำแหน่งโทเคนภายในสตริง
  • งานนี้ยังแก้ปัญหาที่ว่าโมเดลภาษาไม่รู้มาตั้งแต่ต้นว่าจะสร้างหรือใช้ความคิดภายในอย่างไร
    • มีการเพิ่มเมตาโทเคนแบบกำหนดเองเพื่อบอกจุดเริ่มต้นและจุดสิ้นสุดของความคิด
    • โมเดลจึงเรียนรู้ได้ว่าควรสร้างเหตุผลเมื่อใด และควรใช้เหตุผลนั้นทำนายเมื่อใด
  • เพื่อหลีกเลี่ยงการเรียนรู้แบบสายตาสั้นที่มองเพียงโทเคนถัดไปตัวเดียว จึงใช้ non-myopic loss ที่ครอบคลุมหลายโทเคนล่วงหน้า
  • เทคนิค teacher-forcing ที่ขยายความสามารถถูกนำมาใช้เพื่อให้การเรียนรู้สะท้อนถึงการทำนายที่ไกลเกินกว่าโทเคนถัดไปแต่ละตัว

การตั้งค่าการทดลองและผลลัพธ์

  • การทดลองดำเนินการโดยนำ Quiet-STaR ไปใช้กับ Mistral 7B
  • สำหรับ continued pretraining ใช้ชุดข้อมูลข้อความเว็บอย่าง OpenWebMath และ C4(Colossal Clean Crawled Corpus)
  • ความสามารถในการให้เหตุผลโดยตรงแบบ zero-shot ดีขึ้นโดยไม่ต้อง fine-tuning ตามงานเฉพาะ
    • GSM8K: 5.9%→10.9%
    • CommonsenseQA: 36.3%→47.2%
  • ทั้งใน GSM8K และ CommonsenseQA ยิ่งจำนวน thought token ที่ใช้ระหว่างการฝึก Quiet-STaR ยาวขึ้น การปรับปรุงประสิทธิภาพก็เพิ่มขึ้นอย่างสม่ำเสมอ
  • ในข้อความธรรมชาติ ค่า perplexity ของโทเคนที่ทำนายได้ยากดีขึ้น
  • เหตุผลที่สร้างขึ้นช่วยได้มากเป็นพิเศษกับ โทเคนที่ทำนายได้ยาก อย่างไม่เป็นสัดส่วน

สิ่งที่ Quiet-STaR มีส่วนสำคัญ

  • Quiet-STaR ทำให้ STaR ถูกทำให้เป็นภาพรวมขึ้น จากเดิมที่อาศัยงานให้เหตุผลที่คัดสรรมาแล้ว ไปสู่การเรียนรู้การให้เหตุผลจาก ข้อมูลข้อความที่ไม่มีโครงสร้าง หลากหลายประเภท
  • อัลกอริทึมการสุ่มตัวอย่างแบบขนานทำให้ขั้นตอนการฝึกที่สร้างเหตุผลในทุกตำแหน่งโทเคนของสตริงสามารถขยายขนาดได้
  • เมตาโทเคนแบบกำหนดเองที่บอกจุดเริ่มต้นและจุดสิ้นสุดของความคิด ถูกใช้เพื่อให้โมเดลเรียนรู้จังหวะของการสร้างเหตุผลและการทำนายที่อิงเหตุผล
  • mixing head จะตัดสินย้อนหลังว่าควรสะท้อนการทำนายโทเคนถัดไปจาก thought ใดเข้าสู่การทำนายปัจจุบันมากน้อยเพียงใด
  • ค่า loss สำหรับ language modeling ที่ครอบคลุมหลายโทเคนล่วงหน้าช่วยเพิ่มประสิทธิผลของความคิด
  • ในหลายงาน การใช้ความคิดช่วยให้โมเดลทำนายโทเคนที่ยากได้ดีกว่าโมเดลที่ฝึกด้วยข้อความเว็บเดียวกัน และยิ่ง thought ยาวขึ้น ผลการปรับปรุงก็ยิ่งมากขึ้น

1 ความคิดเห็น

 
GN⁺ 2024-03-17
ความเห็นจาก Hacker News
  • ตัวอย่างเช่น เครือข่ายที่ลึก 50 ชั้น ดูเหมือนจะเป็นเรื่องที่เข้าใจได้โดยสัญชาตญาณว่ามันน่าจะให้เหตุผลกับคำถามเชิงสัญลักษณ์ได้ราว 50 ขั้นตอนเท่านั้น
    สิ่งที่ทำให้มันดูซับซ้อนกว่านั้นคือโมเดลอาจทำ 50 ขั้นตอนนี้ภายในหนึ่งหรือหลายส่วนย่อยของปริภูมิที่มันเรียนรู้มา และหนึ่ง “ขั้นตอน” นั้นก็อาจทำงานได้มากกว่าหนึ่งขั้นตอนของมนุษย์
    มนุษย์สามารถให้เหตุผลได้ไกลกว่านั้น แต่ก็ต้องอาศัยการคิดและการไตร่ตรองจริง ๆ และบางครั้งก็ต้องมีสมุดจด
    การคาดหวังให้ ChatGPT ทำ การคูณเลข 4 หลัก ได้อย่างแม่นยำโดยไม่มีการคิดหรือ “กระดาษ” เลยนั้นถือว่าน่าทึ่งมาก และในความเป็นจริงก็มีคนไม่มากนักที่คำนวณแบบนั้นในใจได้

    • เห็นด้วย แต่ต้องคำนึงถึง องค์ประกอบแบบอัตถดถอย ด้วย
      ในตัวอย่างนี้ โมเดลรันหนึ่งครั้งเท่ากับ 50 ขั้นตอน และโมเดลจะถูกรันหนึ่งครั้งต่อโทเค็นเอาต์พุต
      เพราะฉะนั้นการคำนวณว่าในทางปฏิบัติแล้วโมเดล “คิด” ได้มากแค่ไหนจึงซับซ้อนกว่านั้น
      แน่นอนว่าเมื่อปล่อยโทเค็นออกมาหนึ่งตัวแล้ว โดยค่าตั้งต้นก็ถือว่า commit กับโทเค็นนั้นไปแล้ว แต่ไม่ได้แปลว่ามันจะไม่ “คิด” ต่อในระหว่างสร้างโทเค็นถัดไป
      บริบทและโทเค็นเอาต์พุตก่อนหน้าคืออินพุตของขั้นตอนถัดไปของโมเดล จึงอาจมองได้ว่าเป็น สมุดจด ที่พูดถึง
    • งานวิจัยนี้ตรวจสอบข้อจำกัดของทรานส์ฟอร์เมอร์ตามสัญชาตญาณดังกล่าวบน งานสังเคราะห์ ซึ่งรวมถึงงานอย่างการคูณที่ต้องใช้การให้เหตุผลหลายขั้นตอนด้วย: https://arxiv.org/abs/2305.18654
      ผลการทดลองชี้ว่าโมเดลภาษาขนาดใหญ่แบบทรานส์ฟอร์เมอร์มีแนวโน้มจะลดการให้เหตุผลเชิงสังเคราะห์หลายขั้นตอนให้กลายเป็นการจับคู่ส่วนย่อยของกราฟที่ถูกทำให้เป็นเชิงเส้น แทนที่จะใช้ความสามารถแก้ปัญหาอย่างเป็นระบบ
      นอกจากนี้ยังมีข้อโต้แย้งเชิงทฤษฎีสำหรับปัญหาการให้เหตุผลเชิงนามธรรมหลายขั้นตอน ว่าประสิทธิภาพของการสร้างแบบอัตถดถอยอาจลดลงอย่างรวดเร็วเมื่อความซับซ้อนของงานเพิ่มขึ้น
    • คุณกำลังมองข้ามรายละเอียดสำคัญตรงนี้คือ จำนวนโทเค็น ถึงแม้จะมี 50 “ขั้นตอน” ตามความลึกของเครือข่าย แต่ก็ยังใช้โทเค็นเพิ่มเติมได้
      ถ้าสมมติว่าเทปไม่หมด ก็ไม่มีเหตุผลที่โมเดลภาษาขนาดใหญ่จะต้องถูกจำกัดอยู่แค่การคำนวณอย่างง่าย
    • ถ้าคิดถึงวิธีการทำงานของ backpropagation คำอธิบายนี้ก็ดูไม่ค่อยสมเหตุสมผลนัก ชั้นต่าง ๆ ไม่ได้ถูกจำกัดให้ทำงานอย่างเป็นอิสระจากกันเท่านั้น
      แม้จะคำนึงว่าโมเดลเป็นแบบอัตถดถอยก็ยังดูไม่ค่อยเข้ากันอยู่ดี
  • ผมคิดว่า Edsger Dijkstra มีสำนวนภาษาอังกฤษที่แม่นยำมาก และแม้ว่าภาษาแม่ของเขาจะเป็นดัตช์ เขาก็ยังใช้ภาษาอังกฤษได้ดีกว่าเจ้าของภาษาหลายคน
    ใน EWD ฉบับหนึ่ง เขาเล่าว่าตอนเด็ก ๆ เขาถูกสอนว่า “อย่าเริ่มพูดก่อนจะรู้แล้วว่าจะจบประโยคอย่างไร”
    ดูเหมือนว่าน่าจะมีความสัมพันธ์เชิงเหตุและผลระหว่างสองข้อสังเกตนี้

    • ตอนหนุ่ม ๆ ผมเคยไปอยู่ต่างประเทศช่วงสั้น ๆ และเรียนภาษา ที่คลาสเดียวกันมีชายวัยกลางคนคนหนึ่งซึ่งใช้ภาษาใหม่ได้ไม่คล่องมาก แต่มีความสามารถทำให้คนหัวเราะได้เสมอ
      ผมสงสัยว่าเขาทำได้อย่างไร จนวันหนึ่งเราไปกินข้าวเที่ยงด้วยกันและเขาก็อธิบายอย่างจริงจัง
      เขาบอกว่าเขาจะไม่พูดออกมาสักประโยคจนกว่าจะได้ลองพูดมันจนจบในหัวก่อน เขาจะนึกคำหลายรอบ ปรับแต่งประโยค และจินตนาการว่าคู่สนทนาจะตอบสนองอย่างไร แล้วจะพูดก็ต่อเมื่อเห็นภาพปฏิกิริยาที่ต้องการ
      คำแนะนำนั้นในขณะเดียวกันก็เหมือนชี้ตรง ๆ ว่าผมพูดโดยไม่คิด และยังเหมือนเขาอ่านคำถามที่ผมไม่ได้ถามออกแล้วตอบได้ตรงเป๊ะ
      เมื่อผมลองใช้วิธีนี้ มันให้ผลตอบแทนตามความพยายามจริง แต่ผมไม่เคยทำให้มันกลายเป็นนิสัยได้ และทุกวันนี้ปากก็มักจะไปไวกว่าความคิดอยู่ดี
    • สำหรับผม นั่นฟังดูเหมือนนรก ความเป็นธรรมชาติฉับพลัน และความรู้สึกที่อยู่กับปัจจุบันขณะหายไปหมด
      ผมเคยพยายามคิดอย่างหมกมุ่นว่าจะพูดอะไรล่วงหน้าก่อนพูด และถึงจะเป็นคนเข้าสังคมไม่เก่งอยู่แล้ว มันก็ไม่ได้ช่วยอะไรเลย
      ผมชอบการเขียนเพราะมันเป็นแบบอะซิงโครนัส ทำให้จัดความคิดได้อย่างแม่นยำและแก้ไขได้ แต่ในสถานการณ์ทางสังคมมันเป็นอุปสรรคอย่างมาก
    • ผมเห็นอยู่สองอย่าง อย่างแรก การเขียนกับการพูด ไม่เหมือนกัน การเขียนเป็นแบบอะซิงโครนัส จึงคิดก่อนเขียนและแก้ได้
      อย่างที่สอง เวลาพูดในภาษาที่ไม่ใช่ภาษาแม่ เรามักจะคิดลึกขึ้นเกี่ยวกับสิ่งที่จะพูดต่อไป สำนวนติดปากจะน้อยลง และจะโฟกัสมากขึ้นว่าความหมายถูกส่งไปอย่างถูกต้องหรือไม่ รวมถึงอาจระวังมากขึ้นว่าจะเผลอทำให้อีกฝ่ายไม่พอใจหรือเปล่า
      นี่ไม่ใช่เรื่องใหม่อะไรด้วยซ้ำ สาขาอย่างวิทยาศาสตร์เองก็เคยดำเนินกันมากในภาษาที่ไม่ใช่ภาษาแม่ของนักวิจัย เช่น ฝรั่งเศส เยอรมัน หรือละติน
      อีกอย่าง ศัพท์เฉพาะทางในแต่ละสาขาก็มีส่วนเหมือนกัน ถ้าพูดว่า “Kubernetes is een open-bron houder orkestratiesysteem voor het automatiseren van de inzet, schalen, en het beheer van zachte waren” ตรง ๆ ผู้ฟังที่ใช้ภาษาแม่เดียวกับผมครึ่งหนึ่งก็คงงง
    • ผมชอบอ่าน EWD ของเขา มีอาจารย์คนหนึ่งที่เคยทำงานกับเขาเล่าว่าเวลาสอบ เขาให้เด็กนักศึกษาใช้ปากกา
      เขาคงพยายามลดโอกาสที่นักศึกษาจะทำพลาดหรือเปล่า?
    • ผมเองก็เรียนภาษาอังกฤษจากหนังสือเรียน แต่หนึ่งในเรื่องที่แปลกที่สุดคือการเห็นเจ้าของภาษาสับสนระหว่าง “their, there, they’re” กันเป็นปกติ
      ผมไม่เคยนึกเลยว่านั่นจะเป็นความผิดพลาดที่ผมทำได้ และมันให้ความรู้สึกคล้ายกับการสับสนระหว่าง ‘wet’ กับ ‘vet’
      แน่นอนว่าการใช้ภาษาของเจ้าของภาษาและผู้ที่ไม่ใช่เจ้าของภาษาย่อมมีความแตกต่างกัน
  • เมื่อไม่กี่วันก่อนผมนึกขึ้นมาได้ว่า รูปแบบการให้เหตุผลแบบ chain of thought ในระบบที่อิงกับโมเดลภาษาขนาดใหญ่ซึ่งช่วยเพิ่มประสิทธิภาพนั้น ดูเหมือนจะวางเทียบกันได้กับโมเดลจิตใจสองระบบในหนังสือ Thinking, Fast and Slow ของ Kahneman
    ผมไม่ได้กลับไปอ่านหนังสือเล่มนั้นมาหลายปีแล้ว แต่เท่าที่จำได้คือการคิดที่ใช้ความพยายามต่ำและการคำนวณต่ำจะใช้ ‘System 1’ เป็นหลัก เช่น 1+1=? หรือ “ท้องฟ้าคือ ____”
    ส่วน ‘System 2’ ใช้กับงานที่ตั้งใจ ทำอย่างมีสติ และมีภาระทางการรับรู้สูง เช่น การคูณเลขจำนวนมาก ปัญหาการให้เหตุผล การใช้เครื่องมือ และการตัดสินใจโดยทั่วไป ซึ่งเป็นสิ่งที่ต้องใช้สมาธิหรือทรัพยากรทางสมอง
    คำวิจารณ์ที่ว่า “โมเดลภาษาขนาดใหญ่เป็นแค่นกแก้วเชิงสถิติ จึงไม่มีสติปัญญา” จริง ๆ แล้วให้ความรู้สึกเหมือนเป็นข้อสังเกตว่าตัวโมเดลถูกจัดมาให้ใช้แค่ ‘System 1’
    เมื่อพรอมป์ตให้โมเดลภาษาขนาดใหญ่คิดเป็นลำดับขั้น เราก็ได้ให้พื้นที่ทำงานสำหรับจดความคิดของตัวเอง และให้มันนำสิ่งนั้นกลับมาพิจารณาอีกครั้งในการทำนายโทเค็นถัดไป จึงกลายเป็น System 2 ขั้นพื้นฐานชนิดหนึ่ง หรือเป็น sandbox สำหรับการไตร่ตรอง
    เวลามนุษย์ใช้ System 2 ก็เหมือนเราจับภาพไดโอรามาของโลกไว้ตรงหน้าจิตใจ แล้วจำลองว่าสภาพแวดล้อมจะตอบสนองอย่างไรถ้าทำพฤติกรรมบางอย่าง เรานึกภาพว่าเพื่อนจะตอบว่าอะไร แผ่นเหล็กจะโก่งอย่างไรเมื่อรับแรง โค้ดจะพังอย่างไร หรือยางจะยึดเกาะอย่างไร จากนั้นก็สำรวจต้นไม้แห่งความเป็นไปได้และเลือกการกระทำที่ให้รางวัลสูงสุด
    ผมไม่ใช่ผู้เชี่ยวชาญ แต่ดูเหมือนงานวิจัยนี้ก็มองเห็นกรอบคล้าย ๆ กัน โดยเฉพาะโมเดลพฤติกรรมที่เห็นในวงการหุ่นยนต์ ในอนาคตอาจมี กลไกการไตร่ตรอง/การจำลองแบบวนซ้ำ เพิ่มเข้ามา

    • ขอบอกไว้ก่อนว่าเรื่องนี้อาจฟังดูเหมือนคำพูดที่แต่งขึ้นล้วน ๆ เรื่องเล่าแบบไม่เป็นวิทยาศาสตร์ หรือความเห็นที่ไร้เดียงสาและยังไม่สุกงอม โชคดีที่ไม่มีใครจำเป็นต้องเชื่อ
      เมื่อไม่กี่สัปดาห์ก่อน ในสภาวะที่ไม่ตื่นเต็มที่และก็ไม่ได้นอน ผมเหมือนเข้าไปอยู่ในลูปที่สังเกตเห็นว่าฝั่งสมองที่คิดเร็วปล่อยคำและแนวคิดออกมารวดเร็วราวกับความเร็วแสง แล้วฝั่งสมองที่คิดช้าก็ค่อยแปลงสิ่งเหล่านั้นให้เป็นประโยคจริง
      มันเหมือนเห็น chain of thought เป็นรายการไอเดีย ซึ่งถูกเติมอย่างรวดเร็วอย่างไร้เหตุผล ก่อนจะถูกสรุปเป็น “ความคิด” ที่เป็นเรื่องเป็นราวจากรายการคำที่คัดเลือกมาอย่างระมัดระวัง
      ตั้งแต่นั้นมาผมก็เชื่อว่าบางสิ่งที่เรารับรู้ว่าเป็นความคิด แท้จริงแล้วคือ ผลลัพธ์ที่ถูกคัดเลือก จากกระบวนการระดมสมองที่เกิดขึ้นก่อนหน้าเพียงครู่เดียว
    • ผมคงไม่บอกว่าโมเดลภาษาขนาดใหญ่ไม่มีสติปัญญาเลย เพราะมันอิงกับการทำนาย และผมเชื่อว่าความสามารถที่เรารับรู้ว่าเป็นสติปัญญาก็คือ ความสามารถในการทำนาย นั่นเอง สมองส่วนนอกก็วิวัฒนาการมาเพื่อทำการทำนาย
      ถึงอย่างนั้น สติปัญญาก็ไม่ใช่สิ่งที่มีทั้งหมดหรือไม่มีเลย แต่เป็นสิ่งที่อยู่บนสเปกตรัม นิยามของผมคือ “ระดับของความสามารถในการทำนายผลลัพธ์ในอนาคตได้อย่างถูกต้องจากประสบการณ์ในอดีต” และมันขึ้นอยู่กับกลไกที่ระบบนั้น ๆ ไม่ว่าจะเป็นชีวภาพหรือประดิษฐ์ สามารถใช้เพื่อจดจำรูปแบบและทำการทำนายได้
      สติปัญญายังขึ้นอยู่กับประสบการณ์ด้วย เพราะสิ่งที่ไม่เคยมีประสบการณ์มาก่อนย่อมรับรู้ไม่ได้ และจึงทำนายไม่ได้เช่นกัน อย่างไรก็ตาม อาจจะดีกว่าถ้ามีคำศัพท์ที่แยก “ความสามารถในการทำนาย” ออกจาก “ประสบการณ์” แทนที่จะรวมทั้งสองอย่างไว้ในคำว่า “สติปัญญา”
      เมื่อเปรียบเทียบเครื่องจักรทำนายของโมเดลภาษาขนาดใหญ่กับสมองมนุษย์ ยังมีหลายอย่างที่ขาดหายไป และ “การคิดก่อนพูด” ก็เป็นหนึ่งในนั้น โดยแนวทางแบบ Q* หรือแนวคิด tree of thoughts น่าจะช่วยในเรื่องนี้ได้
      โครงสร้างแบบวนซ้ำอย่าง thalamo-cortical loop อาจพอใส่เข้าไปในแนวทางแบบโมเดลภาษาขนาดใหญ่/Transformer ได้เช่นกัน แต่ผมคิดว่าชิ้นส่วนสำคัญที่ยังขาดหายไปต่อความสามารถระดับมนุษย์คือ การเรียนรู้ออนไลน์ นั่นคือความสามารถในการลงมือทำ เห็นผลลัพธ์ แล้วเรียนรู้จากมัน
      ด้วยแนวทางปัจจุบัน เราอาจสร้าง AGI แบบ “เรียนจากหนังสือ” ได้ แต่ทักษะนั้นเรียนรู้ไม่ได้หากไม่มีการฝึกและการทดลอง ไม่ว่าจะเป็นนักพัฒนาหรืออะไรก็ตาม คุณเรียนรู้ไม่ได้จากการอ่านหนังสือหรือวิเคราะห์ผลลัพธ์ที่คนอื่นสร้างไว้เท่านั้น แต่ต้องเข้าใจผลที่เกิดขึ้นจริงจากการคาดการณ์และการกระทำของตัวเอง แล้วเรียนรู้จากมัน
    • Andrej Karpathy ก็พูดประเด็นเดียวกันพร้อมอ้างถึงหนังสือเล่มเดียวกันในวิดีโอเดือนพฤศจิกายน 2023 ชื่อ “[1hr Talk] Intro to Large Language Models”
      ลิงก์ไปยังช่วงที่เกี่ยวข้อง: https://youtu.be/zjkBMFhNj_g?t=2120
    • ข้ออ้างส่วนใหญ่ในหนังสือเล่มนั้นไม่ได้ถูกหักล้างไปแล้วหรือ? เท่าที่ทราบ บางส่วนผู้เขียนเองก็ออกมาหักล้าง
      ผมอ่านอย่างเพลิดเพลินและรู้สึกว่าได้ข้อคิดเยอะ แต่ภายหลังเพื่อนที่อยู่ในแวดวงนั้นบอกว่าหนังสือเล่มนี้ไม่แม่นยำนัก และผู้เขียนก็ “ถอนคำพูด” บางข้ออ้างไปแล้ว
    • คนมักพูดว่าโมเดลภาษาขนาดใหญ่ไม่ได้คิดจริง ๆ แต่แค่สร้างกระแสของคำ หรือให้แม่นกว่านั้นคือกระแสของโทเค็น แบบสะท้อนกลับจากข้อความที่เคยอ่านมาก่อนหรือจากหน้าต่างบางส่วนของคำตอบตัวเอง นั่นก็จริง
      แต่เวลาพูด ผมเองก็มีประสบการณ์เหมือนกันว่าผมไม่รู้หรอกว่าจะพูดอะไร จนกว่าจะได้ยินสิ่งที่ตัวเองพูดออกมา
      บางครั้งผมก็ครุ่นคิดและวางแผนโดยลองประโยคต่าง ๆ ในหัว แต่โดยมากแล้วผมก็ดูจะคล้ายโมเดลภาษาขนาดใหญ่ที่แค่สร้าง กระแสของโทเค็น
  • นี่ยังเป็นงานวิจัย reinforcement learning ที่มี baseline แย่มากด้วย GSM8k มีรูปแบบเอาต์พุตที่ค่อนข้างเฉพาะเจาะจง แต่พวกเขาใช้ Mistral แบบ zero-shot instruction-tuned
    หลังปรับปรุงแล้วความแม่นยำได้ 11% แต่ few-shot prompting ทำได้ 37%[1] ส่วน GPT-4 ใช้พรอมป์ตก็ไปได้ราว 97%
    [1]: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderb...

    • ถ้าเป็นนักวิทยาศาสตร์ที่จริงจัง การตั้งวิธีและ baseline ที่รู้จักกันอยู่แล้ว แล้วพยายามปรับปรุงมัน ก็ถือเป็นวิทยาศาสตร์ที่ดีเหมือนกัน
      จะขยายไปจนถึงประสิทธิภาพระดับล้ำสมัยที่สุดก็ได้ แต่เป้าหมายอาจเป็นเพียงการวัดผลกระทบของการเปลี่ยนแปลงที่พวกเขาเสนอภายใต้การตั้งค่าที่เรียบง่าย
      ส่วนการเอาระบบหลายอย่างมาผสมปนกันเพื่อให้ได้ ประสิทธิภาพระดับล้ำสมัย ก็ปล่อยให้เป็นหน้าที่ของวิศวกร
  • เกี่ยวข้องกับ Q* ที่ลือกันของ OpenAI หรือ q-star model ไหม? ผู้เขียนงานวิจัยนี้ดูเหมือนไม่มีความเกี่ยวข้อง
    หรือแค่ชื่อบังเอิญซ้ำกัน?

    • ดูเหมือนเป็นการเล่นคำด้วยคำศัพท์โอเวอร์ ๆ คำเดียวกัน
    • ผมก็คิดเหมือนกัน งานนี้ต่อยอดจาก STaR paper ซึ่งออกมาตั้งแต่ปี 2022 ดังนั้นอย่างน้อยก็มีโอกาสที่ q-star จะอิงมาจากสิ่งนี้เหมือนกัน
      เพียงแต่ Q อาจหมายถึงอย่างอื่นก็ได้
  • นี่คือชิ้นส่วนที่ขาดหายไปในการฝึก AI ที่มี ความสามารถในการให้เหตุผล
    มีงานจำนวนมากที่รู้คำตอบอยู่แล้ว แต่ไม่มีขั้นตอนการให้เหตุผล หากใช้วิธีนี้ก็อาจไปถึงความสามารถนั้นได้ด้วยข้อมูลที่มีคำอธิบายน้อยลง
    ส่วนที่น่าสนใจคือ ความคิดที่สร้างขึ้นมาอาจเข้าใจยากสำหรับมนุษย์ แต่กลับช่วยให้ได้คำตอบที่ถูกต้องมากกว่ามาก
    ถ้าเป็นแบบนั้น ก็เท่ากับว่าเราสร้างบางสิ่งที่ฉลาดกว่าพวกเราแล้ว

  • เมื่อเช้านี้ฉันลองอะไรที่คล้ายกันโดยพื้นฐานในระดับพรอมป์ต์ แต่ผลลัพธ์แย่มาก อย่างไรก็ตาม ไอเดียคร่าว ๆ ในหัวไปไกลกว่านั้น คือการนำ เมตาโทเค็น ของ control flow เข้ามาเพื่อช่วยให้โมเดลภาษาขนาดใหญ่สำรวจบริบทของตัวเองซ้ำอีกครั้ง
    ในมุมมองนี้ เราสามารถคิดบริบทใหม่เป็น mind map แบบมีโครงสร้างที่แก้ไขตัวเองได้ และบริบทเชิงเส้น ณ เวลา T ก็คือร่องรอยการทำงานที่ถูกดำเนินมาจนถึงตอนนั้นของการสำรวจ mind map นั้น
    เมตาโทเค็นบางตัวอาจมีผลข้างเคียง เช่น การเน้น จัดโครงสร้าง สรุป และลืมบางส่วนของบริบท
    แบบนี้อาจทำให้สามารถมี structured output แบบ native, การทำ memory implementation และอื่น ๆ ได้ โดยไม่ต้องมีรูปแบบไวยากรณ์อย่าง json หรือองค์ประกอบการเขียนโปรแกรมแบบ LMQL
    เป้าหมายไม่ใช่แค่ให้โมเดลภาษาขนาดใหญ่มีความสามารถด้านตรรกะ/การให้เหตุผล แต่ให้เครื่องมือสำหรับสร้าง สถาปัตยกรรมการรู้คิด ของตัวเองขึ้นมาได้
    ถ้าใช้โทเค็น ... สำหรับ structured output เพื่อทำ memory หรือ scratchpad ได้ด้วย ก็จะได้ความสามารถในการตรวจสอบโครงสร้างการรู้คิดแบบนั้นเป็นของแถม
    แน่นอนว่าไม่รู้เลยว่าจะทำอย่างไร ฉันเป็นแค่นักท่องเที่ยวในวงการแมชชีนเลิร์นนิง

  • พวกเขาไม่ได้อ้างอิงงานวิจัยเรื่อง การคำนวณแบบแปรผัน ที่เรียนรู้ได้ใน RNN ซึ่งนำไปใช้กับ language modeling [1] และออกมาก่อนงานของพวกเขาเกือบ 8 ปี
    [1] https://openreview.net/pdf?id=S1LVSrcge
    Microsoft ก็มีอะไรคล้ายกันในช่วงนั้นสำหรับการรู้จำภาพด้วย โดยใช้ CNN กับอินพุต แล้วทำการคำนวณแบบแปรผันในขั้นตอนการจัดประเภท

  • การใช้ Base Mistral 7B สำหรับการประเมินนั้นแทบจะไม่เหมาะสมเลย ทีมหนึ่งของ Intel ก็พยายามใช้ลูกเล่นแบบเดียวกันนี้ใน NeuralChat เช่นกัน https://huggingface.co/Intel/neural-chat-7b-v3#quantitative-...

  • ประโยคที่ว่า “ความหมายส่วนใหญ่ของข้อความซ่อนอยู่ระหว่างบรรทัด หากผู้อ่านไม่เข้าใจว่าทำไมประโยคนั้นจึงปรากฏอยู่ในเอกสาร ก็จะมีความเข้าใจเพียงผิวเผิน” ดูเหมือนจะไม่เป็นความจริงสำหรับวิธีที่ฉันอ่านหรือสำหรับคนส่วนใหญ่ที่ฉันรู้จัก
    แทบจะตลอดเวลา เรามี world model อยู่แล้ว และเข้าใจอยู่ระดับหนึ่งว่าทำไมประโยคเหล่านั้นจึงปรากฏในหนังสือ
    เวลาคุณอ่านตำราพลศาสตร์ของไหล แม้อาจไม่เข้าใจคณิตศาสตร์ แต่ก็ยังรู้ได้ว่าประโยคเหล่านั้นเป็นข้อความทางคณิตศาสตร์ที่ช่วยให้เรียนรู้ทฤษฎี และเป็นไปตามรูปแบบเพื่อสอนแนวคิดสำคัญ
    ตัวอย่างเช่น แนวคิดต่าง ๆ ถูกสร้างต่อยอดจากแนวคิดก่อนหน้า สมการแบร์นูลลีปรากฏขึ้นเพราะก่อนหน้านั้นมีกฎการอนุรักษ์พลังงานอยู่แล้ว และมันอยู่ตรงนั้นเพราะฉันถูกคาดหมายว่าเข้าใจอย่างหลัง