AI 文摘

苹果电脑如何使用ChatwithMLX在本地部署LLM实现RAG





作者: 设计极客 00 来源: 设计极客 00

Chat with your data natively on Apple Silicon using MLX Framework.

先上总结:

  1. Chat with MLX 是目前对 M 芯片支持较好的本地 LLM 框架

  2. 安装简单,一个命令即可启动

  3. 目前支持的开源模型还比较少

  4. RAG 任务实现效果不理想(尤其是中文),需要进一步调优

👩🏻‍💻

大概半个月前,英伟达推出 Chat With RTX,可在本地部署开源模型,配置要求至少 8GB 的 RTX 30 或 40 系列显卡。根据以往经验,苹果党可能要等好几个月(乐观了)才有类似的待遇。

不过,已经是 2024 年了,在 AI 加持下,这个等待时间变成了半个月。Chat with MLX-开源的苹果电脑专属大模型框架也出来了。

https://github.com/qnguyen3/chat-with-mlx

Chat with MLX 是一个开源项目,由 OpenAI 前员工开发,它提供了一个基于 Apple Silicon 硬件的原生聊天界面,利用 MLX 框架来实现与数据的交互。

之前像 Ollama 、LM Studio 等也可以在 Mac 本地部署 LLM,但因为没有对苹果芯片做优化,参数量大一点的模型就跑不起来。现在有了 MLX,苹果电脑也可以比较轻松地实现本地 RAG 检索。


Ollama

Chat with MLX 支持的模型包括:

  • Google Gemma-7b-it, Gemma-2b-it

  • Mistral-7B-Instruct, OpenHermes-2.5-Mistral-7B, NousHermes-2-Mistral-7B-DPO

  • Mixtral-8x7B-Instruct-v0.1, Nous-Hermes-2-Mixtral-8x7B-DPO

  • Quyen-SE (0.5B), Quyen (4B)

  • StableLM 2 Zephyr (1.6B)

  • Vistral-7B-Chat, VBD-Llama2-7b-chat, vinallama-7b-chat

安装

Chat with MLX 支持 pip 安装,真是省事不少。

建议按照 Github 上面手动安装的命令,新建 python 虚拟环境,并开启科学上网模式,在命令行输入以下命令安装:

git clone https://github.com/qnguyen3/chat-with-mlx.git  
cd chat-with-mlx  
python -m venv .venv  
source .venv/bin/activate  
pip install -e .  

因为我之前已经把 pip 源改成国内的镜像,安装依赖时速度比较快。

这一步没有遇到什么问题,安装成功后,一个命令就可以启动服务。

chat-with-mlx  

这时候需要继续科学上网,启动时程序需要用 huggingface_hub 加载文件。不过不用担心,这一步是自动完成的。联网加载完毕后,会打开本地服务的窗口。

使用

虽然已经部署成功,但这时候还不能正常使用,因为还没有下载模型。

目前可供选择的模型还比较少:

我先选了比较小的 google/gemma-2b-it 模型,选择后点界面右侧的“load model”,后台会开始下载模型到本地:

模型就绪以后,可以在面板中的 Dataset 选择文件类型,这里我选择 Files,然后上传了 Stable Diffusion 3 的论文。上传好以后,还需要点右侧“Start Indexing”建索引。完成以后,就可以开始跟模型对话了。

先试着让模型总结论文,看起来还行,但好像过于 general,说了等于没说。

换成中文,问一个论文中更具体的问题,就开始摇头了。

🤔 也许是模型小,能力不足?接下来换成 mistrial-7b 试试。

如果之前没有下载过模型,还是要等待一阵。下载好以后记得点 load model 按钮。

继续用中文提问,回答也是很简短。不过已经是在用 dataset 中的内容在回答了。

令人头疼的是,模型依然时不时罢工

🤔 是不是模型能力和 RAG 参数设置有问题呢?

我试着把论文上传给 Claude,但是文档超过大小。压缩 pdf 大小到 10m 以下再上传,又提示 Message is 14% over the length limit. Try replacing the attached 1 file with smaller excerpts. 。

无奈之下,只好试试 kimi,真是没有对比就没有伤害(莫名其妙变成了广告时间。

结论

  1. Chat with MLX 是目前对 M 芯片支持较好的本地 LLM 框架

  2. 安装简单,一个命令即可启动

  3. 目前支持的开源模型还比较少

  4. RAG 任务实现效果不理想(尤其是中文),需要进一步调优

看来本地 RAG 还是不太成熟,需要寻找、对比更擅长中文任务的模型,并且要研究什么样的参数更适合。也许问题出在语料的切片和向量化,但是目前还不支持自定义配置。

结论:再等等

最近福利

「AI 创作工作流」知识星球权益全面升级,限时优惠不要错过

欢迎关注扫码

00 的视频号

AI 绘画系统课:20 攻克 AI 绘画课

「AI 创作工作流」知识星球

图零学院微信群
扫码入群或添加图零小助手微信
xueyuan-ai,注明:AI群

图零学院 www.xueyuan.ai

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具