Inside the vertex shader the tangent and normal space stored inside the gbuffer like this:
output.normal = mul((float3x3)modelWorld, input.normal); output.tangent = mul((float3x3)modelWorld, input.tangent);
Brayzersoft tutorial for bump mapping uses model's normals for the tangents. the modelworld matrix is the matrix idenity of the model. Maybe I'm not understanding deferred lighting very much perhaps.