最近又打算鼓捣鼓捣试试,正好换了新显卡,跑跑试试。研究发现,现在可以使用LM Studio来部署本地大模型了,非常方便。就是非常慢,还是配置太低了,穷,买不起好显卡
LM Studio下载安装
直接在官网下载即可:
下载地址:https://lmstudio.ai/
自动安装,连安装路径都没得选
大模型存储路径设置
大模型数据量很大,默认是C盘,很容易把C盘占满。
打开LM Studio之后,先点击右下角的齿轮按钮,打开设置,界面改成中文。
修改大模型存储路径,到“我的模型”界面,更改模型目录,如下图所示。
下载大模型
需要科学上网,和geemap需求一致。
下载完成之后,还是上图那个地方,加载模型,即可开始对话。
大模型对话实验
加载大模型
加载大模型,首页,和上面搜索下载大模型同一位置,可以调整一下设置,我发现红框中的设置对大模型运行影响还挺大的,我这CPU比较强,内存比较大,显卡垃圾RTX3060 12GB,也就勉强运行。
和其他在线网站的大模型一样,聊就是了,不过我这个非常慢,本地算力太差了。
对话就是这个样子的
下面是大模型的一个对话例子:
如何提高GPU使用率,让大模型更多使用GPU计算,同时充分利用CPU和内存资源
Q:如何提高GPU使用率,让大模型更多使用GPU计算,同时充分利用CPU和内存资源 A:
提高GPU使用率并充分利用CPU和内存资源是一个系统工程,涉及多个方面。以下是一些详细的策略来实现这一目标:
1. 确保硬件和软件配置正确
安装合适的驱动程序:确保您的GPU驱动是最新的,并且与您的操作系统兼容。 安装CUDA和cuDNN:确保安装了最新版本的CUDA Toolkit(用于GPU计算)和cuDNN库(优化深度学习操作)。
2. 数据加载和预处理
批量大小(Batch Size):
选择合适的批量大小可以最大化GPU利用率。可以通过实验找到一个平衡点,既能充分利用GPU资源又不会导致内存不足。 并行数据加载:
使用多线程或异步数据加载技术来确保数据能够快速地提供给GPU进行计算。在PyTorch中,可以使用 DataLoader
的num_workers
参数来增加工作进程的数量。
3. 混合精度训练
Mixed Precision Training: 使用混合精度(如FP16和FP32)可以在不显著降低模型性能的情况下减少内存占用并提高计算速度。PyTorch提供了 torch.cuda.amp
模块来支持混合精度训练。
4. 模型优化
梯度累积:
如果内存不足,可以通过梯度累积来模拟更大的批量大小。在多个小批次上累积梯度,然后在一个更新步骤中应用这些累积的梯度。 模型并行和数据并行:
使用模型并行(Model Parallelism)将模型的不同部分分配到不同的GPU上。 使用数据并行(Data Parallelism)将输入数据分布到多个GPU上进行处理,然后合并结果。PyTorch提供了 torch.nn.DataParallel
和torch.distributed
包来支持这些技术。
5. 合理分配任务
CPU辅助计算:
使用CPU进行一些非关键的计算任务,如数据预处理、特征提取等。 内存管理:
确保将模型和数据尽可能地加载到GPU上。对于无法完全加载到GPU上的部分,可以使用混合精度或梯度累积来缓解内存压力。
6. 使用合适的库和框架
深度学习框架优化:
使用经过高度优化的深度学习框架(如PyTorch、TensorFlow)提供的工具和功能来提高性能。 分布式训练:
对于非常大的模型,可以考虑使用分布式训练技术将计算任务分布在多个GPU或多个机器上。PyTorch提供了 torch.distributed
包,而Horovod是一个流行的分布式训练库。
7. 监控和调优
监控工具:
使用NVIDIA的监控工具(如 nvidia-smi
)来实时监控GPU的使用情况、内存占用等。性能分析:
使用PyTorch的 torch.autograd.profiler
或TensorFlow的tf.profiler
来进行性能分析,找出瓶颈并进行优化。
通过以上策略,您可以更有效地提高GPU使用率,并充分利用CPU和内存资源来训练大型语言模型。
cuDNN https://developer.nvidia.com/cudnn-downloads?target_os=Windows CUDA Toolkit https://developer.nvidia.com/cuda-downloads?target_os=Windows