base zhixi mode, redo example on local standyalone PC

 

ref url:

https://modelscope.cn/models/ZJUNLP/DeepKE-LLM/summary

Linux增大Swap分区,增加虚拟内存,以解决内存不足等问题_增大swapfile能缓解内存不足吗-CSDN博客

Add Local visual RAM 100G:

##增加虚拟内存
mkdir /data/VisualRAM
cd VisualRAMdd if=/dev/zero of=swapfile bs=1G count=100
sudo chmod 600 swapfile
mkswap swapfile
sudo swapon swapfile

 add to linux restart config for auto upload device:

sudo gedit /etc/fstab
/data/VisualRAM$/swapfile none swap defaults 0 0
sudo swapon --show

Download llama13b huggingface model:

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('skyline2006/llama-13b',cache_dir='/YourModelCatchDir')

Download zhixi diff 16pf:

python tools/download.py --download_path ./zhixi-diff-fp16 --only_base --fp16

merge llama 13b base to zhixi diff 16pf:

first modify tools/weight_diff.py , goto line 107 nearly,  comment a few lines,like this:

    if check_integrity_naively:# This is not a rigorous, cryptographically strong integrity check :)allsum = sum(state_dict_recovered[key].sum() for key in state_dict_recovered)print("allsum={0}, code check number is 94052.2891 or 94046.1875".format(allsum))# comment below codes::# assert torch.allclose(#     allsum, torch.full_like(allsum, fill_value=94052.2891 if not is_fp16 else 94046.1875), atol=1e-2, rtol=0# ), "Naive integrity check failed. This could imply that some of the checkpoint files are corrupted."

second: run code below

python tools/weight_diff.py recover --path_raw ./skyline2006/llama-13b --path_diff ./zhixi-diff-fp16 --path_tuned ./zhixi  --is_fp16 True

Now , all works is ready ,  begin run example:

fix bug:

python examples/generate_finetune.py --base_model ./zhixi

 error:

│                                                                                                  │
│ /home/gw00241401/anaconda3/envs/zhixi/lib/python3.9/site-packages/torch/nn/modules/linear.py:114 │
│ in forward                                                                                       │
│                                                                                                  │
│   111 │   │   │   init.uniform_(self.bias, -bound, bound)                                        │
│   112 │                                                                                          │
│   113 │   def forward(self, input: Tensor) -> Tensor:                                            │
│ ❱ 114 │   │   return F.linear(input, self.weight, self.bias)                                     │
│   115 │                                                                                          │
│   116 │   def extra_repr(self) -> str:                                                           │
│   117 │   │   return f'in_features={self.in_features}, out_features={self.out_features}, bias=   │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
RuntimeError: "addmm_impl_cpu_" not implemented for 'Half'

fix method:

1.modify  examples/generate_finetune.py

goto about 90 line,like this is ok

if not load_8bit:if device == "cpu":model.float()else:model.half()  

Error2:

OutOfMemoryError: CUDA out of memory. Tried to allocate 314.00 MiB. GPU 0 has a total capacty of 7.78 GiB of which 260.06 MiB is free. Including non-PyTorch memory, this process has 
6.96 GiB memory in use. Of the allocated memory 6.49 GiB is allocated by PyTorch, and 360.60 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large 
try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

because your GPU is not enough!  go to set CPU run model

for me ,like to du  this:

modify examples/generate_fune.py, goto line 10 about, simply added code at last line


if torch.cuda.is_available():device = "cuda"
else:device = "cpu"
##added
device = "cpu"

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

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

相关文章

第一次使用缓存,因为没预热,翻车了

△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 437 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 预热一般指缓存预热,一般用在高并发系统中,为了提升系统在高并发情况下的稳定性的一种手段。…

使用fabric.js实现对图片涂鸦、文字编辑、平移缩放与保存功能

文章目录 背景1.初始化画布1.创建画布2.设置画布大小 2.渲染图片3.功能:开启涂鸦4.功能:添加文字5.旋转图片6.画布平移7.画布缩放8.保存图片9.上传图片10.销毁实例11.总结 背景 项目中有个需求,需要对图片附件进行简单的编辑操作&#xff0c…

实战AI大模型:构建和优化深度学习巨兽的关键技术【文末送书-15】

文章目录 前言一.模型设计1.1 硬件加速1.2 模型部署 二.模型深度和宽度的平衡2.1引入注意力机制2.1 残差连接 三.实战AI大模型【文末送书-15】3.1 粉丝福利:文末推荐与福利免费包邮送书! 前言 随着人工智能领域的迅猛发展,大规模深度学习模型…

《3D数学基础-图形和游戏开发》阅读笔记 | 3D数学基础 (学习中 1.5更新)

文章目录 3D数学基础矢量/向量概述 - 什么是向量单位矢量:只关注方向不关注大小 数学运算矢量的加法与减法减法的几何意义计算一个点到另一个点的位移矢量的点积与叉积 矩阵方阵几何意义 - 表示空间坐标的变换组合变换 矩阵的乘法变换的分类 矩阵的行列式 3D数学基础…

Linux第7步_设置虚拟机的电源

设置ubuntu代码下载源和关闭“自动检查更新”后,就要学习设置“虚拟机的电源”了。 用处不大,主要是了解”螺丝刀和扳手形状的图标“在哪里。 1、打开虚拟机,点击最右边的“下拉按钮”,弹出对话框,得到下图&#xff…

CEEMDAN +组合预测模型(CNN-Transformer + ARIMA)

往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

栈的数据结构实验报告

一、实验目的: 1、理解栈的定义; 2、利用栈处理实际问题。 二、实验内容(实验题目与说明) 利用栈实现数据的分类,将输入的整数以奇偶为标准分别存放到两个栈中,并最终从栈1和栈2输出偶数和奇数序列。 …

【卡梅德生物】抗体人源化在肿瘤治疗中的应用

抗体人源化:创新癌症治疗新纪元 抗体人源化技术的崭新应用已在肿瘤治疗领域取得显著进展,为创造更有效、个体化的癌症治疗方案提供了新的可能性。抗体人源化在肿瘤治疗中的应用是生物技术领域一次重要的飞跃,为患者带来了更加安全和精准的治…

原来圣诞树可以这么做

先看结果 从上到下依次是: 2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7 ... 依次排下去,最后加4个单位数的数字 原来代码的世界里还有这个美。^V^

es相关介绍:yml配置、基础接口及方法介绍

下面是一个示例的 Easy-ES 的 YAML 配置文件: easy-es:enable: trueaddress: 192.168.1.145:9200username: your_usernamepassword: your_passwordconnectionTimeout: 5000socketTimeout: 60000maxRetryTimeout: 30000maxConnTotal: 30maxConnPerRoute: 10requestC…

python基于flask实现一个文本问答系统

from flask import Flask, render_template, requestapp Flask(__name__)# 一个简单的问题-答案映射,实际中可以使用更复杂的存储结构(数据库等) qa_pairs {"什么是人工智能?": "人工智能是模拟人类智能的一种机…

如何实现服务器主动向客户端推送实时数据

当需要实现服务器主动向客户端推送实时数据时,Server-Sent Events(SSE)是一种简单且有效的解决方案。本文将介绍如何使用Server-Sent Events,在后端使用Spring Boot实现,在前端使用Vue 3实现,并提供一个完整…

全志R128系统RTOS使用说明

使用串口访问设备 使用USB TypeC 连接线连接开发板 USB转串口 的接口,安装串口驱动程序:CH341SER.EXE 到设备管理器找到需要的串口,这里是 COM8 使用串口访问工具 PuTTY 打开串口,这里是 COM8,波特率 115200。 打开之后…

求海岸线-dfs

小莱获得了大奖:CM世界中一片 n m n \times m nm 的海域的使用权!这片海域可以看成 n m n \times m nm 的格子。其中每个格子要么是海,要么是岛屿,相邻的岛屿可以相互构成一片大的岛屿(相邻是指上下左右相连&#…

添加一个编辑的小功能(PHP的Laravel)

一个编辑的按钮可以弹出会话框修改断更天数 前台 加一个编辑按钮的样式,他的名字是固定好的 之前有人封装过直接用就好,但是一定放在class里面,不要放在id里面 看见不认识的方法一定要去看里面封装的是什么 之前就是没有看,所以…

CSS学习之-02

position:该属性指定了元素的定位类型 static:默认值,即没有定位,准寻正常的文档流对象,该定位不会受到top、bottom、left、right影响。 fixed:元素的位置相对于浏览器窗口是固定的,即使窗口滚…

吴恩达DeepLearning 2023学习目录

课程链接:https://space.bilibili.com/253734135/channel/collectiondetail?sid2022897 笔记下载:https://github.com/QueenJuliaZxx/deeplearning_ai_books L1 神经网络和深度学习 第一周 深度学习概论: 学习驱动神经网络兴起的主要技术趋…

如果PostgreSQL有两层nginx代理,会发生什么事?

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 1. 前言 PostgreSQL默认只能本机连接,若要在别的客户端远程连接pgsql,则需要修改配置文件pg_hba.conf&a…

Flutter中的StatelessWidget和StatefulWidget简介与使用

Flutter是一款流行的跨平台移动应用开发框架,它使用Dart语言编写。在Flutter中,StatelessWidget和StatefulWidget是两个重要的概念,用于构建用户界面。 1. StatelessWidget 什么是StatelessWidget? StatelessWidget是Flutter中…

如何将ElementUI组件库中的时间控件迁移到帆软报表中

需求:需要将ElementUI组件库中的时间控件迁移到帆软报表中,具体为普通报表的参数面板中,填报报表的组件中,决策报表的组件与参数面板中。 这三个场景中分别需要用到帆软报表二开平台的ParameterWidgetOptionProvider,FormWidgetOptionProvider,CellWidgetOptionProvider开…