随心玩玩(十五)LLM 浅玩一下RWKV模型

2024-04-22 07:12

本文主要是介绍随心玩玩(十五)LLM 浅玩一下RWKV模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面:无聊又来玩玩LLM了,这次玩玩RWKV,因为我看到hugging face上有个roleplay的模型,遂心动。

【烧显存注意!】需要16G显存的样子


介绍

(随便cv的,见谅,有空单独写一篇博客看看RWKV的源码吧…)

2024 年 1 月 28 日,RWKV 开源基金会宣布开源 RWKV-5-World 7B 模型。

RWKV 是一种创新的深度学习网络架构,它将 Transformer 与 RNN 各自的优点相结合,同时实现高度并行化训练与高效推理,时间复杂度为线性复杂度,在长序列推理场景下具有优于 Transformer 的性能潜力。

RWKV-v5 架构模型能力指标接近 Llama2,但推理成本降低 2~10 倍,训练成本降低 2~3 倍。

官方介绍称,在相同参数大小(7B)的模型独立基准测试中,RWKV 是世界上最环保、最节能的人工智能模型 / 架构(以每个 token 输出为基础)

RWKV 架构的能源效率源自线性 Transformer 架构的 2~10 倍计算效率与 Transformer 架构的二次缩放。随着模型规模的扩大,RWKV 架构的节能特性会越发明显。

RWKV-5-World 7B 模型在线 Demo:https://huggingface.co/spaces/BlinkDL/RWKV-Gradio-2

RWKV-5-World 7B 模型下载地址:

Hugging Face:https://huggingface.co/BlinkDL/rwkv-5-world/blob/main/RWKV-5-World-7B-v2-20240128-ctx4096.pth

wisemodel:https://wisemodel.cn/models/rwk

RWKV Runner

先安装WebUI
参考安装:https://github.com/josStorer/RWKV-Runner/blob/master/README_ZH.md

官方的Simple Deploy Example

git clone https://github.com/josStorer/RWKV-Runnercd RWKV-Runner
python ./backend-python/main.py #后端推理服务已启动, 调用/switch-model载入模型, 参考API文档: http://127.0.0.1:8000/docs# 或者
cd RWKV-Runner/frontend
npm ci
npm run build #编译前端
cd ..
python ./backend-python/webui_server.py #单独启动前端服务
# 或者
python ./backend-python/main.py --webui #同时启动前后端服务# 帮助参数
python ./backend-python/main.py -h

先clone一下项目
git clone https://github.com/josStorer/RWKV-Runner
进入后端目录
cd RWKV-Runner/backend-python
新建一个conda环境
(下面是全凭回忆写的,有错的话…(你已经是个成熟的coder了,要学会自己debug()
conda create -n RWKV python=3.10
安装环境
pip install -r requirment.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装前端环境,npm
先装一下nvm,把nvm理解成anaconda就行了,是npm的环境管理工具

nvm地址:https://github.com/nvm-sh/nvm

安装nvm:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
设置环境变量
source ~/.bashrc
检验nvm安装完成
command -v nvm

安装node和npm,这里装的是16.13.0版本
nvm install 16.13.0
设置npm镜像
npm config set registry https://registry.npmmirror.com

从项目根目录进入前端目录,编译前端

cd RWKV-Runner/frontend
npm ci
npm run build #编译前端

(少女泡茶中…)

npm ci卡了我好久…

记得npm run build
(继续泡茶…)

回到项目根目录,同时启动前后端,
python ./backend-python/main.py --webui --port 2777

用ssh架一个隧道到服务器
ssh -L 2777:localhost:2777 root@172.31.224.191 -p 22

访问http://127.0.0.1:2777/
在这里插入图片描述

下载模型

hugging face上很多了,我主要是想来玩roleplay模型,遂下载之。
https://huggingface.co/xiaol/RWKV-v5.2-7B-Role-play-16k

(RWKV模型挺好的就是只用下一个pth文件就好)

在UI看了半天不知道怎么改模型,直接用API改好了…
看了下文档里面有写:调用/switch-model载入模型, 参考API文档: http://127.0.0.1:8000/docs
(我这里port是2777,自行修改即可)

文档里找到switch-model的文档说明
在这里插入图片描述

点try it out修改request body,将路径改成自己的路径,execute即可
在这里插入图片描述

烧显存注意,大约需要16G显存

等模型加载进显存

回复你好测试,ok
在这里插入图片描述

关于roleplay

看了下社区的作者说是claude的格式,我也不知道claude的格式是啥…到时候再说吧… 结束!
(有空看看别人的roleplay项目实现吧…)在这里插入图片描述
roleplay prompt参考:
https://tieba.baidu.com/p/8455687480

这篇关于随心玩玩(十五)LLM 浅玩一下RWKV模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/925116

相关文章

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll