部署运行ai智障写作记录【ChatRWKV】

news2025/4/14 14:59:10

文章目录

  • 前言
  • 一、环境安装
    • 1.python环境:Python 3.10。
    • 2.安装一些 pip 库numpy 、tokenizers 、prompt_toolkit
    • 3.安装pytorch 1.13.1+CUDA 11.7
  • 二、运行记录
    • 1、下载代码
    • 2、下载训练参数
    • 3、编辑代码运行
  • 总结


前言

看到知乎一篇教程,
大佬自己弄得ai小说续写,用我的18年老笔记本居然也跑起来了,1.5b模型续写效果:

在这里插入图片描述

以下只是记录,正文请跳转知乎原文查看:https://zhuanlan.zhihu.com/p/609154637


一、环境安装

【建议先把pip源切换为国内清华源】

1.python环境:Python 3.10。

使用anaconda创建环境,选择3.10.x

在这里插入图片描述

2.安装一些 pip 库numpy 、tokenizers 、prompt_toolkit

不要安装错了环境

两种方式:
1、cmd 命令行切换到刚刚新建的python3.10环境,执行下面安装命令

conda activate python310
pip install numpy tokenizers prompt_toolkit

2、在anaconda ui界面安装
选择对应环境,右上角输入需要的包安装,打勾是已经安装的

在这里插入图片描述

3.安装pytorch 1.13.1+CUDA 11.7

我笔记本是1050,虽然拉,不过也有几百个cuda核心

安装pytorch,应该也可以使用上面的方式安装,但是怕版本不对,或者其他原因,还是建议使用下面命令行安装

pip install torch --extra-index-url https://download.pytorch.org/whl/cu117 --upgrade

我装的时候2.4Gb左右,还好下载速度快一般10分钟左右就安装好了

二、运行记录

1、下载代码

环境安装完成后把代码拉下来:

git clone https://github.com/BlinkDL/ChatRWKV

如果本地装了git,进入你想要存放代码的文件夹,地址栏输入cmd,回车
然后在命令行界面输入上面代码拉取就好了,代码本身并不大

2、下载训练参数

根据你的显存下载对应的训练参数,我的1050网上查是2g,但是这里看又有4g,不是很清楚为什么
在这里插入图片描述
不同显存下载不同规模参数,4g刚好可以下载1.5B 参数,后面我也不自量力的下载了中模型,改了下参数后确实运行起来了,但是生成速度太感人了,10个汉字能跑1分钟……
只有4g的话还是跑跑小模型就好了

模型链接里面有许多链接,不用全部下载,下载【其中的 EngChn-testNovel 模型】

下载小说模型(这些链接里面有很多模型,选其中的 EngChn-testNovel 模型):

大模型:7B 参数,效果最佳,推荐 14G
显存,小显存也可以跑,显存越少越慢:https://huggingface.co/BlinkDL/rwkv-4-pile-7b/tree/main
(炼了40%,炼完会更强)

中模型:3B 参数,效果中上,推荐 6G 显存,小显存也可以跑,显存越少越慢:
https://huggingface.co/BlinkDL/rwkv-4-pile-3b/tree/main

小模型:1.5B 参数,效果中等,推荐 3G 显存: https://huggingface.co/BlinkDL/

比如小模型1.5B,下载这个就好了,
令人惊喜的是下载速度嘎嘎快,给作者好评!!要是放github,把模型拉下来都要好久

在这里插入图片描述

3、编辑代码运行

下载好之后,使用vs打开源代码v2文件夹里面的chat.py,按照下面更新(作者难得良心的写了这么多中文注释……)

设置 CHAT_LANG = 'Chinese'

设置 args.MODEL_NAME = 'C:/xxx/xxx/RWKV-4-Pile-7B-EngChn-testNovel-xxx-ctx2048-20230xxx'
这个 MODEL_NAME 改成你下载的模型文件的路径和名字(不需要 .pth 扩展名),注意路径用 /(不要用 \)。

默认的 args.strategy = 'cuda fp16' 代表模型全部加载进显卡。

如果显存报错说不够,改成 args.strategy = 'cuda fp16 *12+' 试试(注意数字后面有个加号!)。
然后尽量调大12(只要不报错,这个数字越大,模型运行越快)。
但不要太极限(如果太极限,有可能生成时显存不够),建议试到极限,然后减1或2。
用这个方法,3G显存也能跑7B模型(不过会挺慢,以后会更快)。

还可以试试 'cuda fp16 *12 -> cpu fp32' 也是尽量调大12。可以比较哪种的速度快。

实测:
cuda fp16 就只会使用显卡,显卡gpu会占满,速度很快,但是容量只有4g,大于4g模型会报错
cuda fp16 *12+ 会使用显卡和内存一起,可以运行大于4g的模型,但是速度奇慢

上面都弄好了就可以跑起来了,下面是他跑起来的样子:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

作者还有个api_demo.py,不过没写注释,看不懂……,如果跑起来应该就能想chatgpt一样对外提供api了吧,那倒是蛮实用的


总结

参考链接:
https://zhuanlan.zhihu.com/p/609154637

https://huggingface.co/BlinkDL/rwkv-4-pile-1b5/tree/main

https://github.com/BlinkDL/ChatRWKV

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

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

相关文章

AI环境搭建步骤(Windows环境)

1. 安装好Anaconda3版本(1) 安装链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?CM&OD本文使用Anaconda3下载链接:Anaconda5(2) 注意安装anaconda时一定要把环境变量加入windows环境中。要没有勾选,安装完后还有手动加入…

线性代数学习-2

线性代数学习-2矩阵消元消元回代消元矩阵置换矩阵逆矩阵本文转载于https://herosunly.blog.csdn.net/article/details/88713747 该文章本人认为十分有用,便自己敲一遍笔记加固印象原文链接 原文这个笔记感觉比我老师讲的更加透彻,清晰。很好的展示了线性…

车辆热管理测试方案

车辆热管理是在能源危机出现、汽车排放法规日益严格以及人们对汽车舒适性要求更高的背景下应运而生的。将各个系统或部件如冷却系统、润滑系统和空调系统等集成一个有效的热管理系统;控制和优化车辆的热量传递过程,保证各关键部件和系统安全高效运行&…

《C++ Primer Plus》(第6版)第5章编程练习

《C Primer Plus》(第6版)第5章编程练习《C Primer Plus》(第6版)第5章编程练习1. 计算闭区间内的整数和2. 重新编写程序清单5.43. 累加4. 投资价值5. 销售情况6. 销售情况27. 汽车8. 统计单词数量9. 统计单词数量210. 嵌套循环《…

(五十)大白话深入研究索引之前,先来看看磁盘数据页的存储结构

前面我们已经给大家把MySQL数据库的部分内核原理,更新语句的执行原理,事务原理以及锁原理,都初步的讲给大家听了,同时还穿插了一些相关的数据库性能优化的案例,相信现在大家已经对数据库执行增删改语句的原理有了较为深…

小程序容器与微服务架构:提高应用程序开发效率和部署速度的利器

随着移动互联网的发展,小程序已经成为了一种非常流行的应用方式,它可以在不安装任何应用的情况下,直接在移动终端设备(如:App,iPad等)中运行。微服务架构则是一种的分布式系统架构,可…

三维数据可视化软件,可视化地图是用什么做的?

可视化地图是用什么做的?数据可视化地图是一种利用空间数据来表现地理信息的方式,能够为人们提供关于地理信息的准确、直观的可视化图形,以便更好地理解相关信息。数据地图可以最直观的表达出数据之间的空间关系,因此在很多数据分…

【组织架构】中国铁路兰州局集团有限公司

1 公司简介 中国铁路兰州局集团有限公司,是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一,简称“兰局”。经过59年的发展,现已成为西北地区最大的交通运输企业之一,形成了以兰州为枢纽,由陇海铁路、包兰铁…

前端Cookie基础知识

一、简介 ​ Cookie(也称为HTTP Cookie、Web Cookie、浏览器 Cookie等等)是服务器发送到用户浏览器并保存在本地的一小块数据,该数据通常是用户账号相关的信息,不同浏览器对Cookie的数量和大小限制不同,但一般来说&am…

centos8安装

本文由个人总结,如需转载使用请标明原著及原文地址 1.下载镜像 1.1阿里镜像 可以在阿里云的镜像库里下载,阿里centos8只保留了8.5.2111如果需要别的版本看1.2 http://mirrors.aliyun.com/centos/8/isos/x86_64 1.2其他版本的镜像 下好镜像的可以跳过…

2023年1月京东“白酒”品类销售数据出炉,五粮液表现较好

鲸参谋电商数据监测的2023年1月份京东“白酒”品类销售数据出炉! 根据鲸参谋电商数据显示,2023年1月,京东平台上白酒的销量共计980万,环比增长约180%,同比去年增长约13%;销售额将近69亿,环比增长…

2021年全国职业院校技能大赛(中职组)网络安全竞赛试题A(1)

2021年全国职业院校技能大赛(中职组) 网络安全竞赛试题 (1) 这里是21的试题就以刷题为主,方法可能就不那么详细,如果是新题会详细过程,其他的详细过程可以看22的试题 目录 2021年全国职业院校…

【LeetCode】Day210-二叉搜索树的后序遍历序列

题目 剑指 Offer 33. 二叉搜索树的后序遍历序列【中等】 题解 二叉搜索树性质&#xff1a;左<根&#xff0c;右>根 后序遍历序&#xff1a;左右根 递归分治 利用递归求解&#xff0c;[ i,j ]区间中找到第一个比根节点大的元素&#xff0c;下标为m&#xff0c;则[i,m…

10月17日|实验报告|paddle paddle|概念辨析

目录 一、安装paddle paddle 第一章 零基础入门深度学习 机器学习和深度学习综述 1.人工智能、机器学习、深度学习的关系 1.1人工智能(Artificial Intelligence,AI) 1.2机器学习 1.2.1机器学习的实现 1.2.2机器学习方法论 1.3深度学习​​​​​​​ 一、安装paddle…

Transformer的位置编码笔记(positional encoding)

一、为什么Transformer需要对输入进行位置编码因为Transformer的输入并没有内涵位置信息&#xff0c;同样的词在不同位置&#xff0c;或者同一个序列以不同顺序输入&#xff0c;对应的词间都会得到相同的注意力权重和输出&#xff0c;但是在NLP领域&#xff0c;词的顺序会极大地…

P20 PyTorch 反向传播算法

前言&#xff1a;反向传播是深度学习的基础核心&#xff0c;如果掌握了这个&#xff0c;其它的模型会很容易理解。这里面结合前面的多层感知机&#xff0c;深入了解一下权重数是如何更新的目录&#xff1a;1: 多层感知机节点间的权重系数更新2&#xff1a; 反向传播的基本思路3…

基于VS Code的插件开发(基础篇)

一、基础介绍 VSCode 采用了 Electron&#xff0c;在语言上&#xff0c;VSCode 使用了自家的 TypeScript 语言开发。Electron是基于 Chromium 和 Node.js&#xff0c;使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用&#xff0c;它兼容 Mac、Windows 和 Linux&#xff0c;…

认识DOM和架构

DOM 代表文档对象模型&#xff0c;是 HTML 和 XML 文档的接口(API)。当浏览器第一次读取(解析)HTML文档时&#xff0c;它会创建一个大对象&#xff0c;一个基于 HTM L文档的非常大的对象&#xff0c;这就是DOM。它是一个从 HTML 文档中建模的树状结构。DOM 用于交互和修改DOM结…

SpreadJS 16.0 中文版在线电子表设计预览EXCEL-Crack

SpreadJS 纯前端表格控件 - V16.0 新特性--内容摘自互联网 新文件结构是 SpreadJS 近几个版本中最为重要的架构级更新。这种新文件结构可以大大提高导入大型 Excel 文件的性能&#xff0c;同时在保存时创建更小、优化更好的文件。 在 V15.0 及更早的版本中&#xff0c;Spread…

android事件分发机制源码分析

没什么用的前言责任链设计模式流程图源码分析 没什么用的前言 事件分发机制是面试中一道必问的题目&#xff0c;而我的应对方式则是&#xff0c;在网络上找一些博客看看&#xff0c;然后做一些笔记&#xff0c;最后在面试时将我自己记住的内容说出来。这种方式本身没有太大的…