sai2新版旧版区别到底大不大,老模型老教程还能接着用不
关于Sai2软件新旧版本的这个问题, 中心思想其实就归结为一句话: 底层的推理引擎发生了改变,而前端的交互逻辑并没有发生大的变动。我花费了大概两周的时间, 反复折腾, 把新和旧两个版本都完整地完成操作了一遍, 所以现在来说说自己真实的看法和感受。
最直观的区别就在于推理模式这一点。旧版是固定着按照自回归的方式来逐token进行生成, 新版则多出了一个parallel decoding的这个选项, 所以生成速度差不多就变快了大概三成, 这种变化是人一肉眼就能看得见的。
另外还有一个很容易被大家给忽略掉的小细节,新版本里面把注意力掩码这一块的运算做成了分块进行优化的一个操作, 所以在面对那些超长文本的应用场景之下, 显卡内存的使用量大概是可以节省出来百分之八左右的这么一块空间来的, 特别是当你去跑那些批量处理的任务时候, 这种感觉会比较明显的。
我们来观察具体的应用场景。在平常进行写短篇或者单轮对话这类任务的时候, 旧版本的能力完全能够应对自如。此外, 旧版中的system prompt模板生态更加完善和成熟, 我们可以直接将其搬过来使用, 这样系统即可运行。
但是, 如果要是去跑那个多轮长对话或者是需要用到并发服务的话, 那么新版的多路复用架构的优势这个东西就很明显地出来了。而旧版的那个单线程的设计, 当并发的数量一上去以后, 就会卡得很厉害。
在模型权重的层面方面, 新版是能够全面向下兼容旧版的 checkpoint 的, 所以旧模型是直接进行加载没有问题的, 但是针对旧版的自定义 LoRA 合并脚本, 在新版里面参数名对不上的情况会出现, 这一点必须得手动修改一下字段映射。
API接口本身几乎没有任何变动, 绝大多数也就是百分之九十的调用代码都无需作出任何更改, 仅仅是一些已经被废弃掉的字段被强制移除掉了而已, 只需打上一个补丁即可正常通过运行测试。
在平时的个人日常使用场景之下, 对于旧版本的内容, 其实不需要着急去选择升级, 只有在用来运行生产制造服务的时候, 新版本才确实会让你觉得更省心省力, 先把旧版本的稳定状态调整到好, 然后接下来再分步骤地进行迁移操作就已经完全足够使用了。