你好!非常感谢你们开源了这个出色的项目,我在阅读和使用代码的过程中学到了很多。
最近我在尝试修改模型的 Prefix Prompt 并扩展输入时,遇到了一些特征对齐方面的问题。经过排查,我发现现有的 conditioner 特征提取逻辑可能存在几个可以进一步优化的痛点,想在这里和大家探讨一下:
-
位置强绑定(硬编码的“217”切片问题)
在目前的逻辑中,代码似乎高度依赖硬编码的切片位置(例如 emb[:, 217:])来截取特征。
这可能导致的问题:一旦我们想要修改 Prefix 的内容,前缀 Token 的长度就会发生变化,进而导致图像特征在序列中发生错位。由于下游模型(如 DiT)对空间位置非常敏感,这种错位会直接导致模型生成效果崩溃。这也意味着,目前很难在不重新训练模型的情况下,灵活调整 System Prompt 或用户指令。
-
max_length 长度受限
目前的 max_length 似乎在一些地方被固定死了。如果后续我们希望能适应更多模态的扩展,比如处理更长、更复杂的文本指令,固定的长度会成为一个瓶颈。