Iraqi army losing hold on north as troops desert