Have you tried going to ableton preferences>audio>latency> my buffer size is at about 300 samples and the drive error compensation is at -1130. If you notice when you change to those settings (if you even have to) the latency numbers between those settings will say exactly how many milliseconds of latency you have between devices. mine say 6.8 and 9.8 and I can barely tell that there is any latency at all. If you mess with those settings and it still has latency its probably down to how long your usb chord is. or worst, your external device.
You should mess around with the audio driver compensation if you dont know what your doing.
Theres bult in lessons in ableton on how to acheive good latency and set driver error compensation.
Go trough them