That’s a good question!
In my experience having between 5% and 10% of warmup_steps is a good enough target.
If your question is specifically for movement pruning. the most important thing (especially if you have a smaller dataset) is not to prune too fast (i.e. having a total number of steps sufficiently high). @madlag had some experiments where he just doubled the number of epochs (pruning more slowly) and improved the results I reported in the movement pruning paper.
In the general case, some recent papers also echo this experimental trick ([2006.04884] On the Stability of Fine-tuning BERT: Misconceptions, Explanations, and Strong Baselines 2, [2006.05987] Revisiting Few-sample BERT Fine-tuning 1). Having enough epochs help stabilize the training especially for very small datasets.
Victor