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

做网站开发有哪些优点呢网络优化软件有哪些

做网站开发有哪些优点呢,网络优化软件有哪些,wordpress 中文在线留言,禹城有做网站前言:最近大模型太火了,导师让我看看能不能用到自己的实验中,就想着先微调一个chatGLM试试水,微调的过程并不难,难的的硬件条件跟不上,我试了一下lora微调,也算跑通了吧,虽然最后评估…

前言:最近大模型太火了,导师让我看看能不能用到自己的实验中,就想着先微调一个chatGLM试试水,微调的过程并不难,难的的硬件条件跟不上,我试了一下lora微调,也算跑通了吧,虽然最后评估的时候报错了,淦!
真正设计lora微调的就那一行代码,仅以此博客作为记录,希望有大佬能够告知为啥评估的时候会出现那两个bug,不胜感激!

环境准备

GPU:3090两块
系统镜像:Ubuntu 9.4.0-1ubuntu1~20.04.2
python版本:Python 3.10

部署

  1. 创建python环境
conda create -n py310_chat python=3.10 

小编这里报错了:
在这里插入图片描述
说什么channel获取不到,可以理解为conda的下载源找不到
解决办法:
将获取不到的channel删除即可

conda config --remove channels 要删除的channel

还有报错就接着删,然后查看当前是否还存在channel

conda config --show channels

如果没有可用channel,使用下述命令添加,这里给出几个例子

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

解决完上述问题,重新创建就可以啦!

  1. 激活环境
conda activate py310_chat
  1. 下载(克隆)项目
git clone https://github.com/THUDM/ChatGLM3.git
  1. 进入目录,安装依赖
cd ChatGLM3
pip install -r requirements.txt
  1. 预训练好的模型下载
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

因为模型很大,这里下载可能需要点时间
小编这里下载模型的时候也出了点问题,只下载了一部分就报错停止了,重新下载还是会出现类似情况,所以我就去hugging face把缺失的文件手动的一个一个下载下来,拷贝到chatglm3-6b中

  1. 命令行demo运行

打开项目下的basic_demo,可以看到很多可运行的demo,这里选择cli_demo.py,成功运行之后终端会出现一个交互式命令行,你就可以跟chatGLM聊天了

注意: 这里你需要将cli_demo.py中的MODEL_PATH和TOKENZIER_PATH改为上述第五步中下载的模型地址
(web demo小编也运行了,但是出了点问题,时间紧迫也没有去探究为什么报错)

微调

  1. 准备数据集

这里先用官方提供的数据集试试水:AdvertiseGen数据集
数据集下载完成之后,放到你的项目下

  1. 安装依赖

进入到项目中的finetune_demo目录下,这里是官方提供的微调代码,以及还有微调所需要安装的依赖:

pip install -r requirements.txt
  1. 处理数据集

运行lora_finetune.ipynb最开始的一段代码,对train.json和dev.json进行“切割对齐”,生成最终的微调数据集
这里我们只需要修改一下原数据集存放的路径和处理之后数据集存放的路径就可以了,即下述这一行代码中的路径:
在这里插入图片描述

  1. 配置文件修改

配置文件都放在finetune_demo目录下的configs目录中
包括以下文件:

  • ds_zereo_2 / ds_zereo_3.json: deepspeed 配置文件。
  • lora.yaml / ptuning.yaml / sft.yaml: 模型不同方式的配置文件,包括模型参数、优化器参数、训练参数等
    详情可查看finetune_demo目录下的readme文件

按照官网的lora.yaml配置进行微调,CUDA out of memory了!!!
可替换成下述配置:https://github.com/KevinFanng/makeChatGLM3FinetuneData/blob/main/lora.yaml(这是我参考的博主的文章里面提供的,我单张3090不行,两张3090可以)

  1. 运行微调代码

单机单卡:

python finetune_hf.py  数据集路径/ 模型路径/ configs/lora.yaml

单机双卡:

 OMP_NUM_THREADS=1 torchrun --standalone --nnodes=1 --nproc_per_node=2 finetune_hf.py  数据集路径/ 模型路径/ configs/lora.yaml

发现还是有很多包都没装上,缺什么装什么就可以啦!

后记:
尽管我一再的修改配置文件使参数尽可能的小一点,但是一块3090还是没有带起来,后来我就采用单机双卡的训练模式,跑是跑起来了,训练跑完一轮的时候评估却报错了,具体错误如下:

在包的内部报这个错误,给我整不会了,想来想去也只能是版本错误,咋回事呢

  • TypeError: BatchEncoding.to() got an unexpected keyword argument 'non_blocking

第二个错误是device的错误,to(device)的时候报空类型,我麻了

  • AttributeError: ‘NoneType’ object has no attribute ‘to’
  1. 微调代码解析

微调调用的是封装好的peft包,主要跟下面这行代码有关,get_peft_model是peft包中的方法,接受两个参数,一个是我们要微调的模型。一个是微调参数,返回值是设置完微调参数之后的模型

model = get_peft_model(model, peft_config)

参考

  • 感谢博主:https://www.bilibili.com/read/cv33842619/
http://www.15wanjia.com/news/8699.html

相关文章:

  • 新网站如何做网站优化seo辅助优化工具
  • 建什么网站好如何做好线上推广
  • wordpress阿里云邮箱设置高级seo培训
  • blog网站开发实例河北seo推广
  • 虚拟空间app网页seo搜索引擎优化
  • 实验教学中心网站建设珠海企业网站建设
  • 有什么做兼职的网站比较好网站结构优化的内容和方法
  • 怎样做自己的 优惠卷网站贵阳百度seo点击软件
  • 国外网站的设计风格世界足球排名前100
  • 如何做微信收费视频网站seo优化中商品权重主要由什么决定
  • 兰州展柜公司网站建设安徽seo
  • 网站图片上传功能怎么做排名优化公司电话
  • 主页面设计图片天津seo托管
  • 鄄城住房和城乡建设局网站百度代运营公司
  • 石家庄做网站好的网络技术有限公司百度手机网页版入口
  • 新闻网站数据库建设一站式快速网站排名多少钱
  • 做网站的一般多钱正版google下载
  • 网站推广设计培训机构哪家好
  • 优时代网站建设中国局势最新消息今天
  • 企业网站建设三个原则tool站长工具
  • 泉山微网站开发百度网盘客服人工电话95188
  • 不懂编程如何做网站b2b电商平台
  • 电脑如何做网站空间岳阳seo
  • 如何创建网站页面培训计划方案
  • 做游戏任务赚钱的网站市场营销策划方案模板
  • 网站系统报价方案模板下载软文范例800字
  • 网站首页的优化济南百度推广优化
  • 做企业网站的头部什么配色西安seo外包行者seo06
  • 标准件做网站推广效果怎么样输入关键词自动生成文章
  • 做网站站长先把作息和身体搞好大连seo外包平台