Я работаю с выводом Mistral в Windows, используя Pytorch и Xformers. Чтобы исправить ошибку RESHAPE в слоях внимания, я реализовал патч обезьян, который заменяет фиксированные тензор, которые изменяют вызовы в модулях внимания динамической альтернативой. Я попробовал два подхода: < /p>
рекурсивный патч на всех модулях, которые имеют атрибуты n_heads и head_dim, чтобы переопределить их прямые методы. < /P> < /li>
конкретный патч, нацеленный на класс внимания в Transformer_layers. < /p>
< /li>
< /ol>
Мои журналы отладки подтверждают, что исправленные методы вызываются и что вычисляемое количество токенов верно. Однако во время поколения я все еще получаю ошибку, в которой говорится, что тензор не может быть изменен, как и ожидалось. Сообщение об ошибке: < /p>
RuntimeError: shape '[1, 4096]' is invalid for input of size 753664
< /code>
Похоже, что где -то в коде все еще есть фиксированный вызов Reshape, который не переопределяется моим патчем. Я ищу советы о том, как привести к полному переопределению этой операции RESHAPE, не изменяя исходный код, или о том, является ли изменение файла непосредственно единственным решением. < /P>
Как это решить? < /p>
Я попробовал два подхода, чтобы заменить фиксированную операцию решапа в слоях внимания: < /p>
Я применил рекурсивный патч для всех модулей которые имеют атрибуты n_heads и head_dim, переопределяя их прямое методы, чтобы использовать динамическое изменение с помощью .reshape (-1, computed_size) вместо фиксированного .view (). < /p>
< /li>
Я реализовал конкретный патч, нацеленный на класс внимания в слоях трансформатора, чтобы переопределить его прямой метод таким же образом.
< /li>
< /ol>
Я ожидал, что после применения этих патчей выходной тензор будет динамически изменен до правильных размеров (например, [34, 4096] в моем случае) вместо того, чтобы принудить форму [1, 4096]. Однако, хотя журналы отладки подтверждают, что вычисленное количество токенов верно, ошибка все еще происходит, что указывает на то, что где -то в коде фиксированный вызов .view () все еще используется.
Подробнее здесь: https://stackoverflow.com/questions/794 ... hape-error
Обезьяна не переопределяет .view () в слое внимания, вызывая ошибку решания ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение