BaseRT รันโมเดล AI บน Mac เร็วกว่า llama.cpp สูงสุด 1.56 เท่า โดยไม่ต้องเปลี่ยนโมเดลหรือซื้อเครื่องใหม่
BaseRT คือรันไทม์โอเพนซอร์สสำหรับรันโมเดลภาษาบนเครื่อง Mac ชิป Apple Silicon ที่เขียนให้ทำงานกับ Metal โดยตรงโดยไม่ผ่านเฟรมเวิร์กตัวกลาง ช่วยให้โมเดลเดิมบนเครื่องเดิมทำงานได้เร็วขึ้นจริง แต่ตัวเลขที่เห็นขึ้นอยู่กับว่าวัดกับโมเดลไหนและวัดขั้นตอนไหน

BaseRT เป็นโปรแกรมสำหรับรันโมเดลภาษาบน Mac ช่วยให้โมเดลเดิมบนเครื่องเดิมตอบได้เร็วขึ้น โดยไม่ต้องลดขนาดโมเดลหรือซื้อเครื่องใหม่ เวลารันโมเดลไว้บนโน้ตบุ๊กตัวเองแล้วช้าจนไม่อยากใช้ คนมักโทษอยู่สองอย่าง คือโมเดลใหญ่เกินเครื่องหรือเครื่องแรงไม่พอ สองข้อนี้จริงทั้งคู่ แต่ยังมีตัวแปรที่สามที่แทบไม่มีใครพูดถึง นั่นคือโปรแกรมที่ใช้รันโมเดลจริงๆ
BaseRT รองรับเฉพาะ Mac ที่ใช้ชิป Apple Silicon เท่านั้น ชิปตระกูล M นี้เป็นชิปที่ Apple ทำขึ้นเอง โดย BaseRT ใช้ได้ตั้งแต่ M1 เป็นต้นไป และเครื่องต้องใช้ macOS 14 ขึ้นไป ส่วน Windows และ Linux ยังไม่รองรับ เรื่องนี้ตอบโจทย์คนที่ใช้ Mac อยู่แล้วและเคยรันโมเดล AI ไว้บนเครื่องตัวเองมากที่สุด
ตัวรันโมเดล ชิ้นส่วนที่ไม่โผล่มาบนหน้าจอ

โมเดลที่โหลดมาเก็บไว้ในเครื่องก็คือไฟล์ก้อนหนึ่ง ข้างในมีแต่ตัวเลขน้ำหนักเต็มไปหมด และลำพังตัวไฟล์เองทำอะไรไม่ได้เลย
โปรแกรมที่ทำให้ไฟล์โมเดลทำงานได้เรียกว่ารันไทม์ หรือเรียกสั้นๆ ว่าตัวรัน หน้าที่คืออ่านไฟล์โมเดล แล้วสั่งให้ชิปในเครื่องคำนวณคำตอบออกมาทีละโทเคน โทเคนคือชิ้นส่วนข้อความสั้นๆ ที่โมเดลนับเป็นหนึ่งหน่วย ก่อนจะประกอบกันเป็นคำตอบที่เราเห็นบนหน้าจอ
บน Mac ตัวรันที่คนใช้กันมากคือ llama.cpp กับ MLX ทั้งคู่ทำหน้าที่เดียวกัน คือรับไฟล์โมเดลมารัน แต่เมื่อนำไฟล์เดียวกันไปรันด้วยตัวรันคนละตัว ความเร็วที่ได้ก็ไม่เท่ากัน
แต่ตัวรันเป็นชิ้นส่วนที่ไม่โผล่มาให้เห็นบนหน้าจอ ใครลงแอปสำเร็จรูปมาใช้ก็จะได้ตัวรันติดมาด้วยโดยไม่ได้เลือกเอง คล้ายกับที่เครื่องมือ AI ที่ออกใหม่ทุกวันก็คือ UI ที่ครอบ LLM เอาไว้ ของที่อยู่ข้างในนั่นแหละที่กำหนดว่าเครื่องเราจะเร็วแค่ไหน
BaseRT ทำงานกับ Metal โดยตรงแล้วได้อะไร
Metal คือชุดคำสั่งที่ Apple เปิดให้โปรแกรมคุยกับชิปกราฟิกในเครื่องได้โดยตรง
ตัวรันทั่วไปออกแบบมาให้ทำงานได้หลายระบบ ทั้ง Windows, Linux และ Mac รวมถึงการ์ดจอหลายค่าย ความยืดหยุ่นนี้ต้องแลกกับการมีชั้นตัวกลางคอยแปลคำสั่งให้เข้ากับเครื่องแต่ละแบบ ชั้นเหล่านี้ช่วยให้โค้ดชุดเดียวรันได้ทุกที่ แต่ก็ใช้ทรัพยากรไปกับการแปลและจัดคิวงาน ชิปจึงไม่ได้ใช้กำลังที่มีอยู่เต็มที่
BaseRT ตัดชั้นเหล่านั้นออก แล้วเขียนให้ทำงานกับ Metal โดยตรง โดยไม่พึ่ง MLX, PyTorch, CoreML หรือเฟรมเวิร์กตัวกลางใดๆ ผลที่เห็นได้ชัดมีอยู่สามจุด
จุดแรกคือเคอร์เนล เคอร์เนลคือโปรแกรมชิ้นเล็กที่สั่งงานชิปกราฟิกโดยตรง ทีมผู้พัฒนาเขียนเองด้วยมือทีละตัว แยกเวอร์ชันตามรูปแบบการบีบอัดโมเดล แล้วปรับจูนแยกตามรุ่นชิปตั้งแต่ M1 ถึง M5
จุดที่สองคือระบบไม่ต้องขอหน่วยความจำใหม่ระหว่างพิมพ์คำตอบเลยสักครั้ง พอโหลดโมเดลเสร็จ ระบบจะจองพื้นที่สำหรับข้อมูลทุกก้อนที่ต้องใช้ในการคำนวณไว้รอบเดียว แล้วใช้พื้นที่นั้นซ้ำกับทุกโทเคนที่พิมพ์ออกมา จึงไม่ต้องขอพื้นที่ใหม่แล้วคืนพื้นที่เก่าวนอยู่ทุกรอบ
จุดที่สามคือใช้ค่าตัวเลขที่บีบไว้คำนวณได้ทันที ปกติโมเดลที่บีบให้ไฟล์เล็กลงต้องคลายข้อมูลกลับเป็นตัวเลขความละเอียดเต็มก่อนจึงจะนำไปคูณกันได้ BaseRT ข้ามขั้นตอนนั้นไป ข้อมูลที่ต้องส่งระหว่างหน่วยความจำกับชิปจึงลดลงตามอัตราการบีบ
BaseRT เร็วกว่า llama.cpp เท่าไหร่ และวัดจากอะไร
การตอบหนึ่งครั้งแบ่งเป็นสองช่วง และสองช่วงนี้ใช้กำลังของชิปคนละแบบ ช่วงแรกคืออ่านโจทย์ที่เราพิมพ์เข้าไปทั้งก้อนรวดเดียว ช่วงที่สองคือไล่พิมพ์คำตอบออกมาทีละโทเคน ตัวเลขความเร็วจึงไม่มีความหมายถ้าไม่บอกว่าวัดช่วงไหน
ตัวเลขด้านล่างเป็นผลทดสอบของทีมที่ทำ BaseRT เอง เครื่องที่ใช้คือชิป M4 Pro GPU 16 คอร์ พร้อมหน่วยความจำรวม 24GB การทดสอบวัดความเร็วช่วงพิมพ์คำตอบ โดยให้สร้างคำตอบยาว 128 โทเคน มีหน่วยเป็นโทเคนต่อวินาที ส่วน Q4 กับ Q8 ที่ต่อท้ายชื่อโมเดลคือระดับการบีบข้อมูล ยิ่งตัวเลขน้อย ก็ยิ่งบีบข้อมูลมากและไฟล์ยิ่งเล็ก
| โมเดล | โทเคน/วินาที | เทียบ llama.cpp | เทียบ MLX |
|---|---|---|---|
| Qwen3 0.6B (Q4) | 464.5 | 1.56× | 1.35× |
| Qwen3 0.6B (Q8) | 321.2 | 1.46× | 1.26× |
| Llama 3.2 1B (Q4) | 295.4 | 1.28× | 1.15× |
| Llama 3.2 3B (Q4) | 117.3 | 1.15× | 1.05× |
| Qwen3 30B-A3B (Q4) | 84.1 | 1.04× | 1.01× |
| Gemma 4 26B-A4B (Q4) | 62.2 | 1.07× | 0.90× |
สองแถวล่างเป็นโมเดลแบบ mixture-of-experts ซึ่งแบ่งโมเดลออกเป็นส่วนย่อยหลายส่วน แล้วเลือกใช้เพียงบางส่วนต่อหนึ่งโทเคน โดยไม่ต้องให้ทุกส่วนทำงานพร้อมกัน
ในช่วงอ่านโจทย์ ตัวเลขสูงสุดที่รายงานไว้คือเร็วกว่า llama.cpp 1.81 เท่า และเร็วกว่า MLX 1.78 เท่า ค่านี้วัดด้วย Qwen3-30B-A3B ซึ่งเป็นโมเดลแบบ mixture-of-experts โดยใช้โจทย์ยาว 128 โทเคน ส่วนโมเดลแบบหนาแน่นที่มีขนาดเล็กกว่านั้น ตัวรันทั้งสามทำความเร็วได้พอๆ กันในช่วงนี้ ต่างกันไม่กี่เปอร์เซ็นต์ เพราะงานช่วงอ่านโจทย์ใช้กำลังชิปจนเต็มอยู่แล้ว ไม่ว่าจะใช้ตัวรันไหน
ผลแบบนี้ไม่ได้เกิดกับชิปรุ่นแรงเท่านั้น การทดสอบซ้ำบน M3 รุ่นธรรมดา GPU 8 คอร์ พบว่า BaseRT เร็วกว่า llama.cpp ครบทั้ง 8 ค่าที่ทดสอบ อยู่ในช่วง 1.13 ถึง 1.34 เท่า และเร็วกว่า MLX ครบทั้ง 6 ค่าที่รองรับ อยู่ในช่วง 1.01 ถึง 1.22 เท่า
โมเดลยิ่งใหญ่ ส่วนต่างยิ่งแคบ

ตัวเลขเปรียบเทียบในตารางค่อยๆ ลดลงเมื่อโมเดลใหญ่ขึ้น จาก 1.56 เท่าในโมเดลเล็กสุด เหลือแทบเท่ากันในโมเดลใหญ่ โดยมีอยู่ค่าหนึ่งที่ BaseRT ทำได้ 0.90 เท่าของ MLX
เหตุผลคือจุดที่เป็นคอขวดเปลี่ยนไป โมเดลเล็กมีงานคำนวณต่อหนึ่งโทเคนไม่มาก ต้นทุนคงที่ของระบบ เช่น การส่งงานเข้าชิปแต่ละรอบ จึงกินสัดส่วนมาก เมื่อลดต้นทุนตรงนั้นได้ ส่วนต่างก็เห็นชัดขึ้น แต่เมื่อโมเดลใหญ่ขึ้น งานส่วนใหญ่จะอยู่ที่การส่งค่าน้ำหนักของโมเดลจากหน่วยความจำเข้าชิป ขั้นตอนนี้ติดขีดจำกัดของตัวเครื่อง ตัวรันทุกตัวจึงเจอขีดจำกัดเดียวกัน
แนวทางนี้ใช้กับเครื่องมืออื่นได้ด้วย เวลาเห็นเครื่องมือ AI ตัวไหนโฆษณาว่าเร็วกว่าเจ้าอื่นกี่เท่า มีสี่ข้อที่ช่วยให้อ่านตัวเลขนั้นออก
- วัดกับโมเดลไหน ถ้าเป็นโมเดลเล็กกว่าที่เราใช้จริง ส่วนต่างที่เราจะได้ก็แคบกว่านั้น
- โมเดลขนาดเท่าไหร่ และบีบมาระดับไหน ขนาดกับระดับการบีบเปลี่ยนผลได้ทั้งคู่ อย่างที่เห็นจากค่า Q4 กับ Q8 ของโมเดลตัวเดียวกัน
- วัดช่วงไหน ช่วงอ่านโจทย์กับช่วงพิมพ์คำตอบให้ตัวเลขคนละชุด และงานของเราอาจหนักไปทางใดทางหนึ่ง
- วัดบนเครื่องอะไร ผลบนเครื่องรุ่นท็อปไม่ได้แปลว่าเครื่องรุ่นเริ่มต้นจะได้เท่ากัน
ตัวเลขที่ไม่มีสี่ข้อนี้กำกับไม่ได้แปลว่าโกหก แต่แปลว่ามันยังบอกไม่ได้ว่าจะเกิดอะไรขึ้นกับงานของเรา
ลองเองบน Mac ด้วยสี่คำสั่ง
curl -LsSf https://basecompute.co/install.sh | sh
basert pull Qwen/Qwen3-4B
basert chat Qwen/Qwen3-4B
basert serve Qwen/Qwen3-4B --api-key "$(uuidgen)" --port 8080
บรรทัดแรกติดตั้งเอนจินและคำสั่ง basert เพื่อให้เรียกใช้จากหน้าต่างเทอร์มินัลได้ บรรทัดที่สองดึงโมเดลจากคลังโมเดล AI อย่าง Hugging Face แล้วแปลงเป็นไฟล์รูปแบบของ BaseRT ที่ลงท้ายด้วย .base ส่วนบรรทัดที่สามใช้เปิดคุยกับโมเดลนั้นได้ทันที
บรรทัดสุดท้ายเปลี่ยนเครื่องเราให้เป็นเซิร์ฟเวอร์ที่รับคำสั่งในรูปแบบเดียวกับ API ของ OpenAI แอปหรือสคริปต์ที่เคยเรียก OpenAI อยู่แล้วจึงเปลี่ยนมาชี้ที่เครื่องตัวเองได้ โดยแก้แค่ที่อยู่ปลายทางกับคีย์ นอกจากแชทแล้ว เซิร์ฟเวอร์ตัวนี้ยังแปลงข้อความเป็นชุดตัวเลข ถอดเสียงเป็นข้อความ และเรียกใช้เครื่องมือได้ด้วย
ถ้าอยากเรียกใช้จากโค้ดโดยตรงแทนการพิมพ์คำสั่ง BaseRT มี C API ที่เสถียรแล้วให้ใช้ และรองรับภาษา Python, Node, Rust และ Swift รายละเอียดคำสั่งทั้งหมดอยู่ในเอกสารทางการ ส่วนโค้ดอยู่ในโปรเจกต์ BaseRT บน GitHub
ควรลองตอนไหน และตอนไหนที่ยังไม่ต้องรีบ
คนที่ควรลองคือคนที่รันโมเดลบน Mac อยู่แล้วแต่ติดปัญหาเรื่องความเร็ว โดยเฉพาะคนที่ใช้โมเดลตัวเล็กเป็นประจำ เพราะจากตัวเลขข้างบน ส่วนต่างมากที่สุดก็อยู่ตรงนั้นพอดี
ส่วนเหตุผลที่ยังไม่ต้องรีบก็มีอยู่จริง เพราะโปรเจกต์นี้ยังใหม่มาก ตอนที่เก็บข้อมูล เอนจินอยู่ที่รุ่น 0.1.6 โปรเจกต์มีดาว 45 ดวง และมีรายชื่อผู้พัฒนาเพียงคนเดียว ตอนนี้เอนจินรองรับสถาปัตยกรรมโมเดล LLaMA, Qwen3, Gemma, Whisper และ BERT ซึ่งยังน้อยกว่าตัวรันเดิมที่พัฒนากันมานาน
ส่วนที่เปิดซอร์สภายใต้สัญญาอนุญาต Apache-2.0 ได้แก่คำสั่ง basert รูปแบบไฟล์ .base C API และส่วนเชื่อมต่อกับภาษาต่างๆ ส่วนเอนจินที่ทำงานจริงมาในรูปไบนารีสำเร็จรูป และใช้สัญญาอนุญาตของตัวเองแยกต่างหาก
BaseRT ไม่ได้ชนะทุกด้าน ยังมีรันไทม์ชื่อ uzu ที่เขียนให้ทำงานกับ Metal โดยตรงเหมือนกัน เมื่อเทียบกันแล้ว BaseRT เร็วกว่าในช่วงพิมพ์คำตอบ 5 จาก 6 ค่าที่ทดสอบ แต่ช้ากว่าในช่วงอ่านโจทย์เกือบทุกค่า สาเหตุคือ uzu แบ่งงานบางส่วนไปให้ Neural Engine ซึ่งเป็นหน่วยประมวลผลสำหรับงาน AI อีกตัวในชิป Apple ส่วน BaseRT ยังทำงานผ่าน GPU อย่างเดียว
โมเดลเราเลือกเอง เครื่องเราเลือกเอง แต่ตัวรันมักติดมากับแอปที่ลงไว้ แล้วก็อยู่แบบนั้นไปนานโดยไม่มีใครเปลี่ยน เครื่องจึงมักทำงานได้ไม่เต็มความเร็ว เพราะตัวรันเป็นชิ้นส่วนที่ไม่มีใครได้เลือก
ที่มา: โปรเจกต์ BaseRT บน GitHub
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
สร้าง Claude Skill แบบไม่ต้องรู้โค้ด คู่มือสร้าง Claude Skill ของคุณเองด้วยการคุยกับ Claude Code เป็นภาษาไทย
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
Claude Cowork · The Business Playbook

ฉบับภาษาไทย 15 บท เรียนรู้ผ่านโปรเจกต์จำลองต่อเนื่องทั้งเล่ม ตั้งแต่ตั้งค่า Workspace จัดการไฟล์ เชื่อมแอป ตั้งระบบอัตโนมัติ จนถึงสร้าง Plugin


