VisualGLM-6B微调(V100)

Visualglm-6b-CSDN博客文章浏览阅读1.3k次。【官方教程】XrayGLM微调实践,(加强后的GPT-3.5)能力媲美4.0,无次数限制。_visualglm-6bhttps://blog.csdn.net/u012193416/article/details/131074962?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171478876716800184169034%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171478876716800184169034&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-131074962-null-null.nonecase&utm_term=visualglm&spm=1018.2226.3001.4450本次主要是在本地微调visualglm-6b的几个小坑,这玩意环境是麻烦啊,一堆问题。

1.数据问题

记得模型路径别改错。

2.模型加载问题

visualglm的模型加载非常的麻烦,首先字huggingface上开源了hf版本的权重,但是这个权重只能用来推理,无法微调,因此要下微调版本的权重:

可以下这个在Xray上微调的版本,原始的清华云盘已经失效了

https://huggingface.co/wangrongsheng/XrayGLM-300/tree/main

 下载完成之后,注意路径

 然后在代码更改代码:

  model_type = "/home/image_team/image_team_docker_home/lgd/e_commerce_lmm/weights/THUDM_Visualglm6b/"
    model, args = FineTuneVisualGLMModel.from_pretrained(model_type, args)

AttributeError 'FakeTokenizer' object has no attribute 'encode'

改一下代码,是chtaglm的tokenizer的加载问题

def create_dataset_function(path, args):
    # tokenizer = get_tokenizer("args")
    tokenizer = AutoTokenizer.from_pretrained(
        "/home/image_team/image_team_docker_home/lgd/e_commerce_lmm/weights/visualglm-6b/", trust_remote_code=True)
    image_processor = BlipImageEvalProcessor(224)

    dataset = FewShotDataset(path, image_processor, tokenizer, args)
    return dataset

3.版本问题

升级gcc 5.4

sudo rpm -ivh gcc-5.4.0-1.el7.centos.x86_64.rpm
export CC=/usr/local/bin/x86_64-unknown-linux-gnu-gcc
export CXX=/usr/local/bin/x86_64-unknown-linux-gnu-g++

为CentOS 6、7升级gcc至4.8、4.9、5.2、6.3、7.3等高版本 - VPS侦探CentOS 7虽然已经出了很多年了,但依然会有很多人选择安装CentOS 6,CentOS 6有些依赖包和软件都比较老旧,如今天的主角gcc编译器,CentOS 6的gcc版本为4.4,CentOS 7为4.8。gcc 4.8最主要的一个特性就是全面支持C++11,如果不清楚什么用的也没关系,简单说一些C++11标准的程序都需要gcc 4.8以上版本的gcc编译器编译,如MySQL 8.0版本(8.0.16以上版本是C++14标准,需gcc 5.3以上版本)。icon-default.png?t=N7T8https://www.vpser.net/manage/centos-6-upgrade-gcc.html5.4版本不行,后续在编译c++17时会报错。

直接执行pip install -r requirement.txt

SwissArmyTransformer>=0.3.6
transformers==4.27.1
bitsandbytes==0.39.0
deepspeed==0.14.0

这其中bitsandbytes这个库和量化有关,可能要升级你的gcc等,比较麻烦

遇到了yum卡主了不动的情况

rpm和yum卡住 - 知乎问题描述今天使用yum 安装 一个软件的时候,发现一只卡在yum 这一步, 没有任何报错信息, 且无法 ctrl + c 终止, 只能通过后台 kill -9 杀死 问题解决1. 通过添加 -vv 查看日志 yum -vv + 软件包会发现卡在 loading …icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/358154111一直编译fused_adam失败

deepspeed-ninja报错解决 - Be With youdeepspeed训练模型时ninja报错解决1、报错如下:12345678910111213141516171819202122232425[1/3] /usr/bin/nvcc -DTORCH_EXTENSION_NAME=fused_adam -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\"icon-default.png?t=N7T8https://johnson7788.github.io/2023/08/23/deepspeed-ninja%E6%8A%A5%E9%94%99%E8%A7%A3%E5%86%B3/c++17 nvcc版本不支持c++17编译,nvcc是11.8,gcc7.3就可以支持了

/usr/local/cuda-12.1/bin/nvcc  -ccbin /usr/local/bin/x86_64-unknown-linux-gnu-gcc -DTORCH_EXTENSION_NAME=fused_adam -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -I/home/miniconda3/envs/visualglm/lib/python3.10/site-packages/deepspeed/ops/csrc/includes -I/home/miniconda3/envs/visualglm/lib/python3.10/site-packages/deepspeed/ops/csrc/adam -isystem /home/miniconda3/envs/visualglm/lib/python3.10/site-packages/torch/include -isystem /home/miniconda3/envs/visualglm/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -isystem /home/miniconda3/envs/visualglm/lib/python3.10/site-packages/torch/include/TH -isystem /home/miniconda3/envs/visualglm/lib/python3.10/site-packages/torch/include/THC -isystem /usr/local/cuda-11.1/include -isystem /home/miniconda3/envs/visualglm/include/python3.10 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_70,code=compute_70 -gencode=arch=compute_70,code=sm_70 --compiler-options '-fPIC' -O3 -DVERSION_GE_1_1 -DVERSION_GE_1_3 -DVERSION_GE_1_5 -lineinfo --use_fast_math -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=compute_70 -std=c++14 -c /home/miniconda3/envs/visualglm/lib/python3.10/site-packages/deepspeed/ops/csrc/adam/multi_tensor_adam.cu -o multi_tensor_adam.cuda.o

4.微调

#! /bin/bash
NUM_WORKERS=1
NUM_GPUS_PER_WORKER=4
MP_SIZE=1

script_path=$(realpath $0)
script_dir=$(dirname $script_path)
main_dir=$(dirname $script_dir)
MODEL_TYPE="visualglm-6b"
MODEL_ARGS="--max_source_length 64 \
    --max_target_length 256 \
    --lora_rank 10 \
    --layer_range 0 14 \
    --pre_seq_len 4"

# OPTIONS_SAT="SAT_HOME=$1" #"SAT_HOME=/raid/dm/sat_models"
OPTIONS_NCCL="NCCL_DEBUG=info NCCL_IB_DISABLE=0 NCCL_NET_GDR_LEVEL=2"
HOST_FILE_PATH="hostfile"
HOST_FILE_PATH="hostfile_single"

train_data="/home/image_team/image_team_docker_home/lgd/e_commerce_lmm/data/fewshot-data/dataset.json"
eval_data="/home/image_team/image_team_docker_home/lgd/e_commerce_lmm/data/fewshot-data/dataset.json"

gpt_options=" \
       --experiment-name finetune-$MODEL_TYPE \
       --model-parallel-size ${MP_SIZE} \
       --mode finetune \
       --train-iters 300 \
       --resume-dataloader \
       $MODEL_ARGS \
       --train-data ${train_data} \
       --valid-data ${eval_data} \
       --distributed-backend nccl \
       --lr-decay-style cosine \
       --warmup .02 \
       --checkpoint-activations \
       --save-interval 300 \
       --eval-interval 10000 \
       --save "/home/image_team/image_team_docker_home/lgd/e_commerce_lmm/results/visualglm_6b_xray" \
       --split 1 \
       --eval-iters 10 \
       --eval-batch-size 8 \
       --zero-stage 1 \
       --lr 0.0001 \
       --batch-size 4 \
       --skip-init \
       --fp16 \
       --use_lora
"

run_cmd="${OPTIONS_NCCL} ${OPTIONS_SAT} deepspeed --master_port 16666 --hostfile ${HOST_FILE_PATH} finetune_visualglm.py ${gpt_options}"
echo ${run_cmd}
eval ${run_cmd}

set +x

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2. Linux 基本指令(上)|ls|pwd|cd|tree|touch|mkdir|rmdir|rm

前言 计算机软硬件体系结构 层状结构应用软件Word,Matlab操作系统Windows,Linux设备驱动声卡驱动硬件CPU,内存,磁盘,显示器,键盘 操作系统概念 操作系统 是一款进行软硬件资源管理的软件 例子 比如在学…

Join优化规则及应用层BI系统实践

目录 一、背景 二、查询优化器概述​编辑 2.1 System R Optimizer 2.2 Volcano Optimizer 2.3 Cascade Optimizer 三、Join相关优化规则 3.1 JoinReorder 3.1.1 少量表的Reorder 3.1.2 大量表的Reorder 3.1.3 星型模型的Reorder 3.2 外连接消除 3.3 Join消除 3.4 谓…

使用ROW_NUMBER()分组遇到的坑

1、再一次清洗数据时,需要过滤重复数据,使用了ROW_NUMBER() 来分组给每组数据排序号 在获取每组的第一行数据 with records as(select cc.F_Id as Id,REPLACE(cc.F_CNKITitle,char(10),1) as F_CNKITitle,REPLACE(REPLACE(cc.F_Special,专题&#xff1…

适合大学生的鸿蒙开发板-Purple Pi OH之安装Docker

一、介绍 本文基于purple-pi-oh系列主板演示Linux 系统安装Docker,方法适用于RK3566全系列产品。本教程将指导你在基于RK3566的LInux系统上安装Docker。Docker是一个开放源代码的应用容器引擎,允许开发者打包他们的应用及依赖包到一个可移植的容器中&am…

【银角大王——Django课程——分页显示功能实现】

分页显示功能实现 添加假数据,然后演示分页功能分页——功能实现基于之前的靓号列表函数添加代码只显示10条——按照等级排序页码list表样式——bootstrap样式显示当前页面——前五页,后五页给当前页添加样式页码bug更改——出现负数,没有数据…

【neteq】tgcall的调用、neteq的创建及接收侧ReceiveStatisticsImpl统计

G:\CDN\P2P-DEV\Libraries\tg_owt\src\call\call.cc基本是按照原生webrtc的来的:G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\group\GroupInstanceCustomImpl.cpptg对neteq的使用 worker 线程创建call Call的config需要neteqfactory Call::CreateAu…

MySQL——变量的浮点数问题处理

新建链接,自带world数据库,里面自带city表格。 DQL #MySQL变量的浮点数问题处理 set dx3.14,dy3.25; select dxdy;#计算显示异常,会有很多00000的提示set resultdxdy; select result; 查询结果

为何预测预测蛋白质结构这么重要AlphaFold 3;阿里巴巴的开源语音转文字;抱抱脸开源LeRobot

✨ 1: AlphaFold 3 谷歌DeepMind和同构实验室推出AlphaFold 3 AI模型,旨在精确预测生命分子的结构和相互作用。 AlphaFold 3 是由谷歌DeepMind和Isomorphic Labs开发的一款新型AI模型,它可以以前所未有的精确度预测蛋白质、DNA、RNA、配体(…

【VTKExamples::Rendering】第一期 TestAmbientSpheres(环境照明系数)

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例TestAmbientShperes,介绍环境照明系数对Actor颜色的影响,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动…

C++:重载、重写与重定义

一、重载、重写与重定义的概念 C中,重载、重写和重定义是三个与函数和类成员相关的概念,但它们具有不同的含义和用途。 重载:是指在同一作用域内,可以有多个名称相同但参数列表(参数类型、参数个数或参数顺序&#x…

PyCharm安装教程(超详细图文教程)

一、下载和安装 1.进入PyCharm官方下载,官网下载地址: https://www.jetbrains.com/pycharm/download/ 专业版安装插件放网盘了,网盘下载即可:itcxy.xyz/229.html2.安装 1.下载后找到PyCharm安装包,然后双击双击.ex…

网工内推 | 技术支持工程师,最高15k,加班有补贴

01 星网信通 招聘岗位:售前技术支持 职责描述: 1、售前技术支持:技术交流、产品选型报价、方案制作等工作; 2、招投标支持:项目招标参数撰写、标书质疑、应标文件技术部分撰写及资质文件归纳准备、现场讲标及技术澄清…

Linux学习笔记1---Windows上运行Linux

在正点原子的教程中学习linux需要安装虚拟机或者在电脑上安装一个Ubuntu系统,但个人觉得太麻烦了,现在linux之父加入了微软,因此在Windows上也可以运行linux 了。具体方法如下: 一、 在Windows上的设置 在window的搜索框内&#…

vivado 低级别 SVF JTAG 命令、多链 SVF 操作

多链 SVF 操作 以下示例显示了如何在 SVF 链上处理操作。 每个链中连接有 2 个器件 : xcku11 和 xcku9 。配置存储器连接到链中的第 2 个器件 (xcku9) 。为访问此配置存储器 , SVF 会使用 HIR 、 HDR 、 TIR 和 TDR 命令来生成命令。为刷写此…

自动驾驶学习2-毫米波雷达

1、简介 1.1 频段 毫米波波长短、频段宽,比较容易实现窄波束,雷达分辨率高,不易受干扰。波长介于1~10mm的电磁波,频率大致范围是30GHz~300GHz 毫米波雷达是测量被测物体相对距离、相对速度、方位的高精度传感器。 车载毫米波雷达主要有24GHz、60GHz、77GHz、79GHz四个频段。 …

【JavaWeb】Servlet+JSP+EL表达式+JSTL标签库+Filter过滤器+Listener监听器

需要提前准备了哪些技术,接下来的课才能听懂? JavaSE(Java语言的标准版,Java提供的最基本的类库) Java的开发环境搭建Java的基础语法Java的面向对象数组常用类异常集合多线程IO流反射机制注解Annotation… MySQL&…

守护数字疆域:2024年网络安全报告深度解读

在这个数据如潮涌动的数字时代,每一比特信息都可能是攻防双方角力的战场。《Check Point 2024年网络安全报告》不但为我们揭示了过去一年网络安全世界的风云变幻,更以前瞻性的视角勾勒出未来的挑战与机遇。此刻,让我们携手深潜这份权威指南的…

【智能算法】人工原生动物优化算法(APO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.获取代码 1.背景 2024年,X Wang受到自然界原生动物启发,提出了人工原生动物优化算法( Artificial Protozoa Optimizer, APO)。 2.算法原理 2.1算法思想 AP…

【比邻智选】MR880A模组

🚀高性价比,5G/4G双模,稳定可靠 🌐功能丰富,5G特性一应俱全 🧩多封装兼容,适配性强,灵活升级智能设备

【C语言】内存函数的概念,使用及模拟实现

Tiny Spark get dazzling some day. 目录 1. memcpy-- 函数原型-- 函数使用-- 函数的模拟实现 2.memmove-- 函数原型-- 函数使用-- 函数的模拟实现 3. memset-- 函数原型-- 函数使用-- 函数的模拟实现 4. memcmp-- 函数原型-- 函数使用-- 函数的模拟实现 1. memcpy 使用需包含…