代碼 20220410,解決了重復(fù)。注意寫長仍會越寫越差
如果喜歡,請支持項(xiàng)目??(掃下面碼)歡迎分享、合作。請看
【我們淘寶店】有優(yōu)質(zhì)高顯色護(hù)眼LED燈
請定期清空右邊區(qū)域,以免拖慢速度。如果字體小,可放大網(wǎng)頁。
使用創(chuàng)意開頭: 會將左邊內(nèi)容移到右邊!
隨機(jī)度越高,內(nèi)容越豐富但邏輯變差。
FAQ:
*)
為什么寫長了會變差?答:因?yàn)檫@是6層512嵌入的迷你26M參數(shù)模型(所以電腦笨,但寫得快)。建議每次只寫幾百字,
發(fā)現(xiàn)混亂文字時,必須刪除混亂的內(nèi)容再續(xù)寫,否則越寫越混亂。在Github有12層768嵌入的標(biāo)準(zhǔn)模型,效果更好。小夢模型比這個大幾百倍,模型越大,邏輯越好,訓(xùn)練耗資越高,所以歡迎大家支持項(xiàng)目,以煉更大的效果更好的模型(得煉幾個月)。
*) 是用什么訓(xùn)練?答:用pytorch訓(xùn)練,用tf.js部署。用了200G語料,80%是網(wǎng)文。
*) 可以寫劉備嗎?答:可用Github代碼自己訓(xùn)練。不懂可以加
TG群?,F(xiàn)在你能誘導(dǎo)它寫擦邊球(有時它自己也會寫),不過,訓(xùn)練內(nèi)容沒H文,所以它不會開露骨的車。
*) 為什么有時會冒出來“第xx章”?答:因?yàn)橛?xùn)練文本沒去除章節(jié)標(biāo)記,但它生成的xx章都是瞎編的,你找不到出處的。
模型原理(以Github的12層768嵌入模型為例)
電腦的原理,是題海戰(zhàn)術(shù)+笨鳥先飛。它把字變成很多數(shù),然后,找這些數(shù)的數(shù)學(xué)(統(tǒng)計(jì)學(xué))規(guī)律。
電腦的學(xué)習(xí)目標(biāo):輸入一堆字,預(yù)測下一個字。
只要學(xué)會這個,就可以一個個字寫下去。
訓(xùn)練的小說有幾萬本,每次隨機(jī)挑一段 512 個字輸進(jìn)去,讓電腦猜下一個字,看是否能猜對。
不斷重復(fù)這個過程,不斷考試。
你可以自己玩這個游戲(遮住后文,猜下一個字),會發(fā)現(xiàn),需要理解前文才能玩對。
我的小模型,支持 8849 種字。每個字對應(yīng)兩組數(shù),每組有 768 個數(shù)。
例如:"我" = 【0.123 -1.534 ...】,【-0.827 2.343 ...】,不妨稱為【輸入組】和【輸出組】。
大模型,每個字會對應(yīng)幾千幾萬個數(shù)。
第一,編碼。
每個字根據(jù)它的【輸入組】,變成 768 個數(shù),每個數(shù)代表某種隱藏含義。
舉例,每個字的第A個數(shù)代表"好-壞"維度,第B個數(shù)代表"名詞-非名詞"維度,等等。
實(shí)際找到的編碼,不一定有容易描述的維度含義。
因?yàn)榫唧w的編碼,是電腦自動去發(fā)現(xiàn),無需人工干預(yù)。
最初是隨機(jī)編碼。電腦會不斷用【求導(dǎo)數(shù)】的方法計(jì)算,修改編碼,改進(jìn)預(yù)測結(jié)果。
大致可以認(rèn)為:如果電腦發(fā)現(xiàn),把某個字的第某個數(shù)增加 0.001,可以改進(jìn)預(yù)測結(jié)果,它就去做這個事。
因?yàn)轭A(yù)測結(jié)果是否正確,是客觀標(biāo)準(zhǔn)。所以它只要不斷這里+0.001,那里-0.001,就慢慢接近目標(biāo)。
總之,輸入 512 個字,會變成 512*768 = 393216 個數(shù)。
第二,模型會把這 393216 個數(shù)經(jīng)過一番運(yùn)算(和另外幾千萬個數(shù)做運(yùn)算,這幾千萬個數(shù)會根據(jù)前文不斷調(diào)整),最終得到 768 個數(shù)。這個過程是最有趣的,稍后也可以解釋。
第三,將 768 個數(shù),與 8849 種字的【輸出組】比較,計(jì)算和每個字的接近程度,就是輸出這個字的概率。