Apple M5 เปลี่ยนอะไร ทำไมถึงทำให้เหลียวมองได้อีกครั้ง
By Arnon Puitrakul - 10 พฤศจิกายน 2025
เมื่อหลายอาทิตย์ก่อน Apple ปล่อย Product ที่ใช้งาน M5 ออกมาแบบเงียบ ๆ ไม่มีแม้แต่ Press Conference ใด ๆ ทั้งสิ้น แต่หลังจากที่เราได้ไปหาข้อมูลถึงเบื้องลึกของมัน ต้องบอกเลยว่า มันเป็นอีกรุ่นที่ทำให้เราเหลียวมองได้อีกครั้งหลังกจาก M1 เลยละ มันจะมีอะไรไป เราจะมาเล่าในบทความนี้กัน
คำเตือน บทความนี้เขียนไปในเชิง Technical สูงมาก ๆ หากใครไม่เคยเรียนกลุ่มวิชาพวก Computer Architecture อาจจะ งง ในบางส่วน แต่เราจะพยายามให้ Keyword สำหรับไปหาเพิ่มเติมให้
Configurations
ในเรื่องของจำนวน Core ต่าง ๆ ไม่ได้รับการเปลี่ยนแปลงอะไรจาก M4 มี CPU ทั้งหมด 10 Core แบ่งเป็น 4 Performance และ 6 Efficiency Core ฝั่งของ GPU มี 10 Core เท่าเดิม และสุดท้าย Neural Engine สำหรับการทำงานทางด้าน AI มี 16 Core เท่าเดิมไม่มีการเปลี่ยนแปลงใด ๆ ความเจ๋งคือ Apple เคลมว่า Multithread Performance แรงกว่า M4 15%
หลาย ๆ คนอาจจะคิดว่า Apple ก็น่าจะทำเหมือนเดิมในช่วง M2 และ M3 คือ การ Boost Clock Speed ขึ้นไป เพื่อให้ Chip แรงขึ้น แลกกับความร้อนและการกินพลังงานที่สูงขึ้นเป็นเงาตามตัว แต่จริง ๆ แล้ว Apple แทบไม่ได้ทำแบบนั้นใน M5 ทั้ง E-Core และ P-Core มี CPU Clock Speed เพิ่มขึ้นจาก M4 เพียงแค่ 0.1 GHz เท่านั้นเอง
อันที่เผ็ดช์ร้อน ที่ทำให้หันมามอง M5 คือ GPU ถึงจำนวน Core จะเท่าเดิม แต่ Apple เคลมว่า มันเร็วกว่า M4 ถึง 30% กับ Ray-Tracing เร็วขึ้นหลัก 45% กับยังได้ Memory Bandwidth เร็วขึ้นอีก 30% เมื่อเทียบกับ M4 กลายเป็น 153 GB/s ไปแล้ว คือถ้าเทียบกับ M1 ตอนนั้นได้ราว ๆ 68 GB/s ห่างกันประมาณ 2 เท่าตัวเลย และทั้งหมดนี้ มี TDP ที่เท่ากับ M4 คือ ฮัลโหลลลลล Generation เดียว พี่เล่น Lift Performance ขนาดนี้เลยเหรอ มันมีความลับอะไรที่ทำให้ Apple ทำแบบนั้นได้
Memory Bandwidth ตัวเร่งที่หลายคนคิดไม่ถึง
ปกติ เวลาเราดู Performance ของ CPU และ GPU เรามักจะไปดูที่ Clock Speed และจำนวน Core กัน แต่ Memory Bandwidth ก็เป็นอีกส่วนที่ส่งผลกระทบโดยตรงถึง Performance ของระบบเยอะมาก ๆ เพราะไม่ว่า CPU และ GPU ของเราจะแรงแค่ไหน แต่ถ้ามันจะต้อง Idle รอข้อมูลจาก Memory นาน ๆ เท่ากับว่า งานที่ควรจะเสร็จ กลับไม่เสร็จ การทำงานก็ช้าลง เพิ่ม Core และ Clock Speed ไปก็ไม่ได้ช่วยอะไรเลย (ไปศึกษาเพิ่มเรื่อง Memory Hierarchy)
เท่าที่ลองไปหาข้อมูลมา ทั้ง M4 และ M5 ใช้ Memory แบบเดียวกันคือ LPDDR5X แต่เดาว่าที่ M5 ได้ Memory Bandwidth ที่สูงกว่า น่าจะอยู่ที่ Bus Speed ของ Memory ที่ Apple เลือกใช้ โดยการไปเลือกตัวที่ค่าสูงกว่า เลยมี Bandwidth สูงมากกว่า และพอมันสูง เวลา CPU หรือส่วนอื่น ๆ เรียก Memory มันก็สามารถส่งผ่านข้อมูลได้จำนวนมากขึ้นในระยะเวลาเท่าเดิม โดยเฉพาะ GPU ที่หลาย ๆ ครั้งต้องเรียกชุดข้อมูลขนาดใหญ่ ๆ หรือ Shader เวลาเราเล่นเกม หรือรันงาน AI (ทั้ง Training และ Inference) มันจะช่วยได้เยอะมาก ๆ
Cache ส่วนผสมลับของ M5
ภายใน CPU มันจะมี หน่วยความจำขนาดเล็ก ๆ ที่เป็นเหมือนถังรองน้ำเอาไว้ เราเรียกว่า Cache ซึ่งมันก็จะไล่ลงไปเรื่อย ๆ ตาม ความเร็ว และ ขนาด จากไกลสุด SLC (System Level Cache), L3, L2 และ L1 ยิ่งใกล้กับชุดสำหรับประมวลผล ก็ต้องยิ่งเร็วขึ้น ราคาแพงขึ้น และขนาดเล็กลงเรื่อย ๆ
Cache ทำหน้าที่เป็นหน่วยความจำให้กับหน่วยประมวลผลต่าง ๆ เพื่อลดการเรียกข้อมูลที่อยู่ในหน่วยความจำลำดับสูงขึ้นไปเช่น RAM ซึ่งมันจะใช้เวลารอนานกว่ามาก ๆ เป็นทริกที่ทำให้หน่วยประมวลผลสามารถโหลดงานได้อย่างต่อเนื่อง วิธีการนี้เป็นวิธีการที่ CPU และหน่วยประมวลผลอื่น ๆ ใช้งานกันอยู่แล้ว
ลองคิดภาพง่าย ๆ ว่า ถ้าเกิดข้อมูลต่อไปที่ CPU ต้องการอยู่ใน Cache อยู่แล้ว CPU สามารถดึงไปใช้งานได้เลย เราเรียกว่า Cache Hit อาจจะใช้เวลาเรียกแค่ 0.01 Picosec แต่ถ้าเกิด ข้อมูลที่ต้องการไม่อยู่ใน Cache เราเรียกว่า Cache Miss มันอาจจะต้องใช้เวลาเรียกข้อมูลจาก RAM มาอาจจะใช้เวลา 1 Picosec หรือถ้าเกิดไม่อยู่ใน RAM อีกต้องโหลดจาก SSD ก็อาจจะต้องใช้เวลามากกว่านั้นหลายสิบเท่าตัว
ดังนั้นยิ่งเราเพิ่มอัตรา Cache Hit ได้มากเท่าไหร่ นั่นแปลว่าระบบของเราจะมีประสิทธิภาพสูงมากขึ้นได้เท่านั้น เพราะ หน่วยประมวลผลต่าง ๆ สามารถทำงานได้อย่างต่อเนื่อง เหมือนหัวหน้าที่เตรียมงาน และข้อมูลให้ลูกน้องสามารถทำงานได้ต่อเนื่อง งานนึงเสร็จ งานต่อไปเสียบต่อทำงานได้เลย
โดยทั่วไปวิธีการที่จะเพิ่ม Cache Hit Rate ได้ มี 2 วิธีใหญ่ ๆ วิธีแรกคือ ปรับวิธีการคาดเดา คือปกติ เราจะไม่ได้ว่า ถ้า CPU ต้องการแล้วเราถึงจะไปเรียกข้อมูลมา วิธีการนี้โบราณและช้ามาก ๆ ในระบบสมัยใหม่มันจะใส่ Predictor ที่จะคอยเดาอยู่ตลอดว่า ในอนาคต CPU น่าจะต้องการข้อมูลอะไร (อ่านเพิ่มในเรื่อง Memory Prefeching และ Memory Dependence Prediction) แล้วมันจะโหลดมารอล่วงหน้า อีกวิธี กำปั้นทุบดินสุด ๆ คือ การเพิ่มขนาดของ Cache เข้าไปมันซะเลย เหมือนเวลาซื้อหวย ถ้าเราซื้อหลายเลขมากขึ้น เราก็จะมีโอกาสถูกมากขึ้น จาก 1 ในล้าน กลายเป็น 10 ในล้านได้ ถ้าเราซื้อ 10 ใบ
โดย Apple เลือกใช้วิธีที่ 2 เป็นสูตรลับของเตี่ยเลยละ มีการเพิ่ม L2 Cache เข้าไปอยู่มากพอสมควรทำให้ Performance Core ที่แรงอยู่แล้วสามารถทำงานต่อเนื่องได้มากกว่า ส่งผลถึง Performance ที่ดีกว่านั่นเอง ซึ่งวิธีการเพิ่ม Cache แบบนี้ Apple ไม่ได้เป็นตัวเริ่ม ตัวเริ่มจริง ๆ ขอยกให้ AMD ในเทคโนโลยี 3D V-Cache ที่ทำให้ AMD สามารถยัด Cache ได้มหาศาล ผลที่ได้คือ Performance ที่ดีขึ้น ถือว่าเป็นข้อพิสูจน์แล้วว่า การเพิ่ม Cache มันช่วยได้จริง (แต่ไม่ได้แปลว่าจะเป็นแบบนั้นตลอดไปนะ เพิ่มถึงจุดนึง Performance มันจะไม่ขึ้นละ)
นอกจากที่มันจะช่วยเรื่อง Performance ได้แล้ว มันยังช่วยเรื่องการประหยัดพลังงานได้เป็นอย่างดีอีก คือ หากเรา Cache Hit เราไม่จำเป็นต้องย้ายข้อมูล เราอาจจะกินไฟในการโยนจาก Cache ไป CPU หลักหน่วย pJ เท่านั้น แต่ถ้าถ้าเราต้องโหลดข้อมูลจาก Memory ที่อยู่ไกลกว่านั้น เราอาจจะต้องใช้หลักหลายสิบถึงร้อย pJ หรือมากกว่าด้วยซ้ำ นั่นแปลว่า Cache เรายิ่งดี อ่าน Memory ไกล ๆ น้อยลง ก็จะใช้พลังงานน้อยลง ก็จะทำให้เกิดความร้อนน้อยลงเป็นเงาตามตัว
GPU ใหม่รัน AI แรงกว่าเดิม
ฝั่งของ GPU เขามีของเล่นใหม่ 3 อย่างคือ Ray Tracing Accelerator รุ่นที่ 3, Shader Core ใหม่ และตัวที่เด็ดดวงสุด ๆ ในรุ่นนี้คือ Neural Accelerators ที่ยัดอยู่ในทุก GPU Core ของ M5
Neural Accelerators เป็นชุดคำสั่งพิเศษบน GPU ตัวนึงที่ Apple เลือกใส่เข้ามาใน GPU คล้ายกับ Tensor Core บน Nvidia GPU ที่ทำหน้าที่หลัก ๆ ในการทำ Matrix Multiplication เพราะในงานหลาย ๆ อย่าง เช่น AI หรืองาน Graphic เราอาศัยการคูณ Matrix เยอะมาก ๆ อย่าง Kernel-Based Image Processing Techniques และงานทางด้าน AI อย่าง การทำ Model Training และ Inference งานพวกนี้ CPU มันก็ทำได้เหมือนกัน แต่เราก็จะต้องไล่คูณทีละตัวไปเรื่อย ๆ เสียเวลามาก ๆ แต่ถ้าเราใช้ GPU เราอาจะทำได้ทีละหลาย ๆ ตัวพร้อมกัน แต่ละตัวเราอาจจะต้องใช้หลาย ๆ Clock Cycle ในการทำงาน
สิ่งที่ Neural Accelerators เข้ามาช่วย คืองานตรงนี้เลย มันถูกออกแบบมาให้สามารถคูณ Matrix ได้โคตรเร็ว แทนที่ 1 Clock Cycle เราจะคำนวณแค่ตำแหน่งเดียว เจ้านี่มันสามารถทำได้หลัก 4x4 หรือมากกว่านั้นได้เลย นั่นแปลว่า การทำ Matrix Multiplication จะเร็วขึ้นหลายเท่าตัวเลยทีเดียว นอกจากนั้น การที่มันโยนข้อมูลเข้าไปครั้งเดียว ทำทีเดียว มันยังช่วยเรื่องการลด Memory Pressure ให้มี Headroom สำหรับส่วนอื่น ๆ ในการเรียกข้อมูลเพิ่มได้ เพราะแทนที่จะต้องโหลดข้อมูลทีละรอบ เราอัดฉีดเข้าไปในรอบเดียวเลย ทำให้ระหว่างนั้น ถ้า Core อื่นอยากได้ข้อมูล มันก็สามารถดึงได้เต็มความเร็วที่มี ผลที่ได้คือ การทำงานทางด้าน AI หรืองานที่อาศัยการทำ Matrix Multiplication เร็วขึ้นอย่างแน่นอน เรากำลังพูดถึง เร็วขึ้นหลัก 4 เท่าจาก M4
เรามี Neural Engine อยู่แล้ว จะมี Neural Accelerators ไปทำไม
จริง ๆ แล้ว ทั้งสองส่วนนี้ ถูกออกแบบมาให้ทำงานทางด้าน AI กันทั้งหมดเลย แต่สิ่งที่แตกต่างกันคือ เป้าหมายผลลัพธ์ที่มันต้องการ ฝั่ง Neural Engine เขาออกแบบมาให้มันสามารถทำงานเดียว ๆ ได้ จัดการงาน AI Inference ให้ได้ประสิทธิภาพสูงสุด แต่กินพลังงานน้อยที่สุด ซึ่งพอมันอยู่แยกกัน นั่นแปลว่า โปรแกรมที่สามารถเรียกใช้งานได้ จะต้องเขียนออกมาเฉพาะ และยังต้องจัดการ การสื่อสารระหว่าง CPU กับ Neural Engine ด้วยตัวเองอีก ทำให้ Neural Engine มันจะไปเหมาะกับงานที่ทำบ่อย ๆ ทำเยอะ ๆ ทำเป็นเบื้องหลัง เพราะมันกินพลังงานต่ำ แต่ Performance อาจจะยังสู้ฝั่ง Neural Accelerators ไม่ได้
กลับกัน Neural Accelerators เป็นส่วนหนึ่งที่อยู่ใน GPU Core แต่ละตัว ทำหน้าที่เฉพาะทางมาก ๆ คือการทำ Matrix Multiplication โดยเฉพาะ หาก GPU เห็นว่า งานต่อไป มันเป็น Matrix Multiplication มันก็จะไปสั่งเรียกทำงานบน Neural Accelerators ทันที ทำให้ทำงานได้เร็วกว่าเดิมนั่นเอง
ดังนัน ทั้ง Neural Engine และ Neural Accelerators ถึงจะเป็นส่วนที่เกิดมาเพื่อการทำงาน AI เหมือนกัน แต่ทั้งสองส่วนนี้ มีวิธีการใช้งานที่แตกต่างกัน โดยเฉพาะในฝั่งของ Software Developer ที่จะต้องเลือกใช้ให้ถูกว่า เราควรจะเลือกตัวไหนดีกว่ากัน ถึงจะเหมาะกับงานของเรา หากเป็นงานที่ต้องทำเป็นเบื้องหลังเรื่อย ๆ เน้นการประหยัดพลังงานเยอะ ๆ Neural Engine คือคำตอบ แต่ถ้างานไหนต้องการ Performance จริง ๆ ทำแล้วจบไป คิดว่า Neural Accelerators น่าจะเหมาะกว่ากันเยอะ
สรุป
Apple M5 ที่ออกมาใหม่ในปีนี้ เป็นอีกตัวที่เราค่อนข้างสนใจมันมาก ๆ โดยเฉพาะ Neural Accelerator ที่มันเสริมความเป็น Edge Device ได้ดีกว่าเดิมมาก ๆ จากเดิมแค่ว่า ประหยัดพลังงาน ประสิทธิภาพสูง ตอนนี้คือ ถ้าเอามารัน AI ก็ยิ่งโหดเข้าไปใหญ่ คิดภาพว่า ถ้าเอา M5 Mac Mini มาเสียบรัน LLM ทิ้งไว้ละก็ จะเริ่ดมาก ๆ กินไฟก็ต่ำ รันก็เร็วใช้ได้



