By Arnon Puitrakul - 29 พฤศจิกายน 2024
จาก Part ที่แล้วเราเล่าไปส่วนหนึ่งแล้ว แต่ยังขาดประเด็นสำคัญนั่นคือ Performance ของ M4 Max ว่า มันเข้ามาเปลี่ยนแปลงการทำงาน หรือทำให้การทำงานของเราเร็วขึ้นได้อย่างไร วันนี้จะเน้น Benchmark และพยายามมาหาสาเหตุกันว่า ทำไมมันถึงเป็นแบบนั้นกัน
อย่างที่ได้บอกไปว่า Macbook Pro รุ่นนี้มาพร้อมกับ SoC ตัวใหม่ล่า อย่าง M4 Series โดยมีให้เลือกตั้งแต่ M4, M4 Pro และ M4 Max ซึ่งจะเหมาะกับการทำงานที่แตกต่างกันไป เราเคยทำคลิปเล่าไปหมดแล้วว่า ตัวไหนเหมาะกับใครอะไรยังไง ก็ลองไปดูได้ในคลิป เราขอเล่า Feature ที่ถูกใส่เข้ามาใน M4 Series ที่น่าสนใจกันดีกว่า
อย่างแรกคือ Neural Engine หรือ NPU ของฝั่ง Apple ใน M4 Series ทุกตัว เขามาพร้อมกับ Neural Engine ทั้งหมด 16-Core ด้วยกัน โดย Apple เคลมว่า มันเร็วกว่า Neural Engine ที่อยู่ใน M1 Series ถึง 3 เท่าตัวเลยทีเดียว ทำให้เราสามารถที่จะใช้งาน Application ที่ใช้พวก Neural Network ได้รวดเร็วมากขึ้น เช่น Aperty
และอีกอย่างคือ การรองรับ Thunderbolt 5 สำหรับ M4 Pro และ M4 Max ทำให้เราสามารถถ่ายโอนข้อมูลได้เร็วขึ้นกว่าเดิมถึง 3 เท่าตัว จากเดิม 40 Gbps กลายเป็น 120 Gbps นั่นแปลว่า เราสามารถต่อพ่วงอุปกรณ์ที่มีความเร็วสูงขึ้นมากกว่าเดิมได้ เช่นการเชื่อมต่อกับ External SSD หรือกระทั่งการเชื่อมต่อหน้าจอความละเอียดสูงได้อีก
แต่สิ่งที่ เราคิดว่า มันโดดเด่นที่สุดคือ มันเป็น SoC ที่ใช้สถาปัตยกรรมแบบ 3nm ใน TSMC 2nd Generation ที่ให้ประสิทธิภาพสูงกว่ารุ่นก่อน ๆ อยู่พอสมควรเลย จริง ๆ เราเรียกว่า มันคือ TSMC 3nm ที่สมบูรณ์เลยก็ว่าได้ เพราะใน 1st Generation ที่อยู่บน M3 มันทำออกมาได้ไม่ค่อยคุ้มค่ากับการย่อส่วนลงไปเป็น 3nm เท่าไหร่ ทำให้ Performance ของ Chip รุ่นใหม่นี้น่าสนใจมาก ๆ เลยทีเดียว
เพื่อให้เราเห็นภาพมากขึ้น เรามาลองทำการทดสอบกัน โดยที่เราจะเน้นไปที่การบอกเล่าประสบการณ์ผ่าน Workflow การทำงานของเรา จาก M1 Max สู่ M4 Max และเอา M4 Pro มาเปรียบเทียบด้วย เผื่อใครที่เคยถือ M1 Max แล้วรู้สึกว่า เออ มันแรงเกินไป อยากจะ Scale Down ลงมา จะได้สามารถตัดสินใจได้ง่ายขึ้น
ขอเริ่มจากเบ ๆ ก่อนอย่าง Geekbench 6 เทสฝั่ง Single Thread Performance โดยเราจะเห็นว่า M4 Pro และ M4 Max มีคะแนนที่ใกล้เคียงกันมาก ๆ นั่นเป็นเพราะ Core ของทั้งสองตัวนี้จริง ๆ ไส้ในเหมือนกันทุกอย่าง แม้แต่ Clock Speed ที่ 4.5 GHz เทียบกับ M1 Max ที่ Clock Speed อยู่ที่ 3.2 GHz เท่านั้น แต่ส่วนต่างนี้ ไม่ได้เกิดจากเพียงแค่ความต่างของ Clock Speed เท่านั้น แต่เราคิดว่า ยังอยู่ที่การ Optimise ไส้ข้างให้ ไม่งั้นมันไม่น่าจะแตกต่างกันได้ขนาดนี้
สิ่งที่น่าสนุกอยู่ตรงนี้คือฝั่ง Multithreading ที่พยายามใช้ทุก Core ในการทำงาน โดยเราจะเห็นได้เลยว่า M4 Pro และ M4 Max น้องเขาจะมีความแตกต่างกัน เป็นเพราะจำนวน CPU Core Configuration ที่แตกต่างกัน โดย M4 Pro เขามี 4E + 10P และ M4 Max มี 4E + 12P หรือก็คือ M4 Max มี Performance Core เพิ่มมาอีก 2 ทำให้คะแนนที่เพิ่มขึ้นมา 12% กว่า ๆ นั้นคือผลของการเพิ่ม Performance Core เข้าไป แต่เรื่องที่น่าตื่นเต้นคือ คะแนนของ M4 Max สูงกว่า M1 Max ไป 103.73% หรือพูดง่าย ๆ คือ เก่งกว่าเท่าตัวนิด ๆ เลยทีเดียว ส่วนหนึ่งต้องยกให้ Performance Per Core ที่ดีขึ้นอย่างเห็นได้ชัดจากการทดสอบ Single Thread Performance แต่สิ่งที่ทำให้แตกต่างกันอย่างชัดเจนได้ขนาดนี้คือ Core Configuration ของ M1 Max คือ 2E + 8P เท่ากับว่ามีจำนวน Core รวมน้อยกว่า M4 Max ถึง 6 Core เลยทีเดียว ทำให้ Multi-Thread Performance มันต่างกันได้ราวฟ้ากับเหวขนาดนี้ เราคิดว่า ใครที่ใช้ Multithread ได้เยอะ ๆ น่าจะเห็นผลแบบสุด ๆ ไปเลยละ
มาที่ฝั่ง GPU จาก Geekbench กันบ้าง เทียบ M4 Pro และ Max มันห่างกัน 3.31% เท่านั้น แต่จำนวน M4 Pro มี 20 Core และ M4 Max มี 40 Core ทำให้เราคิดว่า มันแปลก ๆ หรือไม่ ถ้าเราลองคิดขำ ๆ Performance มันน่าจะเป็น 2 เท่าเลยสิ ไหงได้แค่นี้ เราเลยทำการทดสอบซ้ำอยู่หลายรอบ ก็ได้แถว ๆ นี้หมดเลย เราเดาว่า มันน่าจะเป็นเพราะ ในแต่ละการทดสอบของ Geekbench มันเล็กเกินไป จนไม่สามารถ Utilise GPU ได้ทั้งหมดทุกรอบ เลยทำให้ผลที่ได้มันใกล้ ๆ กันมาก ๆ แต่ถ้าเทียบกับ M1 Max มันดีขึ้นมา 54.50% ซึ่งถือว่าดีมาก ๆ สำหรับงานที่มีขนาดเล็กแบบนี้
อีกการทดสอบที่ งง ไม่แพ้กันคือ การทดสอบ GPU จากฝั่ง Geekbench แต่เป็นการใช้ OpenCL แทน สำหรับบาง Application ที่เขายังเขียนด้วย OpenCL โดยผลที่ได้ เราแอบ งง มาก ๆ เราทดสอบซ้ำหลาย ๆ รอบ เราก็ยังได้ผลคล้าย ๆ แบบนี้อยู่ดี ส่วนสาเหตุคืออะไร เราก็ไม่แน่ใจเหมือนกัน แต่มันผิดกับผลอื่น ๆ ดูมั่วไปหมดเลย
เพื่อความมั่นใจว่ามันไปในทิศทางเดียวกัน เราจึงใช้อีกโปรแกรมในการ Benchmark อย่าง Cinebench โดยผลที่ออกมาฝั่ง Single Thread ให้ผลคล้ายกับฝั่ง Geekbench เลยคือ M4 Pro และ M4 Max จะให้ผลที่ใกล้เคียงกันมาก ๆ เพราะมันใช้ Clock Speed เท่ากัน และ GPU Core เดียวกันทั้งหมดเลยนั่นเอง ส่วน M1 Max เก่าแล้วก็ช้าไป เพราะอย่างที่บอกทั้ง Clock Speed และ ประสิทธิภาพของ Core ที่สู้รุ่นใหม่กว่าหลาย Generation ก็ไม่ไหวเหมือนกัน
ในฝั่ง Multithread ก็ยังคงไปในทางเดียวกันกับ Geekbench คือ M4 Max เร็วกว่า M4 Pro และ M1 Max 13.26% และ 138.52% ตามลำดับ หรือก็คือ M4 Pro จะห่างไม่เยอะมาก เพราะจำนวน Core ที่งอกขึ้นมา แต่เจอกับ M1 Max ที่ทั้งจำนวน Core ที่อยู่ห่างกันเยอะมาก ๆ แล้ว ประสิทธิภาพต่อ Core ก็น้อยกว่าเห็น ๆ ดูจาก Single Thread Performance ได้
และสุดท้ายจาก Cinebench R24 คือ GPU เราคิดว่าผล Benchmark ตรงนี้ดูค่อนข้างตรงไปตรงมามาก ๆ แล้วนะ แทบจะเรียกได้ว่า ห่างกันอย่างละเท่าตัว โดย M4 Pro จะห่างจาก M4 ไป 102.16% หรือก็คือเท่าตัวนิด ๆ อันนี้เราว่าเข้าใจได้นะ เพราะจำนวน GPU Core เราห่างกันเท่าตัวคือ 20 สำหรับ M4 Pro และ 40 สำหรับ M4 Max
แต่เรื่องที่น่าสนใจคือ M1 Max มี 32-Core GPU หรือก็คือมากกว่า M4 Pro อยู่ 12 Cores ด้วยกัน แต่ไหง M4 Pro กลับทำคะแนนได้ดีกว่า M1 Max ถึง 104.94% เราเดาว่า ส่วนหนึ่งน่าจะเป็นเพราะประสิทธิภาพของ GPU Core ที่ได้รับการพัฒนาอย่างก้าวกระโดดมาก ๆ กับเราไม่แน่ใจว่า Clock Speed มันต่างกันมากน้อยขนาดไหน ไม่เคยเข้าไปดู Clock Speed ของ Apple Silicon GPU ดังนั้น ถ้าเราจะเอา M4 Pro มาแทน M1 Max สำหรับการทำงาน Graphic เราก็ยังมองว่า มันเป็นตัวเลือกที่ไม่เลวเลย ราคาก็ถูกลง แต่ได้ Performance เพิ่มขึ้นอีกเท่าตัวนิด ๆ
และอีกส่วนที่สำคัญมาก ๆ ในเครื่องคอมพิวเตอร์สมัยนี้ที่หลาย ๆ คนให้ความสำคัญคือ NPU (Neural Processing Unit) สำหรับการคำนวณงานทาง AI ผลค่อนข้างตรงกับที่ Apple เคลมจริง ๆ ว่า Neural Engine บน M4 Series เร็วกว่า M1 Series ถึง 3 เท่า ซึ่งพอคำนวณคะแนนที่ได้ออกมา ก็คือ 2.98 เท่าเลยละ ตอน M1 Max ก็คิดว่ามันเป็นพระเจ้าแห่งความเร็วแล้วนะ แต่ไอ้นี่คือ Next Level เลย ถือว่า น่าตกใจมาก ๆ สำหรับ Performance ของมัน
มาที่ฝั่งของ Disk กันบ้าง ทั้ง 3 เครื่องนี้มีขนาดของ SSD ที่แตกต่างกันอย่างชัดเจน เรียงตั้งแต่ 512 GB บน M1 Max, 1 TB บน M4 Max และ 2 TB บน M4 Pro โดยยิ่งความจุสูงมากเท่าไหร่ ก็มักจะได้ความเร็วที่มากขึ้นเรื่อย ๆ ผลของการอ่านดันผิดคาดเฉยเลย กลายเป็นว่า เครื่อง M4 Max ที่ควรจะเร็วเป็นอันดับ 2 ไหงโดน M1 Max แซงไปเฉยเลยละ เราเดาว่า น่าจะเป็นเพราะคุณภาพของ NAND Flash ที่ Apple พยายามลดคุณภาพของมันมาในหลาย ๆ รุ่นแล้ว จนมารุ่นนี้เห็นว่าเขาพยายามปรับคุณภาพแล้วนะ แต่มันก็ยังสู้ตัวที่ใส่มากับ M1 Max ไม่ได้อะสิ
ฝั่งของการเขียนสิ ที่มันเป็นแบบที่ควรจะเป็น คือ ใน M4 Series ทั้งหมด การเขียนเร็วกว่ากันแบบเท่าตัวเลย และ M4 Pro ที่มีความจุใหญ่สุดก็ทำความเร็วได้เร็วที่สุด แต่ Takeaway ของเรื่องนี้ เราคิดว่า อยู่ที่ถ้าใครกำลังลังเลที่จะกด 1 TB หรือ 2 TB เพราะจะเอา Performance เราคิดว่ามันไม่ได้ต่างกันขนาดที่เราจำเป็นต้องบวกเงินขึ้นไป เหมือนรุ่นก่อน ๆ ที่พอ 512 GB ได้ NAND Chip อันเดียว แต่พอขยับขึ้นไปได้ 2 ตัว และ Performance อีกเท่าตัวอะไรแบบนั้น
มาเริ่มกับงานที่เราคิดว่า คนที่รีวิวมักจะเอามาเล่ากันเยอะก่อนนั่นคือฝั่งงานสร้างสรรค์ Content โดยเราจะเน้นไปที่การทดสอบ Workflow ของเราอย่าง การ Render Video และการ Export รูปภาพต่าง ๆ
เริ่มจากฝั่งการ Render Video ที่อยู่ในช่องของเรากันก่อน ปกติ เราจะใช้ไฟล์จากกล้อง Sony A7IV ถ่ายใช้ ความละเอียด 4K กับ S-Log3 ทำให้เวลาเราเอามาใช้งานจริง เราจะต้องใส่ LUT เพื่อแปลงกับไปเป็น Rec.709 ซะก่อน แล้วค่อยทำ Colour Grading ผลที่ได้ออกมาน่าประทับใจสำหรับเรามาก ๆ เพราะ M4 Max ทำให้เราสามารถ Render ได้เร็วขึ้น จาก 12 นาที หรือเพียง 4 นาทีครึ่งเท่านั้นเอง หรือก็ถือ 3 เท่าจากของเดิมเลย แต่ถ้าเราลองดูเทียบระหว่าง M4 Pro และ M4 Max จะเห็นว่ามันต่างกันนิดเดียวเอง ทั้ง ๆ ที่ GPU มันห่างกันเท่าตัว นั่นเป็นเพราะงานที่เราทำมันไม่ได้ใช้งาน GPU ในการสร้าง Frame หนักขนาดนั้น มันไปตันที่การ Encode Video หลังจากนั้น ซึ่งเป็นหน้าที่ของ Media Engine ซะมากกว่าเลยทำให้เราไม่เห็นความแตกต่างกันอย่างชัดเจน
หนึ่งใน Feature ที่เราพยายามใช้มาโดยตลอดคือ Noise Reduction ซึ่งมันเป็นงานที่กินเครื่องหนักมาก ๆ จนทำให้ถ้าเราใส่เข้าไป มันจะไม่สามารถเล่นแบบ Realtime โดยไม่ Pre-Render มาก่อนได้เลย จนตอนนี้ M4 Max ก็ไม่ได้เหมือนกัน แต่ปัญหาใหญ่คือ เวลาในการ Render ที่นานมาก ๆ เมื่อเราใส่ Noise Reduction เข้าไป แต่จากผลที่เห็นด้านบน มันไม่เป็นแบบนั้นแล้ว แถมยังทำให้อยู่ในจุดที่ Render ได้เร็วกว่าเวลาของคลิปได้ซะอีก มันทำให้เราสามารถทำ Workflow ที่เราเคยทำไม่ได้ให้ทำได้ในเวลาที่เรารับได้สบาย ๆ
เราคิดว่าทั้งสองการทดสอบ เป็นตัวอย่างที่ดีสำหรับคนที่กำลังลังเลระหว่าง M4 Pro และ M4 Max สำหรับเอามาตัดวีดีโอ มันทำให้เราเห็นว่า การที่เครื่องเรามี GPU เยอะ มันไม่ได้แปลว่า เราจะสามารถ Render Video ได้เร็วขึ้นเยอะเท่าไหร่ ทำให้การเลือก M4 Pro สำหรับการตัดวีดีโอที่ Sequence ไม่ซับซ้อนจึงดูเป็นตัวเลือกที่สมเหตุสมผลมากกว่า
มาที่ฝั่งภาพนิ่งกันบ้าง เป็น RAW File จากกล้อง Nikon D5300 ที่เอาเข้ามา Develop บน Lightroom Classic โดยชุดตัวอย่างภาพนี้มีการทำ Adjustment แบบธรรมดาทั้งหมดแต่ไม่มีการทำ Masking และ Correction ใด ๆ ทั้งสิ้น และเพื่อความมั่นใจว่า เครื่องจะ Feed ข้อมูลได้ทัน เราย้ายไฟล์ภาพทั้งหมดใส่ Internal SSD แล้วจึงค่อยทำการทดสอบ จากผลการทดสอบ เราเห็นได้ว่า M4 Max กิน M1 Max แบบขาดลอย จาก 11 นาที 43 วินาทีบน M1 Max เหลือแค่ 1 นาที 6 วินาทีบน M4 Max เรียกได้ว่า มันกินกันแบบไม่เห็นฝุ่นน๊อครอบไปไกลมาก ๆ อย่างไม่น่าเชื่อ
เราเดาว่า ที่มันออกเป็นแบบนี้เพราะ เวลาเรา Export ภาพจาก Lightroom ส่วนใหญ่มันจะพึ่งพาการทำงานของ CPU เป็นหลัก เราเห็นได้จากเวลาเรากด Export ฝั่ง CPU Utilisation มันจะเด้งขึ้น ๆ ลง ๆ ก็คือ มันดัน CPU ทุก Core จนภาพนึง Render เสร็จ มันก็จะตก แล้วไปภาพต่อไปวนแบบนี้ไปเรื่อย ๆ จนจบ เลยทำให้ M4 Max ที่ได้เรื่อง Multithread Performance ดีกว่า M1 Max ชนะไปแบบขาดลอยไปเลย
เพื่อให้เราได้เห็นประสิทธิภาพของ GPU เพิ่มขึ้นอีกหน่อย เรามาลองภาพอีกชุด เป็น RAW File จาก Sony A7IV แต่มันเป็นภาพที่การ Develop เราใส่ AI Masking แบบบึ้ม ๆ พร้อมกับ Correction จำนวนเยอะมาก ๆ ซึ่งมันกินพลัง GPU เพิ่มเข้ามา ทำให้ในการ Export นี้ เราจะได้เห็นการทำงานทั้ง GPU และ CPU เลยทำให้ความแตกต่างของ M1 Max เทียบกับ M4 Max มันเลยไม่ต่างราวฟ้ากับเหวเท่ากับการทดสอบก่อนหน้านี้
โดยรวมผลการทดสอบ Content Creation Workflow ที่เราใช้งาน ทำให้เราเห็นว่า การเปลี่ยนจาก M1 Max มาใช้ M4 Max ทำให้เราล่นเวลาในการทำงานได้จริงอย่างน้อยเท่าตัว ทำให้เรามีเวลาไปทำอย่างอื่นได้อีกเยอะมาก ๆ อย่างไม่น่าเชื่อ โดยเฉพาะงานฝั่งการถ่ายภาพที่เร็วกว่าเดิมจนน่ากลัว จนเราต้องทดสอบอยู่หลายรอบว่า มันเรื่องจริงหรือเค้กกันแน่ อีกประเด็นที่สำคัญคือ ความแตกต่างระหว่าง M4 Pro และ M4 Max มันไม่ได้เยอะมากมายขนาดนั้น เราคิดว่าเป็นเพราะ งานที่เราทำตรงนี้มันไม่ได้ Utilise GPU ได้มากเท่าไหร่ หากงานใครที่มีความซับซ้อนมากกว่านี้ เช่นการใส่ Composite ใน Video แน่น ๆ หรือ VFX แบบจัดเต็ม เราคิดว่า น่าจะได้เห็นความแตกต่างมากกว่านี้มาก ๆ ถึงมากที่สุด ดังนั้น หากงานที่เราทำมันไม่ได้หนักพอ เราก็คิดว่า การใช้งาน M4 Pro มันเพียงพอแล้ว ไม่ต้องไป M4 Max ก็ได้
มาในฝั่งของ Software Development พูดตรง ๆ ว่าเราไม่ค่อยมี Software ที่ใหญ่ขนาดต้องใช้เวลาในการ Compile นาน ๆ หรือเรียกใช้งาน CPU หนัก ๆ พร้อม ๆ กันตลอดเวลา เราเลยขอหยิบยก Library ที่เราใช้งานบ่อย ๆ อย่าง OpenCV มา Compile ละกัน
จากผลการทดลอง เราจะเห็นว่า M4 Pro และ Max มีความแตกต่างกันน้อยมาก ๆ เรากำลังพูดถึง 29.14 กับ 29.94 วินาที เท่านั้นเองสำหรับ M4 Max และ M4 Pro ตามลำดับ แต่เมื่อเทียบกับ M1 Max ที่ใช้เวลา 38.88 วินาที ถึงมันจะดูน้อยนิด แต่ว่า ถ้าเราคิดความต่างมันต่างกันถึง 33% กว่าเลยทีเดียว ดังนั้น ถ้าโปรแกรมเรามีขนาดใหญ่กว่านี้ และต้อง Compile ทุกวัน เราก็คิดว่า เป็นตัวเลือกที่น่าสนใจที่จะ Upgrade มาใช้ M4 Series แต่ไม่แนะนำให้ไป M4 Max เท่าไหร่ เพราะเราจะไม่ได้ผลอะไรจากการจ่ายเงินเพิ่มขึ้นไปเอา M4 Max เลย
มาที่งานอีกงานที่เราใช้เครื่องหนักมาก คืองานทางฝั่ง Bioinformatics โดยเราจะเน้นไปที่งานด้าน Genomics เป็นหลักตั้งแต่การทำ Base Calling, Assembly และ Downstream Analysis ต่าง ๆ อีกมากมาย
งานแรก เราเอางานที่เราทำเยอะที่สุดอย่างการทำ Assembly ของ Human Whole Genome โดยที่เราใช้ข้อมูลจาก Han Chinese High Coverage Genome สำหรับคนที่อาจจะไม่ได้คุ้นเคยกับงานประเภทนี้ คือเวลาเราทำ DNA Sequencing ออกมา เราจะได้ข้อมูล DNA ออกมาเป็นเส้นสั้น ๆ การทำ Assembly คือการที่เอาเส้นสั้น ๆ มาต่อกันจนเป็นเส้นยาวเหมือนต้นฉบับ โดยใช้ Reference Sequence คิดภาพง่าย ๆ เหมือน เราต่อจิ๊กซอว์ แค่จำนวนเยอะมาก ๆ แค่นั้นเอง ทำให้งานนี้อาศัยการพลังการประมวลผล CPU ล้วน ๆ เลยละ โดยบางส่วนมันใช้ Single Thread และบางส่วนมันใช้ Multithread จากผลการทดลอง เราจะเห็นได้ว่าM1 Max และ M4 Max ใช้เวลาต่างกันประมาณ 1 ชั่วโมงได้เลย เรียกว่าหายกันไปเกือบ ๆ ครึ่งได้เลย ถือว่าเป็นอะไรที่ดีมาก ๆ
อีกงานที่เราทำบ่อยไม่แพ้กันคือ Multiple Sequence Alignment (MSA) หรือก็คือ เราเอา Sequence มากกว่า 1 ตัวมา Align หรือพูดง่าย ๆ คือ เราเอามันมาวางทาบกัน เพื่อทำให้เราเห็นความแตกต่างของ Sequence มันเป็นขั้นตอนหนึ่งในการศึกษาว่า แต่ละตัวอย่างที่เราได้มามันมีความแตกต่างกันอย่างไร ตัวอย่างนี้เราหยิบ Sequence ของ COVID-19 ขึ้นมาทั้งหมด 5 ตัวอย่างเอามา Align ร่วมกันด้วย MAFFT โดยมันใช้ทั้ง Single Thread และ Multithread ผสม ๆ กัน ผลที่ได้ออกมา แอบไม่ประทับใจเท่าไหร่ มันเร็วกว่าเดิมจริงนะ แต่เทียบกับ Benchmark อื่น ๆ มันไม่ได้ต่างกันเยอะขนาดนั้นแฮะ
แต่งานสุดท้ายที่เราแปลกใจมาก ๆ และคิดว่าน่าจะเป็นความผิดพลาดคือ การทำ Phylogenetics ถ้าให้เห็นภาพมันคือการสร้างแผนภูมิต้นไม้เพื่อบอกความสัมพันธ์ทางวิวัฒนาการของ Sequence แต่ละตัวที่เราใส่เข้าไป มันคือวิธีการที่ทำให้เรารู้ว่า COVID มีกี่สายพันธ์ุ และสายพันธุ์ที่เจอมันคือตัวไหนเลยละ มันเป็นหนึ่งในเครื่องมือที่เราสามารถเอามาใช้ในการศึกษาระบาดวิทยาได้ด้วยละ แค่ว่าในความเป็นจริง เราจะไม่ได้สร้างจากแค่ 5 Sample แต่เราเล่นกันหลายพัน Sample เลย ซึ่งต้องใช้เครื่องหนักกว่านี้มาก ๆ
แต่สิ่งที่ทำให้เราแปลกใจจาก Benchmark นี้คือ เวลาที่ใช้ในการทำงาน โดยโปรแกรมมันใช้ทั้ง Single Thread และ Multithread ผสมกัน ยังไง ๆ M4 Max ควรจะเร็วที่สุด แต่ไหง M4 Pro เร็วกว่า และ M1 Max เรารันจนผ่าน 1 ชั่วโมงครึ่งไปแล้วมันยังรันไม่เสร็จ ก็เลยยอมแพ้ไป ดังนั้น Benchmark นี้ เราคิดว่า ความน่าเชื่อถือต่ำไปหน่อย อย่าเอาไปใช้อ้างอิงเลย
จาก Benchmark ทั้งหมดที่เราได้รันไปนั้น เราจะเห็นได้ว่า มันไม่ใช่ทุกงานที่ Upgrade จาก M1 Max มาเป็น M4 Max แล้วจะเห็นผลชัดเจน มันอยู่ที่ลักษณะ Workload ของงานที่เราทำด้วย โดยเราเริ่มเอา Benchmark ที่ใช้ Synthetic Load เข้ามาเป็นตัวเริ่ม เพื่อทำให้เห็นว่า Raw Performance ในแต่ละด้านมันแตกต่างกันแค่ไหน แล้วค่อยเอา Real-World Workload เข้ามาจับว่า ระหว่างโปรแกรม Benchmark กับโลกแห่งความเป็นจริงมันแตกต่างกันขนาดไหน ทีนี้ ถามว่า แล้ว M4 Max มันเหมาะ หรือไม่เหมาะกับงานไหน
เราคิดว่า มันไม่เหมาะกับ งานที่เน้นใช้งาน CPU เป็นหลัก โดยเฉพาะ Multithread เราคิดว่า การ Upgrade จาก M4 Pro เป็น M4 Max อาจจะไม่ทำให้เราคุ้มค่าการลงทุนมากเท่าไหร่ จากผล Benchmark ที่เรานำเสนอไป งานที่ใช้งาน CPU เป็นหลัก ผลของ M4 Pro และ M4 Max มันต่างกันไม่มากเท่าไหร่ เราคิดว่า น่าจะเอาเงินไปลงกับการเพิ่มขนาด Unified Memory น่าจะทำให้เรามี Headroom ในการทำงานมากกว่าแน่ ๆ อย่างน้อย การใช้งานหนึ่งที่ทำให้เราเห็นผลของการ Upgrade Memory คือ การทำงานบน Lightroom Classic ด้วยไฟล์ภาพความละเอียดสูงอย่างไฟล์จาก Sony A7RV มันกินดุมากจริง ๆ พอเราใช้ 32 GB บนเครื่อง M1 Max ปรากฏว่าทำ ๆ ไปมันช้า เป็นเพราะ Unified Memory มันเต็ม จนต้องไปเรียก Paging แต่พอมาใช้บน M4 Max ที่มี 64 GB Unified Memory มันต่างกันมาก ๆ เพราะ Memory เราเพียงพอ จนไม่ต้องไปยุ่งกับ Paging เลย นี่แหละคือเหตุว่า ทำไมเราถึงแนะนำ M4 Pro มากกว่าในกรณีนี้
แต่กลับกัน หากเราเลือกใช้งาน GPU เป็นหลัก ไม่ว่าจะเป็นการทำ VFX, 3D และ Model Training ทั้งหลาย เราก็ยังคิดว่า การใช้ M4 Max ตอบโจทย์มาก ๆ แต่งานคุณต้องใหญ่มากพอที่จะสามารถ Utilise GPU ได้ทั้งหมด อย่างมีประสิทธิภาพ ตัวอย่างของการใช้งาน GPU สั้นเกินไปคือ Lightroom ที่เรายัด Masking เยอะ ๆ และการ Export Video จาก Final Cut Pro X งานที่เราคิดว่า มันใหญ่มากพอแบบไม่ต้องคิดเลยคือ งาน Train Model เราแอบลองทำขำ ๆ (ไม่ได้เก็บผลมานะ) เวลาที่ใช้ในการ Train ห่างกันเท่าตัว ตามจำนวน GPU Core ที่ต่างกันครึ่ง ๆ ได้เลยละ ค่อยคุ้มค่ากับการเพิ่มเงินขึ้นไปหน่อย
เราขอพูดในมุมที่เราใช้ Macbook Pro M1 Max มา แล้วเปลี่ยนมาใช้ M4 Max Macbook Pro เรารู้สึกว่า มันเป็น M-Series Macbook ตัวแรกที่คุ้มค่าในการเปลี่ยนตัวต่อไปจาก M1 มันได้ Performance เพิ่มขึ้นมาเยอะมาก ๆ อย่างไม่น่าเชื่อ โดยกินไฟน้อยลง และเย็นกว่าเดิมมาก ๆ จากการย่อส่วน ใช้สถาปัตยกรรมแบบ 3nm และการพัฒนาเทคโนโลยีการประมวลผลที่ดีขึ้นกว่าเดิมมาก ๆ มันไม่ใช่แค่การทำให้งานที่ทำได้อยู่แล้วเร็วขึ้นเท่านั้น แต่เชื่อมั้ยว่า มันทำให้เราสามารถทำงานที่เป็นไปไม่ได้บนเครื่องเดิม ให้เป็นไปได้บนเครื่องใหม่ด้วย โดยเฉพาะงานทางด้าน Bioinformatics ที่เราทำ อย่างการทำ Rapid Diagnoistics ที่เราพัฒนาอยู่ SoC ที่เร็วขึ้น ทำให้เราสามารถรัน Pipeline ที่หน้างานได้ทันที ไม่จำเป็นต้องส่งข้อมูลกลับไปที่ Lab เพื่อใช้ Cluster ประมวลผล โอเคแหละ Macbook Pro M4 Max นี้มันอาจจะยังไม่เร็วเท่ากับ Cluster ขนาดใหญ่ แต่ในบางกรณีมันอาจจะเร็วกว่า การที่เราจะต้อง Upload ข้อมูลกลับไปที่ Cluster ผ่าน Internet (หรือบางเคส ข้อมูลใหญ่จริงต้องเอา HDD ส่งไปรษณีย์) หรือนั่งรถกลับไปที่ Lab ที่อาจจะอยู่ข้ามจังหวัด เพราะแบบนี้แหละ มันทำให้เราค่อนข้างตื่นเต้นมาก ๆ เมื่อได้ลองใช้ Macbook Pro M4 Max เครื่องนี้ เป็นขุมพลังที่ทำให้เราสร้างสรรค์งานใหม่ ๆ จากที่ไหนก็ได้ มีอิสระในการทำงานมากขึ้นจริง ๆ
เวลามันผ่านไปเร็วมาก ๆ เรายังจำวันที่ Macbook Pro M1 Max ของเรามาส่งที่บ้านได้อยู่เลยว่า เรารู้สึกตื่นเต้นมาก ๆ เวลาผ่านไป 3 ปี หมดประกันเรียบร้อยแล้ว วันนี้เราจะมาเล่ากันว่า สภาพตอนนี้มันเป็นอย่างไร และยังจะสามารถใช้ได้อีกนานหรือไม่...
ไหน ๆ Apple Watch เข้าเลขสองหลักกันแล้ว มีหรือเราจะพลาด เพื่อเป็นการฉลองก็เลยจัดมาเลยเรือนนึง เป็น Apple Watch เรือนที่ 3 ของเราละ ผ่านมา 10 Series จะมีอะไรใหม่ ใส่แล้วเป็นอย่างไร วันนี้เราจะมารีวิวเล่าให้อ่านกัน...
จาก Part ที่แล้วเราเล่าไปส่วนหนึ่งแล้ว แต่ยังขาดประเด็นสำคัญนั่นคือ Performance ของ M4 Max ว่า มันเข้ามาเปลี่ยนแปลงการทำงาน หรือทำให้การทำงานของเราเร็วขึ้นได้อย่างไร วันนี้จะเน้น Benchmark และพยายามมาหาสาเหตุกันว่า ทำไมมันถึงเป็นแบบนั้นกัน...
หลังจาก Apple Transition ไปสู่ Apple Silicon มาจนถึงจุดที่การเปลี่ยนผ่านเสร็จสิ้น เราก็ไม่ได้รู้สึกตื่นเต้นอะไรกับ Apple Silicon อีกเลย จนกระทั่งตอนที่ M4 ออกนี่แหละ ที่เราคิดว่า มันถึงจุดที่ใช่ละ ฤกษ์มันมาแล้ว ก็จัดเลยสิครับ มาดูกันว่าฤกษ์มันจะตรงอย่างที่เราคิดหรือไม่...