BookTranslator
BookTranslator

كيف تترجم المستندات الطويلة باستخدام نموذج لغوي محلي: التقسيم إلى أجزاء والتحقق

ترجمنا 3,179 كلمة باستخدام نموذج لغوي محلي في LM Studio بثلاث طرق، وكل طريقة أخفت خطأً صامتًا. حجم الجزء والإعدادات والفحوصات التي تكشفها.

BookTranslator

BookTranslator Team

11 min read

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

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

كل ما يلي مأخوذ من تشغيل واحد في 23 أكتوبر 2026: Qwen 3.6 27B (Q4_K_M GGUF) في LM Studio 0.4.8 على Apple M4 Max بذاكرة 64 جيجابايت، لترجمة افتتاحية التحول (Die Verwandlung) لكافكا من الألمانية إلى الإنجليزية. سكربت الاختبار والنتائج وأمثلة الفشل الخام متاحة للتنزيل مجانًا لتتمكن من تكرارها بنموذجك الخاص.

متى يكون النموذج اللغوي المحلي هو الأداة المناسبة

شغّل الترجمة محليًا عندما تحسم قواعد المستند، وليس الراحة، القرار:

  • عقد عميل أو اتفاقية بحث أو سياسة صاحب عمل تحظر رفع الملف إلى خدمة خارجية؛
  • النص شخصي أو سري ولا يمكنك إزالة الأجزاء الحساسة أولًا؛ أو
  • تحتاج إلى معالجة العديد من الملفات دون تكلفة لكل مستند وتمتلك بالفعل عتادًا مناسبًا.

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

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

ما اختبرناه

ترجمنا أول 19 فقرة من التحول (3,179 كلمة ألمانية) من طبعة مشروع جوتنبرج المتاحة في الملكية العامة. الألمانية الأدبية اختبار ضغط عادل: الفقرات طويلة، والجمل متداخلة، وتتكرر الشخصيات والمسميات الوظيفية نفسها.

استخدمت التشغيلات الثلاثة النموذج والإعدادات نفسها: درجة حرارة 0.2، وحد أقصى 12,000 رمز إخراج، ونافذة سياق 16,384 رمزًا. طلبت التعليمات فقرة إنجليزية واحدة لكل فقرة ألمانية ولا شيء آخر.

التشغيلما أرسلناهالفقرات الناتجة (المصدر: 19)الكلمات الناتجةالوقت
أ. مقسّم إلى أجزاء6 أجزاء من حوالي 600 كلمة، تعليمات فقط193,31910.4 دقيقة
ب. مقسّم + مسرد + سياقنفس المقاطع، ومسرد من 7 مصطلحات، والفقرة المصدرية السابقة موسومة بـ "لا تترجم"203,44610.5 دقيقة
ج. طلب واحدجميع الفقرات الـ 19 دفعة واحدة193,3099.5 دقيقة

انتهت كل تجربة بإشارة توقف طبيعية، واحتوت كل تجربة على خطأ صامت مختلف. التجربة ج أسقطت نصًا واختلقت نصًا. التجربة ب ترجمت نصًا طُلب منها تخطيه. التجربة أ، وهي الأنقى، أعطت شخصية وظيفة خاطئة في مقطعها الأخير.

الفشل 1: طلب واحد كبير أسقط جزءًا من فقرة

انتهت التجربة ج بشكل طبيعي وأعادت 19 فقرة بالضبط. كان فحص عدد الفقرات سيمررها. لكن الفقرة 6 عادت بـ 214 كلمة مقابل مصدر من 260 كلمة.

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

ترجمت التجربة المجزأة نفس الفقرة بالكامل، بـ 267 كلمة.

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

الفشل 2: ترجم النموذج "السياق" الذي طُلب منه تخطيه

من النصائح الشائعة إرسال الفقرة السابقة مع كل مقطع حتى يحافظ النموذج على الخيط. في التجربة ب، أضفناها إلى الرسالة تحت عنوان "السياق (مترجم بالفعل، لا تترجمه)".

في المقطع 4 ترجمها النموذج على أي حال. أعاد المقطع أربع فقرات مقابل ثلاث فقرات مصدرية، وكانت الأولى ترجمة ثانية للفقرة الأخيرة من المقطع 3. عند ضمها معًا، كان الكتاب سيحتوي على تلك الفقرة مرتين، بصياغة مختلفة في كل مرة.

القاعدة العملية: إذا أرسلت سياقًا، فأبعده عن النص المطلوب من النموذج ترجمته، واجعله قصيرًا، وافحص عدد الفقرات في كل مقطع. إذا لم تستطع الفحص، فاتركه.

الفشل 3: مقطع أُرسل وحده أعطى شخصية وظيفة خاطئة

أرسلت التجربة أ كل مقطع دون مسرد ودون سياق. بالنسبة للمقاطع الخمسة الأولى نجح هذا جيدًا: أصبح Prokurist "كبير الكتبة" في جميع المواضع الـ 16 التي ظهر فيها. كان المقطع السادس فقرة واحدة يوبخ فيها كبير الكتبة غريغور عبر الباب. عند رؤيته وحده، ترجم النموذج der Prokurist على أنه "المندوب التجاري"، وهي وظيفة غريغور نفسه. تطابق عدد الفقرات وكانت نسبة الطول 1.00، لذا لم يلاحظ أي من الفحصين البنيويين ذلك.

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

سير العمل الذي صمد

1. استخرج النص العادي من الملف أولًا

النموذج اللغوي المحلي يترجم نصًا، لا ملفات. حوّل المستند قبل أن تبدأ:

  • DOCX أو EPUB: صدّر إلى نص عادي أو Markdown بفقرة واحدة لكل كتلة، مع إبقاء العناوين كأسطر منفصلة.
  • PDF بطبقة نصية: استخرج النص، ثم أصلح الأسطر المكسورة والواصلات. يغطي دليلنا حول إصلاح فواصل أسطر OCR والواصلات نفس التنظيف. يمكن لمحوّل مثل Docling إنتاج Markdown من ملفات PDF وملفات Office.
  • PDF ممسوح ضوئيًا: شغّل OCR أولًا. إذا لم تكن متأكدًا مما إذا كان ملف PDF يحتوي على نص قابل للاستخدام، فراجع استخراج النص من PDF مقابل OCR.

حافظ على بنية الفقرات سليمة. فكل فحص لاحق يعتمد على تطابق واحد لواحد بين الفقرات المصدر والفقرات المترجمة.

2. أوقف وضع التفكير وتأكد من إيقافه

العديد من النماذج المفتوحة الحالية تفكر قبل أن تجيب. وبالنسبة للترجمة، فإن هذا يهدر الوقت ورموز الإخراج. في إعدادنا، أنفقت طلب اختبار من 200 رمز 199 رمزًا على التفكير وأعاد إجابة فارغة.

جربنا ثلاثة مفاتيح شائعة. إضافة /no_think إلى الموجه لم تفعل شيئًا، وchat_template_kwargs مع enable_thinking: false لم تفعل شيئًا. إرسال "reasoning_effort": "none" في الطلب أوقف التفكير: أبلغت الاستجابة عن 0 رموز تفكير وأعادت الترجمة مباشرة. هذه المعلمة غير مدرجة في صفحة إكمالات الدردشة الخاصة بـ LM Studio، لذا تعامل معها كسلوك لاحظناه في الإصدار 0.4.8 مع هذا النموذج. تحقق من عدد reasoning_tokens في استجاباتك بدلًا من الوثوق بأي مفتاح.

3. حدد حجم نافذة السياق قبل القطع

يجب أن تستوعب نافذة السياق التعليمات والقطعة والترجمة الكاملة. في تشغيلاتنا المجزأة، استخدمت قطعة ألمانية من 500 إلى 670 كلمة حوالي 800 إلى 1,500 رمز إدخال، اعتمادًا على المسرد والسياق، و640 إلى 870 رمز إخراج، لذا بضعة آلاف من الرموز كافية. الطلب الواحد المكون من 3,179 كلمة احتاج إلى 4,953 رمز إدخال و3,930 رمز إخراج.

يحدد Ollama طول السياق الافتراضي حسب الذاكرة المتاحة: 4 آلاف رمز لأقل من 24 جيجابايت من ذاكرة VRAM، و32 ألفًا من 24 إلى 48 جيجابايت، و256 ألفًا عند 48 جيجابايت أو أكثر، وفقًا لـ توثيق طول السياق الذي تم التحقق منه في 23 أكتوبر 2026. يمكنك رفعه باستخدام OLLAMA_CONTEXT_LENGTH. في LM Studio، اضبط طول السياق عند تحميل النموذج. إذا لم تكن القطعة مع ترجمتها مناسبة، فقد يتم قطع الإخراج.

4. قسّم عند حدود الفقرات، حوالي 600 كلمة

لا تقسم أبدًا داخل فقرة أو جملة. استهدفت قطعنا 700 كلمة وانتهت عند أقرب حد فقرة، مما أنتج ست قطع من 243 إلى 667 كلمة. القطع الأصغر تكلف قليلًا: استغرق التشغيل A 10.4 دقيقة مقابل 9.5 دقيقة للطلب الواحد، وإعادة تشغيل قطعة فاشلة رخيصة.

اجعل التعليمات قصيرة ومتطابقة لكل قطعة. كانت تعليماتنا: ترجم إلى الإنجليزية، واحتفظ بفقرة إخراج واحدة بالضبط لكل فقرة إدخال مفصولة بسطر فارغ، وأخرج الترجمة فقط. أضف مسردًا إلى نفس التعليمات: سطر واحد لكل اسم أو لقب أو مصطلح متكرر، بالصيغة Prokurist = chief clerk. يغطي دليلنا حول بناء مسرد ترجمة ما يجب تضمينه. تفقد القطع القصيرة القصة المحيطة، والمسرد هو ما يحملها.

5. افحص كل قطعة قبل ضمها

أجرِ ثلاثة فحوصات على كل قطعة:

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

بالنسبة للنثر من الألمانية إلى الإنجليزية، ظلت فقرات التشغيل A بين 0.98 و1.17 كلمة خارجة لكل كلمة داخلة. كانت فقرة التشغيل C التالفة 0.82. حدد نطاقك الخاص بفحص بضع فقرات تثق بها في زوج لغتك؛ الإعدادات الافتراضية في نصنا البرمجي هي نقطة بداية، وليست معيارًا.

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

6. أعد بناء المستند

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

كم يستغرق كتاب كامل

ترجم تشغيلنا المجزأ 3,179 كلمة في 10.4 دقيقة، أي حوالي 300 كلمة في الدقيقة على هذا الجهاز. بهذا المعدل، ستستغرق رواية من 90,000 كلمة حوالي خمس ساعات من التوليد، قبل الفحوصات وإعادة التشغيل. هذه حسابات بسيطة من تشغيل واحد، وليست معيارًا. تتغير السرعة حسب حجم النموذج والتكميم والعتاد وزوج اللغة ومقدار ما تقوم به الآلة من أعمال أخرى.

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

نموذج لغوي محلي أم خدمة ترجمة مستندات

سؤالنموذج لغوي محليخدمة ترجمة المستندات
هل يمكن أن يغادر الملف جهازك؟غير مطلوبمطلوب
ما الذي يعود إليكنص عادي تعيد تجميعهملف مترجم
حجم النموذجمحدود بذاكرتكمحدود بمزود الخدمة
الاتساق عبر كتاب كاملمهمتك: المسرد والتقطيع والفحوصمدمج في بعض الخدمات
التكلفة لكل مستندعتادك ووقتكسعر لكل مستند أو لكل كلمة

إذا كانت قواعدك تسمح برفع الملف، فإن خدمة المستندات تزيل معظم العمل المذكور أعلاه. يترجم BookTranslator ملفات PDF وEPUB وDOCX كاملة ويعيد ملفًا مترجمًا، ويذكر في الأسئلة الشائعة أن الملفات المرفوعة ومخرجات الترجمة لا تُستخدم لتدريب نماذج الذكاء الاصطناعي. إنها خدمة سحابية، لذا ليست خيارًا عندما يجب أن يبقى الملف على جهازك. إذا كنت تختار بين تشغيل النماذج بنفسك والدفع مقابل خدمة، فإن التكلفة الفعلية لترجمة LLM توضح كيفية وضع ميزانية لجانب الرموز.

احصل على ملفات الاختبار

جميع الملفات موجودة في المجلد /files/blog/translate-with-local-llm/:

  • local_llm_translation_test.py: الاختبار الكامل مقابل واجهة LM Studio المحلية، مع جميع الجولات الثلاث. وجّهه إلى نموذج أو نص مصدر آخر لتكرار الاختبار.
  • check_translation.py: يقارن نصًا مصدرًا وترجمة فقرة بفقرة ويطبع حالات عدم تطابق عدد الفقرات، ونسب الطول الخارجة عن النطاق، ومصطلحات المسرد المفقودة (باستخدام --term "Prokurist=chief clerk"). يعمل مع مخرجات أي أداة.
  • results.csv: كل طلب مع أعداد فقراته وأعداد كلماته وأعداد رموزه ووقته.
  • failure-examples.txt: المصدر الألماني ومخرجات النموذج الخام لجميع حالات الفشل الثلاث.

شغّل check_translation.py مع مصطلحات مسردك على أي ترجمة طويلة قبل أن تعتمد عليها. لا يستغرق سوى ثوانٍ، وقد رصد حالات الفشل الثلاث كلها في هذا الاختبار. لكنه لا يستطيع أن يخبرك إن كانت جملة سليمة الصياغة خاطئة المعنى، لذا فإن الفقرات التي يرصدها هي نقطة بداية قراءتك، لا نهايتها.

مقالات ذات صلة