做网站项目的弊端/百度关键词查询网站

做网站项目的弊端,百度关键词查询网站,常见的管理系统,wordpress安装使用视频教程本篇文章主要讲解,如何通过极低的成本训练自己的大模型的方法和教程,通过MiniMind快速实现普通家用电脑的模型训练。 日期:2025年3月5日 作者:任聪聪 一、MiniMind 介绍 基本信息 在2小时,训练出属于自己的28M大模型。…

本篇文章主要讲解,如何通过极低的成本训练自己的大模型的方法和教程,通过MiniMind快速实现普通家用电脑的模型训练。
日期:2025年3月5日
作者:任聪聪

一、MiniMind 介绍

基本信息

在这里插入图片描述

在2小时,训练出属于自己的28M大模型。

开源地址:https://github.com/jingyaogong/minimind

特性说明:

1、在家用电脑中即可进行大模型的训练。

2、训练时间可在一天之内,让你获得低成本训练出的大模型。

3、适用于性能不高的电脑本地运行及训练迭代。

模型基础认知

1.模型大小

诸如目前大家都会讲解的,多少M 多少B 等等,这代表了模型涵盖的参数数量。

2.模型速度

一般通过token/s测量,这代表了每秒输出的字符数,也是api常见的计费形式。

3.模型消耗

一般分为三个部分即算力消耗、能源消耗、硬件成本。一般情况下模型训练需要耗费大量的算力及电力。这是由GPU集群计算机决定的。

二、安装MiniMind

安装前的准备:

1、GPU:一台入门级独显计算机RTX 3060 左右的显卡。
2、RAM:16-64GB
3、硬盘:500GB及以上
4、python 3.9环境
5、pycharm 编辑器
6、git 版本管理工具
备注:配置低的也可以就是满,且效果没有配置高的电脑好。

安装说明:

通过git进行clone进行下载,使用python的pip进行安装所需依赖。

步骤一、克隆到本地

输入指令:

git clone https://github.com/jingyaogong/minimind.git

在这里插入图片描述
等待下载完毕…
在这里插入图片描述

步骤二、使用PyCharm打开项目工程如下图:

在这里插入图片描述
进入到加载打开项目的目录,如下图:
在这里插入图片描述
点击“OK”进入到项目,并等待加载完毕。
在这里插入图片描述
选择python 3.9的版本,过低的版本可能会报错,建议选择更高或相同于本篇文章的版本,点击“OK”进入到下一个环节。

步骤三、使用PIP 安装我们所需的依赖

输入命令:pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述
直到安装和完毕,如下图:
在这里插入图片描述

三、训练模型

需要先准备好所需的数据集,而后通过训练集和验证集进行训练,并同构测试集测试模型的性能。

阶段分为:预训练、监督微调、循环迭代

步骤一、准备好我们的训练数据,如下:

这里我们使用自己的数据集,优先创建一个val目录并在val目录下,创建名为training_data.txt 的文件如下图:
在这里插入图片描述
编入内容,一行一条:
在这里插入图片描述

步骤二、对数据进行预处理,如下优先安装预处理依赖:

pip install transformers datasets

下载依赖完毕后,通过pycharm创建一个新项目如下图:
在这里插入图片描述
完成后进入项目,并把val数据集放入项目根目录:
在这里插入图片描述
创建我们的预处理脚本,在项目根目录下:
在这里插入图片描述
内容如下:

from transformers import BertTokenizer
from datasets import Dataset# 加载预训练的BERT分词器
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')# 读取文本文件
with open('./val/training_data.txt', 'r', encoding='utf-8') as file:lines = [line.strip() for line in file.readlines()]# 将文本转换为分词后的输入
def fc_func(examples):return tokenizer(examples['text'], truncation=True, padding='max_length', max_length=512)dataset = Dataset.from_dict({'text': lines})
tokenized_dataset = dataset.map(fc_func, batched=True)# 保存处理后的数据集
tokenized_dataset.save_to_disk('./go_ai_data')

步骤三、开始运行我们的数据预处理脚本:

运行成功后我们将得到如下的文件信息:
在这里插入图片描述
这些数据便是我们用来进行预训练的数据集,在根目录下创建训练脚本如下图:
在这里插入图片描述
脚本内容:

from transformers import BertTokenizer, BertForMaskedLM, Trainer, TrainingArguments
from datasets import Dataset# 加载预训练的BERT分词器和模型
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
model = BertForMaskedLM.from_pretrained('bert-base-chinese')# 读取文本文件并处理数据
with open('./val/training_data.txt', 'r', encoding='utf-8') as file:lines = [line.strip() for line in file.readlines()]def preprocess_function(examples):return tokenizer(examples['text'], truncation=True, padding='max_length', max_length=512)dataset = Dataset.from_dict({'text': lines})
tokenized_dataset = dataset.map(preprocess_function, batched=True)# 设置训练参数
training_args = TrainingArguments(output_dir='./results',overwrite_output_dir=True,num_train_epochs=3,per_device_train_batch_size=8,save_steps=10_000,save_total_limit=2,
)# 创建Trainer实例并开始训练
trainer = Trainer(model=model,args=training_args,train_dataset=tokenized_dataset,
)trainer.train()

修改并设置自己的输出参数及输入的预训练数据,即可通过下方命令进行运行脚本执行训练,等待一段时间后将会获得自己的模型。
在这里插入图片描述
训练好的模型文件后缀为 .pth,通过自定义编写python的模型加载和调用脚本即可生成远端api进行外部的调用与本机的web ui的使用,此处不做详细说明,运行模型详细见章节四部分。

四、运行模型

一般情况,模型的运行使用api的形式调用,这里客户端一般为web ui、app、pc等客户端,其中客户端只是用来呈现我们的模型运行效果和对话消息的,主要用于我们的日常生活办公。

步骤一、下载我们所需的运行模型项目

命令输入:

git clone https://huggingface.co/jingyaogong/MiniMind2

在这里插入图片描述
完成,如下图:
在这里插入图片描述

步骤二、通过pycharm打开项目:

在这里插入图片描述
安装所需依赖 命令 pip install streamli
在这里插入图片描述

步骤三、运行我们的web ui对话框

在pycharm的 --> minimind <—项目终端目录下,打卡我们的scripts目录如下图:

cd scripts

在这里插入图片描述

并执行运行web ui的命令:

streamlit run web_demo.py

运行后如下,需要输入自己的电子邮箱:

在这里插入图片描述
输入完毕后按下“Enter” 即可运行,弹出防火墙信息:
在这里插入图片描述
此处点击允许即可,回到终端即可看到web ui 的地址:
在这里插入图片描述
大功告成,ui已经正常运行.。
在这里插入图片描述

五、性能体验与迭代说明

实际效果

在这里插入图片描述
可以看到速度非常快!

迭代说明

形式说明通过模型的迭代,可以让模型的数据量及信息量,不断的增长和扩大所覆盖的参数信息,以此对模型的能力进行更新。

END:闭环,不断收集新的数据,筛选数据,不断迭代模型,使得其更加完善和智慧。

常见问题:

1、PIP提示更新:

在这里插入图片描述
解决办法:
在这里插入图片描述
命令 python.exe -m pip install --upgrade pip 进行更新即可重试。

2、初次进入到项目提示报错情况

具体报文内容如下:

pcFailed to Create Virtual Environment
Executed command:
C: Users/admin/ApDatalLocalyPrograms/Ppython/python39/python.exe cyProgram files/letrainsPycharm 2024.1/plugins/python,hepershitualenv-20.24.5 pyzEildeveloplaiminimindven
Error occurred:
AttributeError: module 'virtualenv.create.via global ref.buitin.cpython.mac os' has no attribute 'CPython2macOsframework'
Command output:
Traceback(most recent call last)File "c: \Users ladminlAppDatalLocal!Programs Python\Python39\lib\runpy. py", line 197, in _run module_as_mainreturn rum code(code, main globals, oneFile "c: \UsersladminlAppDatalLocal\ProgramslPython\Python39\liblrunpy.py", line 87, in ru codeexec(code, rum globals)File C:\Program FilesWletBrains\Pycharn2024,1lpluginslpvthonlhelperslvirtualenv-20.24.5.pyzl main py ,line 163,in<module>File "C:\Program FilesWJetBrains\PyCharms\virtualenv-20.24.5.pyz\ main .py", line 159, in run00941File"C:\ProgramFilesiletBrainslPvchars\virtualenv-20.24.5.pyz\virtualenvl main .py", line 18, in run“C:\ProgramFileFileslTetBrains\Pvchars\virtualenv-20.24.5.pyz\virtualenv\run\  init..py", line 3l, in cli_runFile"C:\Programinit .py ,line 49, in session via cliEileslTetBrainslPycha1111g119111svirtualenv-20.24.5.pvglvirtualenvirunlFile"C:\Program Files\JetBrains\Pycharmslvirtualenv-20.24.5.pyz\virtualenvlrunl  init__.py", line 82, in build_parser1\p1ug111sFile"C:\ProgramTetBrains\Pvchar1-20.24.5.pyz\virtualenv\run\plugin\creators.py",line 24,ininitFilesw“C:1PrOgIEi1e1-20.24.5.pyz\virtualenv\run\plugin\creators.py", line 31, in for_interpreter“C,5.pyz\virtualenv\run\pluginlbase.py", line 45, in options\Progr2File"C:Prograilhelperslvirtualeny-20.24.5.pyzlvirtualenv(runlpluginlbase.py", line 24, in entry points forFile\Prog120.24.5.pyzlvirtualenv\runlpluginlbase.py", line 24, in<genexpr>~C.File“C:\Isers\import1ih\metadata.py .line 79.in loadreturn functools.rattrs, moduleAttributeRrror: modulevirtualenv.create.via global ref.builtin.cpython.mac os’has no attributeCPython2macOsFramework
OK
Cancel

直接点击OK即可进入到项目目录,可以忽略

3、无法安装运行web ui的必要依赖 streamli 报错如下时:

在这里插入图片描述
通过加入镜像源进行再次下载即可:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlit

在这里插入图片描述

4、打开链接后报错缺少依赖情况:

在这里插入图片描述
这个报错由于我们少安装依赖导致,只需要通过pip进行安装提示中的对应依赖 tansformers即可,具体命令如下:

pip install transformers

在这里插入图片描述
等待安装完毕即可解决该报错问题。

5、报错模型项目问题如下图:

在这里插入图片描述
这是由于我们git clone时没有将模型项目放入 minimind 目录的根目录导致,只需要转移目录即可。
在这里插入图片描述

6、预处理数据时报错:

在这里插入图片描述
这是由于缺少必要依赖导致,我们只需要下载特定提示的依赖即可。

pip install torch torchvision torchaudio
pip install tensorflow
pip install flax

等待下载完毕即可重新运行。

7、训练到一半突然报错停止的情况

在这里插入图片描述
更新检查依赖兼容性或脚本运行的python版本,建议使用最新的版本号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链中的数字签名:安全性与可信度的核心

数字签名是区块链技术的信任基石&#xff0c;它像区块链世界的身份证和防伪标签&#xff0c;确保每一笔交易的真实性、完整性和不可抵赖性。本文会用通俗的语言&#xff0c;带你彻底搞懂区块链中的数字签名&#xff01; 文章目录 1. 数字签名是什么&#xff1f;从现实世界到区块…

【文生图】windows 部署stable-diffusion-webui

windows 部署stable-diffusion-webui AUTOMATIC1111 stable-diffusion-webui Detailed feature showcase with images: 带图片的详细功能展示: Original txt2img and img2img modes 原始的 txt2img 和 img2img 模式 One click install and run script (but you still must i…

hive之lag函数

从博客上发现两个面试题&#xff0c;其中有个用到了lag函数。整理学习 LAG 函数是 Hive 中常用的窗口函数&#xff0c;用于访问同一分区内 前一行&#xff08;或前 N 行&#xff09;的数据。它在分析时间序列数据、计算相邻记录差异等场景中非常有用。 一、语法 LAG(column,…

【软考-架构】1.3、磁盘-输入输出技术-总线

GitHub地址&#xff1a;https://github.com/tyronczt/system_architect ✨资料&文章更新✨ 文章目录 存储系统&#x1f4af;考试真题输入输出技术&#x1f4af;考试真题第一题第二题 存储系统 寻道时间是指磁头移动到磁道所需的时间&#xff1b; 等待时间为等待读写的扇区…

盛铂科技PDROUxxxx系列锁相介质振荡器(点频源):高精度信号源

——超低相位噪声、宽频覆盖、灵活集成&#xff0c;赋能下一代射频系统 核心价值&#xff1a;以突破性技术解决行业痛点 在雷达、卫星通信、高速数据采集等高端射频系统中&#xff0c;信号源的相位噪声、频率稳定度及集成灵活性直接决定系统性能上限。盛铂科技PDROUxxxx系列锁…

【文献阅读】The Efficiency Spectrum of Large Language Models: An Algorithmic Survey

这篇文章发表于2024年4月 摘要 大语言模型&#xff08;LLMs&#xff09;的快速发展推动了多个领域的变革&#xff0c;重塑了通用人工智能的格局。然而&#xff0c;这些模型不断增长的计算和内存需求带来了巨大挑战&#xff0c;阻碍了学术研究和实际应用。为解决这些问题&…

如何在Github上面上传本地文件夹

前言 直接在GitHub网址上面上传文件夹是不行的&#xff0c;需要一层一层创建然后上传&#xff0c;而且文件的大小也有限制&#xff0c;使用Git进行上传更加方便和实用 1.下载和安装Git Git - Downloads 傻瓜式安装即可 2.获取密钥对 打开自己的Github&#xff0c;创建SSH密钥&…

kafka-web管理工具cmak

一. 背景&#xff1a; 日常运维工作中&#xff0c;采用cli的方式进行kafka集群的管理&#xff0c;还是比较繁琐的(指令复杂&#xff1f;)。为方便管理&#xff0c;可以选择一些开源的webui工具。 推荐使用cmak。 二. 关于cmak&#xff1a; cmak是 Yahoo 贡献的一款强大的 Apac…

数据结构:八大排序(冒泡,堆,插入,选择,希尔,快排,归并,计数)详解

目录 一.冒泡排序 二.堆排序 三.插入排序 四.选择排序 五.希尔排序 六.快速排序 1.Lomuto版本&#xff08;前后指针法&#xff09; 2.Lomuto版本的非递归算法 3.hoare版本&#xff08;左右指针法&#xff09; 4.挖坑法找分界值&#xff1a; 七.归并排序 八.计数排序…

【商城实战(2)】商城架构设计:从底层逻辑到技术实现

【商城实战】专栏重磅来袭&#xff01;这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建&#xff0c;运用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用户、商品、订单等核心模块开发&#xff0c;再到性能优化、安全加固、多端适配&#xf…

Mac mini M4安装nvm 和node

先要安装Homebrew&#xff08;如果尚未安装&#xff09;。在终端中输入以下命令&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 根据提示操作完成Homebrew的安装。 安装nvm。在终端中输入以下命令&#xf…

FOC无感开环启动算法

FOC无感开环启动排除掉高频注入这种直接识别当前转子dq轴的位置直接闭环启动&#xff0c;大部分的常规启动方式就是三段式启动&#xff0c;对齐-强拖-观测器介入-观测器误差稳定后平滑过渡-闭环。 这里就只写出I/F&#xff08;V/F&#xff09;启动的角度输出的代码&#xff0c…

Android 自定义View 加 lifecycle 简单使用

前言 本文是自定义view中最简单的使用方法&#xff0c;分别进行 ‘onMeasure’、‘onDraw’、‘自定义样式’、‘lifecycle’的简单使用&#xff0c;了解自定义view的使用。 通过lifecycle来控制 动画的状态 一、onMeasure做了什么&#xff1f; 在onMeasure中获取view 的宽和…

《挑战你的控制力!开源小游戏“保持平衡”开发解析:用HTML+JS+CSS实现物理平衡挑战》​

&#x1f4cc; 大家好&#xff0c;我是智界工具库&#xff0c;致力于分享好用实用且智能的软件以及在JAVA语言开发中遇到的问题&#xff0c;如果本篇文章对你有所帮助请帮我点个小赞小收藏吧&#xff0c;谢谢喲&#xff01;&#x1f618;&#x1f618;&#x1f618; 博主声…

【无标题】FrmImport

文章目录 前言一、问题描述二、解决方案三、软件开发&#xff08;源码&#xff09;四、项目展示五、资源链接 前言 我能抽象出整个世界&#xff0c;但是我不能抽象你。 想让你成为私有常量&#xff0c;这样外部函数就无法访问你。 又想让你成为全局常量&#xff0c;这样在我的…

给定计算预算下的最佳LLM模型尺寸与预训练数据量分配

给定计算预算下的最佳LLM模型尺寸与预训练数据量分配 FesianXu 20250304 at Wechat Search Team 前言 如果给定了计算预算 C C C&#xff0c;如何分配LLM的模型尺寸 N N N和训练的数据量 D D D&#xff0c;才能使得模型的效果 L L L最好呢&#xff1f;笔者在此介绍一篇经典的文…

青训营:简易分布式爬虫

一、项目介绍 该项目是一个简易分布式爬虫系统&#xff0c;以分布式思想为基础&#xff0c;通过多节点协作的方式&#xff0c;将大规模的网页抓取任务分解&#xff0c;从而高效、快速地获取网络数据 。 项目地址&#xff1a;https://github.com/yanchengsi/distributed_crawle…

任务9:交换机基础及配置

CSDN 原创主页&#xff1a;不羁https://blog.csdn.net/2303_76492156?typeblog 一、交换机基础 交换机的概念&#xff1a;交换机是一种网络设备&#xff0c;用于连接多台计算机或网络设备&#xff0c;实现数据包在局域网内的快速交换。交换机基于MAC地址来转发数据包&#x…

YOLOv8改进------------SPFF-LSKA

YOLOv8改进------------SPFF-LSKA 1、LSAK.py代码2、添加YAML文件yolov8_SPPF_LSKA.yaml3、添加SPPF_LSKA代码4、ultralytics/nn/modules/__init__.py注册模块5、ultralytics/nn/tasks.py注册模块6、导入yaml文件训练 1、LSAK.py代码 论文 代码 LSKA.py添加到ultralytics/nn/…

[Lc(2)滑动窗口_1] 长度最小的数组 | 无重复字符的最长子串 | 最大连续1的个数 III | 将 x 减到 0 的最小操作数

目录 1. 长度最小的字数组 题解 代码 ⭕2.无重复字符的最长子串 题解 代码 3.最大连续1的个数 III 题解 代码 4.将 x 减到 0 的最小操作数 题解 代码 1. 长度最小的字数组 题目链接&#xff1a;209.长度最小的字数组 题目分析: 给定一个含有 n 个 正整数 的数组…