איך לתרגם מסמכים ארוכים עם מודל שפה מקומי: פיצול לקטעים ובדיקות
תרגמנו 3,179 מילים עם מודל שפה מקומי ב-LM Studio בשלוש דרכים, וכל אחת הסתירה שגיאה שקטה. גודל הקטע, ההגדרות והבדיקות שתופסות אותן.

אנשים מתרגמים מסמכים עם מודל שפה מקומי מסיבה אחת: הקובץ לא יכול לצאת מהמחשב שלהם. מודל מקומי יכול לעשות את העבודה, אבל הוא נותן טקסט רגיל, לא קובץ מתורגם, והטעויות הגרועות ביותר שלו שקטות. בבדיקה שלנו, בקשה אחת לקטע של 3,179 מילים חזרה עם מספר הפסקאות הנכון ואות סיום נקי, אך פסקה אחת איבדה יותר משליש מהתוכן שלה וקיבלה משפטים שאינם במקור.
תשובה קצרה: פצלו את הטקסט בגבולות פסקה לקטעים של כ-600 מילים, הכניסו מילון מונחים של שמות ומונחים חוזרים להוראת המערכת, כבו את מצב החשיבה של המודל, והשוו כל קטע עם פסקת המקור שלו פסקה אחר פסקה לפני שאתם סומכים עליו. כל אחת משלוש הדרכים שבהן הרצנו את הבדיקה נכשלה במקום כלשהו, ואף כשל לא הפיק הודעת שגיאה. צפו שמודל בגודל בינוני על מחשב נייד ייקח שעות עבור ספר שלם, ותכננו לבנות מחדש את העיצוב בעצמכם.
כל מה שלהלן מגיע מהרצה אחת ב-23 באוקטובר 2026: Qwen 3.6 27B (Q4_K_M GGUF) ב-LM Studio 0.4.8 על Apple M4 Max עם 64 GB זיכרון, בתרגום הפתיחה של Die Verwandlung מאת קפקא מגרמנית לאנגלית. סקריפט הבדיקה, התוצאות ודוגמאות הכשל הגולמיות זמינים להורדה בחינם כדי שתוכלו לחזור על הבדיקה עם המודל שלכם.
מתי מודל שפה מקומי הוא הכלי המתאים
הריצו את התרגום באופן מקומי כאשר הכללים של המסמך, ולא הנוחות, מחליטים:
- חוזה לקוח, הסכם מחקר או מדיניות מעסיק אוסרים העלאת הקובץ לשירות חיצוני;
- הטקסט אישי או חסוי ואינכם יכולים להסיר קודם את החלקים הרגישים; או
- אתם צריכים לעבד קבצים רבים ללא עלות לכל מסמך וכבר יש לכם חומרה מתאימה.
אם אף אחד מאלה לא חל, מודל מקומי הוא בדרך כלל הדרך האיטית יותר לתוצאה גרועה יותר. אתם מוותרים על שלושה דברים ששירות תרגום מסמכים מספק: קובץ מתורגם בפורמט המקורי, מודל גדול יותר ממה שהמחשב שלכם יכול להחזיק, ותהליך עבודה שנבנה לעקביות לאורך ספר שלם. לפני שתבחרו באחת מהדרכים, עברו על רשימת הבדיקה לפרטיות תרגום מסמכים. היא מכסה סמכות לעבד את הקובץ, עותקי עבודה מינימליים, ומה שירות עושה עם העלאות.
ל"מקומי" גם צריך משמעות מדויקת. המודל רץ על המחשב שלכם, ובבדיקה שלנו הבקשות הלכו רק ל-localhost. זה לא אומר לכם מה האפליקציה סביב המודל מתעדת, מעדכנת או מדווחת. אם הכללים שלכם דורשים הוכחה ששום דבר לא יוצא מהמכשיר, בדקו את ההגדרות והמדיניות של סביבת ההרצה עצמה, או הריצו אותה על מחשב ללא גישה לרשת.
מה בדקנו
תרגמנו את 19 הפסקאות הראשונות של Die Verwandlung (3,179 מילים בגרמנית) מתוך מהדורת Project Gutenberg הנמצאת בנחלת הכלל. גרמנית ספרותית היא מבחן עומס הוגן: הפסקאות ארוכות, המשפטים מקוננים, ואותן דמויות ותארי עבודה חוזרים.
כל שלוש ההרצות השתמשו באותו מודל ובאותן הגדרות: טמפרטורה 0.2, מקסימום 12,000 אסימוני פלט, וחלון הקשר של 16,384 אסימונים. ההוראה ביקשה פסקה אחת באנגלית לכל פסקה בגרמנית ושום דבר אחר.
| הרצה | מה שלחנו | פסקאות בפלט (מקור: 19) | מילים בפלט | זמן |
|---|---|---|---|---|
| א. מפוצל לקטעים | 6 קטעים של כ-600 מילים, הוראה בלבד | 19 | 3,319 | 10.4 דקות |
| ב. מפוצל לקטעים + מילון מונחים + הקשר | אותם מקטעים, מילון מונחים של 7 מונחים, ופסקת המקור הקודמת מסומנת "אל תתרגם" | 20 | 3,446 | 10.5 דקות |
| ג. בקשה אחת | כל 19 הפסקאות בבת אחת | 19 | 3,309 | 9.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 קובעת את אורך ההקשר המוגדר כברירת מחדל לפי הזיכרון הזמין: 4k טוקנים מתחת ל-24 GiB של VRAM, 32k בין 24 ל-48 GiB, ו-256k ב-48 GiB ומעלה, לפי תיעוד אורך ההקשר שלה שנבדק ב-23 באוקטובר 2026. אפשר להעלות אותו עם OLLAMA_CONTEXT_LENGTH. ב-LM Studio, הגדירו את אורך ההקשר בעת טעינת המודל. אם קטע יחד עם התרגום שלו לא נכנס, הפלט עלול להיחתך.
4. פצלו בגבולות פסקאות, כ-600 מילים
לעולם אל תפצלו בתוך פסקה או משפט. הקטעים שלנו כוונו ל-700 מילים והסתיימו בגבול הפסקה הקרוב, מה שיצר שישה קטעים בני 243 עד 667 מילים. קטעים קטנים יותר עולים מעט: הרצה A ארכה 10.4 דקות לעומת 9.5 דקות בבקשה הבודדת, וקטע שנכשל זול להריץ מחדש.
שמרו על ההוראה קצרה וזהה לכל קטע. שלנו הייתה: תרגם לאנגלית, שמור בדיוק על פסקת פלט אחת לכל פסקת קלט מופרדת בשורה ריקה, ופלוט רק את התרגום. הוסיפו מילון מונחים לאותה הוראה: שורה אחת לכל שם, תואר או מונח חוזר, בצורה Prokurist = chief clerk. המדריך שלנו לבניית מילון מונחים לתרגום מכסה מה לכלול. קטעים קצרים מאבדים את הסיפור שמסביב, ומילון המונחים הוא מה שנושא אותו.
5. בדקו כל קטע לפני שאתם מחברים אותם
הריצו שלוש בדיקות על כל קטע:
- ספירת פסקאות. בפלט חייב להיות אותו מספר פסקאות כמו בקלט. זה תפס את כשל 2.
- יחס אורך לכל פסקה. השוו את מספר המילים של כל פסקה מתורגמת למקור שלה. זה תפס את כשל 1, שספירת הפסקאות פספסה.
- מונחי מילון לכל פסקה. היכן שמופיע מונח מקור, התרגום הנדרש שלו צריך להופיע באותו מספר פעמים. זה תפס את כשל 3, ששתי הבדיקות האחרות פספסו. שפות עם נטייה ידרשו שיקול דעת כאן, כי מונח בגרמנית או ברוסית משנה צורה.
בפרוזה מגרמנית לאנגלית, הפסקאות של הרצה A נשארו בין 0.98 ל-1.17 מילים פלט לכל מילת קלט. הפסקה הפגומה של הרצה C הייתה 0.82. קבעו את הטווח שלכם על ידי בדיקת כמה פסקאות שאתם סומכים עליהן בצמד השפות שלכם; ברירות המחדל בסקריפט שלנו הן נקודת התחלה, לא תקן.
פסקה שסומנה היא המקום לקרוא בו קודם, לא הוכחה לשגיאה. לאחר מכן קראו את התרגום עצמו, במיוחד שמות, מספרים, שלילות וכל דבר שקורא ינקוט לפיו פעולה. רשימת הבדיקה לתרגום ספרים מכסה את הסקירה הזו.
6. בנו מחדש את המסמך
המודל מחזיר טקסט. כותרות, הערות שוליים, טבלאות, תמונות, פריסת עמודים וסגנונות חייבים להיות מוחזרים ידנית או בכלי המרה. בדוח קצר זה שולי. בספר עם הערות שוליים וטבלאות זה יכול לקחת יותר זמן מהתרגום.
כמה זמן לוקח ספר שלם
ההרצה המפוצלת שלנו תרגמה 3,179 מילים ב-10.4 דקות, כ-300 מילים בדקה במכונה הזו. בקצב הזה, רומן בן 90,000 מילים ייקח בערך חמש שעות של יצירה, לפני בדיקות והרצות חוזרות. זו אריתמטיקה פשוטה מהרצה אחת, לא מדד ביצועים. המהירות משתנה עם גודל המודל, הכימות, החומרה, צמד השפות וכמה דברים אחרים המכונה עושה.
קובץ המודל היה 17.5 GB בדיסק, ומטמון ההקשר וחוצצי זמן הריצה דורשים זיכרון מעל זה, כך שמכונה צריכה זיכרון פנוי גדול באופן ניכר מגודל הקובץ. מודל קטן יותר ירוץ מהר יותר ועל פחות זיכרון, בדרך כלל במחיר מסוים באיכות. בדקו אותו על מדגם מייצג לפני שאתם מתחייבים לספר שלם. המדריך שלנו למודל השפה הטוב ביותר לתרגום מסביר כיצד לבנות את המדגם הזה ולהשוות מודלים בהוגנות.
מודל שפה מקומי או שירות תרגום מסמכים
| שאלה | מודל שפה מקומי | שירות תרגום מסמכים |
|---|---|---|
| האם הקובץ יכול לצאת מהמחשב שלך? | לא נדרש | נדרש |
| מה מתקבל בחזרה | טקסט רגיל שעליך להרכיב מחדש | קובץ מתורגם |
| גודל המודל | מוגבל לפי הזיכרון שלך | מוגבל לפי הספק |
| עקביות לאורך ספר שלם | התפקיד שלך: מילון מונחים, פיצול לקטעים, בדיקות | מובנה בחלק מהשירותים |
| עלות לכל מסמך | החומרה והזמן שלך | מחיר לפי מסמך או לפי מילה |
אם הכללים שלך מאפשרים העלאת הקובץ, שירות תרגום מסמכים מסיר את רוב העבודה שתוארה לעיל. BookTranslator מתרגם קבצי PDF, EPUB ו-DOCX שלמים ומחזיר קובץ מתורגם, ובשאלות הנפוצות שלו נאמר שקבצים שהועלו ופלט התרגום אינם משמשים לאימון מודלים של בינה מלאכותית. זהו שירות ענן, ולכן אינו אפשרות כאשר הקובץ חייב להישאר במחשב שלך. אם אתה מתלבט בין הרצת מודלים בעצמך לבין תשלום עבור שירות, מה העלות האמיתית של תרגום באמצעות מודלי שפה מראה כיצד לתקצב את צד הטוקנים.
הורד את קבצי הבדיקה
כל הקבצים נמצאים בתיקייה /files/blog/translate-with-local-llm/:
local_llm_translation_test.py: הבדיקה המלאה מול ה-API המקומי של LM Studio, עם כל שלוש ההרצות. כוון אותו למודל אחר או לטקסט מקור אחר כדי לחזור על הבדיקה.check_translation.py: משווה טקסט מקור ותרגום פסקה אחר פסקה ומדפיס אי-התאמות במספר הפסקאות, יחסי אורך מחוץ לטווח ומונחי מילון חסרים (עם--term "Prokurist=chief clerk"). הוא עובד עם פלט מכל כלי.results.csv: כל בקשה עם מספרי הפסקאות, מספרי המילים, מספרי הטוקנים והזמן שלה.failure-examples.txt: טקסט המקור הגרמני ופלט המודל הגולמי עבור כל שלושת הכשלים.
הריצו את check_translation.py עם מונחי המילון שלכם על כל תרגום ארוך לפני שאתם מסתמכים עליו. זה לוקח שניות, והוא סימן את כל שלושת הכשלים בבדיקה הזו. הוא לא יכול לומר לכם אם משפט רהוט שגוי, ולכן הפסקאות המסומנות הן נקודת ההתחלה של הקריאה שלכם, לא נקודת הסיום.
פוסטים קשורים





