jingyaogong / minimind

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

模型的输入输出长度 #69

Closed cqcracked closed 4 weeks ago

cqcracked commented 1 month ago

1.这个模型训练好后,上下文输入的长度最长能到多少,是由max_seq_len: int = 512 来控制的吗? 2.这个模型训练好后,输出的最大长度是由哪里控制的呢?谢谢

jingyaogong commented 1 month ago

1.这个模型训练好后,上下文输入的长度最长能到多少,是由max_seq_len: int = 512 来控制的吗? 2.这个模型训练好后,输出的最大长度是由哪里控制的呢?谢谢

是的由它决定

cqcracked commented 1 month ago

谢谢,我看了下代码,minimind比较清楚了。其它大模型的输入输出长度也是这么直接限制吗?麻烦解释一下呢?话说rope也有外推能力呢

------------------ 原始邮件 ------------------ 发件人: "jingyaogong/minimind" @.>; 发送时间: 2024年10月17日(星期四) 下午3:39 @.>; @.**@.>; 主题: Re: [jingyaogong/minimind] 模型的输入输出长度 (Issue #69)

1.这个模型训练好后,上下文输入的长度最长能到多少,是由max_seq_len: int = 512 来控制的吗? 2.这个模型训练好后,输出的最大长度是由哪里控制的呢?谢谢

是的由它决定

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

jingyaogong commented 1 month ago

max_seq_len只起到截断作用,具体从哪截 ,怎么截,截多少并不重要,只是长度为了模型质量服务而已。设置到10000万也没任何关系,输入输出至少'不会报错'。

那么输入太长影响的是:模型训练只见过的512以内编码长度,以外的文本在训练之外,从没见过,性能会大打折扣罢了。rope靠插值做长度外推,缓解这种影响而已。

「外不外推」影响的是质量

和你问题「怎样限制输入输出长度」本身没有任何关系。