苹果电脑如何使用ChatwithMLX在本地部署LLM实现RAG
作者: 设计极客 00 来源: 设计极客 00
Chat with your data natively on Apple Silicon using MLX Framework.
先上总结:
-
Chat with MLX 是目前对 M 芯片支持较好的本地 LLM 框架
-
安装简单,一个命令即可启动
-
目前支持的开源模型还比较少
-
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,真是没有对比就没有伤害(莫名其妙变成了广告时间。
结论
-
Chat with MLX 是目前对 M 芯片支持较好的本地 LLM 框架
-
安装简单,一个命令即可启动
-
目前支持的开源模型还比较少
-
RAG 任务实现效果不理想(尤其是中文),需要进一步调优
看来本地 RAG 还是不太成熟,需要寻找、对比更擅长中文任务的模型,并且要研究什么样的参数更适合。也许问题出在语料的切片和向量化,但是目前还不支持自定义配置。
结论:再等等
最近福利
欢迎关注扫码
00 的视频号
AI 绘画系统课:20 攻克 AI 绘画课
「AI 创作工作流」知识星球
图零学院微信群
扫码入群或添加图零小助手微信
xueyuan-ai,注明:AI群
图零学院 www.xueyuan.ai
更多AI工具,参考Github-AiBard123,国内AiBard123