Looks like Zygote is missing an adjoint for CUDA.zeros. You could try defining
Zygote.@adjoint CUDA.zeros(x...) = CUDA.zeros(x...), _ -> map(_ -> nothing, x)
and then try again. If that works for you, would you mind opening an issue for CUDA.jl?