1 คะแนน โดย GN⁺ 2024-11-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ในบรรดา LLM ที่ส่วนใหญ่เล่นหมากรุกไม่เก่ง ปรากฏการณ์ที่มีเพียง gpt-3.5-turbo-instruct ที่แข็งแกร่งเป็นพิเศษนั้น อธิบายได้บางส่วนจากการทดลองที่พบว่าเมื่อเปลี่ยน พรอมป์ตอินเทอร์เฟซ แล้ว gpt-4o และ gpt-4o-mini ก็เล่นดีขึ้นอย่างมากเช่นกัน
  • สมมติฐานที่ว่า OpenAI แอบเรียกใช้เอนจินหมากรุกมีน้ำหนักน้อย: แม้กระดานจะเหมือนกันก็ยังเดินต่างกันตาม ลำดับการมาถึงของตำแหน่ง ไวต่อการเปลี่ยนพรอมป์ต และระดับความสามารถก็อยู่เพียงราว 1750 Elo ไม่ใช่ระดับเอนจิน
  • เพียงมี ตัวอย่างในบริบท สั้น ๆ แค่สามชุด ประสิทธิภาพก็เพิ่มขึ้นมาก และเมื่อ ไฟน์จูน ด้วยตัวอย่างที่คัดจากการเล่นกันเองของ Stockfish 100 เกม ก็ยังยืนยันได้ว่าดีขึ้น
  • ในทางกลับกัน เมื่อบอกชุด ตาเดินที่ถูกกติกา ทั้งหมดที่เป็นไปได้ในปัจจุบัน ประสิทธิภาพกลับแย่ลงอย่างมาก และวิธี ทวนบันทึกเกม (regurgitation) ที่ให้ทวนสกอร์ทั้งเกมก่อนแล้วค่อยต่อด้วยตาเดินถัดไป ทำให้โมเดลแชตทำงานคล้าย completion model และดันประสิทธิภาพขึ้น
  • ชุดค่าผสมสุดท้าย gpt-4o + regurgitation + examples ทำสถิติ 10 ชนะ 5 เสมอ 35 แพ้ จาก 50 เกมกับ gpt-3.5-turbo-instruct และเมื่อคิดข้อได้เปรียบของฝ่ายขาวแล้ว คาดว่าอยู่ที่ราว 1540 Elo ซึ่งยังต่ำกว่า gpt-3.5-turbo-instruct ที่ราว 1750 Elo

การตั้งโจทย์: ทำไมมีแค่ gpt-3.5-turbo-instruct ที่เล่นหมากรุกเก่ง

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

สมมติฐานว่าแอบใช้เอนจินหมากรุกไม่น่าเชื่อถือมาก

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

LLM ไม่ได้เล่นด้วยการท่องจำอย่างเดียว

  • gpt-3.5-turbo-instruct ยังเสนอ ตาเดินผิดกติกา ได้เป็นครั้งคราว แม้ในช่วงกลางถึงท้ายเกม
  • สำหรับสตริงอย่าง 1. e4 d5 2. exd5 Qxd5 3. Nc3 การตัดสินว่าตาเดินสุดท้ายถูกกติกาหรือไม่นั้น ต้องเข้าใจกติกาหมากรุกและติดตามสถานะกระดาน
  • ในเกมจริง gpt-3.5-turbo-instruct ก็ยังเล่นได้ค่อนข้างดีในสถานะกระดานใหม่ที่ไม่เคยเกิดขึ้นในประวัติศาสตร์
  • ดังนั้นคำอธิบายที่ว่าโมเดลแค่จำช่วงเปิดเกม แล้วหลังจากนั้นเดินแบบสุ่มจึงไม่ถูกต้อง

การทดลองพื้นฐาน: ความต่างระหว่าง completion model กับ chat model

  • gpt-3.5-turbo-instruct เป็น completion model จึงดึงตาเดินถัดไปด้วยวิธีให้ต่อข้อความในรูปแบบ PGN
    • ตัวอย่างคือให้ [Event "Shamkir Chess"], ชื่อผู้เล่น, Elo, ผลการแข่งขัน, และสกอร์อย่าง 1. e4 e5 2. Nf3 Nc6 3.
  • gpt-4o-mini และ gpt-4o เป็น chat model จึงใช้ system prompt และ user prompt เพื่อให้ตอบเฉพาะตาเดินถัดไปในรูปแบบมาตรฐานพีชคณิต
  • ทดสอบกับ Stockfish level 1 โดยให้เวลาไม่เกิน 0.01 วินาทีต่อตาเดิน แล้วหาค่าเฉลี่ยจาก 50 เกม พร้อมคำนวณคะแนนแต่ละตาหลังจบเกมเป็นหน่วย centipawn
    • pawn คิดเป็น 100 คะแนน
    • ±1500 หมายถึงผลแพ้ชนะ
  • ในพรอมป์ตพื้นฐาน gpt-3.5-turbo-instruct แข็งแกร่ง ขณะที่ chat model อย่าง gpt-4o และ gpt-4o-mini ออกมาอ่อนกว่า

การทดลองโครงสร้างพรอมป์ต

  • มีการทดลองสลับองค์ประกอบ เช่น จะทวน system prompt ซ้ำไว้ต้น user prompt หรือไม่ และจะใส่ เมทาดาทา เช่นชื่อผู้เล่นและ Elo หรือไม่
  • สำหรับ gpt-4o-mini ดูเหมือนแทบไม่มีความต่างมากนัก
  • สำหรับ gpt-4o การทวน system prompt ดูช่วยเล็กน้อย ส่วนเมทาดาทาดูเหมือนจะเป็นผลเสียเล็กน้อย แต่ก็อาจเป็นแค่สัญญาณรบกวน
  • ในการทดลองถัดไปจึงปิดทั้งการทวน system prompt และเมทาดาทาเพื่อให้เรียบง่าย

เพียงสามตัวอย่างก็ช่วยเพิ่มประสิทธิภาพอย่างมาก

  • ใช้วิธีที่นิยมสำหรับให้ LLM ทำงาน โดยส่ง ตัวอย่างอินพุต/เอาต์พุต สั้น ๆ สามชุดผ่าน API
    • อินพุต 1. → เอาต์พุต e4
    • อินพุต 1. e4 → เอาต์พุต d5
    • อินพุต 1. e4 e5 2. Nf3 Nc6 3. → เอาต์พุต Bb5
  • เพียงสามตัวอย่างนี้ ผลลัพธ์ก็ดีขึ้นมาก
  • อาจมีตัวอย่างที่มากกว่าหรือแบบอื่นที่ดีกว่า แต่การสร้างกราฟแต่ละภาพต้องใช้คำขอจำนวนมาก จึงไม่ได้ตรวจเพิ่ม

ไฟน์จูนช่วยได้ แต่การใช้ร่วมกับตัวอย่างยังไม่เสถียร

  • มีการทำ ไฟน์จูน ทั้งกับ gpt-4o-mini และ gpt-4o
  • วิธีสร้างข้อมูลเป็นดังนี้
    • ให้ Stockfish เล่นกับตัวเอง 100 เกมที่ระดับความยากสูงสุด
    • ในแต่ละเกมสุ่มเลือกหนึ่งตาเดินมาใช้เป็นตัวอย่างฝึก
    • แยกอีก 100 เกมจากการเล่นกันเองของ Stockfish มาใช้เป็นข้อมูลตรวจสอบ
  • การไฟน์จูนเองช่วยเพิ่มประสิทธิภาพ
  • อย่างไรก็ตาม ผลไฟน์จูนครั้งแรกของ gpt-4o ดูแย่ลง จึงรันใหม่ด้วย step size ที่เล็กกว่า และประเด็นนี้ยังเป็นปัจจัยที่ทำให้ไม่แน่ใจ
  • เมื่อรวมตัวอย่างกับไฟน์จูนแล้ว ผลลัพธ์ไม่ได้ดีขึ้นสม่ำเสมอตามที่คาด
    • มีแต่ไฟน์จูนก็ช่วยได้
    • มีแต่ตัวอย่างก็ช่วยได้
    • ไฟน์จูนแล้วเพิ่มตัวอย่างเข้าไป แทบไม่เกิดผล
    • ในสภาพที่มีตัวอย่างอยู่แล้ว การไฟน์จูนกลับให้ผลเสีย

การให้รายการตาเดินที่ถูกกติกากลับทำลายประสิทธิภาพ

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

ไอเดียหลัก: ทำให้โมเดลทวนบันทึกทั้งเกม

  • chat model ทำงานในรูปแบบบทสนทนาอย่าง <|SYSTEM|>, <|USER|>, <|ASSISTANT|> ผ่าน special token และ instruction tuning
  • ส่วน base model ใกล้เคียงกับ completion model ที่ต่อสตริงข้อความ และบันทึกเกมแบบ PGN ก็เข้ากับวิธีนี้มากกว่า
  • ไม่สามารถเข้าถึง gpt-4-base ของ OpenAI โดยตรง และก็เรียก gpt-4o ใน completion mode ไม่ได้ จึงเปรียบเทียบตรง ๆ ไม่ได้
  • จึงใช้วิธีทำให้ gpt-4o ประพฤติตัวคล้าย completion model โดยไม่ให้ตอบแค่ตาเดินถัดไป แต่ให้ ทวนทั้งเกมก่อน แล้วค่อยต่อด้วยตาเดินใหม่อีกหนึ่งตา
  • เช่น ถ้าอินพุตเป็น 1. e4 e5 2. ก็ให้เอาต์พุตเป็นรูปแบบ 1. e4 e5 2. Nf7
  • วิธีนี้ช่วยเพิ่มความสามารถในการเล่นหมากรุกของ gpt-4o-mini และ gpt-4o
  • การบังคับให้ทวนลำดับทั้งหมดทำให้โมเดลสร้างบริบทที่ทำให้มีโอกาสเลือกตาเดินที่ดีด้วยตัวเอง
  • ผลนี้จึงเป็นหลักฐานว่า หากสามารถเรียก gpt-4-base ที่เข้าถึงไม่ได้ใน completion mode ได้ มันอาจเล่นหมากรุกได้ดีพอสมควร

การผสม regurgitation, ตัวอย่าง, และไฟน์จูน

  • มีการทดลองไฟน์จูนใหม่อีกครั้งภายใต้วิธีทวนบันทึกเกม
    • อินพุตยังเป็นบันทึกเกมบางส่วนเหมือนเดิม
    • เอาต์พุตที่ต้องการคือการทวนบันทึกอินพุตทั้งหมดแล้วต่อด้วยตาเดินถัดไป
  • การไฟน์จูนในรูปแบบนี้ดูเหมือนจะช่วยได้เล็กน้อย
  • มีการจัดตัวอย่างสามชุดใหม่ให้เข้ากับวิธีทวนบันทึกเกมด้วย
    • อินพุต 1. → เอาต์พุต 1. e4
    • อินพุต 1. d4 → เอาต์พุต 1. d4 d5
    • อินพุต 1. e4 e5 2. Nf3 Nc6 3. → เอาต์พุต 1. e4 e5 2. Nf3 Nc6 3. Nf3
  • แม้ข้อมูลที่ให้จะน้อย แต่ตัวอย่างก็ยังส่งผลมากอีกครั้ง
  • เมื่อใช้ตัวอย่างร่วมกับไฟน์จูน ก็ยังเกิดรูปแบบแปลกเดิมซ้ำ
    • ถ้าเพิ่มตัวอย่างเข้าไปหลังไฟน์จูนจะช่วยได้
    • แต่ก็ยังแย่กว่ากรณีที่ใช้ตัวอย่างอย่างเดียว

ผลการทดลองและการประเมิน Elo

  • ผลการทดลองสรุปได้เป็นสามกลุ่ม
    • ดี: การทวนบันทึกเกม, ตัวอย่าง, และไฟน์จูนแบบไม่มีตัวอย่าง
    • ไม่ชัดเจน: เมทาดาทา, การทวน system prompt, และไฟน์จูนที่ใช้ร่วมกับตัวอย่าง
    • แย่: การให้รายการตาเดินที่ถูกกติกา
  • ชุดค่าผสมสุดท้ายคือใช้การทวนบันทึกเกมและตัวอย่าง แล้วปิดอย่างอื่นทั้งหมด
  • gpt-4o + regurgitation + examples ทำได้ค่อนข้างดี แต่ยังไม่แข็งแกร่งเท่า gpt-3.5-turbo-instruct
  • ทั้งสองโมเดลเล่นกัน 50 เกม และทุกเกม gpt-4o เป็นฝ่ายขาว
ผลของ gpt-4o จำนวน
ชนะ 10
เสมอ 5
แพ้ 35
  • ผลนี้สอดคล้องกับความต่าง Elo ราว -191
  • หากสะท้อนข้อได้เปรียบจากการเดินก่อนของฝ่ายขาวที่ทราบกันว่าประมาณ 35 Elo ก็จะประเมินได้ว่า gpt-4o + regurgitation + examples อยู่ที่ราว 1750 - 191 - 35/2 ≈ 1540 Elo
  • ระดับนี้ถือว่าอยู่ในขั้น สมัครเล่นระดับกลาง

สมมติฐานปัจจุบัน: ข้อมูลกับอินเทอร์เฟซส่งผลร่วมกัน

  • สมมติฐานปัจจุบันแบ่งเป็นสองส่วน
    • base model ของ OpenAI น่าจะถูกฝึกด้วย ข้อมูลเกมหมากรุก ที่มากกว่าหรือคุณภาพดีกว่าโมเดลเปิด
    • base model รุ่นใหม่ของ OpenAI อาจเล่นหมากรุกได้ดีใน completion mode แต่ chat model ที่เข้าถึงได้จริงกลับไม่เป็นเช่นนั้น
  • โมเดลเปิดทั้งแบบ base model และ chat model ล้วนเล่นหมากรุกได้ไม่ดี ซึ่งทำให้ดูเหมือนว่าสาเหตุหลักน่าจะเป็นความต่างของข้อมูลมากกว่าข้อจำกัดด้านสถาปัตยกรรม
  • ในภาคผนวก A.2 ของงานวิจัยหนึ่งมีข้อความว่า GPT-4 ถูกฝึกด้วยเกมหมากรุกในสัญกรณ์ PGN และกรองให้เหลือเฉพาะเกมของผู้เล่นที่มี Elo มากกว่า 1800
  • แม้จะไม่มีการยืนยันสาธารณะว่า gpt-3.5-turbo-instruct ใช้ข้อมูลเดียวกัน แต่การที่มันเล่นหมากรุกด้วยสัญกรณ์ PGN และวัด Elo ได้ราว 1750 ก็ดูไม่ใช่เรื่องบังเอิญ
  • ยังไม่สามารถยืนยันได้ว่าการฝึกโมเดลเปิดอย่าง Llama มีข้อมูลหมากรุกรวมอยู่มากน้อยแค่ไหน
  • แม้บนอินเทอร์เน็ตเปิดจะมีเกมจำนวนมาก แต่ก็เป็นไปได้ว่าฐานข้อมูลที่คัดเลือกเกมคุณภาพสูงจำนวนมากให้ผลดีกว่า
  • เป็นไปได้เช่นกันว่าข้อมูลหมากรุกระดับต่ำที่มากเกินไปทำให้โมเดลมีแนวโน้มทำนายตาเดินคุณภาพต่ำ แต่ในสถานการณ์ที่ลำดับก่อนหน้ามีความแข็งแกร่งอยู่แล้ว โมเดลก็ควรต้องทำนายตาเดินถัดไปของผู้เล่นที่แข็งแกร่ง จึงไม่น่าใช่คำอธิบายหลัก

ความไม่แน่นอนที่ยังเหลือและความรู้สึกเชิงปฏิบัติ

  • หาก gpt-4o ใน chat mode อ่อนกว่า gpt-4-base ใน completion mode จริง ก็ยังไม่รู้ว่าสาเหตุมาจาก chat interface, instruction tuning หรือทั้งสองอย่าง
  • ยังทดลองไม่ได้ว่า หากจำลอง gpt-4-base ให้ทำงานเหมือน chat mode จะยังเล่นได้ดีหรือไม่ หรือหากเรียก gpt-4o ใน completion mode จะเล่นได้ดีหรือไม่
  • ยังเป็นไปได้สูงว่าน่าจะมีวิธีอื่นอีกในการดึงพฤติกรรมที่ดีกว่าจาก gpt-4o
  • การหาชุดผสมที่เหมาะที่สุดระหว่างพรอมป์ต ตัวอย่าง และไฟน์จูนเป็นเรื่องยากมาก
    • พื้นที่ค้นหากว้าง
    • ไม่มีนามธรรมง่าย ๆ
    • LLM คาดเดายากและเปราะบาง
    • การทดลองช้าและมีต้นทุนสูง
  • เมื่อนำสูตรสุดท้ายแบบเดียวกันไปใช้กับ gpt-4 กลับเล่นหมากรุกได้ไม่ดี
  • ชุดผสมที่พบอาจเฉพาะกับ gpt-4o และสำหรับ gpt-4 อาจต้องใช้พรอมป์ตแบบอื่น ตัวอย่างมากขึ้น หรือไฟน์จูน
  • กระบวนการนี้ไวต่อความแตกต่างของแต่ละโมเดลมาก จนให้ความรู้สึกว่าใกล้เคียงกับการ ค้นหาคาถา มากกว่างานวิศวกรรม

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

 
GN⁺ 2024-11-23
ความคิดเห็นบน Hacker News
  • ถ้าต้องการดูว่า gpt-3.5-turbo-instruct เข้าใจหมากรุกจริงหรือไม่ ก็ให้มันเดินตาถัดไปจาก ตำแหน่งถูกกติกาแบบสุ่ม 1,000 ตำแหน่ง ที่ไม่ใช่รุกฆาตก็พอ
    ตำแหน่งแบบนี้สร้างได้ด้วย https://github.com/tromp/ChessPositionRanking และแตกต่างโดยสิ้นเชิงจากเกมปกติที่น่าจะเคยเห็นในข้อมูลฝึก อีกทั้งหลายครั้งตัวเลือกตาที่ถูกกติกาก็มีจำกัดมาก
    เหมาะสำหรับทดสอบว่าตาถัดไปถูกกติกาหรือไม่ แต่โดยปกติฝ่ายหนึ่งจะได้เปรียบอย่างท่วมท้น จึงไม่ค่อยมีประโยชน์ในการแยกแยะคุณภาพของตาเดิน

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

    • ผมเป็นผู้เล่นหมากรุกระดับผู้เชี่ยวชาญ และเคยเห็นหลายคนที่ระดับใกล้เคียงกับผมเดินผิดกติกาในการแข่งขันออฟไลน์แบบ คลาสสิกที่มีเวลาคิด
      ยังเคยเห็นสตรีมเมอร์ที่ระดับสูงกว่าผมมากพยายามเดินตาผิดกติกาซ้ำ ๆ ก่อนจะรู้ว่าอินเทอร์เฟซปฏิเสธเพราะเป็นตาที่ผิดกติกา
    • คำพูดที่ว่า “คนที่รู้หมากรุกจะไม่เดินผิดกติกา” ค่อนข้างไม่แม่นยำ
      แค่ค้นหา “GM illegal moves” บน YouTube ก็มีกรณีที่แกรนด์มาสเตอร์เดินผิดกติกามากพอให้ทำเป็นคลิปรวมได้
      ตัวอย่าง: https://www.youtube.com/watch?v=m5WVJu154F0 — กรณี Vidit vs Hikaru น่าประทับใจเป็นพิเศษ โดย Vidit ใช้คิงของตัวเองโจมตีคิงของ Hikaru
    • ปัญหาคือนักวิจัย LLM แทบจะยอมแพ้กับการพยายามดูว่าภายใน LLM ทำงานจริง ๆ อย่างไร
      ตราบใดที่ LLM ยังเป็น กล่องดำ เราก็ไม่อาจรู้ได้ว่ามันเข้าใจตาที่ถูกกติกาด้วยการใช้เหตุผลตามกฎ หรือแค่เรียนรู้จากข้อมูลตาที่ถูกกติกาจำนวนมากจนรู้วิธีสร้างตาที่ถูกกติกาออกมา
      จะอ้างว่าฝั่งไหนคือความจริงก็ได้ แต่ไม่มีวิธีใดเลยที่จะเข้าใจจริง ๆ ว่า LLM “คิด” อะไรอยู่
    • ถ้า LLM ได้รับเฉพาะลำดับการเดินหมาก ไม่ได้รับตำแหน่งกระดาน โดยพื้นฐานแล้วก็เหมือนกำลังเล่น หมากรุกปิดตา
      ถ้าจะไม่เดินผิดกติกาเลยในการเล่นหมากรุกปิดตา ก็ต้องเก่งพอสมควร
    • การถกเถียงในเธรดนี้น่าประหลาดใจ
      มนุษย์ แม้แต่ผู้เชี่ยวชาญชื่อดังในสาขาของตนเอง ก็ทำผิดพลาดมากมาย และบางครั้งก็ทำผิดพลาดในขอบเขตความเชี่ยวชาญของตัวเองชนิดที่มีค่าใช้จ่ายสูงมากและเมื่อมองย้อนกลับไปก็เห็นได้ชัดเจน
      แต่เมื่อ LLM ที่ฝึกจากคลังข้อความซึ่งเต็มไปด้วยความโง่เขลาของมนุษย์เดินผิดกติกาในหมากรุก สมองกลับตอบสนองทันทีว่า “ฉันไม่เดินผิดกติกาในหมากรุก แล้วคอมพิวเตอร์ทำแบบนั้นจะเรียกว่าเล่นหมากรุกได้อย่างไร?”
      อย่างน้อยก็ดูเหมือนเป็นตัวอย่างที่สมบูรณ์แบบของ อคติด้านเมตาค็อกนิชัน และความผิดพลาดในการอนุมานสาเหตุทั่วไป
  • บทความนี้ก็มีปัญหาเดียวกับบทความก่อนหน้า ผู้เขียนไม่ได้ให้ข้อมูลเกี่ยวกับ ความถี่ของการเดินผิดกติกา เลย
    ดังนั้นจึงสรุปอะไรที่มีความหมายไม่ได้
    คล้ายกับการอ้างว่า LLM เป็นแพทย์ผู้เชี่ยวชาญ แต่กรองกรณีที่ให้คำแนะนำทางการแพทย์ผิดออกจากข้อมูลทั้งหมด

    • ผมไม่คิดว่านั่นเป็นประเด็นสำคัญขนาดนั้น
      ถ้าจำนวนครั้งที่พยายามเดินผิดกติกาแตกต่างกันอย่างมีนัยสำคัญระหว่างแต่ละแนวทาง และโดยเฉพาะถ้าความแตกต่างนั้นไม่สัมพันธ์กับประสิทธิภาพหลังตัดการเดินผิดกติกาออก ก็คงน่าสนใจ แต่ไม่ได้สั่นคลอนข้อสรุปของบทความมากนัก
      ถ้าสุ่มเลือกจากชุดการเดินที่ถูกกติกา ก็จะกลายเป็นผู้เล่นหมากรุกที่แย่มากจริง ๆ ดังนั้นถ้าเมื่อสุ่มจากเอาต์พุตของ LLM แล้วเล่นได้ดีกว่ามาก ก็ชัดเจนว่า LLM กำลังให้อะไรบางอย่างอยู่
      การถกเรื่องนิยามความสามารถของ LLM เพียงลำพังโดยบอกว่าควรนับการพยายามเดินผิดกติกาทั้งหมดเป็นแพ้ ดูเหมือนจะหลุดจากประเด็นหลัก
    • การเดินหมากรุกผิดกติกาตรวจจับได้ง่ายมากในเชิงคำนวณ จึงต่างจากการกรองคำแนะนำทางการแพทย์ที่ผิดอย่างสิ้นเชิง
    • ถ้าเขียนสคริปต์เพื่อลบคำแนะนำทางการแพทย์ที่ผิดโดยอัตโนมัติได้ อุปมานั้นก็อาจจะเข้าท่า
      ถ้าเป็นเช่นนั้น “LLM+สคริปต์” ก็จะกลายเป็นแพทย์ผู้เชี่ยวชาญได้จริง ๆ แต่แม้จะทำได้กับการเดินหมากรุกผิดกติกา แน่นอนว่าย่อมเป็นไปไม่ได้กับการประเมินคำแนะนำทางการแพทย์
    • 3-turbo-instruct มีการเดินผิดกติกาประมาณ ไม่เกิน 5 ครั้ง จากทั้งหมด 8205 ตา
      แม้จะไม่ได้อยู่ในนี้ แต่ turbo instruct เคยถูกประเมินมาก่อน
      https://github.com/adamkarvonen/chess_gpt_eval
    • เป็นข้อสังเกตที่คมมาก ในทำนองเดียวกัน Andrew Ng และทีมจาก Stanford University ก็เคยเล่นลูกไม้แบบเดียวกันเรื่อง overfitting อัตราส่วน train-test ในบทความชื่อดังระดับแพทย์โรคหัวใจที่ตีพิมพ์ใน Nature Medicine
      สัดส่วน train เกิน 99% และ test ต่ำกว่า 1% จึงไม่ผ่านแม้แต่พื้นฐานของการตรวจสอบความถูกต้อง AI
      ถ้าเป็นงานประชุม AI ส่วนใหญ่ บทความนี้คงยืนไม่ไหว แต่กลับได้ตีพิมพ์ใน Nature Medicine ซึ่งมี impact factor สูงมาก และถูกอ้างอิงมากในวงการ AI ทางการแพทย์
      https://www.nature.com/articles/s41591-018-0268-3
  • ประโยคที่ว่า “ในหลาย ๆ แง่ มันให้ความรู้สึกเหมือนการค้นหาคาถามากกว่าวิศวกรรม” ยังคงตรงกับความรู้สึกของผมต่อ LLM โดยรวม
    น่าทึ่งที่มันใช้งานได้ แต่หวังว่านวัตกรรมทางเทคโนโลยีครั้งต่อไปจะไม่ทำให้รู้สึกเหมือนอยู่ในหนังไซไฟเกรดบีทุกครั้ง

  • ผมไม่คิดว่า “ทุกคนผิด”
    ไม่ใช่มีแค่ผมที่พูดประเด็นนี้ด้วย จึงแปลกใจที่ทฤษฎีนี้ไม่อยู่ในรายการ เพราะเมื่อ 7 วันก่อนก็เขียนไว้แบบนี้: https://news.ycombinator.com/item?id=42145710
    “อะไรก็ตามที่กลายเป็น benchmark สาธารณะ ควรถือว่าถูกเล็งเป้าอย่างเฉพาะเจาะจงระหว่างการฝึก”
    นี่ต่างจากทฤษฎี “การโกง/การแทนที่เอาต์พุตของ LLM” ที่บทความกล่าวถึงและโต้แย้ง
    บทความติดตามผลช่วยสนับสนุนข้อสันนิษฐานนี้ OpenAI ฝึกโมเดลพื้นฐานด้วยข้อมูลเกมหมากรุกที่มากกว่าและดีกว่าโมเดลเปิด และในภาคผนวก A.2 ของบทความหนึ่ง ผู้เขียนจาก OpenAI ระบุว่า GPT-4 ถูกฝึกด้วยเกมหมากรุกในรูปแบบ PGN ของผู้เล่นที่มี Elo 1800 ขึ้นไป
    เป็นเรื่องสมเหตุสมผลอย่างยิ่งที่ OpenAI จะ เสริม ข้อมูลฝึกด้วยข้อมูลของงานที่ผู้คนมีแนวโน้มจะลองทำจริง
    นี่ก็ไม่ใช่เรื่องผิดจริยธรรมด้วย ไม่มี dataset ใดที่ “เป็นกลาง” จริง ๆ อยู่แล้ว ดังนั้นถ้าต้องเลือกอยู่ดี ก็ไม่มีเหตุผลที่จะไม่ฝึกให้ตอบสิ่งที่อาจมีประโยชน์ได้ดี

    • ผมเคยเสนอว่า พวกเขาอาจฝึกโมเดลเพื่อดูว่าการฝึกให้เล่นหมากรุกเก่งจะช่วยต่อปัญญาทั่วไปหรือไม่ เช่นเดียวกับที่การเรียนคณิตศาสตร์และโค้ดช่วยปรับปรุงแง่มุมอื่นของการคิดเชิงตรรกะ
      อย่างไรก็ตาม OpenAI ก็มีประสบการณ์ด้าน เกม AI มาก
      https://news.ycombinator.com/item?id=42145215
    • เรื่องนี้ดูออกจะหวาดระแวงไปหน่อย
      ไม่มีใครจะฝึก LLM ขนาดใหญ่ที่แพงมหาศาลด้วย dataset มหึมา โดยหวังว่าจะมีบล็อกเกอร์สักคนบังเอิญค้นพบประสิทธิภาพที่งุ่มง่ามระดับ 1800 Elo แล้วทวีตถึงมัน
      หมากรุกก็ไม่ใช่ benchmark มาตรฐานของ LLM ถึงขั้นจะเป็นเป้าหมายของ Goodhart และโดยรวมแล้ว OpenAI มักพยายามแก้ปัญหาด้วยวิธีที่ถูกต้องมากกว่าทางลัดหรือการโกง
      ตระกูล GPT น่าจะ overfit กับ benchmark มาตรฐานหรือกรณีโต้แย้งได้ง่าย และยังมีมูลค่าทางประชาสัมพันธ์สูงกว่ามาก แต่ก็ไม่ได้ overfit อย่างรุนแรง เช่น การฝึกกับ “ปัญหาสตรอว์เบอร์รี” อะไรทำนองนั้นคงทำได้ง่ายมาก
      ในทางกลับกัน ผู้ให้บริการ LLM บางรายอื่นมีคะแนนตกลงมากกว่าอย่างเห็นได้ชัดในงานวิจัยด้านการป้องกันการท่องจำ
      อีกทั้งบทความที่กล่าวถึง dataset นั้นเองก็มีการใช้งานเพื่อการวิจัยที่ชัดเจน และหมากรุกเป็นที่สนใจในฐานะ model organism สำหรับวิเคราะห์การชี้นำและ world modeling ของ LLM เพราะสามารถใช้ oracle ได้
      บทความ LLM หมากรุกแบบ bullet chess ของ DeepMind ก็ไม่ใช่ส่วนหนึ่งของแผนเจ้าเล่ห์เพื่อให้ Gemini แกล้งทำเป็นเล่นหมากรุกเก่งแล้วเอาไปใช้ทำการตลาด GCP
    • คำอธิบายที่ว่า OpenAI เปลี่ยนเป้าหมายการฝึกนั้นเรียบง่ายและสมเหตุสมผลที่สุด
      ตอนแรกพวกเขาอาจคิดว่าหมากรุกเท่ดี และพรุ่งนี้อาจคิดว่าความสามารถด้านโกะหรือการแต่งบทกวีนั้นเท่ก็ได้
    • หวังว่าแนวทางแบบนี้จะถูกใช้กับสาขาอื่นที่ปฏิบัติได้จริงมากกว่า
      คือไม่ว่าจะเป็นสาขาใด ก็ใส่ เนื้อหาจากผู้เชี่ยวชาญ ลงในข้อมูลฝึกให้มากกว่าเนื้อหาจาก “มือสมัครเล่น”
  • ในพรอมป์ไม่ได้มีคำว่า “จงพยายามชนะเกม” แต่ผลลัพธ์กลับถูกวัดจากว่า LLM ชนะได้มากแค่ไหน
    นี่เป็นสิ่งที่แฝงอยู่โดยนัยในพรอมป์ว่า “คุณคือแกรนด์มาสเตอร์หมากรุก” หรือเปล่า?
    ในการฝึก LLM มีแพตเทิร์นบางอย่างอย่าง “ถ้าเป็นเกมก็ต้องพยายามชนะเสมอ” อยู่ตรงไหนหรือไม่?
    ถ้าแค่บอกให้ชนะ อัตราชนะจะเพิ่มขึ้นได้ไหม?

    • ดูเหมือนจะให้น้ำหนักกับเจตนามากเกินไป LLM ไม่มีเจตนา มันเป็น โมเดลทางคณิตศาสตร์ ที่ถูกฝึกมาให้สร้างเอาต์พุตที่ดูเป็นไปได้มากที่สุด
      ในตัวอย่างและคำอธิบายของเกมหมากรุก ผู้เล่นแต่ละฝ่ายแทบจะพยายามชนะเสมอ ดังนั้นการเดินหมากที่ทำให้ชนะจึงเป็นเพียงเอาต์พุตที่สมเหตุสมผลที่สุดเท่านั้น
      เพราะฉะนั้น แม้จะพรอมป์อย่างชัดเจนให้ชนะ ก็คงไม่น่าทำให้ประสิทธิภาพดีขึ้นมากนัก
      ในทางกลับกัน สิ่งที่น่าสนใจคือถ้าบอกให้เดินตาแพ้หรือเดินแย่ ๆ จะเป็นอย่างไร ถ้าดูว่ามันทำได้อย่างมีประสิทธิภาพแค่ไหน และตาเดินยังถูกกติกาเป็นส่วนใหญ่หรือไม่ ก็อาจเผยให้เห็นมากขึ้นว่ามันพึ่งพาแนวคิดที่เคยเห็นมาก่อนแค่ไหน
    • ผมมองว่ามันรวมอยู่โดยนัยอย่างชัดเจนในพรอมป์ว่า “คุณคือแกรนด์มาสเตอร์หมากรุก”
      ประโยคนั้นน่าจะเพิ่มความน่าจะเป็นในการสร้างโทเคนของตาเดินที่ดีที่สุดเท่าที่เป็นไปได้
    • ต่อให้ใส่ลงในพรอมป์ก็น่าจะเป็นแค่ของประดับเสียมากกว่า
      ความสามารถของโมเดลในการสร้างลำดับหมากรุกถูกจำกัดด้วยระดับความเชี่ยวชาญที่อยู่ในพูลเกมจากข้อมูลฝึก
      แม้จะมีเกมบางส่วนที่ผู้เล่นบางคนตั้งใจแพ้ปะปนอยู่ ก็คงน้อยมาก และในเกมหมากรุกก็ไม่ได้ใส่หมายเหตุเจตนาของผู้เล่นไว้ ดังนั้นต่อให้พรอมป์ให้ชนะหรือแพ้ LLM ก็แยกแยะและจับสิ่งนั้นไม่ได้
      ลองสั่งให้ LLM ตั้งใจแพ้ก็จะรู้ จากประสบการณ์ของผม ChatGPT พยายามจัดตำแหน่งตัวเองให้โดน scholar's mate แต่ถ้าฝ่ายตรงข้ามไม่ยอมรับกับดักนั้น มันก็เริ่มกินตัวหมากที่อีกฝ่ายปล่อยไว้ เหมือนพยายามชนะโดยนัย
      พอถามว่า “ทำไม?” มันก็ให้ การหาเหตุผลย้อนหลัง ออกมาเหมือนเคย
    • เวลาสั่งให้สร้างโค้ด เราก็ไม่ได้แค่พูดว่า “คุณเป็นผู้เชี่ยวชาญ Python และนี่คือโค้ด” แต่ถ้าบอกทิศทางผลลัพธ์ที่ต้องการ มักได้ผลลัพธ์ที่ดีกว่า
      เพราะฉะนั้นจึงแปลกใจที่ไม่มีถ้อยคำอย่าง “และจงชนะ” หรือ “ฝ่ายดำชนะ”
    • แถมพรอมป์ก็ไม่ได้พูดว่า “ตาเดินที่ดีที่สุด” แต่เป็น “เลือกตาเดินถัดไป”
      ถ้าเพราะ reinforcement learning ทำให้ LLM ตั้งใจหลีกเลี่ยงไม่ให้มนุษย์รู้สึกแย่เพราะแพ้เกม ก็คงตลกดี
  • การปรับปรุงพรอมป์เป็นเรื่องดี แต่ยังพลาดโอกาสปรับปรุงครั้งใหญ่สองอย่างอยู่
    อย่างแรก ให้โมเดลอธิบายตำแหน่งกระดานปัจจุบันและแผนล่วงหน้าก่อนเสนอการเดินหมาก วิธีนี้ทำให้โมเดลได้คิดจริง ๆ และคล้ายกับ o1 แต่ในกรณีนี้สามารถรับประกันการประมวลผลที่โฟกัสกว่าได้
    อย่างที่สอง ให้มันวาด กระดาน ASCII จริง ๆ ในทุกขั้นตอน รูปแบบกระดาน+ตาเดินน่าจะประมวลผลได้เสถียรและง่ายกว่าการเรียงตาเดิน 20 ตา จึงอาจเพิ่มจำนวนตาเดินที่ถูกกติกาได้

    • ผมไม่คิดว่าการให้วาดกระดาน ASCII จะสร้างความแตกต่างมากนัก
      “กราฟิก” สองมิติแบบ ASCII art เป็นสิ่งที่โมเดลภาษาคุ้นเคยน้อย และโมเดลมองข้อความเป็นสตรีมของโทเคนรวมถึงการขึ้นบรรทัดใหม่ ดังนั้นความสัมพันธ์ “แนวตั้ง” ระหว่างบรรทัดจึงไม่ได้ชัดเจนเหมือนที่มนุษย์เห็น
      แม้ใน context window จะมีไดอะแกรมกระดานอยู่ ก็มีความเป็นไปได้สูงว่าจะไม่ได้ช่วยโมเดลอนุมานเกมมากนัก
      แทนที่จะทำแบบนั้น การให้ระบุตำแหน่งของตัวหมากแต่ละตัวเป็นข้อความธรรมดา เช่น “อัศวินดำที่ c5” อาจเหมาะกว่าในการเสริม การรับรู้ตำแหน่ง
    • ข้อ 2 ดูไม่น่าช่วย ด้วยเหตุผลที่คนอื่น ๆ พูดไปแล้ว
      ข้อ 1 คุ้มค่าที่จะลองแน่นอน และยังมีรูปแบบแปรผันที่ได้ผลแตกต่างกันไปตามโมเดลด้วย
      สำหรับโมเดลของ Anthropic เอกสารแนะนำให้ติดป้ายและจัดประเภทส่วนสำคัญของอินพุตด้วยรูปแบบ XML โครงสร้างแบบนุ่มนวลนี้ดูเหมือนจะช่วยปรับปรุงผลลัพธ์ของโมเดล Claude และน่าจะถูกฝึกมาเป็นพิเศษให้โมเดลรู้จักสิ่งนี้
      อ้างอิง: https://docs.anthropic.com/en/docs/build-with-claude/prompt-...
      ถ้าเป็นโมเดล Anthropic พรอมป์สุดท้ายอาจเป็นประมาณว่า “คุณคือแกรนด์มาสเตอร์หมากรุก ดูเกมที่ยังไม่จบภายในแท็ก แล้วทวนเกมทั้งหมด จากนั้นให้ตาเดินใหม่หนึ่งตาในสัญกรณ์พีชคณิตมาตรฐาน และก่อนให้บันทึกเกมใหม่ ให้อธิบายการให้เหตุผลภายในบล็อกแท็ก”
      พรอมป์แบบนี้ถูกออกแบบมาให้สร้างการปรับปรุงที่เห็นได้ชัดในโมเดล Anthropic
      น่าขันที่แม้จะใช้ Claude 3.5 Sonnet หนัก ๆ มาหลายเดือน ผมเพิ่งค้นพบเรื่องนี้เมื่อไม่กี่สัปดาห์ก่อน RTFM ยังคงเป็นทักษะที่มีประโยชน์
      โมเดล OpenAI ก็อาจมี affordance ที่เรียบง่ายคล้ายกันแต่ไม่ค่อยมีคนรู้เช่นกัน
    • chain of thought ช่วยได้กับหลายปัญหา แต่ประสิทธิภาพหมากรุกของ GPT กลับแย่ลงมาก
      ในการทดลองหมากรุกของผมเมื่อ 1.5 ปีก่อน ทริกการทวนลำดับตาเดินทั้งหมด เป็นเทคนิคที่ดีที่สุดโดยไม่ต้อง fine-tune
    • เพราะสำนวนนี้ค่อนข้างพบได้น้อยในข้อมูลฝึก จึงมีแนวโน้มจะทำให้คำตอบแย่ลงมากกว่าดีขึ้น
      อยากเห็นผลลัพธ์เหมือนกัน แต่ถ้ามันดีขึ้นก็คงน่าประหลาดใจทีเดียว
    • ผมมองว่าการดีขึ้นเมื่อให้ทวนตาเดินทั้งหมดจนถึงตอนนี้ เป็นเพราะให้เวลาและพื้นที่แก่ LLM มากขึ้นในการคิด
      มีสมมติฐานว่าถ้าให้เวลาและพื้นที่มากขึ้นด้วยวิธีอื่น ประสิทธิภาพก็อาจดีขึ้นได้อีก
      เช่น ให้แสดงตำแหน่งกระดานปัจจุบัน วิเคราะห์ตำแหน่ง รายการจุดอ่อนและจุดแข็งหลัก รายการกลยุทธ์ที่เป็นไปได้ เลือกกลยุทธ์จากนั้น แล้วสุดท้ายจึงเลือกตาเดิน
      กล่าวคือไม่ให้มันพ่นตาเดินออกมาทันที แต่ทำให้มันคิดจริง ๆ ในที่นี้ตัวอย่างน่าจะเป็นหัวใจสำคัญ
      แนวคิดแบบนี้แสดงให้เห็นว่าได้ผลดีในงานวิจัย ReAct และงานวิจัย chain of thought และยังสามารถต่อยอดด้วยการทำซ้ำ N ครั้งแล้วหยุดเมื่อได้คำตอบเสียงข้างมากด้วย ซึ่งเป็นไอเดียจากงานวิจัย self-consistency ของ chain of thought
  • ประเด็นที่ว่า “fine-tuning ช่วยได้ และตัวอย่างก็ช่วยได้ แต่สิ่งที่ทำให้ fine-tuning ไม่จำเป็นคือตัวอย่าง ไม่ใช่กลับกัน” น่าสนใจมาก
    ในกรณีเฉพาะนี้ การแค่ ให้ตัวอย่าง ก็เทียบเท่ากับ fine-tuning
    สำหรับผมนี่เป็นการค้นพบครั้งใหญ่ และต่อไปตั้งใจจะใช้ตัวอย่างบ่อยขึ้น

    • โดยสัญชาตญาณรู้สึกว่าถูกต้องมาก
      อธิบายเหตุผลได้ยาก แต่ผมมีลางสังหรณ์มาตลอดว่า fine-tuning ถูกประเมินค่าสูงเกินไป
      เหตุผลหนึ่งอาจเป็นเพราะตัวอย่างอยู่ “ตรงนั้นเลย” จึงได้รับน้ำหนักโดยนัยสูงกว่านิวรอนที่ถูก fine-tune มาก
    • เห็นด้วยกับ insight ที่ว่าการให้ตัวอย่างมีประโยชน์กว่า fine-tuning
      ในกรณีของเล่นนี้อาจไม่สำคัญมากนัก แต่ควรจำไว้ว่าตัวอย่างแต่ละรายการที่ใส่ในอินพุตจะเพิ่ม เวลาและต้นทุนในการทำนาย เมื่อเทียบกับ fine-tuning
  • ควรเลิกทดลองแบบคลำทางในความมืดด้วย LLM เชิงพาณิชย์ได้แล้ว
    ถ้าต้องการดูให้ถึงแก่นของปัญหานี้ น่าจะน่าสนใจที่จะลองฝึก LLM ด้วยเกมหมากรุกเพียงอย่างเดียว สามารถให้ Stockfish เล่นกับตัวเองเพื่อสังเคราะห์ข้อมูลได้ไม่จำกัด และอาจผสมตัวอย่างบทสนทนาเกี่ยวกับหมากรุกเล็กน้อย เช่น คำอธิบายเกมหมากรุก, “บนกระดานมีเบี้ยกี่ตัว?”, “เรือของฉันอยู่ที่ไหน?”, “วาดกระดานให้ดู” เพื่อแสดงว่ามันมีการแทนค่ากระดานหรือไม่
    ไม่เชื่อว่า “ปรากฏการณ์อุบัติใหม่” หรือความสามารถด้านภาษาทั่วไป หรือความสามารถในการทำเหมือนว่ามีความสามารถ จำเป็นต่อการเล่นหมากรุก การเล่นหมากรุกเก่งไม่ได้แปลว่าจะฉลาดเรื่องอื่น ๆ และในทางกลับกันก็เช่นกัน
    การทดลองแบบนี้อาจพิสูจน์ได้ว่าผมคิดผิด
    论文ที่ออกมาเมื่อประมาณหนึ่งสัปดาห์ก่อน https://arxiv.org/pdf/2411.06655 ดูเหมือนจะได้ผลลัพธ์ที่ดีด้วย Llama ที่ผ่านการ fine-tune
    ผมชอบ论文นี้ที่ว่าด้วยความสามารถในการบรรยายหมากรุกด้วย: https://arxiv.org/abs/2410.20811

    • การทำนายตาถัดไปของนโยบายหมากรุกระดับผู้เชี่ยวชาญเป็นเพียง imitation learning ที่มีการศึกษากันดีอยู่แล้ว
      อาจเพิ่มรางวัลที่เหลืออยู่เพื่อให้เครือข่ายเรียนรู้ว่าตาแบบใดปรากฏในเกมที่ดีและเกมที่แย่ ซึ่งจะกลายเป็นกรอบการเรียนรู้แบบเสริมกำลังออฟไลน์อย่าง Decision Transformer
      ผมมองว่าทักษะหมากรุกไม่มีประโยชน์โดยสิ้นเชิงสำหรับ LLM ทั่วไป และไม่ใช่ปรากฏการณ์อุบัติใหม่ แต่เป็นเพียงการใช้แบนด์วิดท์ของ gradient กับพื้นที่พารามิเตอร์ไปกับลูกเล่นเจ๋ง ๆ นี้เท่านั้น
      เรื่องนี้เห็นได้ชัดจากการที่ LLM ที่ไม่ได้ฝึกมาเฉพาะทางด้านหมากรุกเล่นหมากรุกได้ไม่ดี
  • หากสร้าง tokenizer ที่ปรับให้เหมาะกับการแทนตาเดินหมากรุก แล้วฝึก LLM ตั้งแต่ต้นด้วยเกมของ Stockfish ก็น่าจะน่าสนใจ
    ถ้าใช้ tokenizer แบบกำหนดเอง คุณภาพน่าจะดีขึ้นที่ขนาดโมเดลเท่ากัน
    ไม่จำเป็นต้องเสียเลเยอร์จำนวนมากไปกับการเข้ารหัสและถอดรหัส และการแทนค่าแฝงที่ “เป็นธรรมชาติ” ก็อาจเข้าใจได้โดยสัญชาตญาณมากขึ้น