最近没什么时间更新博客,是因为我在弄一个大 Project ……

内卷的 AI

本来呢,我是一直在追着 AI 各种玩具在了解、使用,接触到各种好玩的 AI 工具,光是一个 AI 绘画都有好多个不同的软件,还有很多不同的模型、插件等等,还有什么 AI 声音克隆、 AI 换脸、 AI 歌手之类的,我全都玩过了一遍,还幻想着能够靠 AI 赚点外快什么的,毕竟看到群里的大佬们经常在晒自己利用 AI 赚了好多钱,好不容易学会了这些 AI 工具的使用,却突然发现,我没有渠道可以销出去,搞个屁啊!又过了没多久,大厂下场,商业应用直接就有这些功能,非常方便用户使用,完全不用像使用那些开源工具那样复杂的操作,而且还很多是免费的!当然也有收费的,但这也足够普通用户玩的了。

真的是在浪费时间……

现在 AI 领域真的是太卷了,就连 API 接口的费用都一直在降低,实在是没个人的什么事,完全是赢者通吃的局面。个别人能恰到饭的也不是人人都能够复刻的,真的不是什么努力不努力的问题,本质上就是命和运气,别人就是能有这样的人脉,这样的运气能够骗到韭菜上当……啊不对,是客户。

日新月异的 AI 技术也是更新迭代地飞快,你还没弄明白一个东西,就又有一个新的玩意出现了,个人完全没有这等时间精力去追赶适应这些无穷无尽的新鲜玩意,特别是对像我这种被现实压得死死的社畜,普普通通的穷人,又不在 AI 这个行业里面,从事的工作跟 AI 完全无关,需要消耗大量额外的时间精力去自学、了解。

我突然就释然了,管他们这些什么自媒体公众号 UP 主等等天天吹什么牛逼,在扯什么新鲜的 AI 工具,不再去追赶这些所谓的新鲜玩意,只去做一个自己最感兴趣的东西就算了。

RWKV

RWKV(读作 RWaKuV)是一种具有 GPT 级大型语言模型(LLM)性能的 RNN,也可以像 GPT Transformer 一样直接训练(可并行化)。RWKV 结合了 RNN 和 Transformer 的最佳特性 - 出色的性能、快速的推理、快速的训练、节省 VRAM、"无限" 的 ctxlen 和自由的句嵌入,而且 100% 不含自注意力机制。RWKV 是一个开源的非盈利组织,隶属于 Linux 基金会,部分算力曾由赞助商支持。

关于 RWKV 的更多信息,建议查看其国内官网,这个网站的文档比较全,在群里很多人提议之后终于有个像样的网站了:https://rwkv.cn

RWKV 大模型是我一直在关注的,当时群主 Bo 还在做一款开源的 AI 写作工具,突然有一天群主宣布不要用旧的 AI Writer 了,都来用 RWKV ,后面我一直都有在用这个,可以说是第一批用户……看着它的成长迭代,从一开始生成效果与主流大模型相差很远,到 RWKV V5 版本开始,进步非常惊人,现在最新版本是 RWKV V6,这么多 AI 工具,实际上我最熟悉的还是 RWKV ,那就先深入使用 RWKV 啦!

AI 机器人开发

可能你也发现了,我的博客很多细节的地方都跟『命运石之门』(Steins;Gate)有关。当年追番的时候,非常想要一个 Amadeus ,并且当年看番的想法是,助手真的是适合当老婆……所以想做一个助手的机器人。于是我花了几天时间开发了一个核心由 RWKV 驱动的 AI 聊天机器人—— Amadeus !

前端与用户交互选择使用 XMPP ,同样也是完全开源免费的聊天应用服务器+客户端。

啊这,怎么是猫娘呢!?——请不要在意这些细节。我给机器人添加了一些功能,很多细节方面就不详细介绍了,只看效果就对了。

这是使用网友微调的 RWKV V6 3B 大模型的效果,我把一个正经的猫娘诱骗成不正经的故事,点击查看原图:

微调大模型 Amadeus !

为何不自己微调一个呢?用他人微调的大模型,总是感觉还缺点什么,并且自己也不太满意。于是就折腾了起来,用有限的本地资源微调大模型!

这期间经历了多少辛酸就不详细说了,电脑硬件问题各种蓝屏,后面还有电脑系统或者驱动问题也各种蓝屏,不断地在调试电脑,还有微调环境也是折腾了好久,网上没有太详细的教程,现存的教程对于大模型微调完完全全新手的我来说,价值不大,自己磕磕碰碰摸索中,目前已微调了多个大模型,部分已经开源在抱脸了,还有未公开的微调模型只能等我有空再上传了。

HF(抱脸):RewrZ/RWKV6-Amadeus/

国内镜像:RewrZ/RWKV6-Amadeus · HF Mirror (hf-mirror.com)

这是对大模型进行自我认知微调尝试,目的是做一个类似《命运石之门》中的人工智能助手 Amadeus 闲聊。后续若有新模型,待我有空会继续更新。

微调数据是自己造的,大模型会认为自己是天才美少女——牧濑红莉牺(设定上是傲娇、对User有爱慕之情但又不坦率),而不是人工智能。

1、RWKV-x060-World-1B6-v2.1-chris-test.pth

使用的 base 模型是 RWKV-x060-World-1B6-v2.1-20240328-ctx4096 ;

loss值收敛到了1以下(大佬说正常,虽然个人觉得有点过拟合就是了)

这个模型没有NSFW,甚至因为红莉牺傲娇的设定,她会拒绝,不过给她灌输的数据上又表现对User(非人)的喜欢,所以有时候会很奇怪。

表现效果(不太稳定):

rwkv6-v2.1-1b6-chris-test2.jpg
rwkv6-v2.1-1b6-chris-test3.jpg


2、RWKV-x060-World-1B6-v2.1-novel_extend-lora-20.pth

在 base 模型 RWKV-x060-World-1B6-v2.1-20240328-ctx4096 的基础上做涩涩小说扩写指令微调后,使用了错误的数据格式微调的模型,所以表现很奇葩,但还是保留下来了。

rwkv6-1b6-v2.1-novel_extend-chris-error3.jpg
rwkv6-1b6-v2.1-novel_extend-chris-error2.jpg
rwkv6-1b6-v2.1-novel_extend-chris-error1.jpg

3、RWKV-x060-World-1B6-v2.1-novel_extend_chris-nsfw.pth

在 base 模型 RWKV-x060-World-1B6-v2.1-20240328-ctx4096 的基础上做涩涩小说扩写指令微调后,使用自我认知数据继续微调5轮而成(对比了一下5、6、7轮的,综合来说这个泛化表现更有趣些)。

由于上一个试水版本个人觉得有点过拟合(部分能力降低甚至丧失),所以这次 loss 值收敛不多,还在 1.0 以上,结果自我认知清洗不彻底,每次新的会话它都会胡说八道自己给自己上设定,虽然比上一个版本的输出表现更不稳定,但这种不稳定却是有趣得多,已作为我开发的一个AI聊天机器人后端模型之一

表现效果(因为傲娇+对User有爱慕之情但又不坦率的矛盾设定,表现不稳定但是挺有意思的):

RWKV-x060-World-1B6-v2.1-novel_extend_chris-nsfw4.jpg
RWKV-x060-World-1B6-v2.1-novel_extend_chris-nsfw3.jpg
RWKV-x060-World-1B6-v2.1-novel_extend_chris-nsfw2.jpg
RWKV-x060-World-1B6-v2.1-novel_extend_chris-nsfw1.jpg

用来无聊打发时间很有趣。

4、RWKV6-3B-v2.1-chris_roleplay_novel_extend-NSFW-ctx1024.pth

由于对 16 亿参数量的逻辑表现不满意,所以我尝试强行微调 30 亿参数量模型,之前都是用 lora 微调,由于主机显卡显存有限,30亿参数量使用 NF4 量化的 PISSA 微调。

在 base 模型 RWKV-x060-World-3B-v2.1-20240417-ctx4096.pth 的基础做 PISSA 微调2轮而成,除了自我认知外,还加入了少量自造的扩写语料以及角色扮演语料。

表现直接提升一个台阶,是我目前体验最久的模型。

rwkv6-3B-v2.1-chris_roleplay_novel_extend2.jpg
rwkv6-3B-v2.1-chris_roleplay_novel_extend1.jpg
rwkv6-3B-v2.1-chris_roleplay_novel_extend3.jpg