ml-explore/mlx-lm

Run LLMs with MLX

解決的問題

mlx-lm 的設計目標是讓在 Apple silicon 上執行、微調與量化大型語言模型(LLMs)變得輕鬆簡單。它透過提供統一的 Python 套件與命令列工具,消除在 Mac 硬體上本地部署 LLM 的障礙,支援文字生成與模型最佳化。

如何運作

本專案利用 MLX 框架,優化 Apple silicon 上的 LLM 性能。它提供 Python API 與 CLI,用於從 Hugging Face Hub 加載模型、產生文字,以及管理模型權重。主要技術特色包括:

  • 模型轉換與量化:可將模型轉換並量化(例如轉為 4 位元)以減少記憶體使用,並重新上傳至 Hugging Face Hub。
  • 記憶體管理:使用旋轉式固定大小的鍵值(KV)快取與可設定的預填入步長,有效處理長提示。
  • 提示快取:允許使用者快取長提示,避免在多次查詢中重複計算。
  • 微調:支援低秩(LoRA)與完整模型微調,包含對量化模型的支援。
  • 分散式運算:透過 mx.distributed 實現分散式推論與微調。

適用對象

使用 Apple silicon Mac 的開發者與研究人員,希望在本地執行 LLM、針對硬體進行最佳化,或為特定任務進行微調。

主要亮點

  • Hugging Face 整合:與 Hugging Face Hub 直接整合,方便模型存取與上傳。
  • Apple silicon 優化:專為 Mac 硬體優化,支援 macOS 15+ 下大模型的記憶體接線。
  • 本地聊天 REPL:內建聊天介面,可立即與模型互動。
  • 高效處理長上下文:透過提示快取與旋轉 KV 快取等工具,實現長文字生成的可擴展性。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案