TuBrief
Subscribed Channels
Videos
Community

Pengaturan untuk Menjalankan Model MoE 744B Tanpa Henti di MacBook RAM 32GB dan Workstation

TuBrief Editorial
August 24, 2026
0
Computing/Software

Written with AI assistance from the source video. The video is the authority.

Bahasa Indonesia한국어English中文العربيةहिन्दीFrançaisPortuguêsEspañolРусский日本語Deutsch

Related Video

Alat Kecil Ini Bisa Menjalankan Model AI 744B di Perangkat Biasa (colibrì)11:35

Alat Kecil Ini Bisa Menjalankan Model AI 744B di Perangkat Biasa (colibrì)

Better Stack

More from the community

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

September 13, 2026

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

September 13, 2026

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

September 13, 2026

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

September 13, 2026

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

September 12, 2026

Apple Won the AI Race

September 12, 2026

Comments (0)

Log in to leave a comment

No posts yet

© 2026 . All rights reserved.

TuBrief
Subscribed Channels
Videos
Community
Log in

Pengaturan untuk Menjalankan Model MoE 744B Tanpa Henti di MacBook RAM 32GB dan Workstation

Saat menjalankan model MoE 744B seperti GLM-5.2 secara lokal pada workstation biasa atau MacBook, hambatan utama biasanya muncul pada bandwidth penyimpanan dan kebijakan memori virtual OS, bahkan sebelum kapasitas VRAM habis. colibrì dari JustVugg, mesin inferensi ringan berbasis bahasa C, hanya mengunci layer residen berukuran 17B (9,9 GiB pada standar int4) ke dalam RAM, sementara bobot routing expert yang dibagi menjadi 21.504 bagian (~370 GB) di-streaming secara real-time dari SSD eksternal per token.

Masalahnya adalah jika dijalankan dengan pengaturan default OS, swap thrashing akan terjadi atau OOM Killer kernel akan menghentikan paksa proses tersebut. Generasi token tidak akan berhenti hanya jika Anda menyesuaikan sendiri mulai dari flag kompilasi, antrean I/O NVMe, hingga parameter kernel.


Flag Kompilasi Berdasarkan Arsitektur dan Pengaturan Kumpulan Instruksi Vektor

Mesin komputasi inti colibrì adalah file tunggal C11 berukuran sekitar 1.300 baris tanpa dependensi eksternal. Throughput operasi perkalian matriks bervariasi tergantung pada instruksi vektor SIMD yang digunakan oleh kompiler. Alih-alih build standar -O2, Anda harus menentukan ekstensi instruksi operasi aritmatika integer CPU target secara langsung.

Pembuatan Lingkungan Build dan Kompilasi

Untuk lingkungan Linux x86_64, aktifkan AVX-512 VNNI pada GCC 12 atau yang lebih baru, sedangkan untuk Apple Silicon, hubungkan NEON DotProduct melalui Clang.

Pada sistem berbasis Ubuntu dan Debian, instal terlebih dahulu alat build:

`bash
sudo apt-get install gcc-12 libomp-dev

`

Di lingkungan macOS, dapatkan runtime OpenMP melalui Homebrew:

`bash
brew install libomp

`

Pada mesin Linux x86_64, build dengan target instruksi AVX-512 VNNI:

`bash
gcc -O3 -march=native -mtune=native
-mavx512f -mavx512bw -mavx512vnni -mavx512dq
-fopenmp -funroll-loops -ffast-math
-o colibri_engine colibri_glm52.c -lm

`

Di lingkungan Apple Silicon (seri M), kompilasi dengan menyertakan jalur pustaka secara langsung:

`bash
clang -O3 -mcpu=native
-march=armv8.4-a+dotprod+fp16
-Xpreprocessor -fopenmp
-I/opt/homebrew/opt/libomp/include
-L/opt/homebrew/opt/libomp/lib -lomp
-o colibri_engine colibri_glm52.c -lm

`

Jika muncul peringatan build terkait struktur, lampirkan flag -std=c11 untuk menyelesaikannya.

Platform Kompiler Flag Instruksi Vektor Paralelisasi Thread
x86_64 (Linux) GCC 12+ -mavx512vnni -mavx512bw -fopenmp
ARM64 (macOS) Apple Clang -march=armv8.4-a+dotprod -Xpreprocessor -fopenmp
x86 Lama GCC / Clang -mavx2 -mfma -fopenmp

Benchmark SSD Eksternal dan Perluasan Antrean I/O Asinkron

Latensi decoding colibrì ditentukan oleh kecepatan baca acak 1MB pada disk. File parameter routing expert GLM-5.2 dibagi menjadi ukuran masing-masing sekitar 19 MB, sehingga setiap kali token dibuat, thread I/O asinkron membaca chunk yang diperlukan dari SSD.

Pengukuran Bandwidth Pembacaan Penyimpanan melalui fio

Instal fio dengan package manager:

`bash

Linux

sudo apt-get install fio

macOS

brew install fio

`

Ukur bandwidth pembacaan acak dengan ukuran blok 1MB dan kondisi Direct I/O:

`bash
fio --name=colibri_stream_bench
--filename=/Volumes/ExternalSSD/glm52_test.tmp
--size=10G
--rw=randread
--bs=1m
--iodepth=32
--numjobs=4
--ioengine=posixaio
--direct=1
--group_reporting
--runtime=60

`

Antarmuka Thunderbolt 4 atau USB4 (40 Gbps) mempertahankan bandwidth aktual sebesar 2.800–3.200 MB/s dan memberikan kecepatan decoding 0,08–0,10 tok/s. Sebaliknya, jika drive eksternal dihubungkan ke port USB 3.2 Gen2 (10 Gbps) yang bandwidth-nya hanya 900–1.050 MB/s, dibutuhkan waktu lebih dari 80 menit hanya untuk menghasilkan 100 token.

`
+-------------------------------------------------------------------------+
| colibrì C Inference Engine |
| +--------------------------+ +-------------------------------------+ |
| | Dense Weights (9.9 GiB) | | Multi-Token Prediction (MTP) Head |
| | Resident in RAM (mlock) | | int8 Quantized |
| +------------+-------------+ +------------------+------------------+ |
+---------------+-----------------------------------+---------------------+
| |
v v
+-------------------------------------------------------------------------+
| Memory & Storage I/O Layer |
| +--------------------------+ +-------------------------------------+ |
| | Async Expert Readahead | | 21,504 Routed Experts (370 GB) |
| | I/O Queue Depth 3264 | | Streamed from NVMe SSD via mmap |
| +--------------------------+ +-------------------------------------+ |
+-------------------------------------------------------------------------+

`

Dengan meningkatkan kedalaman antrean I/O (iodepth) untuk Async Expert Readahead ke tingkat 32–64, Anda dapat memanfaatkan seluruh saluran paralel pengontrol NVMe untuk mengurangi latensi tunggu disk.


Pengaturan Memori Virtual Kernel dan Pencegahan OOM

Jika bobot residen sebesar 9.9 GiB, KV Cache, dan page cache sistem file dimuat secara bersamaan pada sistem RAM 32 GB, kontensi memori kernel akan terjadi. Pada pengaturan default Linux, panggilan mmap berukuran 370 GB akan diblokir dari alokasi ruang alamat virtual atau OOM Killer akan mematikan mesin.

Penerapan Parameter Kernel Linux

Buat file /etc/sysctl.d/99-colibri-memory.conf dan masukkan konten berikut:

`ini

Mencegah pelepasan memori residen ke swap disk

vm.swappiness = 1

Mengizinkan overcommit memori virtual

vm.overcommit_memory = 1

Mengalokasikan ruang memori buffer darurat (2GB)

vm.min_free_kbytes = 2097152

Meningkatkan rasio retensi cache file disk

vm.vfs_cache_pressure = 50

Memperluas batasan jumlah pemetaan mmap

vm.max_map_count = 524288

`

Setelah menyimpan, terapkan parameter secara instan:

`bash
sudo sysctl --system

`

Buka batasan penguncian memori di sesi shell untuk mengizinkan panggilan mlock() pada layer residen:

`bash
ulimit -l unlimited

`

Parameter Nilai Default Nilai Rekomendasi Tujuan Pengaturan
vm.swappiness 60 1 Mencegah bobot 9.9 GiB yang dikunci di RAM terdorong ke area swap
vm.overcommit_memory 0 1 Mencegah penolakan memori kernel saat pemetaan mmap berukuran 370 GB
vm.vfs_cache_pressure 100 50 Memperpanjang masa pakai cache file untuk menggunakan kembali bobot expert yang sering dipanggil
vm.max_map_count 65530 524288 Membuka batasan pemetaan 21.504 file parameter
ulimit -l 64 (KB) unlimited Memberikan izin penguncian memori fisik (mlock) untuk Dense layer

Di lingkungan macOS, jika memori kosong habis, dynamic_pager melakukan kompresi memori di latar belakang yang menguras penggunaan CPU. Anda harus menutup aplikasi yang memakan banyak memori sebelum menjalankan program untuk mencegah masuk ke mesin kompresi.


Penempatan Inti CPU (Core Pinning) dan Konfigurasi Skrip Eksekusi

Decoding MoE terus-menerus mengakses cache CPU dan bus memori. Jika Anda salah memilih node NUMA pada workstation multi-socket, kecepatan pembuatan token akan berkurang setengahnya karena hambatan bus interkonek.

Penulisan Skrip Eksekusi Terpadu

Periksa terlebih dahulu nomor node CPU fisik yang terhubung langsung dengan pengontrol NVMe eksternal menggunakan numactl --hardware. Setelah itu, tulis skrip shell yang menghindari alokasi duplikat hyperthreading dan hanya mengunci thread ke inti fisik.

`bash
#!/usr/bin/env bash
set -euo pipefail

1. Pengaturan memori virtual kernel

sudo sysctl -w vm.swappiness=1 > /dev/null
sudo sysctl -w vm.overcommit_memory=1 > /dev/null
sudo sysctl -w vm.max_map_count=524288 > /dev/null
sudo sysctl -w vm.vfs_cache_pressure=50 > /dev/null
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null

2. Membuka batasan penguncian memori

ulimit -l unlimited

3. Pengikatan thread OpenMP ke inti fisik

export OMP_NUM_THREADS=16
export OMP_PROC_BIND=TRUE
export OMP_PLACES=cores

4. Eksekusi pengikatan node NUMA 0

ENGINE_BIN="./colibri_engine"
MODEL_PATH="/mnt/nvme_ext/GLM-5.2-colibri-int4-g64-with-int8-mtp"

exec numactl --physcpubind=0-15 --membind=0
"${ENGINE_BIN}"
--model "${MODEL_PATH}"
--threads "${OMP_NUM_THREADS}"

`

Pada MacBook berprosesor Apple Silicon, Anda harus mencegah daemon QoS macOS mengalihkan thread pekerja ke core efisiensi (E-Core). Jalankan dengan memaksa prioritasnya lebih tinggi:

`bash
sudo nice -n -20 taskpolicy -c default ./colibri_engine --model /Volumes/SSD/glm52_i4

`

Setelah menyelesaikan keempat pengaturan ini, Anda dapat memuat model MoE 744B secara stabil melalui metode local disk streaming di workstation RAM 32 GB atau MacBook tanpa mengalami benturan OOM.