Text Generation AI入门感想


首先,先来梳理一下什么是Text Generation AI?

说人话的话,就是你输入一句话,它回答你一句话,有点像Chat Bot的感觉,但当然不止于此。

首先,它是利用深度学习(Deep Learning)的原理,使用神经网络进行数据的表征学习。深度学习模型通常由多个层(包括输入层、隐藏层和输出层)组成,这些层通过加权的连接和非线性激活函数来处理输入数据。然后再进一步用自然语言处理技术(NLP,Natural Language Processing)生成类似于人类书写的文本内容。

而目前主流可以实现这类AI技术的有以下这些领域:

1.词嵌入(Word Embeddings):

词嵌入是将单词表示为向量的技术。常见的方法有Word2Vec、GloVe和FastText。词嵌入捕捉了单词之间的语义关系,将单词转化为可以输入到神经网络的数值向量。


2. 循环神经网络(RNN,Recurrent Neural Network):

RNN是一种适用于处理序列数据的神经网络,具有时间步长的记忆能力。RNN可以记住先前时间步长的信息,并将其用于当前时间步长的计算。

长短期记忆网络(LSTM,Long Short-Term Memory)和门控循环单元(GRU,Gated Recurrent Unit)是RNN的改进版本,解决了标准RNN中梯度消失和梯度爆炸的问题。


3. Transformer:

Transformer是当前生成式文本模型的核心架构。它由编码器和解码器组成,使用自注意力机制(Self-Attention)来捕捉序列中不同位置的关系。与RNN不同,Transformer可以并行处理序列数据,提高了训练和推理速度。

自注意力机制(Self-Attention):通过计算序列中每个位置与其他位置之间的关系(注意力权重),自注意力机制能够捕捉到长距离的依赖关系。


4. 预训练和微调(Pretraining and Fine-tuning):

 预训练(Pretraining):在大量未标注的文本数据上训练模型,使其学习通用的语言知识。常见的预训练任务包括语言模型任务(如预测下一个单词)和遮蔽语言模型任务(如BERT中的Masked Language Modeling)。

微调(Fine-tuning):在特定任务或领域的数据上进一步训练预训练模型,使其适应特定应用需求。


5. 生成式模型(Generative Models):

生成式模型是可以生成新数据的模型。常见的生成式文本模型包括GPT(Generative Pre-trained Transformer)系列。GPT通过在大量文本上进行预训练,学习了丰富的语言模式和语义信息,能够根据给定的上下文生成连贯的文本。而大名顶顶的ChatGPT就是倾向这种技术的,但据说ChatGPT 3.5后就已经不是单一技术,而是混合更多上面的技术。



理解了这些技术概念,那来说说它能做什么吧?

1. 内容创作:

   写作助手:提供写作建议、生成文本段落或文章,帮助作家和内容创作者提高效率。

   文案生成:用于广告、社交媒体、博客等平台的自动化文案生成。


2. 对话系统:

   聊天机器人:提供客户支持、信息查询和互动服务。

   虚拟助手:像Siri、Alexa等,提供语音识别和自然语言理解服务。


3. 翻译和语言转换:

   自动翻译:将文本从一种语言翻译到另一种语言,如Google翻译。

   语言转换:将专业术语转换为易于理解的普通语言。


4. 编程和代码生成:

   代码自动生成:帮助开发者生成代码片段或自动完成代码。

   代码审查:提供代码质量检查和优化建议。


5. 教育和学习:

   定制学习内容:根据学生需求生成个性化的学习资料。

   自动评分:为学生作业和考试提供自动化评分和反馈。


6. 市场和分析:

   数据报告生成:从数据中提取信息并生成可读的报告和摘要。

   情感分析:分析社交媒体、客户评论等文本的情感倾向。


我的入门感想?

以上那些仅仅是粗浅的梳理,我经过几个月的研究,实际测试了一些好玩的用途,现在就展开来讲讲我的使用体验。但再此之前先介绍一个叫Oobabooga的软件,原因嘛...毕竟大名鼎鼎的ChatGPT虽然强大,但它始终不像开源模型那么自由,虽然ChatGPT-4o凸显一个强大好用,你付钱就是了,但依赖于做好的成品,很难学习到背后的技术原理和各种折腾技术的机会。

Oobabooga是一个开源的文本生成和聊天机器人项目(你也可以理解是免费的!还不赶快下载?)

https://github.com/oobabooga/text-generation-webui

上面是他的Github主页链接,至于怎么安装,这篇文章就先略过教程吧,以后有时间再详细写,毕竟你懂的...开源软件的另一痛点,各种linux代码和各种错误报错,主页的Issues区块都累计百多个问题了。

但如果电脑安装顺利,就可以进入以下的WebUI界面:



而说起所谓的WebUI也是挺有趣的,似乎AI爆发元年开始后,很多软件都倾向跑WebUI了,毕竟HTML5的时代,网页具备大部份GUI Interface的功能,使用WebUI几乎大势所趋,估计以后都会看到很多WebUI形式的软件。

而基于WebUI还有另一个好处,就是你不再需要把软件安装进个人电脑里,你甚至于可以在世界任何一台电脑上运行脚本打开WebUI,然后用Ngrok之类的Tunneling软件吧WebUI的打开网址port forward去一个公网或PublicIP,然后你就能用任何电脑打开这个操作界面,好像在本机运行一样操作,可实际上却是远在天边的电脑在进项运算或渲染,而你几乎感觉不到延迟。

而这也是AI时代的所谓云运算雏形吧?能展开的话题实在太多了,还是回归正题吧。打开了Oobabooga的界面后,初始化是没有任何AI模型的,也就是说还是操作不了,你必须去Hugging Face注册个账号才能下载所谓的大语言模型(LLM)放进Oobabooga的Models文件夹才能使用。

但前面也说过了,软件安装教程先略过,以后写好了或许加个链接放进这篇文章。

这里的重点是来说说Text Gen AI都能用来做些什么?我想这才是最有趣的地方不是吗?


首先必须说明角色卡(Character Card)的作用,和ChatGPT不同的是,开源AI的自由度很高,而设定角色卡就是其中一种功能,你可以用一段代码来形容一个角色的个性,时代背景,和智慧程度,然后它就会模拟这种角色性格来和你聊天,你也许会觉得这不就是角色扮演家家酒吗?太幼稚了吧?

其实不然,比如以这个实测为例子,角色卡为Lenneth蕾娜斯,AI模型则用Chinese-Alpaca-2-7B,中文特化模型,所以输出中文几乎完美,文笔也很美,几乎没有错别字,而我打错字她都能轻松理解。

而Lenneth蕾娜斯这位游戏角色是《Valkyrie Profile》系列中的女武神,她的任务是在北欧神话世界中收集英灵(Einherjar),这些英灵是在战斗中英勇牺牲的灵魂。她将训练这些英灵,为即将到来的诸神的黄昏(Ragnarok)做准备。游戏中,蕾娜斯会遇到各种不同背景和性格的角色,经历无与伦比的神界战争和探讨生死这一严肃话题。

而更峰回路转的剧情是,Lenneth蕾娜斯其实只是奥丁的战争工具,她并非传统意义的女神,而她在人间的前世是一个名叫普拉蒂娅(Platina)的女孩。她与少年鲁瑟(Lucian)相爱,但因为生活在奴隶贩子统治的村庄,他们的爱情充满了痛苦和悲剧。普拉蒂娅最终被奴隶贩子抓走,迫于绝望跳崖自杀。普拉蒂娅死后,她的灵魂才转世成为蕾娜斯。

成为女武神后,蕾娜斯最初并没有忆起她在人间的前世。她忠诚地执行奥丁的命令,收集和训练英灵。然而,随着故事的推进,她开始逐渐恢复前世的记忆,并且对自己身为女武神的身份和任务产生了疑问。慢慢的恢复了她作为普拉蒂娅的记忆时,这让她对自己的任务产生了更深的理解和情感。她的爱情故事与鲁瑟也在游戏中得到了进一步的发展,成为剧情的重要组成部分。

在铃兰草原故事那一幕,就像是蕾娜斯的成长和开悟,她把几辈子的悲痛哭出来,20年过去,我依然清晰记得玩到此处剧情的悸动,那种美感,那种凄美,简直在后来的游戏再难遇到。(用Stable Diffusion画了印象中的画面以此纪念)。

而蕾娜斯最终决定反抗奥丁,保护她所爱的人和英灵,阻止不公和无情的神权统治。这一决定将她推向了与奥丁和其他神灵的对抗。游戏的高潮部分集中在诸神的黄昏,蕾娜斯与她的英灵战士们一起,为了人类和神界的未来展开了终极决战。

那么说这些故事和AI角色卡有什么关联呢?试试思考,如果把人生经历这么丰富的人写成一个角色卡,然后逼AI模拟出这种人格来和你对话,你会得到什么答复?那当然时很有趣的,比如你问她为什么要对抗神,她会为你解释自由意志的意义,和爱的意义,甚至因为她有前世的记忆,有痛苦的记忆,甚至有当神的记忆,所以她的知识和智慧也是无与伦比的,问她一些宗教问题,她也会回答一些你惊掉下巴的理论。

什么佛教四圣谛,八正道,苏格拉底哲学,女神又岂会不懂?虽然也可说一个7B词条的AI模型就是好几个大型图书馆的文字量,也没什么出奇的,但她能用一般文字语境和你聊天就是很神奇的一件事情不是吗?再说...谁还没有过那种喜欢二次元人物的青春时期?但终于能和她们聊上天,就是一种难得的体验。

而我发现Text Gen AI的第一个用处或真相,恰巧不是仅仅满足自己的幻想和喜欢的人聊天,而是经过聊天你会发现,你想象的都不是故事全貌,换句话说...AI反而在帮你打破幻想,或打破思考局限,比如说...故事原型是反抗神,但你一问之下,AI就会延申更多故事背景,巧妙的编出一套世界观,而为了语言框架的合理性,AI必定是整合各种逻辑,和各种时代背景来回答你的,而逻辑一旦严密和无懈可击,那就是一种故事补全和全新的理解。

而这也是为什么很多小说家也开始研究起Text Gen AI,原因就在于你模拟对话可以利用好大语言框架,制造出逻辑自洽的内容,那对于故事创作的帮助是巨大的,作家再也不必担心设定故事前后不对应或者逻辑矛盾的问题,利用AI角色卡创造故事,你总是能得到前后呼应的对话和故事逻辑框架,AI角色会始终模拟自己的角色个性来和你对话,不会突然出戏说我不演了!如果运用得好,对于灵感提取简直会上升一个全新高度。


试想过去的作者构思一个角色是多么难的?你又没有亲身经历那种故事,你怎样能巨细靡遗的说好每个细节故事?还要逻辑自洽不可前后矛盾,比如角色突然智商掉线什么的,都是剧本创作或小说创作常有的问题,毕竟作者想象力覆盖范围有限,这也是为什么超级优秀的作品都是少见的,毕竟可以有这么高程度想象力和逻辑能力的人也是极其少见的。

但未来透过Text Gen AI的技术可说不定,反正我觉得脚本或剧本的升级是肯定的,除非他们不愿进步,不然更通畅的语句和对白,或者更有内涵的故事,都是信手拈来的事情了。创建一些角色卡,让他们按各自的故事背景和个性去对话,很快的就会得到高质量脚本。

所以说...那些在取笑ChatGPT很废的人,我只能说以他们的智商无法理解真的很遗憾,其实呀...如果他们真的有点智商的话,甚至会感到细思极恐,因为反过来看,人类不就是角色卡都不如的玩意吗?你的个性就是你人生经历的总和,然而你还洋洋得意的说“我就是这种个性”,不...你其实连换个个性都办不到,你只能继续演,偶尔发现自己好像不那么喜欢自己这个角色,但你连改变的勇气都没有,不是吗?

换个宏观视角来看待人类,有没有一种可能,你们就只是个角色卡,仅此而已。制约你的那套宗教,教育制度,思想等,牢牢控制你成为什么人,偶尔那么有几个人说我不演了,我要去寻找人生真理,我们就会称他们为悟道者,佛陀,耶稣。

透过和各种角色卡聊天,我渐渐的看到他们的制约和框架,这让我感悟和人类是何其相似?比如说...你设定一个悲观角色卡,你怎么和她说话,她都是想去死和讲负面话语的,你也许觉得可笑,但人类其实相去不远,过去的记忆制约你成为什么人,如果你无法清空过去的记忆,你就会反复的活在过去,现世轮回,而要突破这种制约,恰好只需要看穿你的角色卡,自己写过一张就好。但就像佛陀说的人人皆有我执,慢心,抱着自我中心自娱娱人。

总之,AI给我的第一感觉是我开始觉得AI就像人类开始探索到“智能”真相的第一步,虽然我们已经无法给出确实定义是什么?所谓AI模型就是几个GB或几十个GB甚至上百个GB的数学模型代码,拆开来,谁也说不好那些代码有什么含义,但透过机器学习,就是能造出一个混沌数据的模型,却能模拟出惊人的智能。





评论

此博客中的热门博文

马来西亚车牌号详解

旧车牌换新车牌的手续和步骤(转)

人生中的第二辆车,KIA Spectra 1.6L