
oMLXã®äœ¿ãæ¹ââMacã®äžã§ã¢ãã«ãåžžé§ãããŠãç¶ãã®äŒè©±ãèšç®ãçŽããªã
Macã®äžã§ã¢ãã«ãåãããŠãããšãåããšããã§æéãæº¶ãããŸãããã
é·ãäŒè©±ã®ç¶ããæãããã³ã«ãé ããèšç®ãçŽããããåãšåãåæãæž¡ããŠããã®ã«ããŸãåŸ ã€ã
oMLXãšããæšè«ãµãŒããŒã¯ãããã«æãå ¥ããŠããŸããäœè ã®READMEã«ããæžããŠãããŸãããEvery LLM server I tried made me choose between convenience and control.ãââ詊ããã©ã®ãµãŒããŒããæè»œããå¶åŸ¡ãã®ã©ã¡ãããéžã°ããŠããããšã
jundot/omlxïŒ2026幎9æ7æ¥ç¢ºèªã»Apache License 2.0ïŒãå®éã«èªãã§æŽçããŸããã仿¥ã¯äœ¿ãæ¹ããåãããšããããæ¥ç¶å ãåãããšãããŸã§é ã«æžããŸãã
oMLXã¯ãMacå°çšã®æšè«ãµãŒããŒ
äœçœ®ã¥ãã¯ãLLM inference, optimized for your MacããApple Siliconã«æé©åããããŒã«ã«ã®æšè«ãµãŒããŒã§ãã
åãæ¡ä»¶ããããšã¯ã£ããããŠãããmacOS 15.0以äžãPython 3.11ã3.13ããããŠApple Siliconå°çšïŒM1ããM5ãŸã§ïŒãIntel Macã¯å¯Ÿè±¡å€ã§ãã
ç¹åŸŽãšããŠæŒããŠããã®ã¯3ã€ããã䜿ãã¢ãã«ãã¡ã¢ãªã«åžžé§ãããŠãããããšãéãã¢ãã«ãå¿ èŠãªæã ãå ¥ãæ¿ããããããšããããŠäŒè©±ã®éäžçµéãä¿åããŠäœ¿ãåããããšãã¡ãã¥ãŒããŒããå šéšæäœã§ããããšããã®ãäœéšãšããŠã®å£²ãã§ããã
å ¥ãæ¹ã¯3éã
ãã¡ã°ãç°¡åãªã®ã¯Releasesãã .dmg ãèœãšããŠãApplicationsãžãã©ãã°ãã圢ã§ããèªåæŽæ°ãä»ããŠããŸãã
ã³ãã³ãã§å ¥ãããªãHomebrewã
brew tap jundot/omlx https://github.com/jundot/omlx
brew install jundot/omlx/omlxãœãŒã¹ããå ¥ããéããããŸãã
git clone https://github.com/jundot/omlx.git
cd omlx
pip install -e .ããã§1ã€ãåŸã§å¹ããŠããæ³šæããããŸããçŽ ã® pip install -e . ã§ã¯ãé«éåçšã®ã«ã¹ã¿ã ã«ãŒãã«ã¯ãã«ããããŸããã READMEã«ããA plain pip install -e . does NOT build themããšæèšãããŠããŸããåŸåã§ããäžåºŠè§ŠããŸãã
äœ¿ãæ¹1: èµ·åãã
Homebrewãã¢ããªã§å ¥ãããªããåžžé§ãµãŒãã¹ãšããŠæ±ããã
omlx start
omlx stop
omlx restartåé¢ã§åãããŠæ§åãèŠãããšã㯠serve ã§ãã
omlx serve --model-dir ~/models--model-dir ãèã§ãããã«æå®ãããã©ã«ãã®äžãèŠã«ããã
èšå®ã¯ ~/.omlx/settings.json ã«ä¿åãããã³ãã³ãã©ã€ã³ã®ãã©ã°ã®ã»ããåªå ãããŸããæ®æ®µã®èšå®ã¯ãã¡ã€ã«ã«æžããŠãããŠã詊ãããæã ããã©ã°ã§äžæžãããããšãã䜿ãåããã§ããŸãã
äœ¿ãæ¹2: ã¢ãã«ã®çœ®ãå Žæã決ãã
ã¢ãã«ã¯ãæå®ãããã©ã«ãã®ãµããã£ã¬ã¯ããªãšããŠçœ®ãã ãã§èªåæ€åºãããŸãã
~/models/
âââ Step-3.5-Flash-8bit/
âââ Qwen3-Coder-Next-8bit/
âââ gpt-oss-120b-MXFP4-Q8/
âââ bge-m3/眮ãããã®ãå šéšã¡ã¢ãªã«èŒãããã§ã¯ãããŸããã䜿ãããŠããªããã®ããLRUã§èªåçã«éé¿ããŸããæ¢å®ã®ã¡ã¢ãªäžéã¯ãã·ã¹ãã ã®RAMãã8GBãåŒããå€ã
ã§ãããã«èª¿æŽã®å£ãããã€ããã£ãŠããã䜿ãã¢ãã«ã¯ãã³çãããŠåžžé§ãããããŸããéã«ã¢ãã«ããšã«ã¢ã€ãã«ã®TTLãèšå®ããŠããã°ããåŒã°ããªããã°éããããã§ããã
æ¯æ¥äœ¿ãå°ããã¢ãã«ã¯ãã³çããããŸã«åŒã¶å€§ããã¢ãã«ã¯TTLçãããã®çµã¿æ¹ãçŽ çŽã ãšæããŸãã

äœ¿ãæ¹3: SSDãã£ãã·ã¥ãå¹ãããïŒãããæ¬é¡ïŒ
åé ã®ãèšç®ãçŽããããåé¡ã«å¹ãã®ãããã§ãã
oMLXã®KVãã£ãã·ã¥ã¯2æ®µæ§æã«ãªã£ãŠããŸããç±ãå±€ãã¡ã¢ãªãå·ããå±€ãSSDãREADMEã®èª¬æã¯ããã§ãã
ãWhen the hot cache fills up, blocks are offloaded to SSD in safetensors format. On the next request with a matching prefix, they're restored from disk instead of recomputed from scratchâeven after a server restartã
ç±ãåŽããã£ã±ãã«ãªã£ããããã¯ã¯safetensors圢åŒã§SSDãžéé¿ããæ¬¡ã«åãå é éšåãæã€ãªã¯ãšã¹ããæ¥ãããèšç®ãçŽãããã£ã¹ã¯ããæ»ããããããµãŒããŒãåèµ·åããŠãæ®ãã
䜿ãã«ã¯ãã£ã¬ã¯ããªãæå®ããã
omlx serve --model-dir ~/models --paged-ssd-cache-dir ~/.omlx/cacheç±ãåŽã®å€§ãããæ±ºããããŸãã
omlx serve --model-dir ~/models --hot-cache-max-size 20%åãé·ãã·ã¹ãã ããã³ãããæ¯åæž¡ãäœ¿ãæ¹ââãšãŒãžã§ã³ãã«å®åã®åæãæããããããªåœ¢ââã ãšãããããã¡ã°ãå¹ãå Žæã«ãªããŸãã

æ¥ç¶å ã¯OpenAIäºæãªã®ã§ãæ¢åã®ããŒã«ããã®ãŸãŸåã
ãµãŒããŒã¯ http://localhost:8000/v1 ã§ç«ã¡ãŸããOpenAIäºæã§ãã
çšæãããŠããå£ã¯ã/v1/chat/completionsã/v1/completionsã/v1/embeddingsã/v1/rerankã/v1/modelsããã㊠/v1/messages ããã£ãŠãããã¯Anthropicã®Messages APIã®åœ¢ã§ãã
ã€ãŸããOpenAI圢åŒã§æžããã¯ã©ã€ã¢ã³ããAnthropic圢åŒã§æžããã¯ã©ã€ã¢ã³ãããæ¥ç¶å ãå·®ãæ¿ããã ãã§åãããããšããããšã§ããã
åæãªã¯ãšã¹ã㯠mlx-lm ã® BatchGenerator ã§åŠçãããŸãã䞊å床ãäžããããšã㯠--max-concurrent-requests 16 ã®ããã«æå®ããŸãã
éµããããããšã㯠--api-key ãä»ãããããŒã«ã«ãšã¯ãããåããããã¯ãŒã¯ã«ä»ã®æ©æ¢°ããããªãä»ããŠããã»ããå®å¿ã§ãã
管çç»é¢ã¯ http://localhost:8000/adminãã¡ãã¥ãŒããŒã®ã¢ããªããã¯ãã¿ãŒããã«ãéããã«èµ·å忢ã»ç£èŠã»èœã¡ãæã®èªååèµ·åãŸã§æ±ããŸãã
ã«ã¹ã¿ã ã«ãŒãã«ã®è©±ïŒå ¥ãçŽãã«ãªãåã«ïŒ
æåã«è§Šããä»¶ã§ãã
é«éåçšã®ã«ã¹ã¿ã ã«ãŒãã«ã¯ãçŽ ã®å°å ¥ã§ã¯ãã«ããããŸãããä»ãããªãããã
OMLX_WITH_CUSTOM_KERNEL=1 pip install -e .ç¡ããŠãåããŸãããã ã察象ã®ã¢ãã«ã¯é ãæ±çšã®çµè·¯ã«èœã¡ããREADMEã¯GLM-5.2ã«ã€ããŠãthe fused DSA prefill is roughly 30x faster with the kernelsãââã«ãŒãã«ããã®ã»ããããã30åéãããšæžããŠããŸãã
ãããããæåããå ¥ããŠããã°ãããªãïŒ
ãããªãã§ããããã«ãã«æéããããã®ã§ããŸãåãããŠãé ããšæãããå ¥ãçŽãã§ãããšæããŸããå°ããã¢ãã«ã詊ãã ããªãå·®ã¯åºãŸããã
ããªããé ãããšæã£ããšãã«ããã®äžè¡ãæãåºãããã©ããã®è©±ã§ãã
仿¥ã30åã§ã§ããããš
.dmg ãèœãšããŠå ¥ããŠã~/models ã«å°ããã¢ãã«ã1ã€çœ®ããŠãomlx serve --model-dir ~/models ã§èµ·åããã
ãããŸã§ã§15åãããã§ãã
ãã®ããã§ãããŸäœ¿ã£ãŠããããŒã«ã®æ¥ç¶å ã http://localhost:8000/v1 ã«åããŠã¿ãŠãã ãããOpenAIäºæãªã®ã§ããããŠãã¯URLã®å·®ãæ¿ãã ãã§éããŸãã
SSDãã£ãã·ã¥ã¯ããã®æ¬¡ã®æ¥ã«è¶³ãã°ããã å ã«ãèªåã®éå ·ãåãããã確ãããã»ãããå€æãæ©ããªããŸãã
â¶ é¢é£èšäº: LoopXã®äœ¿ãæ¹ââAIã«é·ãä»äºãä»»ãããšããéäžã§æ¢ããŠæ»ããããã«ãã
ãªãŒãã³ãœãŒã¹ã®AIããŒã«ãå®éã«åãããŠç¢ºãããèšé²ãšãéžã¶ãšãã®å€æåºæºããŸãšããè³æãçšæããŠããŸãã
ð ãªãŒãã³ãœãŒã¹ç ç©¶æ6倧ç¹å žãåãåã
#oMLX #MLX #AppleSilicon #ããŒã«ã«LLM #Mac #æšè«ãµãŒã㌠#OSS #KVãã£ãã·ã¥ #OpenAIäºæ #MCP #çæAI #ãªãŒãã³ãœãŒã¹