Towards Efficient Automatic Self-Pruning of Large Language Models