正在读取模型 ,请耐心等待。读取完就会有续写按钮。
请定期清空右边区域,以免拖慢速度。如果字体小,可放大网页。
使用创意开头: 会将左边内容移到右边!
随机度越高,内容越丰富但逻辑变差。
FAQ:
*)
为什么写长了会变差?答:因为这是6层512嵌入的迷你26M参数模型(所以电脑笨,但写得快)。建议每次只写几百字,
发现混乱文字时,必须删除混乱的内容再续写,否则越写越混乱。在Github有12层768嵌入的标准模型,效果更好。小梦模型比这个大几百倍,模型越大,逻辑越好,训练耗资越高,所以欢迎大家支持项目,以炼更大的效果更好的模型(得炼几个月)。
*) 是用什么训练?答:用pytorch训练,用tf.js部署。用了200G语料,80%是网文。
*) 为什么有时会冒出来“第xx章”?答:因为训练文本没去除章节标记,但它生成的xx章都是瞎编的,你找不到出处的。
模型原理(以Github的12层768嵌入模型为例)
电脑的原理,是题海战术+笨鸟先飞。它把字变成很多数,然后,找这些数的数学(统计学)规律。
电脑的学习目标:输入一堆字,预测下一个字。
只要学会这个,就可以一个个字写下去。
训练的小说有几万本,每次随机挑一段 512 个字输进去,让电脑猜下一个字,看是否能猜对。
不断重复这个过程,不断考试。
你可以自己玩这个游戏(遮住后文,猜下一个字),会发现,需要理解前文才能玩对。
我的小模型,支持 8849 种字。每个字对应两组数,每组有 768 个数。
例如:"我" = 【0.123 -1.534 ...】,【-0.827 2.343 ...】,不妨称为【输入组】和【输出组】。
大模型,每个字会对应几千几万个数。
第一,编码。
每个字根据它的【输入组】,变成 768 个数,每个数代表某种隐藏含义。
举例,每个字的第A个数代表"好-坏"维度,第B个数代表"名词-非名词"维度,等等。
实际找到的编码,不一定有容易描述的维度含义。
因为具体的编码,是电脑自动去发现,无需人工干预。
最初是随机编码。电脑会不断用【求导数】的方法计算,修改编码,改进预测结果。
大致可以认为:如果电脑发现,把某个字的第某个数增加 0.001,可以改进预测结果,它就去做这个事。
因为预测结果是否正确,是客观标准。所以它只要不断这里+0.001,那里-0.001,就慢慢接近目标。
总之,输入 512 个字,会变成 512*768 = 393216 个数。
第二,模型会把这 393216 个数经过一番运算(和另外几千万个数做运算,这几千万个数会根据前文不断调整),最终得到 768 个数。这个过程是最有趣的,稍后也可以解释。
第三,将 768 个数,与 8849 种字的【输出组】比较,计算和每个字的接近程度,就是输出这个字的概率。