1 คะแนน โดย GN⁺ 2025-05-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • MiMo-7B ของ Xiaomi เป็นซีรีส์โมเดลภาษา 7B ที่ฝึกตั้งแต่ต้นสำหรับงานอนุมาน และเปิดโอเพนซอร์ส checkpoint ของโมเดล Base, SFT และ RL
  • ในอัปเดตวันที่ 30 พฤษภาคม 2025 ได้ขยายชุดข้อมูล SFT จากประมาณ 5 แสนรายการเป็น 6 ล้านรายการ และขยายขนาดหน้าต่างการฝึก RL จาก 32K เป็น 48K ทำให้ MiMo-7B-RL-0530 ทำคะแนน AIME 2024 ได้ 80.1
  • การ pretraining ใช้ประมาณ 25 ล้านล้านโทเค็น และกลยุทธ์ผสมข้อมูล 3 ขั้นตอน รวมถึงการกรองข้อมูลเพื่อเพิ่มความหนาแน่นของแพตเทิร์นการอนุมาน, ข้อมูลอนุมานสังเคราะห์ และ Multiple-Token Prediction
  • การ post-training ใช้โจทย์คณิตศาสตร์·โค้ด 1.3 แสนรายการ, ตัวตรวจสอบแบบ rule-based, รางวัลความถูกต้องแบบ rule-based, รางวัลตามความยากของการทดสอบ สำหรับโจทย์โค้ด และกลยุทธ์ resampling สำหรับโจทย์ง่าย
  • การ deploy มีตัวอย่างสำหรับ SGLang, vLLM fork ของ Xiaomi และ HuggingFace โดยการตรวจสอบ MiMo บน inference engine อื่นยังไม่เสร็จสิ้น และเปิดรับ contribution

เป้าหมายและขอบเขตการเผยแพร่ของซีรีส์ MiMo-7B

  • MiMo-7B เป็นซีรีส์โมเดลที่มีเป้าหมายเพื่อดึงศักยภาพด้านการอนุมานของโมเดลภาษาออกมาตั้งแต่ pretraining ไปจนถึง post-training
  • checkpoint ที่เผยแพร่มี 4 รายการดังนี้
    • MiMo-7B-Base: โมเดล Base ที่มีศักยภาพด้านการอนุมาน
    • MiMo-7B-RL-Zero: โมเดลที่ฝึกด้วย RL จากโมเดล Base
    • MiMo-7B-SFT: โมเดลที่ฝึกด้วย SFT จากโมเดล Base
    • MiMo-7B-RL: โมเดลที่ฝึกด้วย RL จากโมเดล SFT
  • โมเดลมีให้ใช้งานบน HuggingFace และ ModelScope
  • รายงานทางเทคนิคเผยแพร่บน arXiv

อัปเดตวันที่ 30 พฤษภาคม 2025

  • MiMo-7B-RL-0530 สะท้อนผลจากการขยายชุดข้อมูล SFT จากประมาณ 5 แสนรายการเป็น 6 ล้านรายการ และการขยายขนาดหน้าต่างการฝึก RL ต่อเนื่องจาก 32K เป็น 48K
  • บน AIME 2024 MiMo-7B-RL-0530 ทำคะแนนได้ 80.1 แซงหน้า DeepSeek R1 ที่ได้ 79.8
  • การเปลี่ยนแปลงของ benchmark หลักมีดังนี้
    • MATH500 Pass@1: 95.8 → 97.2
    • AIME 2024 Pass@1: 68.2 → 80.1
    • AIME 2025 Pass@1: 55.4 → 70.2
    • LiveCodeBench v5 Pass@1: 57.8 → 60.9
    • LiveCodeBench v6 Pass@1: 49.3 → 52.2
    • GPQA-Diamond Pass@1: 54.4 → 60.6
    • Alignbench1.1, การประเมินด้วย GPT-4.1: 6.9 → 7.4

Pretraining: โมเดล Base สำหรับการอนุมาน

  • MiMo-7B-Base เป็นโมเดล Base ที่ฝึกตั้งแต่ต้นสำหรับงานอนุมาน
  • การ pretraining ใช้ประมาณ 25 ล้านล้านโทเค็น
  • ในการประมวลผลข้อมูล มีการปรับปรุงเครื่องมือสกัดข้อความ และใช้การกรองข้อมูลหลายมิติเพื่อเพิ่ม ความหนาแน่นของแพตเทิร์นการอนุมาน ในข้อมูล pretraining
  • ใช้หลายกลยุทธ์เพื่อสร้าง ข้อมูลอนุมานสังเคราะห์ ขนาดใหญ่ที่หลากหลาย
  • การ pretraining ใช้กลยุทธ์ผสมข้อมูล 3 ขั้นตอน
  • เพิ่ม Multiple-Token Prediction เป็นเป้าหมายการฝึกเพิ่มเติม เพื่อปรับปรุงประสิทธิภาพของโมเดลและความเร็วในการอนุมาน

Post-training และวิธีฝึก RL

  • ใน post-training ใช้ โจทย์คณิตศาสตร์·โค้ด 1.3 แสนรายการ ที่ตรวจสอบได้ด้วยตัวตรวจสอบแบบ rule-based เป็นข้อมูลฝึก RL
  • แต่ละโจทย์ผ่านการคัดกรองและประเมินความยากเพื่อรับประกันคุณภาพ
  • สำหรับรางวัล ใช้เฉพาะ รางวัลความถูกต้องแบบ rule-based เพื่อหลีกเลี่ยงการแฮ็กรางวัลที่อาจเกิดขึ้น
  • นำรางวัลโค้ดตามความยากของการทดสอบมาใช้ เพื่อลดปัญหา sparse reward ในโจทย์โค้ดยาก
    • ให้คะแนนแบบละเอียดแก่ test case ที่มีความยากต่างกัน
    • policy สามารถ optimize ได้ด้วยสัญญาณรางวัลที่หนาแน่นขึ้น
  • สำหรับโจทย์ง่าย ใช้กลยุทธ์ data resampling เพื่อเพิ่มประสิทธิภาพการ sampling rollout และทำให้การอัปเดต policy เสถียรขึ้น โดยเฉพาะในช่วงท้ายของการฝึก RL

โครงสร้างพื้นฐาน RL และสถาปัตยกรรมโมเดล

  • Seamless Rollout Engine ถูกพัฒนาขึ้นเพื่อเร่งการฝึกและการตรวจสอบ RL
  • การออกแบบผสาน continuous rollout, การคำนวณรางวัลแบบ asynchronous และ early termination เพื่อลดเวลาว่างของ GPU
  • ตัวเลขการปรับปรุงประสิทธิภาพมีดังนี้
    • ความเร็วการฝึกดีขึ้น 2.29 เท่า
    • ความเร็วการตรวจสอบดีขึ้น 1.96 เท่า
  • เลเยอร์ MTP ของ MiMo-7B ถูกจูนระหว่าง pretraining และ SFT และถูกตรึงไว้ระหว่าง RL
  • เมื่อใช้เลเยอร์ MTP 1 เลเยอร์กับ speculative decoding อัตราการยอมรับอยู่ที่ประมาณ 90%
  • รองรับ MTP ใน vLLM และเสริมความแข็งแกร่งของ inference engine ในระบบ RL

ผลการประเมิน

  • มีการระบุว่า MiMo-7B-RL แสดงประสิทธิภาพในงานอนุมานด้านคณิตศาสตร์และโค้ดเทียบเท่า OpenAI o1-mini
  • ในการเปรียบเทียบโมเดลหลัก ผลลัพธ์ด้านคณิตศาสตร์·โค้ดของ MiMo-7B-RL มีดังนี้
    • MATH-500 Pass@1: 95.8
    • AIME 2024 Pass@1: 68.2
    • AIME 2025 Pass@1: 55.4
    • LiveCodeBench v5 Pass@1: 57.8
    • LiveCodeBench v6 Pass@1: 49.3
  • ในการเปรียบเทียบภายในซีรีส์ MiMo-7B ประสิทธิภาพเพิ่มขึ้นอย่างมากหลังใช้ RL
    • MATH500: Base 37.4 → RL-Zero 93.6 → SFT 93.0 → RL 95.8
    • AIME 2024: Base 32.9 → RL-Zero 56.4 → SFT 58.7 → RL 68.2
    • LiveCodeBench v5: Base 32.9 → RL-Zero 49.1 → SFT 52.3 → RL 57.8
  • การตั้งค่าการประเมินคือ temperature=0.6
  • เงื่อนไขการประเมินซ้ำมีดังนี้
    • AIME24 และ AIME25 เป็น ค่าเฉลี่ยจากการทำซ้ำ 32 ครั้ง
    • LiveCodeBench v5, LiveCodeBench v6, GPQA-Diamond, IF-Eval เป็น ค่าเฉลี่ยจากการทำซ้ำ 8 ครั้ง
    • MATH500 และ SuperGPQA เป็น การรันครั้งเดียว

การ deploy และการใช้งานอนุมาน

  • SGLang รองรับ MiMo ใน mainstream ผ่านการรองรับโมเดล MiMo และการรองรับ MTP
  • สำหรับการอนุมานด้วย vLLM แนะนำให้ใช้ vLLM fork ของ Xiaomi
    • fork ที่แนะนำ: XiaomiMiMo/vllm
    • fork นี้พัฒนาบนพื้นฐาน vLLM 0.7.3
  • ยังสามารถลงทะเบียน vLLM loader ในแบบที่ไม่โหลดพารามิเตอร์ MTP ได้ด้วย
  • ตัวอย่างการอนุมานของ HuggingFace ใช้ AutoModelForCausalLM.from_pretrained และ AutoTokenizer.from_pretrained
  • การตั้งค่า prompt ที่แนะนำคือ system prompt ว่าง
  • การตรวจสอบ MiMo บน inference engine อื่นยังไม่เสร็จสิ้น และเปิดรับ contribution ที่อิงจากนิยามโมเดลใน repository ของ HuggingFace

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

 
GN⁺ 2025-05-01
ความคิดเห็นบน Hacker News
  • สิ่งที่น่าสนใจคือในเปเปอร์จัดการกับ ขั้นตอน reinforcement learning สำหรับข้อมูลโค้ด อย่างไร โดยฝึกจากโจทย์สร้างโค้ดที่ยากแต่ยังแก้ได้ แล้วรันด้วย unit test จึงสงสัยว่าโมเดลอื่น ๆ ก็ผ่านขั้นตอนฝึกแบบนี้ด้วยหรือไม่
    ในเปเปอร์บอกว่าตัดปัญหาที่ไม่มี test case ออก และแม้จะมีโค้ดคำตอบ หากไม่ผ่านทุกเทสต์ก็จะคัดออก ส่วนปัญหาที่ไม่มีโค้ดคำตอบ หากจากการ sampling 16 ครั้งด้วยโมเดล reasoning ระดับสูงแล้วไม่สามารถผ่านเทสต์ใด ๆ ได้เลย ก็จะทิ้งไป ปัญหาที่ง่ายก็กรองออกด้วย MiMo-7B เวอร์ชัน SFT จนสุดท้ายได้ โจทย์โค้ด 30,000 ข้อ
    นอกจากนี้ ในแต่ละรอบของ reinforcement learning ต้องประเมินโจทย์หลายพันข้อและ test case หลายร้อยชุดต่อโจทย์ จึงสร้างสภาพแวดล้อม online judge ที่รัน unit test ปริมาณมหาศาลแบบขนาน เพื่อไม่ให้ GPU มีเวลาว่าง

    • มีกรณีที่ทำ reinforcement learning โดยไม่มี unit test ไหม? ถ้าไม่มีก็เท่ากับว่าผู้สร้างโมเดลรายอื่น ๆ ไม่สนใจความถูกต้อง ซึ่งคงน่าประหลาดใจ
      วิธีนี้อาจทำได้กับปัญหาแบบ modular ขนาดเล็ก แต่กับปัญหาที่อินพุตยาว 200,000 token อาจทำได้ยาก
  • สงสัยว่าทำไมโมเดล AI จากจีนถึงมี โมเดลที่ให้ความสำคัญกับภาษาอังกฤษก่อน มากขนาดนี้ ไม่รู้ว่าไม่ได้คิดจะเจาะผู้ใช้ในประเทศตัวเองหรือเปล่า หรือเพราะแม้จะเปิดโมเดลที่ให้ความสำคัญกับภาษาจีนก่อน ก็คงยากที่จะได้รับความสนใจในโลกตะวันตก

    • CommonCrawl เป็นชุดข้อมูล crawling ที่ถูกกฎหมาย ขนาดใหญ่ที่สุดและเข้าถึงได้ง่ายที่สุด ซึ่งเก็บข้อมูลมาตั้งแต่ปี 2008 แทบทุกคนใช้เป็นชุดข้อมูลพื้นฐานสำหรับฝึก large language model พื้นฐาน และเนื่องจากส่วนใหญ่เป็นภาษาอังกฤษ โมเดลจึงเก่งภาษาอังกฤษ
      https://commoncrawl.org/
    • ในงานวิจัยทางวิทยาศาสตร์ โดยเฉพาะ AI benchmark ภาษาอังกฤษน่าจะกลายเป็นภาษามาตรฐานโดยพฤตินัยไปแล้ว
      เห็นได้ชัดว่าเป็นไปไม่ได้ที่จะทดลองอะไรบางอย่างเป็นภาษาจีนโดยตรง จึงต้องมีการแปล
    • จุดที่น่าสนใจในเปเปอร์นี้ที่พยายามทำความเข้าใจ LLM คือส่วนที่โมเดลเชื่อมโยงคำและแนวคิดจากภาษาต่าง ๆ เข้าด้วยกันผ่าน Multilingual Circuits
      ตัวอย่างเช่น คำตรงข้ามของ “small” ในภาษาอังกฤษคือ big, คำตรงข้ามของ “petit” ในภาษาฝรั่งเศสคือ grand และคำตรงข้ามของ “小” ในภาษาจีนคือ “大” ภาพประกอบที่เกี่ยวข้องก็ดูเท่มาก
      ภาษาอังกฤษเป็นภาษากลางของอินเทอร์เน็ตและครองสัดส่วน corpus ใหญ่ที่สุด แต่โมเดลกระแสหลักสามารถใช้ dataset ภาษาอังกฤษเพื่อสร้างความเชื่อมโยงข้ามภาษาได้ ดังนั้นชุมชนภาษาที่ขาดข้อมูล เทคโนโลยี และทรัพยากรจนสร้างโมเดลท้องถิ่นของตนเองได้ยาก ก็อาจมี AI และความสามารถด้าน reasoning ที่แข็งแกร่งขึ้นมากได้เช่นกัน
      https://www.anthropic.com/research/tracing-thoughts-language...
      https://www.anthropic.com/_next/image?url=https%3A%2F%2Fwww-...
    • คิดว่าสื่อการฝึกคุณภาพสูงจำนวนมากน่าจะเป็น ภาษาอังกฤษ
    • อินเทอร์เน็ตจีนแทบจะประกอบด้วย walled garden แบบปิดไม่กี่แห่งที่บริษัทใหญ่ควบคุมอย่างเข้มงวด หากแต่ละบริษัทระดมทีมวิศวกรเพื่อปกป้องข้อมูลของตัวเอง crawler ก็ทำงานได้ไม่ดี
      เว็บไซต์ยอดนิยมจำนวนมากยังเป็นแบบใช้ผ่านแอปเท่านั้น ทำให้เป็นไปไม่ได้ที่จะรวบรวม corpus ที่จำเป็นสำหรับการฝึก LLM ที่ดี
  • สำหรับโมเดล 7B แล้ว ประสิทธิภาพด้านการเขียนโค้ด แข็งแกร่งจนแทบไม่น่าเชื่อ Gemini Pro 2.5 ที่ผมใช้ได้ 67.8 แต่โมเดลนี้ได้ 57.8 และใกล้กับ Gemini 2.5 Flash ที่ได้ 60.6 มาก
    หลังจากเห็นเรื่องราวเกี่ยวกับ llama4 ก็เริ่มค่อนข้างกังขากับผลประเมินแล้ว คงต้องรอดูว่าในการประเมินแบบปิดจะออกมาอยู่ประมาณไหน แต่ตัวเลขตอนนี้น่าประทับใจมาก

  • เวอร์ชัน GGUF ที่ใช้ได้กับ LM Studio, Ollama ฯลฯ: https://huggingface.co/jedisct1/MiMo-7B-RL-GGUF

  • สงสัยว่าเวลาใช้ไฟล์ gguf ใน Ollama โดยทั่วไปคนทำและใช้ Modelfile คู่กันเองหรือเปล่า หรือคาดหวังว่าค่าเริ่มต้นของ Ollama จะเข้ากับโมเดลใหม่ ๆ ได้ดีอยู่แล้ว
    https://github.com/ollama/ollama/blob/main/docs%2Fmodelfile....

    • ตอนที่ Georgi Gerganov ออกแบบ GGUF หนึ่งในเป้าหมายหลักคือทำให้ไม่ต้องมีไฟล์อื่นเพิ่มเติม รายการแรกของสเปกก็บอกตรง ๆ ว่าเป็น การแจกจ่ายแบบไฟล์เดียว
      ข้อมูลทั้งหมดที่จำเป็นสำหรับการโหลดโมเดลอยู่ในไฟล์โมเดล และผู้ใช้ไม่จำเป็นต้องให้ข้อมูลเพิ่มเติม
      https://github.com/ggml-org/ggml/blob/master/docs/gguf.md
      อุตส่าห์กำจัดความสับสนจากหลายไฟล์ได้แล้ว แต่ Ollama กลับเพิ่มมันกลับเข้ามาอีก เลยรู้สึกน่าเสียดาย
    • เมื่อใช้ ollama pull ตัว Modelfile ก็จะถูกดาวน์โหลดมาพร้อมกับ blob ด้วย หากต้องการแก้ไขโมเดลแบบถาวร ก็สามารถคัดลอก Modelfile ไปไว้ในโปรแกรมแก้ไขข้อความ แล้วใส่การเปลี่ยนแปลงที่ต้องการเพื่อสร้างโมเดลใหม่จาก Modelfile เดิมได้
      เวิร์กโฟลว์ของผมใน Open WebUI คือดูด้วย ollama show qwen3:30b-a3b-q8_0 --modelfile แล้วนำเนื้อหา Modelfile ไปวางใน admin -> models -> OpenwebUI จากนั้นเปลี่ยนชื่อเป็นประมาณ qwen3:30b-a3b-q8_0-monkversion-1 ปรับจำนวนเลเยอร์ด้วยพารามิเตอร์อย่าง num_gpu 90 แล้วจะเก็บไฟล์เก่าไว้หรือลบทิ้งก็ได้
      ใน Modelfile จะมีคำแนะนำว่าถ้าจะสร้าง Modelfile ใหม่ให้เปลี่ยน FROM เป็นแบบ # FROM qwen3:30b-a3b-q8_0 และต้องตรวจสอบด้วยว่า path ถูกต้องหรือไม่ สำหรับผมเรื่องนี้สำคัญเพราะเก็บโมเดลไว้ในไดรฟ์ NVMe ขนาดใหญ่ ไม่ใช่ตำแหน่งเริ่มต้นของ Ollama
      เสริมว่า ผมไม่ชอบ เวิร์กโฟลว์ Modelfile เลย เพราะมันยุ่งยากและเป็นแพตเทิร์นที่แย่มาก บางโมเดลมีขนาด 30–60GB แต่ต้องคัดลอกทั้งหมดเพียงเพื่อเปลี่ยนพารามิเตอร์เดียว เป็นวิธีที่โง่มาก
      ถึงอย่างนั้น Ollama ก็มีหลายอย่างที่ทำได้ดี และทำให้เริ่มต้นใช้งานได้ง่าย ส่วน vLLM, SGLang, Mistral.rs, llama.cpp ต้องทำงานตั้งค่าเยอะกว่ามาก
    • โดยปกติช่วงแรกจะใช้ค่าเริ่มต้นก่อน และถ้าเป็นโมเดลที่จะใช้ต่อเนื่องก็จะใช้ Modelfile น่าจะ dump Modelfile ที่ Ollama ใช้ออกมาแล้วใช้เป็นเทมเพลตได้ด้วย
  • เห็นในการ benchmark ตัดโมเดลระดับบนอย่าง O3, Gemini Pro, Claude 3.7 ซึ่งตอนนี้ทำผลงานดีที่สุดในการประเมินหลายรายการออกไปแล้วก็แอบขำ

    • โมเดลเหล่านั้นใหญ่กว่ามาก ๆ และเป็น โมเดลปิด ผู้ให้บริการเหล่านั้นก็ไม่ได้ระบุและเปิดเผยเวอร์ชัน distilled ไว้ด้วย
      ต้องดูด้วยว่าคู่เทียบส่วนใหญ่เป็นโมเดล 7B ข้อยกเว้นคือ Qwen-2.5-32B-RL-Zero ซึ่งเป็นโมเดล open weights และ MiMo-7B ยังทำได้ดีกว่าโมเดล 32B parameters ด้วยซ้ำ
    • ผมคิดว่าเป้าหมายตรงนี้คือการเทียบกับโมเดลที่คล้ายกันซึ่งถูกปรับให้เหมาะกับการรันแบบออฟไลน์หรือบน ฮาร์ดแวร์มือถือ
  • MiMo-7B อ้างว่าเทรนโมเดล 7B ตั้งแต่ต้นจนแซงโมเดลที่ใหญ่กว่าอย่าง Qwen-32B และทำผลงานใน benchmark ด้านคณิตศาสตร์กับโค้ดได้พอ ๆ กับ OpenAI o1-mini สงสัยว่านี่เป็นสัญญาณว่า pretraining + การปรับแต่งด้วย RLHF เริ่มเอาชนะพลังของสเกลได้แล้วจริง ๆ หรือเป็นแค่การเก่งขึ้นในการ benchmark ความสามารถเฉพาะด้านแคบ ๆ เท่านั้น

    • สงสัยว่าเป็น Qwen 3 หรือ 2.5
  • ใน README ไม่ได้ระบุว่าเป็น reinforcement learning แบบไหน แค่เขียนว่า RL เฉย ๆ เข้าใจว่านักวิจัยยุ่ง และการเขียนให้ดีต้องใช้เวลา แต่รายละเอียดแบบนี้ไม่อยากให้ตกหล่น

    • ในรายงานทางเทคนิคมีการลงลึกค่อนข้างมากเกี่ยวกับวิธีใช้ reinforcement learning เช่น GRPO objective function ที่ปรับแก้แล้ว ถ้าพูดถึง README ผมคิดว่าคนส่วนใหญ่ที่ทำงานในสายนี้เข้าใจว่า “RL” ในบริบทของโมเดล reasoning หมายถึงอะไร
    • ผมมองว่า “RL” หมายถึง reinforcement learning และแม้จะเรียน AI ในมหาวิทยาลัยมาประมาณ 10 ปีแล้ว ก็คิดว่าการเขียนแค่ RL นั้นสมเหตุสมผลพอแล้ว สงสัยว่าต้องการความเฉพาะเจาะจงระดับว่าใช้ Q-Learning หรืออัลกอริทึมอื่น ๆ หรือเปล่า
  • สงสัยว่าจะใช้โมเดลนี้ใน AI assistant ของโทรศัพท์ Xiaomi 15 series หรือไม่ ดูแล้วน่าจะมีความเป็นไปได้สูง แต่ก็ยังไม่แน่ใจว่าจะได้ผลลัพธ์แบบไหน

  • ยากจะเชื่อว่าโมเดล 7B จะทำ ตัวเลข benchmark แบบนี้ได้

    • ประสิทธิภาพของโมเดลขนาดเล็กค่อย ๆ ดีขึ้นเรื่อย ๆ ไม่ได้แซงโมเดลหลักของบริษัทใหญ่แบบรวดเดียว จึงไม่ได้ขึ้นพาดหัวข่าว แต่ทุกตัวก็เก่งขึ้นพอสมควรแล้ว
      ไม่นานมานี้ผมลองโหลดโมเดล 12B แบบสุ่มตัวหนึ่งใน Ollama แล้วเมื่อคิดถึงเครื่องที่ใช้อยู่ ก็แปลกใจว่ามันทำได้ดีและเร็วมาก เมื่อประมาณ 1 ปีก่อนคงไม่เป็นแบบนี้
    • ถ้าตัวเลขนี้ดูไม่สมจริง ควรดูตัวเลข benchmark ของ qwen3-4B
      https://qwenlm.github.io/blog/qwen3/
    • เดาว่าน่าจะ overfit กับชุดทดสอบ
    • LLM ทั้งหมดแทบจะถูกเทรนด้วย benchmark อยู่แล้ว ดังนั้นคำว่า “benchmark” เมื่อนำมาใช้กับ LLM จึงค่อนข้างไร้ความหมาย
    • โมเดลที่ดีที่สุดของวันนี้จะกลายเป็นโมเดลที่แย่ลงเรื่อย ๆ ไปตลอดชีวิตที่เหลือ