كيفية عمل TTFT

يتطلب قياس TTFT طابعَي زمن:

TTFT = وقت أول إخراج − وقت بدء الطلب

المعادلة بسيطة، لكن اختيار الطوابع الزمنية ليس كذلك.

يبدأ TTFT الذي يرصده العميل عند إرسال العميل للطلب، وينتهي عندما يتلقى العميل أول رمز يتضمن محتوى أو أول جزء مُرسل على نحو متدفق. ويمكن أن تشمل هذه الفترة ما يلي:

  1. إرسال الطلب إلى الخدمة.
  2. المصادقة والتوجيه والانتظار في الطابور.
  3. تحويل المطالبة إلى رموز.
  4. معالجة المطالبة بأكملها، وهي مرحلة تُسمى التهيئة المسبقة.
  5. اختيار أول رمز إخراج.
  6. تحويل ذلك الإخراج وإرساله مرة أخرى إلى العميل.

أثناء التهيئة المسبقة، يعالج النموذج الإدخال ويُعدّ معلومات الانتباه المخزنة التي سيعيد استخدامها أثناء توليد الرموز اللاحقة. وتتطلب المطالبات الأطول عادةً مزيدًا من عمل التهيئة المسبقة. وقد تضيف الخدمة المشغولة وقت انتظار في الطابور قبل بدء ذلك العمل.

قد يستخدم TTFT على مستوى المحرك حدودًا أضيق. فعلى سبيل المثال، يبدأ مقياس خادم vLLM عند الوصول إلى الواجهة الأمامية، أي حاليًا عند بدء تجزئة الرموز. ولذلك فهو لا يتضمن مسار الشبكة بين العميل والخدمة، ولا العمل الذي ينفذه تطبيق upstream.

ولهذا السبب، لا يُعد TTFT رقمًا واحدًا قابلًا للمقارنة عالميًا. إذ يعرّف توثيق NVIDIA للقياس المعياري هذا المقياس بأنه يبدأ عند إرسال الاستعلام وينتهي عند استلام أول رمز. أما مسرد Google Cloud فيصفه بأنه يمتد من وقت استلام النموذج للمطالبة إلى إنتاج أول رمز. كلا الاصطلاحين مفيد، لكن كلًا منهما يقيس جزءًا مختلفًا من الطلب.

مثال عملي

لنفترض أن أحد الطلبات المُرسلة على نحو متدفق يمر بالخط الزمني التالي:

  • 0 مللي ثانية: يرسل العميل المطالبة ويبدأ مؤقته.
  • 40 مللي ثانية: تستلم الخدمة الطلب.
  • 110 مللي ثانية: ينتهي الانتظار في الطابور وتبدأ المعالجة.
  • 350 مللي ثانية: تنتهي معالجة المطالبة ويُولّد أول رمز.
  • 390 مللي ثانية: يستلم العميل أول جزء يتضمن محتوى.

يبلغ TTFT الذي يرصده العميل 390 مللي ثانية.

أما قياس الخادم الذي يبدأ عند وصول الطلب وينتهي عند توليد الرمز، فيبلغ 310 مللي ثانية، أي 350 مللي ثانية ناقصًا 40 مللي ثانية.

يأتي الفرق البالغ 80 مللي ثانية من نطاق القياس، ولا يدل على أن أيًا من المؤقتين غير دقيق.

يوضح المثال نفسه أيضًا سبب عدم اعتبار TTFT زمن الاستجابة الكلي. إذ يستمر التوليد بعد 390 مللي ثانية. وتُعد الفواصل بين الرموز اللاحقة والزمن حتى الرمز النهائي قياسات منفصلة.

متى ولماذا يكون TTFT مهمًا؟

يكون TTFT مهمًا بدرجة أكبر عندما يمكن استخدام الإخراج بمجرد بدء ظهوره. إذ تستطيع واجهات الدردشة والمساعدات البرمجية وأنظمة النص المباشر عرض التقدم بعد وصول أول محتوى. ويؤدي تقليل TTFT إلى تقصير فترة الصمت قبل ظهور تلك الملاحظات.

وتقل أهميته بمفرده عندما يتعين على التطبيق انتظار الإجابة الكاملة. فعلى سبيل المثال، قد تهتم مهمة تلخيص دفعي بوقت الإكمال الكلي أو معدل النقل الإجمالي أكثر.

استخدم TTFT للتحقيق في بداية الطلب. فقد تشير قيمة مرتفعة إلى مطالبة طويلة، أو ضياع فرصة استخدام ذاكرة المطالبات المؤقتة، أو الانتظار في الطابور تحت الحمل، أو عامل تشغيل بارد، أو عبء الواجهة الأمامية، أو بُعد المسافة الشبكية. ولا يستطيع TTFT وحده تحديد المرحلة المسؤولة. لذا اقرنه بآثار التتبع أو بقياسات منفصلة للانتظار في الطابور والتهيئة المسبقة والشبكة.

عند مقارنة الأنظمة، ثبّت عبء العمل. استخدم التوزيع نفسه لأطوال المطالبات، وحالة ذاكرة التخزين المؤقت، والتزامن، وسلوك البث، وموقع العميل، وأحداث البدء والإيقاف. وأبلغ عن توزيع، مثل الوسيط والمئينات الطرفية، بدلًا من طلب واحد سريع على نحو غير معتاد. تستخدم منهجية القياس المعياري لدى MLCommons سيناريوهات محددة، وتتعامل مع TTFT لمرحلة المطالبة بصورة منفصلة عن توقيت مرحلة التوليد لهذا السبب.

مفاهيم خاطئة شائعة

لا يعني انخفاض TTFT أن الاستجابة الكاملة سريعة.فقد يبدأ نظام بسرعة ثم يولّد ببطء. وقد يبدأ نظام آخر ببطء وينتج بقية الإخراج بسرعة.

لا يؤدي البث تلقائيًا إلى تقليل زمن حوسبة النموذج.فهو يتيح للعميل ملاحظة الإخراج الجزئي قبل اكتمال الاستجابة. وقد يجعل التخزين المؤقت في خادم أو وكيل أو عميل، TTFT المرصود أطول، حتى عندما يولّد النموذج أول رمز في الوقت نفسه.

لا يكون الجزء الأول دائمًا رمزًا واحدًا.فقد تجمع بروتوكولات البث عدة رموز في حدث واحد. وينبغي ألا توقف الأحداث الفارغة أو البيانات الوصفية المؤقت إذا كان الهدف هو قياس وقت ظهور الإخراج القابل للاستخدام.

لا توجد قيمة TTFT «جيدة» بمعزل عن السياق.فطول المطالبة والحمل والأجهزة والتخزين المؤقت ومسار الشبكة وحدود القياس كلها تغيّر النتيجة. وينبغي أن يصف الهدف عبء العمل والمئين الذي ينطبق عليه.

ما الذي ينبغي قراءته بعد ذلك؟

اقرأ ما زمن استجابة الاستدلال؟ لوضع TTFT ضمن الخط الزمني الكامل للطلب. واقرأ ما عدد الرموز في الثانية؟ لمعرفة معدل التوليد بعد وصول أول رمز. ولمقارنة فترة الانتظار الأولية بسرعة التوليد وسعة النظام، استخدم زمن الاستجابة مقابل TTFT مقابل عدد الرموز في الثانية مقابل معدل النقل.