/attribute @p generic.movement.speed instantly resets to default
Player has a default movement.speed of 0.1
doing "/attribute @p minecraft:generic.movement_speed base set 0.5" sets it to 0.5 only briefly before returning to default speed
Putting it in a repeating command block doesn't make it work at all