Nearly Tight Black-Box Auditing of Differentially Private Machine Learning