博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI
如果一个人只看网文,那会写出来怎样的文字?
看了100G网文后,这个AI模型帮你试了一下。
先来一段自由创作:
乍眼看去很有内味,而且基本是一秒十字甚至更快的生成速度,非常的amazing。
那再放一段经典网文故事高潮前的内容,让AI作家帮忙续一下?
呃……不是“三十年河东,三十年河西,莫欺少年穷”,没内味儿啊!
这就是开发者亲切地称之为“人工智障写作”,由GPT魔改而成的模型AI-Writer:
一秒十字,无限续写
这一模型拥有100M参数量,基于100G网络小说训练,没有采用任何其他素材。
因此,AI-Writer相当于是一位“只看网络小说”的创作者,不具备任何网文以外的常识,行文风格自然也就比较小白。
但好在阅书无数,一句同样的开头:
就能生成风格迥异,走向不同的多个片段:
也可以自定义每次的生成字数,像上面就是每次生成200字。
理论上可以无限生成文字,但时间长了也会陷入“不断重复某字或某片段”的循环之中。
生成文字速度受加速方式的影响,目前支持N卡、A卡、I卡、GPU加速,可以选择最适合自己设备的方式:
像开头展示的那段动图,生成速度甚至不止一秒十字,就是通过GPU加速的效果。
如果你觉得AI写的有点太过放飞自我,也可以设置生成文字的随机程度。
要解释这里的文字生成随机性,就要说到AI-Writer所采用的一种特殊的采样方法:
对于段落开头
将Top-P设置为0.995,几乎完全按照输出的概率分布采样,增强行文变化
对于其他位置
先找到最高概率的字的概率P,然后移除所有概率小于 0.02×P2的字
这样,模型生成的每一个字都是一个概率分布,因此,上面的文字生成的随机程度,也就是文字生成时忽略小概率字的程度。
可以对比一下该值分别为0.01,0.1,0.9时的生成效果:
当然,由于这是个只有100M参数的小模型,所以逻辑和阅读理解能力是较低的。
用开发者的话来说,就是“它是个纯智障,纯属娱乐”。
模型可直接试玩
不过,就算本着娱乐的目的,我们也来看看怎么做才让这个AI作者动笔。
在环境配置上,开发者表示,如果采用他通过C+AVX2写的纯CPU版本,就不需要Python和Pytorch,只要是2014年以后的CPU都能成功运行。
(作者已将这一版本上传至交流群)
而上述演示的动图则是在Python3.8和Pytorch1.10的环境配置下的Demo。
在环境配置完毕后,下载模型和Release文件,在模型文件中新建一个model文件夹,并将release文件解压放在model目录下。
这时你就可以运行python run.py,在终端快速生成文字:
(这里可以先安装一下DeepLearning环境)
文字可以一直自由生成下去,可以通过Ctrl+C来停止。
当然,由于这里是在2.3 GHz 双核Intel Core i5的Mac本上跑的,所以并没有达到10字/秒的生成速度。
也可以在网页中进行试玩,运行python server.py,并打开下载模型web-client文件夹中的index.html。
然后就可以打开网页,直接在对话框中输入开头,点击按钮进行续写了:
现在这个网页版已经初具模型,开发者希望能有更多的人参与进来,一起将现阶段的这个“人工智障”改进成对于创作者而言的实用工具,以及对于读者而言的娱乐方式。
下载链接:
https://github.com/BlinkDL/AI-Writer/releases