الفصل 1: تحسين الاستدلال
ذاكرة التخزين المؤقت KV
تخزين أزواج المفتاح والقيمة المحسوبة لتجنب إعادة الحساب:
# بدون ذاكرة التخزين المؤقت KV: إعادة حساب جميع KV لكل رمز جديد
# مع ذاكرة التخزين المؤقت KV: حساب KV فقط للرمز الجديد
class KVCache:
def __init__(self, max_batch, max_seq, num_heads, head_dim):
self.k_cache = torch.zeros(max_batch, num_heads, max_seq, head_dim)
self.v_cache = torch.zeros(max_batch, num_heads, max_seq, head_dim)
def update(self, k, v, position):
self.k_cache[:, :, position] = k
self.v_cache[:, :, position] = v
فك التشفير التخميني
استخدام نموذج صغير للمسودة، ونموذج كبير للتحقق:
# 1. المسودة: النموذج الصغير يولد N من الرموز بسرعة
# 2. التحقق: النموذج الكبير يتحقق من جميع الرموز N بالتوازي
# 3. قبول الرموز المتطابقة، وإعادة التوليد من أول عدم تطابق
التجميع المستمر
معالجة طلبات متعددة في وقت واحد:
| الاستراتيجية | الإنتاجية | زمن الانتظار |
|---|---|---|
| ثابتة | منخفضة | ثابت |
| مستمرة | عالية | متغير |