Buforowanie
term_id: caching
Category: engineering_practice
Definition
W inżynierii AI buforowanie optymalizuje wydajność poprzez utrzymywanie najnowszych lub najczęściej występujących wyników zapytań, predykcji modeli lub pośrednich obliczeń w szybkiej pamięci (np. RAM). Zmniejsza to konieczność wykonywania kosztownych operacji wejścia-wyjścia lub ponownego przetwarzania.
Summary
Buforowanie to technika przechowywania często używanych danych w tymczasowej warstwie pamięci o wysokiej prędkości, aby zmniejszyć opóźnienia i obciążenie głównych źródeł danych.
Key Concepts
- zmniejszenie opóźnień
- optymalizacja pamięci
- polityki usuwania (eviction policies)
- wskaźnik trafień (hit rate)
Use Cases
- Przechowywanie wyników wnioskowania modelu
- Buforowanie wyników zapytań do bazy danych
- Wstępne obliczanie osadzonych cech (feature embeddings)
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