1 คะแนน โดย GN⁺ 2024-11-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อนำ LLM หลายตัวไปเล่นหมากรุกภายใต้เงื่อนไขเดียวกัน ส่วนใหญ่พังหลังช่วงเปิดเกม แต่มีเพียง gpt-3.5-turbo-instruct ที่แสดงประสิทธิภาพแข็งแกร่งมากเมื่อเจอกับ Stockfish ระดับความยากต่ำสุด
  • การทดลองให้ LLM เล่นเป็น ฝ่ายขาว เจอกับ Stockfish ระดับความยากต่ำสุด แล้วประเมินสถานะกระดานในแต่ละตาด้วย คะแนน centipawn ของเอนจินหมากรุก
  • llama-3.2-3b, llama-3.1-70b, Qwen-2.5-72b, command-r-v01, gemma-2-27b, gpt-3.5-turbo, gpt-4o-mini, gpt-4o, o1-mini ล้วนไม่สามารถเข้าใกล้ gpt-3.5-turbo-instruct ได้
  • ในการเปรียบเทียบโมเดลสายใกล้เคียงกัน instruction/chat tuning ดูเหมือนทำให้ประสิทธิภาพหมากรุกแย่ลง แต่ระดับความแย่ลงแตกต่างกันไปตามโมเดล ตั้งแต่น้อยไปจนถึงมากมาก
  • ในโมเดลเปิด พบปัญหา tokenizer ที่ ช่องว่างหนึ่งตัว ท้ายพรอมป์เปลี่ยนประสิทธิภาพได้อย่างมาก และอินพุต notation หมากรุกตอบสนองไวต่อ representation ภายในและข้อจำกัดการสร้างของ LLM

การตั้งค่าการทดลองและวิธีประเมิน

  • LLM ได้รับพรอมป์ให้เลือกเดินตาถัดไปเหมือนเป็น chess grandmaster และอินพุตเป็นบันทึกเกมหมากรุกที่เดินไปแล้วบางส่วน
    • notation ใช้ standard algebraic notation เช่น e4, Rdf8, R1a3
    • มีคำสั่งให้ไม่ต้องใส่หมายเลขตา และไม่ต้องอธิบายเหตุผลที่เลือก
  • ในทุกเกม LLM เล่นเป็น ฝ่ายขาว และคู่ต่อสู้คือ Stockfish ซึ่งเป็น AI หมากรุกมาตรฐานที่ตั้งระดับความยากต่ำสุด
  • หลังแต่ละตา สถานะกระดานถูกให้คะแนนด้วยเอนจินหมากรุกเพื่อเปรียบเทียบประสิทธิภาพของโมเดล
    • หน่วยคือ centipawn โดยถือว่าเบี้ยหนึ่งตัวมีค่า 100 คะแนน และสะท้อนมูลค่าของตำแหน่งด้วย
    • หากเกมจบ ชัยชนะของ LLM คิดเป็น +1500 เสมอเป็น 0 และแพ้เป็น -1500

โมเดลที่อ่อนลงอย่างรวดเร็วหลังช่วงเปิดเกม

  • llama-3.2-3b เป็น base model ขนาด 3 พันล้านพารามิเตอร์ และแพ้ทั้งหมด 50 เกม
    • สามารถเล่น opening มาตรฐานได้ไม่กี่ตา แต่ไม่นานก็เริ่มเสียหมาก
    • แม้คู่ต่อสู้จะเป็น Stockfish ที่ตั้งค่าต่ำสุด ก็ยังแพ้ทุกเกม
  • llama-3.1-70b ขนาด 7 หมื่นล้านพารามิเตอร์ดีขึ้นเล็กน้อยเท่านั้น แต่ผลลัพธ์ยังแย่มาก
  • llama-3.1-70b-instruct, Qwen-2.5-72b, command-r-v01, gemma-2-27b ก็ถูกทดสอบด้วยวิธีเดียวกัน แต่ไม่แสดงประสิทธิภาพหมากรุกที่แข็งแกร่ง
  • llama-3.1-405b ที่เล่นไปไม่กี่เกมก็เป็นโมเดลใหญ่กว่า gpt-3.5-turbo แต่ผลลัพธ์ยังคงแย่

gpt-3.5-turbo-instruct ที่แข็งแกร่งผิดปกติ

  • gpt-3.5-turbo-instruct เป็นโมเดลปิดของ OpenAI จึงไม่ชัดเจนในรายละเอียด แต่ในการทดสอบ 10 ครั้งแสดงประสิทธิภาพดีมาก
  • แข็งแกร่งถึงขั้นชนะทุกเกมแม้เพิ่มระดับความยากของ Stockfish ขึ้นไปหลายระดับ
  • gpt-3.5-turbo ที่ชื่อคล้ายกันเป็นโมเดลที่ถูกจูนให้เป็นเชิงสนทนามากกว่า และประสิทธิภาพหมากรุกแตกต่างจาก gpt-3.5-turbo-instruct อย่างมาก
  • gpt-4o-mini, gpt-4o, o1-mini ก็อยู่ในกลุ่มที่ถูกทดสอบด้วย และ gpt-4o แพ้ช้ากว่านิดหน่อย แต่แพ้ทุกเกม
  • กระแสการทดลองหมากรุกกับ LLM บนอินเทอร์เน็ตเคยได้รับความสนใจช่วงกันยายน–ตุลาคม 2023 ว่าอยู่ระดับสมัครเล่นขั้นสูง แต่ในโมเดลล่าสุด รูปแบบกลับมาเป็นการพังหลังช่วงเปิดเกมอีกครั้ง

instruction/chat tuning กับประสิทธิภาพหมากรุก

  • เมื่อเปรียบเทียบโมเดลในสายใกล้เคียงกันระหว่างโมเดลที่ใกล้ base กับโมเดลที่จูนเพิ่มเติม พบว่า additional instruction tuning ล้วนแสดงทิศทางที่ทำให้ประสิทธิภาพหมากรุกแย่ลง
  • ระดับความแย่ลงไม่คงที่
    • สองกรณีมีความแตกต่างเล็กน้อย
    • หนึ่งกรณีมีความแตกต่างใหญ่มาก
  • ชื่อ gpt-3.5-turbo-instruct ต้องตีความต่างจากธรรมเนียมการตั้งชื่อทั่วไป
    • ในที่นี้ถือว่าเป็นโมเดลที่ใกล้ base model มากกว่า gpt-3.5-turbo
    • ตรงข้ามกับกรณีทั่วไปที่ instruct หรือ it มักหมายถึงการจูนด้านการสนทนาและการทำตามคำสั่งมากกว่า

สมมติฐานที่อาจเป็นสาเหตุ

  • base model ขนาดใหญ่อาจเล่นหมากรุกได้ แต่ instruction tuning อาจทำให้เสีย

    • ตรงกับผลการทดลอง แต่มีตัวอย่างโต้แย้งคือ llama-3.1-405b ที่ใหญ่กว่าแต่ก็ได้ผลลัพธ์แย่
  • gpt-3.5-turbo-instruct อาจถูกฝึกด้วยเกมหมากรุกมากกว่า

    • มีความเป็นไปได้สูงที่ทุกโมเดลจะเคยเรียนรู้เกมหมากรุกจำนวนมาก แต่ปริมาณที่แน่ชัดยากจะรู้
  • ความแตกต่างของสถาปัตยกรรม Transformer อาจมีผล

    • ยังตัดความเป็นไปได้ยากว่าโมเดลสาย Llama อาจอ่อนกับหมากรุกเป็นพิเศษ
  • อาจมีการแข่งขันกันระหว่างชนิดข้อมูลที่แตกต่างกัน

    • Transformer ที่ฝึกด้วยเกมหมากรุกเพียงอย่างเดียวสามารถเล่นหมากรุกได้ดีมาก
    • หาก gpt-3.5-turbo-instruct ถูกฝึกด้วยข้อมูลที่มีสัดส่วนเกมหมากรุกสูงกว่า พารามิเตอร์สัดส่วนที่มากขึ้นอาจถูกใช้กับหมากรุก
    • หากสมมติฐานนี้ถูกต้อง โมเดลที่ใหญ่พอควรเล่นหมากรุกได้ดีถ้าเรียนรู้ข้อมูลหมากรุกมากพอ แม้สัดส่วนเกมหมากรุกจะต่ำก็ตาม

รายละเอียดการใช้งานและข้อจำกัด

  • โมเดลเปิดถูกรันโดยตรง และโมเดลที่ไม่ใช่ของ OpenAI ถูกจัดเป็นโมเดลเปิด
  • การรันโมเดลเปิดใช้ quantization แบบ Q5_K_M
  • สำหรับโมเดลเปิด มีการสร้างตาที่ถูกกติกาในปัจจุบันโดยตรง และใช้ llama.cpp grammars จำกัดเอาต์พุตเพื่อให้ได้ตาที่ถูกกติกาเสมอ
  • โมเดล OpenAI ไม่รองรับ grammar แบบสมบูรณ์ จึงให้สร้างได้สูงสุด 10 ครั้ง และหากยังไม่ได้ตาที่ถูกกติกา ก็เลือกตาแบบสุ่ม
  • โมเดลแชตอย่าง llama-3.1-70b-instruct, gemma-2-27b-it, gpt-3.5-turbo, gpt-4o-mini, gpt-4o ใช้ system prompt แยกต่างหาก
  • o1-mini ไม่สามารถเปลี่ยน system prompt ได้ จึงรันตามเดิม
  • โมเดลเปิดใช้ temperature 0.7 ส่วนโมเดล OpenAI ใช้ค่าเริ่มต้น

ช่องว่างในพรอมป์และปรากฏการณ์แปลกของ tokenizer

  • ในโมเดลเปิด พรอมป์ที่มีช่องว่างท้ายข้อความอย่าง 1. e4 e5 2. ให้ประสิทธิภาพแย่กว่าพรอมป์ที่จบโดยไม่มีช่องว่างอย่าง 1 e4 e5 2. มาก
  • สาเหตุถูกมองว่าเกี่ยวข้องกับ tokenizer
    • tokenizer ของ Llama สร้าง e เป็นโทเค็นเดียวหลัง 1.
    • สิ่งนี้ไม่เหมือนกับการสร้าง e หลังโทเค็นช่องว่าง
    • เมื่อใส่ช่องว่างไว้ท้ายอินพุตแล้วให้โมเดลสร้างโทเค็นถัดไป โมเดลจะอยู่ในสถานการณ์ที่สับสน
  • วิธีจัดการที่เหมาะสมคือ token healing ซึ่งลบโทเค็นสุดท้ายของอินพุต แล้วทำ constrained generation สำหรับทุกสตริงที่เริ่มต้นด้วยสตริงที่ถูกลบไป
  • ในการใช้งานจริง แทนที่จะใช้ token healing ได้ตัดช่องว่างออก แล้วปรับ grammar ให้สร้างช่องว่างหรือไม่สร้างก็ได้ จากนั้นให้สร้างตาที่ถูกกติกาในปัจจุบันพร้อมช่องว่างแบบเลือกได้
  • ในอัปเดต มีการระบุว่าได้เข้าใจสาเหตุของปรากฏการณ์นี้จริง ๆ แล้ว และเพิ่มคำใบ้ว่ายังไม่มีใครทายคำอธิบายที่ถูกต้องได้

ความเป็นไปได้เรื่องการปรับแต่งของ OpenAI

  • สมมติฐานหนึ่งคือ OpenAI อาจเห็นความสนใจต่อประสิทธิภาพหมากรุก แล้วปรับบางอย่างในข้อมูลฝึก, fine-tuning หรืออัลกอริทึม เพื่อยกระดับประสิทธิภาพหมากรุกของ gpt-3.5-turbo-instruct
  • ภายใต้สมมติฐานเดียวกัน การปรับแต่งนั้นอาจไม่ได้ถูกรักษาไว้ในโมเดลถัดมา เพราะมี trade-off เช่นต้นทุนหรือทำให้ความสามารถอื่นด้อยลง
  • นี่ไม่ใช่หลักฐานที่ชัดเจน แต่เป็นเพียงการคาดเดาระดับว่า “OpenAI ทำโดยตั้งใจ” และยังไม่แน่ชัดด้วยว่าเวลาเกิดเหตุสอดคล้องกันหรือไม่

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

 
GN⁺ 2024-11-15
ความเห็นจาก Hacker News
  • ดูเหมือนบทความจะมองข้ามความเป็นไปได้ที่ค่อนข้างตรงไปตรงมาไปข้อหนึ่ง: OpenAI อาจมองหมากรุกเป็น benchmark ที่ “ต้องชนะ” จึงใส่การจัดการเฉพาะสำหรับหมากรุกไว้ใน gpt-3.5-turbo-instruct แต่ไม่ได้ใส่ไว้ในโมเดลรุ่นหลัง เพราะมันคงไม่สามารถสร้างกระแสความสนใจจากสื่อได้อย่างต่อเนื่องอีก

    • ผมว่าใช่เลย มีพูลรีเควสต์ที่เพิ่มการประเมินหมากรุกอยู่ตรงนี้: https://github.com/openai/evals/pull/45
    • ผมก็สงสัยแบบเดียวกัน อาจไม่ใช่ว่า LLM “เรียนรู้หมากรุก” แต่เป็นมัน “รู้จำเกมหมากรุกได้” แล้ว “เรียนรู้” วิธีส่งคำสั่งต่อให้เอนจินหมากรุกแทน ถ้าเป็นแบบนั้นก็ไม่ได้ชวนทึ่งอะไรเลย
    • ฟังดูมีโอกาสสูงทีเดียว แต่ก็อยากรู้ว่าการจัดการเฉพาะนี้ถูกอัดเข้าไปใน LLM ด้วย reinforcement learning หรือว่าอีกฝั่งของการเรียก OpenAI API นั้นมีทั้ง LLM ระดับล้านล้านพารามิเตอร์และอินสแตนซ์ของ Stockfish รันควบกันอยู่
    • หมากรุกเป็น benchmark ที่ควรชนะอยู่แล้วมาตั้งแต่สมัย Watson และถ้าย้อนไปก่อนหน้านั้นก็ถึง Mechanical Turk
    • เพื่อความเป็นธรรม ในบทความก็มีพูดถึง “ทฤษฎี 2: GPT-3.5-instruct ถูกฝึกด้วย บันทึกเกมหมากรุก มากกว่า” อยู่เหมือนกัน
  • มีรายละเอียดสำคัญหลายอย่างในชุดทดสอบนี้: โมเดลแบบปิดของ OpenAI ถ้าสร้างตาที่เดินได้ถูกกติกาไม่ออก จะลองใหม่ได้สูงสุด 10 ครั้ง แล้วถ้ายังไม่ได้ก็จะสุ่มเลือก, โมเดลเปิดรันเองด้วยการควอนไทซ์แบบ Q5_K_M, ประสิทธิภาพของโมเดลเปิดเปลี่ยนไปมากเพียงแค่มีหรือไม่มีช่องว่างท้ายพรอมป์ต์, และโมเดลเปิดใช้ temperature 0.7 ขณะที่โมเดล OpenAI ใช้ค่าเริ่มต้น
    ทั้งพฤติกรรมประหลาดของ tokenizer, temperature, quantization, การสุ่ม, และพรอมป์ต์หมากรุกถูกปนกันไปหมดจนไม่รู้จะตีความผลอย่างไรดี ถึงอย่างนั้นบทความก็น่าสนใจ

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

    • สิ่งที่ถูกเรียกว่า “ปัญหา tokenization” ส่วนใหญ่จริง ๆ แล้วเป็น ปัญหาการให้เหตุผล มากกว่า และมักถูกโยนความผิดให้ข้อจำกัดทางเทคนิคเล็ก ๆ ผิดที่ผิดทาง
      ตัวอย่างเช่น คนชอบบอกว่าเหตุผลที่ LLM นับพื้นฐานไม่ได้เป็นเพราะ tokenization แต่ LLM ตัวเดิมพอใช้พรอมป์ต์ให้คิดเป็นขั้นตอนกลับนับได้ดี แบบนั้นก็อธิบายด้วย tokenization ไม่ได้ ปัญหาคือจำเป็นต้องมีคนบอกว่าควรแก้แบบทีละขั้น และถ้าไม่มีตัวช่วยนั้น มันก็มีแนวโน้มจะเดาสุ่มมากกว่า
    • ผมว่าการฝึกระดับไบต์ค่อนข้างยากในทางปฏิบัติ ถึงอย่างนั้นการใช้โทเค็นที่มนุษย์สร้างขึ้นเอง ซึ่งสุดท้ายก็ยังเป็นโทเค็นแบบมนุษย์อยู่ดี มันให้ความรู้สึกว่าผิดทางมาก พอดู tokenizer จริง ๆ จะเจออะไรสนุก ๆ อย่างพวก regex ที่คอยเปลี่ยนสิ่งที่จะถูก tokenize ตามกฎเชิงประสบการณ์
      ถ้าภาพทำเป็นโทเค็นได้ และเสียงก็ทำเป็นโทเค็นได้ ผมก็อดคิดไม่ได้ว่าเราจะให้โมเดลสร้างชุดของ semantic representation token ที่มันเลือกเอง แล้วค่อยถอดโทเค็นเหล่านั้นกลับเป็นข้อความอีกทีได้ไหม ข้อเสียคือขั้นตอนแปลงโทเค็นที่เข้ารหัสแล้วกลับเป็นข้อความจะมีการสูญเสีย ทำให้ไม่สามารถอ้างข้อความต้นฉบับแบบ 1:1 ได้
      เท่าที่ผมเข้าใจ OpenAI น่าจะทำสิ่งนี้แบบตรงตัวกับภาพในรายงาน gpt-4o ดูหัวข้อ “Explorations of capabilities”: https://openai.com/index/hello-gpt-4o/
    • ที่สมองมนุษย์มีบริเวณเฉพาะสำหรับประมวลผลภาษา มันมีเหตุผลอยู่ tokenization อาจเป็นกลยุทธ์ที่แข็งแรงพอสมควร ประเด็นสำคัญจริง ๆ คือภาษาไม่ใช่วิธีที่ดีในการเข้ารหัสความรู้ทุกรูปแบบ
    • https://youtu.be/zduSFxRajkE
      Karpathy ก็เห็นด้วยกับแนวคิดนี้ วิดีโอที่เขานั่งสร้าง tokenizer ใหม่เป็นเวลา 2 ชั่วโมงนั้นเต็มไปด้วยพลังของคนที่ไม่ชอบ tokenizer
    • ถ้าลงจากโทเค็นไปถึงระดับไบต์ ขนาดโมเดล จะพุ่งหนักมาก ตอนนี้ผมหาแหล่งอ้างอิงไม่เจอ แต่เคยเห็นว่าถ้าขนาดโทเค็นเฉลี่ยเล็กลง ความกว้างของโมเดลหรือขนาดของแต่ละเลเยอร์จะต้องเพิ่มขึ้นเป็นกำลังสองตามไปด้วย มันกระทบทั้งความเร็วในการอนุมานและความเร็วในการฝึก
  • น่าจะคุ้มที่จะทดลองเปลี่ยนทั้งพรอมป์ต์และตำแหน่งบนกระดานหลาย ๆ แบบ อ้างอิงไว้ก่อนว่าตำแหน่งบนกระดานที่ให้โมเดลดูคือภาพนี้: https://i.imgur.com/qRxalgH.png
    การทดลองนี้อาจมีอะไรแปลก ๆ มากกว่าหนึ่งอย่าง เช่น การให้คำสั่งกับโมเดลสายดัดแปลงที่ไม่ได้ instruction-tuned อาจยิ่งให้ผลแย่ลง ที่สำคัญกว่านั้น เมื่อให้แค่ PGN ที่ถูกตัดมา ผมก็ไม่แน่ใจว่าตำแหน่งนี้ทำให้ฝั่งขาวดูเหมือนผู้เล่นระดับแกรนด์มาสเตอร์หรือเปล่า ต่อให้โมเดลเข้าใจหมากรุกดี มันก็น่าจะพยายามทำนายตาที่ดูเป็นไปได้มากที่สุดจากตำแหน่งปัจจุบัน และถ้ามันตัดสินว่าฝั่งขาวเป็นผู้เล่นที่ไม่เก่ง มันก็อาจทำนายตาแย่ ๆ ว่ามีโอกาสมากกว่า

    • ผมหาเกมบางส่วนของผู้เล่นเก่ง ๆ ที่เริ่มแบบนี้ได้ เลยทำให้สมมติฐานของผมที่ว่าโมเดลจงใจทำนายตาแย่เริ่มสั่นคลอน: https://www.365chess.com/search_result.php?search=1&p=1&m=8&n=3071&order=welo&ms=e4.e6.d3.c5.Nf3.Nc6.g3.Nf6&rev=&wid=&bid=
      ถึงอย่างนั้น การตั้ง Stockfish ไว้ที่ระดับต่ำสุดแล้วให้รับบทเป็น “คู่ต่อสู้ที่แข็งแกร่งมาก” ก็อาจทำให้โมเดลงงได้บ้าง ถ้าผมอ่านกราฟไม่ผิด ช่วงไม่กี่ตาแรกของโมเดลดูยังโอเค แล้วค่อยเริ่มมีปัญหาหลังจากนั้น น่าจะลองทำซ้ำโดยเปลี่ยนแนวทางของพรอมป์ต์, ระดับความเก่งของ Stockfish, ตำแหน่งตั้งต้น, หรือแม้แต่ชื่อผู้เล่นสมมุติ
    • การทดลองเริ่มตั้งแต่ตาแรกของเกมและเล่นแต่ละเกมไปจนจบ ตำแหน่งที่ลิงก์ไว้นั้นเป็นแค่ตัวอย่างของรูปแบบที่ป้อนสถานะเกมให้โมเดลทุกตา
      ถ้าเล่นกันแค่ตาเดียว แล้วคำว่า “ชนะ” หรือ “แพ้” จะมีความหมายว่าอะไรกันแน่?
  • เห็นด้วย น่าจะลองดัดแปลงพรอมป์ต์ได้หลายแบบ: ถ้าอนุญาตให้โมเดลมี กระบวนการคิด จะเป็นอย่างไร ซึ่งในการทดลองนี้ห้ามไว้อย่างชัดเจน อีกอย่างถ้าอธิบายตำแหน่งบนกระดานในพรอมป์ต์ทุกตา โมเดลก็ไม่จำเป็นต้องคำนวณหรือประมาณเองภายใน

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

    • จากประสบการณ์ของฉัน ถ้าเดินถูกกติกาติดกัน 10 ตาก็ถือว่าโชคดีแล้ว ตัวอย่าง: https://news.ycombinator.com/item?id=41527143#41529024
    • ใช่ เขาพูดถึงการใช้ ข้อจำกัดทางไวยากรณ์ เพื่อให้อนุญาตเฉพาะตาที่ถูกกติกา
  • ไม่เข้าใจว่าทำไมคนมีการศึกษาถึงคาดหวังว่า LLM จะเล่นหมากรุกได้ในระดับที่พอใช้ได้
    LLM ไม่รู้คุณภาพของข้อมูลตัวเอง พรอมป์ต์แบบ “ทำตัวเหมือน x” ไม่ใช่สิ่งทดแทนการให้เหตุผลจริงและการคำนวณแบบกำหนดแน่นอนซึ่งจำเป็นต่อหมากรุกอย่างชัดเจน

    • ถ้าอย่างนั้นก็น่าจะต้องประหลาดใจไม่ใช่หรือที่ turbo-instruct เล่นได้ดีจริง มีคำกล่าวลอยๆ ที่อิงสัญชาตญาณแบบทำให้เป็นมนุษย์โดยไม่มีหลักฐานเกี่ยวกับ “การให้เหตุผลจริง” เต็มไปหมด ฉันมองว่าสถานการณ์ตอนนี้เป็นหลักฐานอย่างดีว่าไม่มีใครเข้าใจจริงๆ ว่ากำลังเกิดอะไรขึ้น
      ถ้าโมเดลทางความคิดแบบไหนบอกว่า LLM ไม่ควรเล่นหมากรุกได้ ก็อธิบาย LLM ที่เล่นหมากรุกเก่งไม่ได้ ในทางกลับกัน โมเดลที่บอกว่าควรเล่นได้ดีก็อธิบายไม่ได้ว่าทำไมโมเดลขนาดใหญ่จำนวนมากถึงล้มเหลวอย่างยับเยินกับหมากรุก เห็นได้ชัดว่ามีอะไรที่ซับซ้อนกว่านั้นกำลังเกิดขึ้น
    • จุดประสงค์หลักอย่างหนึ่งของการทดลองก็คือการตรวจสอบว่าอคติหรือความเชื่อเดิมของเราถูกไหม แน่นอนว่าถ้าไม่สนใจคำถามนั้น ก็ไม่จำเป็นต้องส่องผ่านกล้องโทรทรรศน์
    • ถ้ามีข้อมูลฝึกมากพอ เรื่องนี้ก็คล้ายปริศนามากกว่า LLM สามารถแสดงสถานะกระดานหลังจากตาที่กำหนดได้สำเร็จ ทำสรุปตำแหน่งได้ไม่แย่นัก และอย่างน้อยก็พอบอกอันตรายล่วงหน้า 1 ตาได้
      “ระดับที่พอใช้ได้” เป็นเรื่องอัตวิสัย แต่แค่นั้นก็น่าจะชนะมือใหม่ได้แล้ว ระดับต่ำสุดของ Stockfish ที่กล่าวถึงในบทความก็อยู่ประมาณผู้เล่นระดับกลางตอนต้นที่อ่อนมาก ทั้งนี้ขึ้นอยู่กับว่ากำลังพูดถึงอิมพลีเมนเทชันสาธารณะปัจจุบัน หรือพูดถึงแนวคิดของ LLM โดยทั่วไป และถ้าอยากได้ผลดีกว่านี้ ก็ยังป้อนหนังสือหมากรุกกับการวิเคราะห์เกมเก่าๆ เพิ่มได้อีกมาก
    • หมากรุกเป็นงาน การสร้างแบบจำลองลำดับเชิงความน่าจะเป็น แบบเรียบง่าย และฉันเคยเห็น GPT-3.5-turbo-instruct เล่นได้ถึงระดับสมัครเล่นขั้นสูงด้วยตาตัวเอง เพียงแต่ RLHF และการกลั่นความรู้ที่ใส่เข้าไปในโมเดลรุ่นใหม่ๆ ดูเหมือนจะทำลายความสามารถนั้น
    • ถ้าอย่างนั้นคำถามก็คือทำไม gpt-3.5-instruct ถึงเอาชนะ Stockfish ได้
  • การที่รันโมเดลเปิดด้วยการควอนไทซ์ Q5_K_M ก็แค่หมายความว่าบีบอัดพารามิเตอร์ทั้งหมดแบบ สูญเสียข้อมูล เท่านั้นเอง คงไม่สำคัญหรอกมั้ง?

    • ถ้าต้องไปแข่งกับโมเดลไม่ควอนไทซ์ของ OpenAI ก็น่าจะสำคัญอยู่
  • ฉันคิดว่าการเรียนรู้หมากรุกในฐานะลำดับสร้างปัญหามากกว่าประโยชน์ ต่อให้ฝึกด้วยเกม 1 ล้านล้านเกมก็ไม่ช่วย: https://en.wikipedia.org/wiki/Shannon_number
    เพื่อความครบถ้วน ขอย้ำว่าเอนจินหมากรุกสมัยใหม่ใช้โมเดลเฉพาะทางคุณภาพสูงสำหรับหมากรุกเป็นส่วนหนึ่งของเครื่องมือ และสามารถอย่างน้อยเสมอกับผู้เล่นทุกคนที่มีอยู่หรือเคยมีอยู่ได้ทุกครั้ง ถ้าคู่ต่อสู้พลาดเพียงเล็กน้อยก็แพ้แล้ว การปรับระดับ Stockfish ไปสูงสุด หรืออย่างน้อยให้เจอกับผู้เล่นระดับ 1800+ Elo อาจทำให้ได้เกมที่ดูสำเร็จมากขึ้น แต่ก็เป็นเพียงผลจากการที่ผู้เล่นระดับสูงเดินตาแย่น้อยลง ทำให้ สัญญาณรบกวนในข้อมูลฝึก ลดลง ไม่ได้หมายความว่าเล่นได้ดีกว่า

    • ใช่ อย่างที่เคยมีคนชี้ไว้ก่อนหน้านี้ จำนวนตำแหน่งหมากรุกที่เป็นไปได้นั้นเหนือกว่าจำนวนอะตอมในเอกภพที่เรารู้จักแบบทิ้งห่างอย่างมหาศาล แม้จะประเมินจำนวนอะตอมไว้สูงแค่ไหนก็ตาม
    • ไหนๆ ก็พูดถึง Shannon แล้ว ขอถามหน่อยว่า ขนาดตัวอย่างตัวแทนขั้นต่ำ ของปริภูมิปัญหานั้นควรเป็นเท่าไร มันใกล้เคียงพอหรือยังกับจำนวนกระบวนหมากรุกที่เผยแพร่บนอินเทอร์เน็ตและในหนังสือ?
    • ใช่ พอหลุดจากลำดับเมื่อไร ก็หลงทางทันที
      วิธีที่อาจได้ผลดีกว่าคือเรียนรู้ตาที่ดีที่สุดจากตำแหน่งหลายพันล้านหรือหลายล้านล้านตำแหน่งแล้วป้อนสิ่งนั้นเข้าไปใน AI แบบใดแบบหนึ่ง ตำแหน่งที่คล้ายกันมักมีลักษณะของตาที่ดีที่สุดแบบเดียวกัน
    • พูดตามตรง ถ้าตัดตาที่ไม่มีวันเดินจริงออกไป และคำนึงถึงสมมาตรกับตำแหน่งกระดานที่แทบเทียบเท่ากันในทางปฏิบัติ หมากรุกอาจไม่ใช่เกมที่ใหญ่ขนาดนั้นก็ได้ ตำแหน่งแบบนั้นตรวจจับได้แม้ด้วยตัวจับแพตเทิร์นที่เรียบง่ายมาก
  • เจอชุดการทดลองที่เกี่ยวข้องซึ่งรวม gpt-3.5-turbo-instruct, gpt-3.5-turbo, gpt-4
    ข้อสรุปก็น่าประหลาดใจเหมือนกัน: gpt-3.5-turbo-instruct เล่นหมากรุกได้ดีกว่ามาก
    https://blog.mathieuacher.com/GPTsChessEloRatingLegalMoves/

    • ฉันขอเดิมพันเลยว่าน่าจะมีการ เรียกฟังก์ชัน ไปหาเอนจินหมากรุกจริงๆ น่าจะพิสูจน์ได้ด้วยการวิเคราะห์เวลา ว่าเวลาคิดเปลี่ยนไปตามจำนวนโทเค็นหรือความซับซ้อนของเกมอย่างไร หรือไม่เปลี่ยนเลยอย่างไร
  • OpenAI มีประสบการณ์มหาศาลในการสร้าง AI สำหรับเล่นเกม ถ้าจำไม่ผิด อยู่หลายปีนี่เป็นงานหลักของพวกเขาเลย ดังนั้นจึงดูเหมือนพวกเขาสร้างโมเดลหนึ่งให้เหมาะกับหมากรุก เพื่อดูว่าการฝึกหมากรุกส่งผลต่อสติปัญญาโดยรวมไหม เหมือนกับที่คนอาจฉลาดขึ้นเมื่อเรียนหมากรุก หรือเมื่อเรียนคณิตศาสตร์หรือการเขียนโปรแกรม

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