Advancing Model Pruning via Bi-level Optimization