5 คะแนน โดย GN⁺ 2024-08-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Markov chain เป็นโมเดลสถิติอย่างง่ายที่เลือกคำถัดไป แต่เพราะมันบิดเบี้ยวจนจับความหมายได้ไม่ครบ จึงอาจสร้างผลลัพธ์ที่ตลกกว่า LLM ได้
  • อารมณ์ขันเกิดจาก ความประหลาดใจที่เบาและคาดไม่ถึง และ “snap” ที่สร้างแพตเทิร์นที่คุ้นเคยขึ้นมาก่อนแล้วทำลายความคาดหวัง ทำให้มุกมีพลัง
  • LLM ใช้บริบทจำนวนมากและการคำนวณความน่าจะเป็นเพื่อหาโทเคนถัดไปที่ดูเป็นไปได้ที่สุด ดังนั้นยิ่งประสิทธิภาพดีขึ้น ก็ยิ่งเข้าใกล้ ประโยคที่เป็นค่าเฉลี่ยและคาดเดาได้
  • ในการเปรียบเทียบระหว่าง ChatGPT 3.5 กับ Markov chain ที่ฝึกด้วย King James Bible และตำราวิทยาการคอมพิวเตอร์ Markov chain จะดูเกือบสมเหตุสมผล แล้วตอนท้ายก็เกิด การเปลี่ยนความหมายแบบหลุดโลก
  • LLM ในปัจจุบันไม่เหมาะกับงานเขียนเชิงสร้างสรรค์หรือการสร้างมุก และโมเดลภาษาสำหรับงานลักษณะนี้ควรมี รูปแบบที่ต่างประเภทโดยสิ้นเชิง จาก LLM ในตอนนี้

ทำไม Markov chain ถึงดูตลกกว่า

  • ตัวอย่าง Markov chain ที่ฝึกด้วยชุดข้อมูล King James Bible และตำราวิทยาการคอมพิวเตอร์ ผสมสำนวนแบบคัมภีร์ไบเบิลกับคำศัพท์โปรแกรมมิง จนสร้างประโยคที่ “เกือบจะสมเหตุสมผล แต่พังตอนท้าย”
  • ChatGPT 3.5 ถูกสั่งให้สร้างผลลัพธ์คล้ายกัน แต่ผลที่ได้ใกล้เคียงกับประโยคที่เรียบร้อยกว่าและความหมายมั่นคงกว่า
  • ตัวอย่างทั้งสองเป็นกรณีที่คัดมาแล้ว แต่ก็เป็นการเลือกตัวอย่างที่ดีจากทั้งสองฝั่งมาเปรียบเทียบ
  • ประโยคของ Markov chain มีความหมายแปลก ๆ แฝงอยู่ และยิ่งเข้าใกล้ท้ายประโยคก็ยิ่งเกิด การหักทิศทางไปสู่ความไร้ความหมาย

Markov chain คล้าย “LLM ที่โง่มาก”

  • ตอนที่ LLM เริ่มถูกอธิบายอย่างแพร่หลาย เคยมีการเปรียบว่าเป็น “Markov chain ที่ฉลาดมาก” แต่ตอนนี้อาจมอง Markov chain เป็นเหมือน “LLM ที่โง่มาก” ได้
  • ChatGPT เป็น LLM หรือ Large Language Model ชนิดหนึ่ง
    • มีโมเดลขนาดใหญ่มากที่เกิน 300GB และมีโมเดลที่เล็กกว่า 10GB ด้วย
    • ถึงจะเล็ก ก็มักเรียกว่า LLM ขนาดเล็ก ไม่ใช่ “small language model”
  • Markov chain ก็ทำนายคำถัดไปจากบริบทปัจจุบันเช่นกัน แต่เป็น โมเดลสถิติอย่างง่าย ที่ไม่คำนึงถึงอรรถศาสตร์ มิติ และคณิตศาสตร์เวกเตอร์เฉพาะทาง
  • ฟีเจอร์แนะนำคำถัดไปบนแถบบนของคีย์บอร์ดมือถือโดยทั่วไปสร้างด้วย Markov chain เพราะมีต้นทุนการรันต่ำ และปรับอัปเดตให้เข้ากับสไตล์การพิมพ์ของผู้ใช้ได้ง่าย
  • หากต้องสร้างประโยคที่มีเป้าหมายเฉพาะ LLM มักทำได้ดีกว่า แต่ความแม่นยำไม่ได้แปลว่าจะตลกเสมอไป

อารมณ์ขันคือ “ความประหลาดใจที่เบาและคาดไม่ถึง”

  • อารมณ์ขันสรุปได้ว่าเป็น unserious surprise หรือความประหลาดใจที่ไม่จริงจัง
  • มุกที่ดีมี “snap” ที่สนุกและชัดเจน
    • “snap” เป็นคำที่ใช้เพื่อหลีกเลี่ยงภาระทางความหมายของคำว่า punchline
    • ยิ่งมีความประหลาดใจน้อย ก็ยิ่งตลกน้อย
  • เหตุผลที่ฟังมุกเดิมหลายครั้งแล้วตลกน้อยลง คือความประหลาดใจลดลง
  • เหตุผลที่อารมณ์ขันแบบ “สุ่ม” อาจไม่สนุก คือแม้คำแต่ละคำจะคาดเดาไม่ได้ แต่ ความคาดหวังว่ามันจะคาดเดาไม่ได้ นั้นกลับคาดเดาได้อยู่แล้ว
  • เมื่อนำแพตเทิร์นที่คุ้นเคยมาใช้ซ้ำแล้วฝืนความคาดหวัง snap ก็จะรุนแรงขึ้น
    • “banana, apple, orange, vehicular manslaughter” สร้างแพตเทิร์นว่าเป็นรายชื่อผลไม้คำเดียว แล้วทำลายความคาดหวังด้วยวลีเกี่ยวกับอาชญากรรม
  • การเขียนมุกโดยมากจึงใกล้เคียงกับ การละเมิดแพตเทิร์น

ยิ่งฉากชัด snap ก็ยิ่งแรง

  • หากใช้ภาษาที่มีความเป็นต้นฉบับหรือพรรณนามากขึ้น ฉากจะรู้สึกสมจริงกว่า และ snap ก็อาจแรงขึ้นด้วย
  • แทนที่จะเขียนแค่ว่า “he was shot” ถ้าเขียนว่า “he was pierced by a 35mm” ฉากจะเป็นรูปธรรมมากขึ้น
  • แทนคำว่า “he fell” หากใช้สำนวนอย่าง “his face met the ground” ฉากจะชัดขึ้น
  • วิธีเริ่มจากกลางฉากก็ได้ผลเช่นกัน
    • “a urinal cake? I’m not falling for that one again” ทำให้จินตนาการว่าเกิดอะไรขึ้นก่อนหน้า และเพิ่มความรู้สึกว่าฉากนั้นมีอยู่จริง
  • การเขียนมุกที่ดีและการเขียนที่ดีมีเป้าหมายทับซ้อนกันบางส่วน
    • คำคลิเช่ทำให้ฉากยัง ไม่ถูกทำให้เป็นจริง จึงเป็นการเปลืองคำ

เงื่อนไขที่ทำให้อารมณ์ขันทำงาน

  • สิ่งที่เป็น “ความประหลาดใจที่เบาและคาดไม่ถึง” ไม่ได้เป็นสากล อารมณ์ขันจึงเป็นเรื่องอัตวิสัย
  • อารมณ์ขันหยาบโลนอาจถูกมองจริงจังเกินไปจนไม่ตลก หรือในทางกลับกันก็อาจล้มเหลวเพราะคาดเดาได้เกินไป
  • anti-joke จะตลกได้ก็ต่อเมื่อโครงสร้างของมุกนั้นเองคาดเดาได้
  • อารมณ์ขันแบบ absurdism จะทำงานได้เมื่อผู้ฟังพร้อมยอมรับมัน
  • อาจละเมิดบรรทัดฐานทางวัฒนธรรมได้ แต่การละเมิดนั้นต้องถูกเข้าใจว่าเป็น สิ่งที่ไม่จริงจัง
  • ผู้เขียนซึ่งเป็นชาวอเมริกันที่ใช้แต่ภาษาอังกฤษ ก็เคยใช้คำว่า “no” ในสภาพแวดล้อมที่ไม่ใช่ภาษาอังกฤษด้วยวิธีที่คาดไม่ถึงทางวัฒนธรรม จนสร้างมุกที่สำเร็จได้

LLM ถูกปรับให้มุ่งสู่ความคาดเดาได้

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

LLM ในตอนนี้ไม่เหมาะกับการสร้างมุก

  • การสร้างมุกต้องบิดสำนวนที่พบได้ทั่วไปด้วยวิธีที่คาดไม่ถึงเพื่อเปลี่ยนความหมาย
  • LLM ที่ดีถูกปรับให้หลีกเลี่ยงการเบี่ยงเบนแบบนั้นพอดี
  • ไม่เห็นด้วยกับข้ออ้างว่าคอเมดี้ไม่สามารถสร้างด้วยอัลกอริทึมได้
    • คอเมดี้สามารถวิเคราะห์และวัดผลได้
    • หากมีการสนับสนุนมากพอ การสร้างคอเมดี้ตามสั่งก็อาจเป็นไปได้
    • การที่ทำได้ไม่ได้แปลว่าควรทำ
  • LLM ในปัจจุบันไม่ใช่เครื่องมือที่เหมาะกับงานนี้
  • LLM ระยะเริ่มต้นตลกกว่า และการสร้างภาพในระยะเริ่มต้นก็ตลกกว่าด้วย
    • มีกรณีอย่างภาพ “trail cam” ของ Dall-e mini
    • เมื่อระบบดีขึ้น อารมณ์ขันก็หายไป

ความตึงเครียดระหว่างเครื่องทำนายที่ดีขึ้นกับการแสดงออกทางศิลปะ

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

การรั่วไหลของนามธรรมที่ปรากฏในผลลัพธ์ของ LLM

  • ข้อโต้แย้งนี้ไม่ใช่การถกเถียงแบบ “มนุษย์ฝ่ายจิตวิญญาณกับเครื่องจักร”
  • แม้ LLM จะพัฒนาขึ้นเรื่อย ๆ ก็ยังมีข้อบกพร่องที่ปรากฏซ้ำ ๆ และใกล้เคียงกับ leaky abstraction ที่โครงสร้างภายในเผยตัวออกมาในกระบวนการพยายามดูให้เหมือนมนุษย์
  • เหตุผลที่ข้อความทุกข้อความของ ChatGPT อ่านเหมือนเรียงความมัธยมปลาย คือมันผลิตซ้ำผลลัพธ์ที่เป็นค่าเฉลี่ยที่สุด
  • ผลลัพธ์ของ LLM อาจดูเหมือน สไตล์องค์กรที่จืดชืด ซึ่งถูกลบเอกลักษณ์ออกและทำให้แข็งด้วยความเคร่งครัดเชิงวิชาการ
  • รีวิว Amazon ปลอมสังเกตได้ง่ายขึ้นหากคิดว่า “ฉันจะเขียนแบบนี้ไหม?”
    • อาจสงสัยว่าจะใส่บทนำและบทสรุปให้ประสบการณ์ใช้ Oxiclean dish wipes หรือไม่
    • ประโยคที่ขอบคุณผู้ผลิตและยอมรับความทุ่มเทด้านบริการลูกค้า อาจดูไม่เหมือนประสบการณ์ของผู้ใช้จริง
  • โมเดลตรวจจับ LLM อาจต้องแยกแยะ เอกลักษณ์เฉพาะตัว ในไม่ช้า เหมือน CAPTCHA บนหน้าจอ

ลิงก์อ้างอิง

  • famous tumblr blog: แหล่งที่มาของตัวอย่าง Markov chain ที่ผสมสำนวน King James Bible กับสไตล์โปรแกรมมิง และเพิ่งกลับมาเปิดใช้งานอีกครั้ง

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

 
GN⁺ 2024-08-19
ความคิดเห็นบน Hacker News
  • เมื่อไม่กี่ปีก่อนตอนทำโปรเจกต์เสริม ผมก็ได้ข้อสรุปเดียวกัน
    ก่อนที่ LLM จะออกมา ผมทำเว็บ https://totes-not-amazon.com/ สำหรับสร้าง AWS Blog Posts ปลอม แล้วฝึกตัวสร้างแบบมาร์คอฟเชนด้วยประกาศทั้งหมดของ AWS จนถึงตอนนั้น จากนั้นก็ลอก HTML/CSS ของบล็อก AWS มาประกอบด้วย Python+JS
    มันตลกพอสมควร เพราะแม้แต่คนที่คุ้นกับบล็อก AWS ก็ยังต้องอ่านไปสองสามประโยคก่อนถึงจะรู้ว่ามันเป็นซุปคำ
    ตอนที่ GPT เพิ่งออกมา ผมลองอัปเกรดโดยใช้ gpt-2-simple ของ Minimaxir เพื่อสร้างบทความบล็อกจากคอนเทนต์ AWS แต่ผลลัพธ์มันดูสมจริงเกินไปจนความตลกลดลงไปมาก มันอ่านเหมือนบทความบล็อกจริง ๆ เพียงแต่ข้อเท็จจริงผิด
    สุดท้ายแล้ว อารมณ์ขันของงานที่มาร์คอฟสร้างในยุคแรก ๆ อยู่ที่ ความเหลวไหล ที่คุณอ่านไปไม่กี่คำหรือไม่กี่ประโยคแล้วก็รู้ว่ามันไร้สาระไปหมด ส่วน LLM สมัยนี้เก่งเกินไปสำหรับเรื่องแบบนั้น ถึงจะผิดบ้าง แต่ไม่ค่อยผิดแบบไร้สาระจนขำ
    คอนเทนต์จากมาร์คอฟเชนจะผิดแบบ “เด็กพูดอะไรเพี้ยน ๆ” ส่วน LLM สมัยใหม่ผิดแบบ “ลุงที่ไม่รู้ภูมิศาสตร์พื้นฐาน”

    • https://cemulate.github.io/the-mlab/#y3Bt-co-extensional+limit
      https://github.com/cemulate/the-mlab
      นี่เป็นงานล้อเลียน nLab ซึ่งเป็นวิกิร่วมมือด้านทฤษฎีหมวดหมู่และทฤษฎีหมวดหมู่ระดับสูง ถ้าใครเคยดู nLab จะรู้ว่า สำหรับมือใหม่แล้วศัพท์เฉพาะแทบถอดความไม่ได้เลย จึงเกิดไอเดียโปรเจกต์นี้ขึ้นมา
      โปรเจกต์นี้ใช้แพ็กเกจ nearley-generator ที่แปลงไวยากรณ์ Nearley ให้เป็นตัวสร้างข้อความปลอมที่มีประสิทธิภาพและควบคุมได้ โดยไฟล์ไวยากรณ์อยู่ที่ /src/grammar/nlab.ne
    • ผมได้ข้อสรุปเดียวกันด้วยวิธีคล้าย ๆ กัน สมัยก่อนผมทำ มาร์คอฟเชน จากแพตช์โน้ตของเกมแล้วส่งให้คอมมูนิตี้ แพตช์ Dota ปลอมได้รับความนิยมมากเป็นพิเศษ เพราะแพตช์จริงยาวอยู่แล้ว
      ส่วนใหญ่จะไร้สาระหรือเป็นการเว่อร์ที่ไม่ตลก (“ฮีโร่นี้ตอนนี้มีเกราะ 500”) แต่โดยปกติจะมีอย่างน้อย 5–6 บรรทัดที่ตลกมาก และบางทีก็มีที่ตรงอย่างกับคำทำนาย เช่น “Fiend's Grip สร้างร่างเงาเพิ่มเติม 1/2/3 ตัว”
      แต่ LLM ทำให้สถานการณ์พังไปหมด ซับเรดดิตหลัก ๆ แบนคอนเทนต์ AI ทั้งหมด เพราะมีคอนเทนต์ Midjourney น่าเบื่อจากผู้ใช้ใสซื่อและบอตเยอะเกินไป พอระยะการเข้าถึงหายไป ความสนใจก็หายตาม ผมเลยเลิกทำมาร์คอฟเชนไป
    • ผมว่า “ลุงที่ไม่รู้อะไรเลยแต่แกล้งทำเป็นผู้เชี่ยวชาญแล้วพูดความเห็นของตัวเอง” เป็นอุปมาที่ดีที่สุดสำหรับอธิบาย LLM มันไม่รู้อะไรเลย แต่พูดทุกอย่างด้วยความมั่นใจ
    • ผมเห็นด้วยยากกับคำกล่าวที่ว่า LLM สมัยใหม่ผิดแบบ “ลุงที่ไม่รู้ภูมิศาสตร์พื้นฐาน”
      สัปดาห์นี้ผมใช้แชตบอต LLM เยอะมาก และถ้าลุงคนนั้นไม่ใช่แค่พูดเท็จอย่างมั่นใจ แต่ยังไม่มี ความสามารถในการประเมินตัวเอง ด้วย เขาคงถูกฆ่าไปแล้ว
    • เว็บนั้นตลกมาก และ อุปมาเด็กกับลุง ก็ตรงกับประสบการณ์ของผมพอดี แถมยังแสดงให้เห็นด้วยว่าโมเดลภาษาเหล่านี้มาไกลแค่ไหนแล้ว
  • ผมป้อนพรอมป์ให้ Claude 3.5 Sonnet ว่า “จากบทความล่าสุดและการถกเถียงบน Hacker News ช่วยเขียนมุกสั้นตลก ๆ 10 มุกในสไตล์ที่ผู้เขียนบทความพูดถึง”
    Claude ตอบว่าจะทำมุกในหัวข้อว่าทำไมมาร์คอฟเชนถึงตลกกว่า LLM โดยเล็งไปที่ “ความประหลาดใจแบบไม่จริงจัง” และการละเมิดแพตเทิร์นที่คาดไว้
    ตัวอย่างก็เช่น “LLM กับมาร์คอฟเชนเดินเข้าบาร์ LLM สั่งเครื่องดื่มที่สมเหตุสมผลทางสถิติ ส่วนมาร์คอฟเชนสั่งโป๊ะโคมไฟที่ทำจากชีส”, “ต้องใช้ LLM กี่ตัวในการเปลี่ยนหลอดไฟ? ตัวเดียวก็พอ แต่ก่อนอื่นมันจะอธิบายขั้นตอนเปลี่ยนหลอดไฟที่เหมาะที่สุดเป็นเวลา 20 นาที”, “ทำไมมาร์คอฟเชนถึงเป็นที่ปรึกษาที่ดีไม่ได้? เพราะคำแนะนำของมันมักจะเป็น ‘แล้วจากนั้นก็กล้วยความรู้สึกจนกว่าจะกลายเป็นหมวก’” อะไรทำนองนี้

    • “LLM, มาร์คอฟเชน และ GPT-4 เดินเข้าบาร์ บาร์เทนเดอร์บอกว่า ‘เราไม่รับพวกแบบพวกแก’ GPT-4 เลยเดินออกไป, LLM อยู่ต่อเพื่อถกเรื่องจริยธรรม, ส่วนมาร์คอฟเชนสั่งจักรยานที่ทำจากสปาเก็ตตี้” นี่ถือว่าดีทีเดียว
    • อันที่พอใช้ได้จะตลกขึ้น ถ้าเปลี่ยน คำพูดไร้สาระแบบสุ่ม ตรงจุดสำคัญให้เป็นมุกหักมุมแบบมาร์คอฟเชนจริง ๆ คือ “เป็นประโยคที่ถูก แต่หลุดเข้ามาผิดทางด้วยการเชื่อมโยงที่แปลก”
      ไม่ใช่แค่เอาอะไรก็ได้มาสุ่มต่อกัน มาร์คอฟเชนมีแนวโน้มจะสร้างความหมายบางอย่างมากกว่า เพียงแต่เป็นความหมายผิดประเภท
      เช่น “LLM, มาร์คอฟเชน และ GPT-4 เดินเข้าบาร์ บาร์เทนเดอร์บอกว่า ‘เราไม่รับพวกแบบพวกแก’ GPT-4 เลยเดินออกไป, LLM อยู่ต่อเพื่อถกเรื่องจริยธรรม, ส่วนมาร์คอฟเชนสั่ง รัฐประหาร” จะตรงกว่า
    • “LLM กับมาร์คอฟเชนเดินเข้าบาร์ LLM สั่งเครื่องดื่มที่สมเหตุสมผลทางสถิติ ส่วนมาร์คอฟเชนสั่งโป๊ะโคมไฟที่ทำจากชีส” ถือว่าโอเคทีเดียว
    • “ต้องใช้ LLM กี่ตัวในการเปลี่ยนหลอดไฟ? ตัวเดียวก็พอ แต่ก่อนอื่นมันจะอธิบายขั้นตอนเปลี่ยนหลอดไฟที่เหมาะที่สุดเป็นเวลา 20 นาที” นั่นไม่ใช่ตลก แต่เป็น ความเจ็บปวดที่แม่นยำ
    • Claude 3.5 Sonnet เป็นโมเดล LLM สมัยใหม่ตัวแรกที่ผมเคยใช้ซึ่งทำมุกสร้างสรรค์ได้ดีจริง ๆ LLM ตระกูล GPT ทั้งหมดโดน RLHF ใส่มากเกินไปจนไม่สามารถหลุดเพี้ยนแบบประหลาด ๆ ได้
  • สมัยเรียนมหาวิทยาลัย เพื่อน ๆ ของผมเอา ตัวสร้างมาร์คอฟเชน ไปรันกับหมวด “รายงานตำรวจ” ของหนังสือพิมพ์มหาวิทยาลัย
    ผลลัพธ์ 10% แรกจากตัวสร้างแบบ 3-token เป็นข้อความที่สร้างโดยเครื่องซึ่งตลกที่สุดกลุ่มหนึ่งเท่าที่ผมเคยเห็น และมีความไร้เหตุผลแบบที่ LLM สมัยใหม่พยายามหลีกเลี่ยงตอนสร้างความสอดคล้องเชิงความหมายระดับสูง
    ตอนนั้นมีคนไปแสดงอนาจารในห้องสมุดด้วย ซึ่งก็คงเป็นวัตถุดิบชั้นดี
    หนังสือพิมพ์คือ The Daily Utah Chronicle และเท่าที่จำได้ เพื่อน ๆ ยังเอาตัวสร้างมาร์คอฟเชนไปรันกับหมวดประกาศส่วนตัวด้วย ได้ผลลัพธ์ดีพอสมควร

    • LLM “พยายามจะตลก” แต่ไม่ได้ฉลาดพอให้ตลกจริง และข้อผิดพลาดก็น่าเบื่อ
      ในทางกลับกัน มาร์คอฟเชนจะถูกลากแบบสุ่มไปในทุกประโยคด้วยการเชื่อมโยงคล้ายการพูดผิดจากคำพ้องเสียง จนบังเอิญไปแตะ มุกตลกไร้เหตุผล
  • หากต้องการหลักฐานเชิงประจักษ์ /r/SubredditSimulator คือ Reddit ล้อเลียนที่ใช้ Markov เป็นฐาน ส่วน /r/SubSimulatorGPT2 เป็นญาติฝั่ง LLM
    เวอร์ชัน Markov ได้อัปโหวตมากกว่ามาก และก็ขำกว่าจริง ๆ

    1. https://www.reddit.com/r/SubredditSimulator/top/?t=all
    2. https://www.reddit.com/r/SubSimulatorGPT2/top/?t=all
    • ผมคิดว่านั่นเป็นเพราะอันแรกเก่ากว่ามากและเป็นที่รู้จักมากกว่าเท่านั้น โดยส่วนตัวผมชอบอันหลังมากกว่ามาตลอด
  • ในช่วงหลายปีที่ผ่านมา ผมเคยโพสต์ “XYZ ปลอมที่ AI เขียน” ลง Reddit อยู่หลายครั้ง และโมเดลที่ได้รับกระแสดีที่สุดคือ GPT-2
    Markov chain ยังไม่พอที่จะรักษาความน่าสนใจได้เกินหนึ่งหรือสองประโยค ส่วนหลัง GPT-3 เป็นต้นมาก็เรียบร้อยเกินไปและน่าเบื่อ
    GPT-2 เป็นจุดกึ่งกลางที่สมบูรณ์แบบ คือโดยรวมใช้ไวยากรณ์ถูกและคงไอเดียที่เชื่อมโยงกันได้ แต่ยังไม่รู้รายละเอียดของหัวข้อต่าง ๆ มากพอที่จะสร้างผลลัพธ์ที่สมเหตุสมผลตามบริบทได้

    • ผมเคยพยายาม fine-tune โมเดล GPT-2 ด้วยล็อก IRC ที่สะสมมากว่า 15 ปี เพื่อให้มันเลียนแบบผม
      ผมตั้งใจจะปล่อยบอตลงช่อง IRC ที่ใช้ประจำ แล้วดูว่าคนจะใช้เวลานานแค่ไหนกว่าจะรู้ว่าเป็นบอต วิธีคือเมื่อมีคนส่งข้อความ ก็ส่ง 10 ข้อความล่าสุดไปให้ LLM และถ้าผลลัพธ์ขึ้นต้นด้วย prefix ที่กำหนด ก็ส่งข้อความนั้นลงช่อง
      น่าเสียดายที่ GPT-2 ยังไม่ดีพอ มันสร้างเนื้อหาที่ค่อนข้างสอดคล้องและเข้าหัวข้อ แต่ไร้สาระ
      หลังจากแก้ระบบใหม่แล้ว ผมคิดว่าจะลอง fine-tune โมเดล 7B
    • แชร์ตัวอย่างที่ดีที่สุดได้ไหม?
  • การเปลี่ยนแปลงในช่วงหลายปีที่ผ่านมาของบล็อก AI Weirdness (https://www.aiweirdness.com/) ก็สนับสนุนแนวคิดนี้อยู่บ้าง
    แต่ผู้เขียนก็ได้ผลลัพธ์ตลก ๆ จาก LLM เยอะเหมือนกัน โดยส่วนใหญ่เป็นโมเดลยุคแรก ๆ ถึง GPT-3 และเวอร์ชันย่อยที่เล็กกว่าของ GPT-3
    เช่น ชื่อซีเรียลที่ GPT เวอร์ชัน Ada สร้างขึ้นตลกกว่าเวอร์ชัน Da Vinci มาก: https://www.aiweirdness.com/new-breakfast-cereals-from-ai/

  • แค่เพิ่ม ค่า temperature ไม่ได้หรือ?
    Markov chain มีความเข้าใจภาษาที่หยาบกว่า LLM ถ้าเพิ่ม temperature หรือความสุ่มของ LLM ก็อาจไปถึงการประมาณแบบหยาบ ๆ คล้ายกันได้
    อีกอย่าง ผู้เขียนใช้ ChatGPT-3.5 ซึ่ง ChatGPT ถูกใส่ RLHF มาให้ฟังดูทั่วไปที่สุดเท่าที่จะเป็นไปได้ และ 3.5 ก็เข้าใจอารมณ์ขันน้อยกว่า 4
    ผมไม่เห็นด้วยกับประเด็นของบทความนี้

    • สำหรับคนที่ไม่รู้จักตัวย่อด้าน machine learning หลาย ๆ ตัว RLHF คือ Reinforcement Learning from Human Feedback หรือการเรียนรู้แบบเสริมกำลังจากฟีดแบ็กของมนุษย์
    • อยากให้มี เวอร์ชัน ChatGPT ที่ตรึงไว้สำหรับนักวิจัย
  • น่าเสียดายที่บัญชีไม่อยู่แล้ว แต่ราว 10 ปีก่อนตอนเรียนอยู่ ผมเคยทำ บอต Twitter แบบ Markov ที่ฝึกจากข้อมูลสองชุดนี้
    ชุดหนึ่งคืออีเมลทั้งหมดที่ Linus Torvalds ส่งถึง LKML ในช่วง 1 ปีก่อนหน้า อีกชุดคือคำพูดโดยตรงของพระเยซูใน King James Bible
    มันตลกมาก เนื่องจากชุดฝึกทั้งสองแทบไม่มีส่วนทับซ้อนกันเลย ผมต้องเพิ่ม heuristic ที่ยิ่ง chain “ติด” อยู่ในชุดหนึ่งนานเท่าไร ก็ยิ่งถ่วงน้ำหนักตัวเลือกจากอีกชุดมากขึ้นเท่านั้น

    • บอตที่คล้ายกันมากยังมีอยู่ และถูกอ้างถึงใน Unsong หลายครั้งด้วย
      https://www.tumblr.com/kingjamesprogramming
    • ฟังดูยอดเยี่ยม มีตัวอย่างที่เก็บไว้ไหม?
  • ผมรัน บอต IRC Markov chain มาประมาณ 20 ปีแล้ว
    ช่วงไม่กี่ปีหลังมานี้ก็รัน LLM แบบ local ควบคู่ไปด้วย ยังมีบางคนที่ชอบบอต Markov chain มากกว่า แต่ส่วนใหญ่เรียกใช้ LLM
    แต่อาจเป็นเพราะผมเลือกโมเดลที่หลอนเยอะ ปฏิเสธน้อย และตลกกว่า อย่าง fine-tune ของ Mistral-7B แทนโมเดลที่ฉลาด ถูกล็อก และ temperature ต่ำแบบ LLM-as-a-service อย่าง ChatGPT
    พอได้ดู LLM กับบอต Markov เทียบกัน ผมยิ่งรู้สึกชัดขึ้นว่า “อารมณ์ขัน” ของบอต Markov จำนวนมากเกิดจากมนุษย์ไปตีความใส่ความหมายให้กับเอาต์พุตที่บังเอิญออกมา แต่ถึงอย่างนั้น ความสามารถในการ “เรียนรู้” ของ Markov ก็ยังเหนือกว่ามาก

    • รันบอต IRC Markov chain มา 20 ปีนี่ฮีโร่ชัด ๆ
      บอตของผมไม่เคยอยู่ได้นานขนาดนั้นเลย ครั้งหนึ่งผมเคย scrape LiveJournal ของผู้ใช้มาสร้างข้อความสุ่ม: https://hewgill.com/journal/entries/68-new-lj-toy.html
    • อยากรู้ว่าใช้ prompt แบบไหนกับ LLM
      ผมรันบอต Markov chain ในแชต Twitch และบางครั้งก็มีโมเมนต์เจ๋ง ๆ ออกมา ผมลองใช้ LLM อยู่พักหนึ่งและใส่แชตล่าสุดเข้าไปใน prompt แต่ผลลัพธ์ไม่ค่อยให้ความรู้สึกตลกเท่าไร
      ผมลองทำ prompt engineering แบบสั่งเฉพาะว่าควรสร้างมุกแบบไหนด้วย แต่ LLM มักมีแนวโน้มทำตามรูปแบบเดิมเสมอ
    • ทำไปทำไมเหรอ? เพราะสนุก หรือมีเหตุผลอื่นที่ผมพลาดไปหรือเปล่า
  • ในเซิร์ฟเวอร์ Discord ส่วนตัวมีบอตอยู่สองตัว
    ตัวหนึ่งเป็น บอต Markov chain พื้นฐานที่ฝึกจากประวัติแชตทั้งหมด อีกตัวเป็น LLM จริง ๆ ที่ฝึกจาก token จำนวนหนึ่งด้านท้าย ทั้งสองตัวจะสุ่มแทรกเข้ามาในแชตเป็นครั้งคราว
    บอต Markov chain ตลกกว่ามากเสมอ

    • อยากรู้ว่าใช้ context window แบบไหน เท่าที่ผมรู้ หน้าต่างสั้น ๆ อย่าง 1–2 คำจะทำให้ได้คำพูดเพ้อเจ้อ ส่วนหน้าต่างยาวมักมีแนวโน้มทวนข้อความเก่าแบบตรง ๆ
      ตอนตัดสินใจว่าจะแทรกเข้ามาไหม ใช้ความน่าจะเป็นง่าย ๆ หลังข้อความอื่น (เช่น 25%) หรือรันด้วย timer?