Techniques used to make a model smaller, faster, or more efficient while maintaining acceptable performance.