-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apple Silicon 部署注意事项 #20
Comments
啊,还是这清净,阿B那我都不知道在吵啥 |
目前看到的视频或是应用,都是基于PyTorch设置device="mps"后实现的,而不是直接基于MPS. |
大家都是AI的相关从业者、研究者吗?感觉这个帖子开得很及时! |
Reddit有个讨论组r/LocalLLaMA,专门讨论在个人本地机器上跑LLM。它上面的信息非常全面且更新很快。昨天,用了一个多小时在自己一个3年前配的PC(5800x + 3080Ti+32GB)上搭建了一个7B的小模型,就是利用Op提到text generation webui。非常好玩,现在想在工作用的M1 Max也搭建一个。 |
视频评论不少有人因显存和算力吵架的,毕竟咱们训练模型用的机器不是说开就开的。 |
从官网“借来”(14天无理由退换)两台机器,通过up主的启发,看看mps下统一内存的决定性配置是在内存还是处理核心: 目前只是验证推理侧,本地启动chatglm2,目前的验证结果是: |
请问这里有M1 Max 32GB的用户吗?我尝试了几个Model,发现如果使用GPU(n-gpu-layer > 0),33B机器必然OOM。 首先,启动的时候oobabooga就会报下面这个Warning:
然后inference的时候,必然报如下错误(去源代码看了,大概就是OOM了)
分析log之后,发现使用内存不能超过 |
我用了M1 Max 64g 进行chatglm2的inference ,基本不可用,模型吐出来的都是各种的得(程序后端也没报错),内存使用大约54G, 但是放在m2max 32Gb 正常返回我的问题答案(内存稳定在29g左右)——但基本是一本正经的胡说八道,比m1max的效果要好,是不是metal 对m1max的支持不理想,已经把m1max的机器退掉,购入m2max的mac |
我试验了几个13B-GGML的模型,还是挺不错的,只要Context不要太长,inference速度都可以保证在8 ~ 10tokens/s。一定要enable MPS,光用CPU太慢,同样的LLM,速度只有1 ~ 2tokens/s。 |
我的机器是M1 Pro 32G,跑了下llama.cpp,带-ngl 1参数也是这个报错,不带的话能跑,但是非常非常慢 |
@jdjingdian 你出现这句warning吗? |
请问有人在Apple Silicon的机器上做过LoRA训练吗?我自己简单研究了一下,发现LoRA似乎需要有CUDA的GPU,所以基本上没戏。 |
@Jagonbradley, 不是,不过你的调用方法应该也是一个意思。我是通过Text generation web UI来修改参数的。你得一次设定高一点(Max:128) |
如果是用llama.cpp运行,加上-ngl会发现cpu完全不运行,全在gpu上。但是用weibu的话,我把n-gpu-layers拉满到128也还是会用到CPU但是没有像你这么满。并且我发现运算时间确实是和gpu-layer的参数大小成反比的。 |
@Sun13 我设置到128,感觉CPU基本上用不到了,不了解你为何有一小段时间CPU也拉满。 |
m2 macbook 测试的时候,设置了torch.mps.set_per_process_memory_fraction(0.)不限制内存非配,可以加大GPU内存非配,在未设置的时候容易报OOM。 |
近段时间 Apple silicon 平台的机器学习支持在开源社区的努力下快速发展,而苹果芯片的统一内存架构也让大模型的落地普及有了新的希望,因此本项目也推送了新版代码,增加对 macOS GPU 加速框架 MPS(Metal Performance Shaders)的支持。
不过 Apple silicon 诞生不到三年,其机器学习生态更是刚刚起步,一定存在许多问题。本 issue 用于记录我在本项目以及其它外部项目中遇到的一些问题,也欢迎大家进行补充、友好讨论,分享一些常见问题的解决方案。
大家在实际开发过程中如果遇到其他问题,也欢迎罗列在本 issue 下,帮助社区进一步了解在 Apple silicon 这个新平台下进行机器学习开发可能遇到的问题,以及可能的解决方案。希望大家能友好讨论,推动机器学习社区进一步朝前走。
The text was updated successfully, but these errors were encountered: