آلية عمل التوكنات في الثانية
الحساب الأساسي هو:
TPS = عدد التوكنات المحتسبة / الزمن المنقضي بالثواني
أثناء الاستدلال، ينتج نموذج لغوي توكنات بوصفها مخرجاته. وقد يبدو قياس معدلها بسيطًا، لكن على الاختبار المعياري أن يحدد ثلاثة أمور:
- توكنات مَن؟ طلب واحد أم جميع الطلبات المتزامنة على النظام.
- أي توكنات؟ توكنات الإخراج، أم توكنات الإدخال، أم كلاهما.
- أي ثوانٍ؟ فترة التوليد فقط بعد التوكن الأول، أم زمن الطلب الكامل، أم نافذة الاختبار الكاملة.
تُنشئ هذه الخيارات معنيين شائعين.
سرعة الإخراج لكل طلب تصف مدى سرعة بث استجابة واحدة بعد بدء ظهورها. وغالبًا ما تُحسب انطلاقًا من الفواصل الزمنية بين توكنات الإخراج، مع استبعاد فترة الانتظار الأولية. وهذا هو مقياس TPS الأقرب إلى ما يراه الشخص أثناء ظهور النص.
TPS لإخراج النظام يجمع توكنات الإخراج من جميع الطلبات ويقسمها على مدة الاختبار. وهو يقيس إجمالي قدرة النشر على التوليد. وتُميّز تعريفات NVIDIA للقياس ودليل Anyscale للمقاييس بين هذين النطاقين، لأنهما قد يتحركان في اتجاهين متعاكسين عند تغير الحمل.
قد ترى أيضًا TPS الإدخال، الذي يقيس معالجة المطالبة، أو TPS الإجمالي، الذي يجمع توكنات الإدخال والإخراج. تحقّق من التسمية قبل مقارنة القيم. فمعالجة الإدخال وتوليد الإخراج عمليتان مختلفتان، رغم أن كلتيهما تستخدمان التوكنات.
مثال تطبيقي
لنفترض أنك أرسلت طلبًا عند 0.0 ثانية. وينتج الطلب 41 توكن إخراج:
- يصل التوكن الأول عند
0.4 ثانية. - ويصل التوكن الأخير عند
2.4 ثانية. - تمتد الفواصل الزمنية الأربعون بعد التوكن الأول على
2.0 ثانية.
تكون سرعة الإخراج المستقرة:
40 فاصلًا زمنيًا / ثانيتين = 20 توكنًا/ثانية
وقد تحسب أداة تتضمن الطلب بأكمله بدلًا من ذلك:
41 توكن إخراج / 2.4 ثانية = 17.1 توكنًا/ثانية
تأتي النتيجتان من الاستجابة نفسها. تعزل الأولى التوليد بعد بدء الإخراج. أما الثانية فتتضمن فترة الانتظار الأولية وتستخدم جميع توكنات الإخراج. ولا تستخدم الوثائق الحالية اصطلاحًا موحدًا واحدًا: تستبعد Artificial Analysis فترة الانتظار حتى التوكن الأول من سرعة الإخراج، بينما تتضمن بعض المقاييس من البداية إلى النهاية هذه الفترة.
لنغيّر النطاق الآن. أثناء اختبار معياري مدته خمس ثوانٍ، تنتج عدة طلبات متزامنة ما مجموعه 400 توكن إخراج:
400 توكن إخراج / 5 ثوانٍ = 80 توكنًا/ثانية للنظام
تمثل قيمة 80 توكنًا/ثانية القدرة الإجمالية. ولا تعني أن أي استجابة واحدة بُثّت بسرعة 80 توكنًا/ثانية.
لماذا تهم التوكنات في الثانية؟
يساعدك TPS لكل طلب على تقدير مدى سرعة وصول استجابة طويلة بعد بدئها. وهو مهم للمحادثة، وتوليد التعليمات البرمجية، وأي سير عمل يستهلك إجابة متدفقة قبل اكتمالها.
يساعد TPS للنظام في تخطيط السعة والتكلفة. فهو يوضح مقدار الإخراج الذي يستطيع النشر إنتاجه تحت حمل محدد. وقد تؤدي زيادة التزامن إلى تحسين هذا المعدل الإجمالي عبر استخدام العتاد بكفاءة أكبر، لكنها قد تؤدي أيضًا إلى إبطاء كل طلب. فالنظام ذو السعة العالية لا يوفر تلقائيًا تجربة سريعة لمستخدم واحد.
لا يخبرك TPS بقصة زمن الاستجابة كاملةً. اقرن TPS لكل طلب مع الزمن حتى التوكن الأول، الذي يقيس فترة الانتظار قبل بدء الإخراج. واقرن TPS للنظام مع معدل تدفق الاستدلال وزمن الاستجابة تحت الحمل. ولا يكون النشر مفيدًا إلا إذا أنتج قدرًا كافيًا من العمل مع تلبية احتياجات تطبيقه من حيث زمن الاستجابة.
ما الذي يغيّر نتيجة TPS؟
يُعد TPS خاصية لإعداد خاضع للقياس، وليس مجرد خاصية لاسم النموذج. ويمكن أن يتغير وفقًا لما يلي:
- بنية النموذج وحجمه؛
- العتاد وعدد الأجهزة؛
- محرك الاستدلال، والدقة العددية، والتخزين المؤقت، وطريقة فك الترميز؛
- طولا المطالبة والإخراج؛
- التزامن، والتجميع، ومعدل الطلبات، وأنماط حركة المرور الأخرى؛
- أداة تقسيم النص إلى توكنات المستخدمة في عدّ التوكنات؛ و
- التأثيرات من جهة العميل، مثل دفعات البث وتسليم البيانات عبر الشبكة.
يمكن للمطالبات الأطول أن تغيّر فترة الانتظار الأولية وسرعة الإخراج اللاحقة معًا. كما قد تختلف سرعة الإخراج باختلاف المحتوى المُولّد عندما يستخدم محرك التقديم أساليب مثل فك الترميز الاستكشافي. ولذلك ينبغي لنتيجة قابلة لإعادة الإنتاج أن تحدد النموذج ونقطة النهاية، وشكل عبء العمل، والحمل، وأداة تقسيم النص إلى توكنات، والصيغة الدقيقة. وتوصي وثائق vLLM المعيارية بمقارنة نقاط القياس والصيغ، لا أسماء المقاييس وحدها.
المفاهيم الخاطئة الشائعة
«يخبرني TPS بموعد بدء الإجابة»
يصف TPS عادةً المعدل أثناء التوليد أو عبر نافذة اختبار معيارية. ولا يعزل فترة الانتظار الخالية من المخرجات قبل التوكن الأول. فقد يكون لنظامين TPS إخراج متماثل، مع اختلاف كبير في الزمن حتى التوكن الأول.
«يعني ارتفاع TPS للنظام أن الاستجابة ستكون أسرع بالنسبة إليّ»
ليس بالضرورة. فقد يؤدي تقديم عدد أكبر من الطلبات معًا إلى رفع TPS الإجمالي للنظام، بينما يتلقى كل طلب التوكنات على فترات أطول. اسأل عما إذا كانت النتيجة لكل طلب أم إجمالية.
«التوكن كلمة»
التوكنات ليست وحدات ثابتة من النص المرئي. فقد تقسم أدوات تقسيم النص المختلفة الجملة نفسها بطرق مختلفة، ولذلك قد تقابل قيم tok/s المتساوية كميات مختلفة من النص. ولهذا تعيد بعض الاختبارات المعيارية عبر النماذج تقسيم المخرجات إلى توكنات باستخدام أداة مشتركة.
«TPS مقياس موحد واحد»
لا يوجد تعريف موحد مفروض. فقد يستبعد TPS فترة الانتظار حتى التوكن الأول أو يتضمنها، وقد يحتسب توكنات الإخراج وحدها أو توكنات الإدخال والإخراج معًا. اقرأ الصيغة دائمًا.
إلى أين تتابع؟
استخدم زمن استجابة الاستدلال لفهم تأخر الاستجابة، والزمن حتى التوكن الأول لفهم فترة الانتظار الأولية، ومعدل تدفق الاستدلال لفهم سعة التقديم الإجمالية. ولمعرفة الحدود الفاصلة بين القياسات الأربعة جميعها، راجع زمن الاستجابة مقابل TTFT مقابل التوكنات في الثانية مقابل معدل التدفق.