Кэширование
term_id: caching
Category: engineering_practice
Definition
В инженерии ИИ кэширование оптимизирует производительность, сохраняя недавние или частые результаты запросов, предсказания моделей или промежуточные вычисления в быстрой памяти (например, в ОЗУ). Это снижает необходимость в дорогостоящих повторных вычислениях или обращениях к базам данных.
Summary
Кэширование — это техника хранения часто используемых данных во временном слое хранения с высокой скоростью доступа, что снижает задержку и уменьшает нагрузку на основные источники данных.
Key Concepts
- снижение задержки
- оптимизация памяти
- политики вытеснения
- частота попаданий (hit rate)
Use Cases
- Хранение результатов вывода модели
- Кэширование результатов запросов к базе данных
- Предварительный вычисление векторных представлений признаков
Code Example
import redis
# Simple caching example
r = redis.Redis(host='localhost', port=6379, db=0)
def get_prediction(model_id, input_data):
cache_key = f"pred_{model_id}_{hash(str(input_data))}"
result = r.get(cache_key)
if result:
return result.decode('utf-8')
# Compute if not cached
prediction = model.predict(input_data)
r.setex(cache_key, 3600, str(prediction))
return prediction