jundot/omlx
LLM inference server with continuous batching & SSD caching for Apple Silicon — managed from the macOS menu bar
解決する課題
ローカルLLMの使用は、利便性と制御のトレードオフを強いることがよくあります。ユーザーは、メモリ管理、モデルのロード維持、またはシステムリソースを使い果たすことなく大きなコンテキストを処理することに苦労することが頻繁にあります。oMLXは、Macハードウェア上でLLM、視覚言語モデル(VLM)、および埋め込みモデルを、高いパフォーマンスと簡単な管理で実行する方法を提供します。
仕組み
Apple Silicon上で動作するoMLXは、vLLMに触発された階層型KVキャッシュシステムを使用しています。高速アクセスのためにRAMに「ホット」ティアを、メモリがフルになったときにブロックをオフロードするためにSSDに「コールド」ティアを維持し、再計算なしにリクエスト間でコンテキストを再利用できるようにします。システムは、同時リクエストを処理するために継続的バッチ処理を使用し、総メモリ制限を強制することでシステム全体のクラッシュを防ぐメモリガードを含んでいます。
対象ユーザー
コーディング(例:Claude Codeを使用)や一般的なチャットなどのタスクのためにローカルAIモデルを実行したいmacOSユーザー(M1/M2/M3/M4)向けに設計されており、開発者向けのコマンドラインインターフェースと、簡単なモニタリングと制御のためのネイティブmacOSメニューバーアプリの両方を提供します。
ハイライト
- 階層型KVキャッシュ: RAMとSSDの間でコンテキストを永続化し、長い会話を実用的にします。
- マルチモデルサービング: 単一のサーバーでLLM、VLM、OCR、埋め込み、およびリランカーをサポートします。
- macOS統合: モニタリング用のネイティブSwiftUIメニューバーアプリと、管理用のアドミンダッシュボードが含まれています。
- API互換性: OpenAIおよびAnthropic APIのドロップインリプレイスメントを提供します。
- 自動管理: LRUエビクション、モデルの固定、モデルごとのアイドルタイムアウトを備え、メモリ使用率を最適化します。