Pushing the Envelope of Low-Bit LLM via Dynamic Error Compensation