jingyaogong / minimind

「大模型」3小时完全从0训练26M的小参数GPT,个人显卡即可推理训练!
https://jingyaogong.github.io/minimind
Apache License 2.0
2.62k stars 318 forks source link

想尝试用于长文本对话模型的训练,如何加长输入文本长度,以便于训练识别? #36

Closed JackRipVim closed 1 month ago

JackRipVim commented 1 month ago

想尝试用于长文本对话模型的训练,如何加长输入文本长度,以便于训练识别?另外想尝试用于微型的图片分类,图片矩阵较大,可否支持。

JackRipVim commented 1 month ago

如果有联系方式,可否留下。

jingyaogong commented 1 month ago

加长训练长度直接在./model/LMConfig.py 把max_seqlen设置到需要的长度就行,现在是512 “微型的图片分类,图片矩阵较大” 任务没理解错的话,用图像分类模型比如resnet,和语言模型没什么关系吧

JackRipVim commented 1 month ago

因为该死的硬件十分有限,所以在尝试将图片的像素点转换成长文本,尝试用轻量模型进行训练。但目前看来,max_seqlen能够改变,也就具备可能,后续如果能够实现,我会分享。

JackRipVim commented 1 month ago

图片数据也是从零开始训练的,不基于目前已有的预训练分类模型。

fierceX commented 1 month ago

@JackRipVim 这是个语言模型,最起码目前还不具备多模态,词表也不够。你的任务用图像分类模型更适合,图像分类模型大小都有,一般来说比大语言模型的尺寸小很多

JackRipVim commented 1 month ago

@fierceX 主要目前是要通过图片进行预测,预测结果,并没有明确的规律可循,只能预期潜在的无规律的不定向结果,另外应需求,我必须将其在一台单核,512M内存的设备上运行。数据不基于已有的预训练数据,因为不是已知的分类数据,所以一切从零开始。Minniemind目前已知的可以达到26M,对于这台设备剩余的有限内存空间来说,是值得尝试的。数据除了数字还是数字,所以不需要大量的词表以及模态。可以理解为对二进制流的预测。我决定尝试。

fierceX commented 1 month ago

@JackRipVim 你好像对这个领域没有什么了解,如果用你提到的设备进行训练,这个项目你跑到下个月都跑不了一轮预训练。反而你更应该考虑尺寸更小的cnn网络,例如letnet这种。多了解下深度学习的历史你就应该知道 用什么模型了。

JackRipVim commented 1 month ago

@fierceX 运行不等于训练,训练可以在更好的机器上。另外主要项目多变的结果。历史我会再去回顾的。CNN精度不够,已经试过了。

WangRongsheng commented 1 month ago

一张 224x224 大小输入的图就把语言模型的max length打烂了,而且语言模型适合长序列建模,不适合图像特征提取。实在不清楚你在搞什么。CNN精度再低,你把输入图大小和数据量堆上来再加上Swin-Transfomer也能做的不错,非要蹭个不成熟的语言模型进来有必要吗?

WangRongsheng commented 1 month ago

你训练一个再小的语言模型,如本repo作者的26MB模型推理都需要0.5 GB显存,你要在512M内存的设备上运行,还非要选择占用资源最多效果最差的语言模型进行图像任务识别,着实看不懂。