当前位置: 首页 > news >正文

Python自动化:MiniMind本地部署与测试

目录

一. 配置要求与运行环境

二. 本地部署

三. 训练

四. 测试

五. 总结


一. 配置要求与运行环境

CPU训练很折磨人的,尤其是大语言模型训练,此内容仅适合NVIDIA的GPU,AMD和Intel等其他GPU不适用这篇内容。下面的配置达不到单卡3小时训练完成,实测以天为单位。

显卡NVIDIA 12GB VRAM
内存32GB
系统环境Windows 10 + Anaconda3 + Python 3.10 + Pytorch 2.6.0+ccu126

二. 本地部署

CUDNN:cuDNN 9.15.1 Downloads | NVIDIA Developer

选择如图所示,最后点击Download进行下载与安装。

CUDA:CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA 开发者

选择如图所示,最后点击Download进行下载与安装。

Tips:安装会自动添加路径到PATH,后续有问题不需要添加,但是llama_cpp_python可能有要求。

Anaconda 3:Download Anaconda Distribution | Anaconda

点击右上角Free Download,等待下载弹出。

安装完成后在Navigator中新建一个环境,命名为gguf_env,Python版本为3.10.xx。

安装Pytorch命令
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
如果上面的命令下载超时,可以尝试打开后门的页面直接下载下来,然后手动安装。
pip install "torch-2.6.0+cu126-cp310-cp310-win_amd64.whl"
记得切换至对应目录

Python需要IDE,我用的是Pycharm,这里不占用篇幅水字数了。

然后是测试用的代码:

import torch
print(f"PyTorch版本: {torch.__version__}")
print(f"PyTorch使用的CUDA版本: {torch.version.cuda}")
print(f"GPU设备名称: {torch.cuda.get_device_name(0)}")

都显示正常就完成了环境配置问题。

下面是项目文件地址,有git直接clone,没有就在Code处下载ZIP文件包

GitHub - jingyaogong/minimind: 🚀🚀 「大模型」2小时完全从0训练26M的小参数GPT!🌏 Train a 26M-parameter GPT from scratch in just 2h!

如果打不开就切换至gitee:minimind: 【大模型】3小时完全从0训练一个仅有26M的小参数GPT,最低仅需2G显卡即可推理训练!

载入至Pycharm中的样子:

把requirements.txt中的torch和torchvision去掉再使用下面的指令。

根据项目要求进行安装时注意别把torch。torchvision等相关库包覆盖了
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

三. 训练

下图是训练的步骤,本人已完成Pretrain,第二步选择的是sft_1024.jsonl,后续还有自我认知、RLHF阶段数据集等,按照需求进行训练,如果要求高、节省成本,推荐租用算力进行训练。

数据集下载地址:minimind_dataset · 数据集

下载完保存至minimind目录下的dataset中。我是通过更改parse中的参数然后在IDE中运行的。本人RTX2060 12G + 32G + i5 12490F 未量化默认参数1epoch预训练花了14小时(机械盘也有因素)。

四. 测试

模型文件为pth文件,需要转换格式至gguf方可用在ollama中。

预训练实际测试效果图:

如果想自制数据集可以看一下下载的jsonl文件,根据格式加上问和答。

五. 总结

预训练后的模型能回答一些问题,不是很聪明的样子,哈哈哈。可以多找些数据集或者自制数据集训练跑跑。

http://www.dtcms.com/a/604984.html

相关文章:

  • 机器学习驱动的智能光子学器件:逆向设计、光学神经网络与片上系统应用
  • 苍穹外卖资源点整理+个人错误解析-Day07-缓存商品、购物车
  • 自己做网站还是开通阿里巴巴诚信通安徽科技学院
  • 【033】Dubbo3从0到1系列之dubbo协议支持的序列化方式
  • 开源 Objective-C IOS 应用开发(五)iOS操作(action)和输出口(Outlet)
  • openEuler系统部署Node.js开发环境指南
  • 杭州网站建设市场青岛餐饮加盟网站建设
  • 手动清除Ubuntu系统中的内存缓存的步骤
  • 花店微信小程序怎么做,创建一个小程序需要多少钱
  • c# 异步编程详细说明及实践
  • 系统架构设计师论文分享-论设计模式的应用
  • 漫谈我与C++
  • HarmonyOS 6.0 服务卡片实战:把「轻食刻」装进桌面,让轻断食一眼可控
  • 建设网站用什么技术网站的基本类型
  • 罗湖附近公司做网站建设哪家效益快阜阳微网站建设多少钱
  • C++-Qt-音视频-基础问题01
  • [Linux]学习笔记系列 -- [kernel]notifier
  • Blender学习笔记(0) -- 思维导图框架
  • 云手机 服务器网络安全
  • 服务器BMC开发视角:解析CPU管理的两大核心接口PECI与APML
  • Linux 服务器安装 dstat 监控插件
  • 与实验室服务器互相ping
  • C++ 二叉搜索树的模拟实现(key结构的非递归和key_value结构的非递归的实现)
  • dw制作简单网站如何推广新品
  • SUSE Linux Enterprise Server 15 SP4安装步骤
  • 红帽企业 Linux 9 启动过程详解:从按下电源到登录提示符
  • 合肥建设厅网站建设一个一般网站需要多少钱
  • 麻省理工学院未来研发更高温超导体打开了新路径
  • Android studio修改app 桌面logo和名称
  • 【MCU控制 初级手札】2.1 电学基础知识 【电学基础】