It is implemented in the statsmodels library in Python. In my particular case, I used to first filter highly correlation using a mutual information criterion (from a set of highly correlated features, I choose the one with the highest mutual info with respect of the target), then use VIF ...