Replies: 2 comments 3 replies
-
The verification failure arises from FP32’s sensitivity to numerical instability in MIOpen’s LayerNorm implementation for specific configurations. Lower-precision types (FP16/BF16) or parameter adjustments (-o 3) mask these issues by altering computation paths or relaxing tolerances. |
Beta Was this translation helpful? Give feedback.
3 replies
-
It seems to be the impact of verification accuracy. Modifying the verification type of the operator in the driver to double, and using the double type to store intermediate results in MIOpenLayerNorm, can solve the issue. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
When I use the command MIOpenDriver layernorm --input 2x256x64x128 -o 0 -m 0 -F 1 -V 1 -i 1 on the gfx906 platform, the LayerNorm operation fails during the verification stage. However, when I change the command type to layernormfp16 or layernormbfp16, it passes the verification stage. Additionally, for the parameters that fail verification, when I change the -o parameter to 3, it passes the verification. What could be the reason for this?
Beta Was this translation helpful? Give feedback.
All reactions