自回归语言模型eCode易语言源码今天突然很想搞清楚chatgpt到底是怎么实现的,就去研究了自回归语言模型。代码也是chatgpt 教给我的,我转译成了易语言,方便大家理解。
自回归语言模型(Autoregressive LM, AR)是一种根据上文或者下文内容预测下一个可能跟随的单词的语言模型。例如,通过“LM is a typical task in natural language ____”预测单词“processing”
模型是传统RNN自回归语言模型,使用了向量矩阵算法,以及正向扩散和反向传播神经网络,随机梯度下降算法。

由于本次引入了向量矩阵复杂算法,在没有cuda加持下,cpu训练耗时较久

我本身也是刚研究这方面的新手,代码都是手工翻译自c#,对里面的复杂算法和向量传递,一知半解。

至于出来的效果,我也不好评价,可能也跟我只训练了两步有关,或者训练素材太少,又或者本身算法有问题,具体的还得高手们自行分析了。

最终的目的是抛砖引玉,希望有大佬可以搞一个 易语言chatgpt模型出来供大家学习,以及理解神经网络模型!
当然我知道,易语言想做大模型,不支持64位和cuda肯定是办不到的,但不妨碍只会易语言的同学对神经网络模型的学习和理解。

这一版的代码比较复杂,但仍然有丰富的注释可供学习!
代码中调用了两个模块,一个是 分词模块,有能力的可以删了模块自己写。
同时调用了我自己的模块,主要用了哈希表和取随机数,也可以自行删掉,用自己的。

有一些问题:
1.训练词典越大,训练时间越久
2.学习率越低,学习效果越好
3.训练次数也跟最终效果有很大影响,但不是越多越好,容易过拟合
4.由于易语言双精度小数位数只有6位,会极大影响模型最终效果

有能力的朋友可以自行修改,如果你做出了更好的,记得给我帖子留个言,好让我跟着学习观摩

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系贝贝进行处理。
本站默认解压密码:www.hibbba.com