مقدمة
كان لمنتجنا الصوتي شكويان لم نتمكن من التوفيق بينهما داخليًا. من عملاء المؤسسات الناطقين باللغة الإنجليزية، بدا الذكاء الاصطناعي سريعًا. من العملاء الناطقين بلغة الماندرين - وعلى نحو متزايد من العملاء الناطقين بالفيتنامية والتاغالوغية والهندية - شعر الذكاء الاصطناعي بالبطء. كانت الفجوة، التي تم قياسها من طرف إلى طرف من صمت المتصل إلى المقطع الأول للذكاء الاصطناعي، 260 مللي ثانية في اللغة الإنجليزية و540 مللي ثانية في لغة الماندرين. كان كلا الرقمين ضمن ميزانية الكمون المنشورة.
شعر واحد منهم فقط بأنه مقبول في مكالمة هاتفية.
إن غريزة أي فريق هندسي يرى فجوة في زمن الاستجابة هي العمل على النموذج. أسرع في الاستدلال نموذج أصغر. الكميات أفضل. لقد فعلنا كل ذلك. لقد اشترتنا 60 مللي ثانية في جميع المجالات، وهو ما لم يغلق أي شيء - كانت الفجوة النسبية لا تزال موجودة، وظلت اللغة الإنجليزية أسرع مرتين.
جاء الحل الحقيقي من ملاحظة مختلفة: كنا نتعامل مع زمن الاستجابة كمشكلة نموذجية في حين أنها كانت في الواقع مشكلة توجيه.
أين تذهب المللي ثانية فعليًا
كان تقسيم استجابة لغة الماندرين البالغة 540 مللي ثانية إلى أجزاء هو أول ما يوضح المشكلة. تبدو المحاسبة كما يلي تقريبًا:
- التقاط الصوت ونقطة النهاية - 80 مللي ثانية
- تحويل الكلام إلى نص أول رمز - 140 مللي ثانية
- النية + خط الاسترجاع - 90 مللي ثانية
- النموذج الكبير للرمز الأول (الجيل) - 180 مللي ثانية
- تحويل النص إلى كلام الصوت الأول - 50 مللي ثانية
على المسار الإنجليزي، جاءت نفس القطاعات عند 80 / 60 / 90 / 80 / 40. والقطاعان اللذان تباعدا بشكل كبير هما تحويل الكلام إلى نص وتوليد النماذج الكبيرة. كانت STT أبطأ في لغة الماندرين لأنه تم تدريب النموذج الصوتي بنافذة سياق أطول - ضرورية لتوضيح النغمات - والتي دفعت الرمز المميز الأول بمقدار 80 مللي ثانية.
كان إنشاء النموذج أبطأ لأن صانع الرمز المميز أنتج عددًا أكبر من الرموز لكل حرف له معنى مكافئ في لغة الماندرين مقارنة باللغة الإنجليزية.
ولم يكن أي عيب في النموذج. كلاهما عبارة عن مقايضات تم تجميعها بهدوء من قبل فرق مستقلة تعمل على تحسين مقاييسها الخاصة - STT للدقة، وLLM لجودة التوليد. كانت تكلفة زمن الوصول حقيقية، لكنها لم تكن ربحًا وخسارة لأحد.
إصلاح التوجيه الذي اشترى 200 مللي ثانية
لقد توقفنا عن توجيه جميع اللغات من خلال LLM واحد. بدلاً من ذلك، قمنا ببناء طبقة تصنيف رقيقة أمام الجيل الذي يكتشف، في أقل من 8 مللي ثانية، ثلاثة أشياء: لغة الكلام الوارد، وفئة غرض المحادثة، وما إذا كان الطلب واحدًا من حوالي 40 نمطًا عالي التردد حددناها من خلال تجميع شرائح الاتصال التي يبلغ طولها 2 مليون.
عندما يحدد المصنف نمطًا عالي التردد في لغة غير الإنجليزية، فإننا نقوم بتوجيه الجيل إلى نموذج أصغر متخصص في اللغة يتعامل مع هذا النمط مباشرة. لقد تم استخلاص النموذج الأصغر من خلال الملايين من عمليات الاكتمال للنمط نفسه، لذا فإن جودته على تلك المسارات المحددة تقع ضمن ضجيج النموذج الكبير - ولكن زمن الاستجابة للرمز الأول الخاص به يبلغ الثلث تقريبًا.
عندما يرى المُصنف غرضًا خلفيًا - أي شيء ليس ضمن الأنماط الأربعين - ينتقل الطلب إلى النموذج الكبير، تمامًا كما كان من قبل. معظم الانخفاض في زمن الوصول يأتي من حقيقة أن الأنماط عالية التردد موجودة أيضًا الأنماط التي تمثل حوالي 78% من حجم المكالمات. تدفع الحالات الخلفية الكمون الأصلي، لكنها نادرة.
المصنف لم يره أحد قادمًا
كان المصنف الرقيق هو الجزء من المشروع الذي لم يخصص له أحد الميزانية. استغرق بناؤه وقتًا أطول من بناء نظام التوجيه نفسه، لأن أوضاع الفشل كانت دقيقة. إن المصنف الذي يوجه 1% من الطلبات بشكل خاطئ إلى نموذج صغير لا يتعامل معها يؤدي إلى الهلوسة، وليس مجرد استجابات متدهورة.
ثلاثة أشياء جعلت المصنف يعمل. أولاً، تم تدريبه على حركة الإنتاج الحقيقية، وليس البيانات الاصطناعية. ثانيًا، أعادت درجة ثقة يمكن لجهاز التوجيه الوصول إليها - أي شيء أقل من 0.91 من الثقة ينتقل إلى النموذج الكبير تلقائيًا.
ثالثًا، قمنا بنشره لمدة ستة أسابيع مقابل خط الأنابيب الحالي، حيث يوفر النموذج الكبير الحقيقة الأساسية، قبل أن يتم توجيه أي حركة مرور فعليًا إلى النماذج الصغيرة.
عثر نشر الظل على أربع فئات من الأخطاء التي فاتتها مجموعة الاختبار غير المتصلة بالإنترنت. اثنان كان من السهل إصلاحهما في بيانات التدريب. هناك قاعدتان توجيه متعمدتان مطلوبتان - أي شيء يتعلق بالتحقق من الهوية أو المدفوعات أو إلغاء المواعيد يذهب دائمًا إلى النموذج الكبير بغض النظر عن ثقة المصنف، لأن تكلفة الهلوسة على تلك المسارات أعلى من الفوز بزمن الوصول.
الجانب تحويل النص إلى كلام من المشكلة
بينما كانت تغييرات LLM وSTT تخضع للمراجعة، كان فريق موازٍ يعمل على إخراج الكلام. كان الصوت الأول لتحويل النص إلى كلام (TTS) الذي تبلغ مدته 50 مللي ثانية باللغة الإنجليزية لا يهزم فعليًا؛ كانت الفجوة البالغة 70 مللي ثانية - 90 مللي ثانية في معظم اللغات غير الإنجليزية مدفوعة بنماذج صوتية أصغر حجمًا، وتخزين مؤقت أقل قوة، ومجمع GPU مشترك واحد يعطي الأولوية للغة الإنجليزية تحت التحميل.
قمنا بتقسيم البنية التحتية لتحويل النص إلى كلام (TTS) إلى مجموعات مثبتة باللغات. يعمل Mandarin TTS الآن على مجموعته الخاصة، مع قواعد التوسع الخاصة به، على الأجهزة القريبة من المناطق التي تنشأ فيها معظم حركة مرور Mandarin لدينا. انخفض زمن الوصول من 70-90 مللي ثانية إلى 45 مللي ثانية في غضون أسبوعين من الاستبدال.
لم يكن أي من هذا ذكيا. لقد كانت أعمال البنية التحتية التي لم يكلف أحد عناء القيام بها لأن التحسن الهامشي في أي لغة منفردة لم يبررها، بمعزل عن غيرها.
الدرس المستفاد - ونحن نكتبه الآن داخليًا - هو أننا "لم نستثمر في هذا لأنه لا يوجد مقياس واحد يبرر ذلك" هو بالضبط نوع القرار الذي يتراكم في فجوة تبلغ 280 مللي ثانية بين لغتين على مدى أربع سنوات.
قياس التكافؤ، وليس المتوسطات
كان أحد التغييرات الصغيرة ولكن المهمة التي أجريناها داخليًا هو الطريقة التي تقدم بها تقارير لوحة معلومات زمن الوصول للفريق. لقد اعتدنا على تتبع زمن الاستجابة p50 وp95 من طرف إلى طرف، بمتوسط جميع اللغات، مقابل SLO واحد. بدت لوحة القيادة خضراء في معظم الأوقات.
تقارير لوحة المعلومات الجديدة p50 وp95 لكل لغة ضد أ التكافؤ SLO — الفجوة بين أبطأ وأسرع لغة مدعومة لها ميزانية خاصة بها، ويتم تطبيقها بشكل منفصل. قمنا بتعيين ميزانية التكافؤ على 60 مللي ثانية. عندما تتجاوز الفجوة الميزانية، يتم استدعاء الطلب.
تقوم لوحة معلومات التكافؤ بعمل شيء لا تستطيعه اللوحة ذات الأساس المتوسط: فهي تجعل الانحدارات في أبطأ لغة مرئية بنفس درجة الإلحاح مثل الانحدارات في أسرع لغة. عندما تقوم بالمتوسط عبر 32 لغة، فإن الانحدار بمقدار 200 مللي ثانية في اللغة الفيتنامية يحرك المتوسط بمقدار 6 مللي ثانية. عند قياس التكافؤ، فإنه يحرك لوحة المعلومات بمقدار 200 مللي ثانية.
ما لا يزال بطيئا
بعد أعمال التوجيه، ومجموعات تحويل النص إلى كلام (TTS)، ولوحة معلومات التكافؤ، أصبحت اللغة الأسوأ لدينا (الكانتونية، في المقام الأول لأن مجموعة النموذج الصوتي الداعم أصغر) تبلغ 320 مللي ثانية. اللغة الإنجليزية هي 220 مللي ثانية. الفجوة المتبقية البالغة 100 مللي ثانية حقيقية ونحن نعرف تقريبًا مكان وجودها - النموذج الصوتي الكانتوني STT أقدم ولم يتم تضمينه بعد في البنية الجديدة، وسنعيد تدريبه في الربع الثالث.
لكن "أبطأ لغة متأخرة بمقدار 100 مللي ثانية عن الأسرع" هي محادثة مختلفة عن "أبطأ لغة متأخرة بمقدار 280 مللي ثانية عن الأسرع". الأول هو انحدار معروف مع التخطيط للإصلاح ربع السنوي. وكان الأخير عبارة عن حالة طارئة تتعلق بتجربة العملاء لم نكن نعلم بوجودها.
ما الذي سنفعله بشكل مختلف في المرة القادمة
ثلاثة أشياء، بترتيب الأولوية، إذا كنا نعيد بناء مكدس زمن الوصول من الصفر بما نعرفه الآن.
- قم ببناء جهاز توجيه المصنف أولاً، ثم النموذج. وانتهى الأمر بطبقة التوجيه لتصبح القطعة ذات الرافعة الأعلى. لقد تبين أن التعامل معها على أنها "سنضيفها لاحقًا إذا احتجنا إليها" يعني أننا عشنا مع زمن استجابة للنموذج الواحد لمدة 18 شهرًا أطول مما نحتاج إليه.
- قم بتعيين SLOs المتماثلة قبل SLOs للغة. والإغراء هو تحديد أهداف لكل لغة والسماح للتكافؤ بالظهور. التكافؤ لا يظهر. إنها تتباعد ببطء في اتجاه اللغة الأساسية للفريق.
- قم بتزويد البنية التحتية لكل لغة كما لو كانت كل لغة منتجًا منفصلاً. استحق Mandarin TTS مجموعة GPU الخاصة به منذ اليوم الأول، وليس من اليوم الذي قمنا فيه بقياس فجوة زمن الاستجابة.
لا شيء من هذا يعتبر بحثًا جديدًا. ولم يكن أي منها يتطلب ورقة. لقد تطلب الأمر التعامل مع تكافؤ زمن الوصول باعتباره التزامًا بالمنتج، ثم تمويل البنية التحتية غير الجذابة لدعم الالتزام. لدينا التكافؤ الذي نحتاجه الآن. لم يكن لدينا لمدة أربع سنوات.