Cara Menerjemahkan Dokumen Panjang dengan LLM Lokal: Potongan dan Pemeriksaan
Kami menerjemahkan 3.179 kata dengan LLM lokal di LM Studio melalui tiga cara, dan masing-masing menyembunyikan kesalahan senyap. Ukuran potongan, pengaturan, dan pemeriksaan yang menangkapnya.

Orang menerjemahkan dokumen dengan LLM lokal karena satu alasan: file tidak boleh meninggalkan mesin mereka. Model lokal bisa melakukan pekerjaan itu, tetapi ia memberi Anda teks biasa, bukan file terjemahan, dan kesalahan terburuknya adalah kesalahan yang senyap. Dalam pengujian kami, satu permintaan untuk kutipan 3.179 kata kembali dengan jumlah paragraf yang benar dan sinyal selesai yang bersih, namun satu paragraf kehilangan lebih dari sepertiga isinya dan mendapat kalimat yang tidak ada di sumber.
Jawaban singkat: pisahkan teks pada batas paragraf menjadi potongan sekitar 600 kata, masukkan glosarium nama dan istilah berulang ke dalam instruksi sistem, matikan mode berpikir model, dan bandingkan setiap potongan dengan paragraf sumbernya paragraf demi paragraf sebelum Anda memercayainya. Masing-masing dari tiga cara kami menjalankan pengujian gagal di suatu tempat, dan tidak ada kegagalan yang menghasilkan pesan kesalahan. Perkirakan model ukuran sedang di laptop membutuhkan waktu berjam-jam untuk satu buku utuh, dan rencanakan untuk membangun kembali formatnya sendiri.
Semua yang di bawah ini berasal dari satu kali pengujian pada 23 Oktober 2026: Qwen 3.6 27B (Q4_K_M GGUF) di LM Studio 0.4.8 pada Apple M4 Max dengan memori 64 GB, menerjemahkan pembukaan Die Verwandlung karya Kafka dari bahasa Jerman ke bahasa Inggris. Skrip pengujian, hasil, dan contoh kegagalan mentah dapat diunduh gratis agar Anda dapat mengulanginya dengan model Anda sendiri.
Kapan LLM Lokal Menjadi Alat yang Tepat
Jalankan terjemahan secara lokal ketika aturan dokumen, bukan kenyamanan, yang menentukan keputusan:
- kontrak klien, perjanjian riset, atau kebijakan pemberi kerja melarang mengunggah file ke layanan luar;
- teks bersifat pribadi atau rahasia dan Anda tidak dapat menghapus bagian sensitifnya terlebih dahulu; atau
- Anda perlu memproses banyak file tanpa biaya per dokumen dan Anda sudah memiliki perangkat keras yang sesuai.
Jika tidak ada yang berlaku, model lokal biasanya merupakan jalur yang lebih lambat menuju hasil yang lebih buruk. Anda kehilangan tiga hal yang disediakan layanan terjemahan dokumen: file terjemahan dalam format asli, model yang lebih besar daripada yang dapat ditampung mesin Anda, dan alur kerja yang dibangun untuk konsistensi di seluruh buku. Sebelum memilih salah satu rute, telusuri daftar periksa privasi terjemahan dokumen. Daftar itu mencakup kewenangan untuk memproses file, salinan kerja minimal, dan apa yang dilakukan layanan dengan unggahan.
"Lokal" juga memerlukan makna yang tepat. Model berjalan di komputer Anda, dan dalam pengujian kami permintaan hanya dikirim ke localhost. Itu tidak memberi tahu Anda apa yang dicatat, diperbarui, atau dilaporkan oleh aplikasi di sekitar model. Jika aturan Anda memerlukan bukti bahwa tidak ada yang meninggalkan perangkat, periksa pengaturan dan kebijakan runtime itu sendiri, atau jalankan pada mesin tanpa akses jaringan.
Apa yang Kami Uji
Kami menerjemahkan 19 paragraf pertama Die Verwandlung (3.179 kata Jerman) dari edisi Project Gutenberg yang berada di domain publik. Bahasa Jerman sastra adalah uji stres yang adil: paragrafnya panjang, kalimatnya bersarang, dan karakter serta jabatan yang sama muncul berulang kali.
Ketiga proses menggunakan model dan pengaturan yang sama: temperature 0,2, maksimum 12.000 token keluaran, dan jendela konteks 16.384 token. Instruksi meminta satu paragraf bahasa Inggris untuk setiap paragraf bahasa Jerman dan tidak ada yang lain.
| Proses | Yang kami kirim | Paragraf keluar (sumber: 19) | Kata keluar | Waktu |
|---|---|---|---|---|
| A. Dipotong | 6 potongan sekitar 600 kata, hanya instruksi | 19 | 3,319 | 10,4 menit |
| B. Dipotong + glosarium + konteks | Chunk yang sama, glosarium 7 istilah, dan paragraf sumber sebelumnya ditandai "jangan DITERJEMAHKAN" | 20 | 3,446 | 10,5 mnt |
| C. Satu permintaan | Semua 19 paragraf sekaligus | 19 | 3,309 | 9,5 mnt |
Setiap eksekusi berakhir dengan sinyal berhenti normal, dan setiap eksekusi mengandung kesalahan senyap yang berbeda. Eksekusi C menghilangkan dan mengarang teks. Eksekusi B menerjemahkan teks yang seharusnya dilewati. Eksekusi A, yang paling bersih, memberikan tugas yang salah kepada satu karakter di chunk terakhirnya.
Kegagalan 1: Satu Permintaan Besar Menghilangkan Sebagian Paragraf
Eksekusi C selesai secara normal dan mengembalikan tepat 19 paragraf. Pemeriksaan jumlah paragraf akan meloloskannya. Namun, paragraf 6 kembali dengan 214 kata untuk sumber 260 kata.
Dalam sumbernya, Gregor melihat jam, menyadari ia telah melewatkan keretanya, lalu mempertimbangkan untuk menelepon sakit: atasannya akan datang bersama dokter asuransi kesehatan, yang menganggap semua orang sehat tetapi malas bekerja, dan Gregor mengakui bahwa ia sebenarnya merasa baik-baik saja selain rasa kantuk dan nafsu makan yang tidak biasa. Eksekusi C menerjemahkan bagian pertama, lalu menghilangkan seluruh bagian cuti sakit, 98 dari 260 kata Jerman dalam paragraf itu. Sebagai gantinya, ia menulis bahwa Gregor "akan langsung dipecat," bahwa asisten kantor cenderung "melihat segala sesuatu yang dilaporkan kepadanya sebagai kesempatan untuk memamerkan diri," dan bahwa pikiran itu "membuat senyum tersungging di bibirnya." Tidak ada satu pun dari itu dalam teks Jerman.
Eksekusi terpotong menerjemahkan paragraf yang sama secara lengkap, dengan 267 kata.
Satu sampel tidak membuktikan bahwa permintaan panjang selalu gagal. Namun, ini menunjukkan apa yang harus diperiksa: satu permintaan panjang dapat secara senyap memadatkan atau mengarang teks sambil tetap terlihat lengkap secara struktural. Pembaca yang tidak mengerti bahasa Jerman tidak akan punya alasan untuk menyadarinya.
Kegagalan 2: Model Menerjemahkan "Konteks" yang Seharusnya Dilewati
Tips umum adalah mengirim paragraf sebelumnya bersama setiap chunk agar model menjaga alur. Dalam eksekusi B, kami menambahkannya ke pesan dengan label "Konteks (sudah diterjemahkan, jangan DITERJEMAHKAN)."
Dalam chunk 4, model tetap menerjemahkannya. Chunk itu mengembalikan empat paragraf untuk tiga paragraf sumber, dan yang pertama adalah terjemahan kedua dari paragraf terakhir chunk 3. Jika digabungkan, buku akan memuat paragraf itu dua kali, dengan kata-kata yang berbeda di setiap kemunculan.
Aturan praktisnya: jika Anda mengirim konteks, jauhkan dari teks yang diminta untuk diterjemahkan, buat singkat, dan periksa jumlah paragraf setiap chunk. Jika Anda tidak dapat memeriksanya, biarkan saja.
Kegagalan 3: Chunk yang Dikirim Sendirian Memberi Karakter Tugas yang Salah
Eksekusi A mengirim setiap chunk tanpa glosarium dan tanpa konteks. Untuk lima chunk pertama ini berjalan baik: Prokurist menjadi "kepala juru tulis" di semua 16 tempat kemunculannya. Chunk keenam adalah satu paragraf di mana kepala juru tulis memarahi Gregor melalui pintu. Dilihat sendirian, model menerjemahkan der Prokurist sebagai "sales keliling," yang merupakan pekerjaan Gregor sendiri. Jumlah paragraf cocok dan rasio panjangnya 1,00, sehingga tidak ada pemeriksaan struktural yang menyadarinya.
Dalam eksekusi B, yang memiliki glosarium dalam instruksi sistem dan paragraf sebelumnya sebagai konteks, paragraf yang sama dengan benar menggunakan "kepala juru tulis." Tes ini tidak dapat menentukan mana dari keduanya yang memperbaikinya. Karena konteks juga menyebabkan kegagalan 2, glosarium adalah tempat yang lebih aman untuk membawa nama dan peran dari chunk ke chunk: singkat, berada dalam instruksi, dan dapat diperiksa secara mekanis.
Alur Kerja yang Terbukti Andal
1. Dapatkan teks biasa dari file terlebih dahulu
LLM lokal menerjemahkan teks, bukan file. Konversi dokumen sebelum Anda mulai:
- DOCX atau EPUB: ekspor ke teks biasa atau Markdown dengan satu paragraf per blok, pertahankan judul sebagai baris terpisah.
- PDF dengan lapisan teks: ekstrak teksnya, lalu perbaiki baris yang terputus dan pemenggalan kata. Panduan kami untuk memperbaiki jeda baris OCR dan pemenggalan kata mencakup pembersihan yang sama. Konverter seperti Docling dapat menghasilkan Markdown dari PDF dan file Office.
- PDF hasil pindai: jalankan OCR terlebih dahulu. Jika Anda tidak yakin apakah PDF memiliki teks yang dapat digunakan, lihat Ekstraksi teks PDF vs OCR.
Pertahankan struktur paragraf. Setiap pemeriksaan selanjutnya bergantung pada kecocokan satu-satu antara paragraf sumber dan terjemahan.
2. Matikan mode berpikir dan konfirmasi
Banyak model terbuka saat ini bernalar sebelum menjawab. Untuk penerjemahan, itu membuang waktu dan token keluaran. Dalam pengaturan kami, permintaan uji 200 token menghabiskan 199 token untuk penalaran dan mengembalikan jawaban kosong.
Kami mencoba tiga sakelar umum. Menambahkan /no_think ke prompt tidak berpengaruh, dan chat_template_kwargs dengan enable_thinking: false juga tidak berpengaruh. Mengirim "reasoning_effort": "none" dalam permintaan mematikan penalaran: respons melaporkan 0 token penalaran dan langsung mengembalikan terjemahan. Parameter ini tidak tercantum di halaman chat completions LM Studio, jadi anggap ini sebagai perilaku yang kami amati pada versi 0.4.8 dengan model ini. Periksa jumlah reasoning_tokens dalam respons Anda sendiri daripada mempercayai sakelar apa pun.
3. Ukur jendela konteks sebelum memecah chunk
Jendela konteks harus menampung instruksi, chunk, dan terjemahan lengkap. Dalam uji chunk kami, chunk bahasa Jerman 500–670 kata menggunakan sekitar 800–1.500 token masukan, tergantung glosarium dan konteks, serta 640–870 token keluaran, jadi beberapa ribu token sudah cukup. Permintaan tunggal 3.179 kata membutuhkan 4.953 token masukan dan 3.930 token keluaran.
Ollama menetapkan panjang konteks default berdasarkan memori yang tersedia: 4k token di bawah 24 GiB VRAM, 32k dari 24 hingga 48 GiB, dan 256k pada 48 GiB atau lebih, menurut dokumentasi panjang konteks yang diperiksa pada 23 Oktober 2026. Anda dapat menaikkannya dengan OLLAMA_CONTEXT_LENGTH. Di LM Studio, atur panjang konteks saat memuat model. Jika chunk ditambah terjemahannya tidak muat, keluaran bisa terpotong.
4. Pecah chunk pada batas paragraf, sekitar 600 kata
Jangan pernah memecah di dalam paragraf atau kalimat. Chunk kami menargetkan 700 kata dan berakhir pada batas paragraf terdekat, yang menghasilkan enam chunk berukuran 243–667 kata. Chunk yang lebih kecil memakan biaya sedikit: uji A memakan waktu 10,4 menit dibandingkan 9,5 menit untuk permintaan tunggal, dan chunk yang gagal murah untuk dijalankan ulang.
Buat instruksi tetap singkat dan identik untuk setiap chunk. Instruksi kami adalah: terjemahkan ke bahasa Inggris, pertahankan tepat satu paragraf keluaran per paragraf masukan yang dipisahkan oleh baris kosong, dan keluarkan hanya terjemahannya. Tambahkan glosarium ke instruksi yang sama: satu baris per nama, gelar, atau istilah berulang, dalam bentuk Prokurist = chief clerk. Panduan kami untuk membangun glosarium terjemahan mencakup apa yang harus disertakan. Chunk pendek kehilangan cerita di sekitarnya, dan glosarium-lah yang membawanya.
5. Periksa setiap chunk sebelum menggabungkannya
Jalankan tiga pemeriksaan pada setiap chunk:
- Jumlah paragraf. Keluaran harus memiliki jumlah paragraf yang sama dengan masukan. Ini menangkap kegagalan 2.
- Rasio panjang per paragraf. Bandingkan jumlah kata setiap paragraf terjemahan dengan sumbernya. Ini menangkap kegagalan 1, yang terlewat oleh pemeriksaan jumlah paragraf.
- Istilah glosarium per paragraf. Jika istilah sumber muncul, terjemahan yang diwajibkan harus muncul dengan jumlah yang sama. Ini menangkap kegagalan 3, yang terlewat oleh kedua pemeriksaan lainnya. Bahasa yang berfleksi memerlukan pertimbangan di sini, karena istilah Jerman atau Rusia berubah bentuk.
Untuk prosa Jerman ke Inggris, paragraf uji A berkisar antara 0,98 hingga 1,17 kata keluar per kata masuk. Paragraf rusak uji C adalah 0,82. Tetapkan rentang Anda sendiri dengan memeriksa beberapa paragraf yang Anda percaya dalam pasangan bahasa Anda; nilai default dalam skrip kami adalah titik awal, bukan standar.
Paragraf yang ditandai adalah tempat untuk membaca terlebih dahulu, bukan bukti kesalahan. Kemudian baca terjemahannya sendiri, terutama nama, angka, negasi, dan apa pun yang akan ditindaklanjuti pembaca. Daftar periksa QA terjemahan buku mencakup tinjauan tersebut.
6. Bangun ulang dokumen
Model mengembalikan teks. Judul, catatan kaki, tabel, gambar, tata letak halaman, dan gaya harus dikembalikan secara manual atau dengan alat konversi. Untuk laporan pendek ini tidak signifikan. Untuk buku dengan catatan kaki dan tabel, ini bisa memakan waktu lebih lama daripada terjemahannya.
Berapa Lama Buku Utuh Diterjemahkan
Uji chunk kami menerjemahkan 3.179 kata dalam 10,4 menit, sekitar 300 kata per menit di mesin ini. Pada laju itu, novel 90.000 kata akan memakan waktu sekitar lima jam pembuatan, sebelum pemeriksaan dan pengulangan. Itu aritmetika sederhana dari satu uji, bukan tolok ukur. Kecepatan berubah dengan ukuran model, kuantisasi, perangkat keras, pasangan bahasa, dan seberapa banyak pekerjaan lain di mesin.
File model berukuran 17,5 GB di disk, dan cache konteks serta buffer runtime membutuhkan memori di atasnya, jadi mesin membutuhkan memori bebas yang jauh lebih besar daripada ukuran file. Model yang lebih kecil akan berjalan lebih cepat dan dengan memori lebih sedikit, biasanya dengan sedikit penurunan kualitas. Uji pada sampel yang representatif sebelum menerjemahkan seluruh buku. Panduan kami untuk LLM terbaik untuk terjemahan menjelaskan cara membuat sampel itu dan membandingkan model secara adil.
LLM Lokal atau Layanan Terjemahan Dokumen
| Pertanyaan | LLM Lokal | Layanan terjemahan dokumen |
|---|---|---|
| Apakah file bisa keluar dari mesin Anda? | Tidak diperlukan | Diperlukan |
| Apa yang dikembalikan | Teks biasa yang Anda susun ulang | File terjemahan |
| Ukuran model | Dibatasi oleh memori Anda | Dibatasi oleh penyedia |
| Konsistensi di seluruh buku | Tugas Anda: glosarium, pemotongan, pemeriksaan | Sudah terpasang di beberapa layanan |
| Biaya per dokumen | Perangkat keras dan waktu Anda | Harga per dokumen atau per kata |
Jika aturan Anda mengizinkan unggah file, layanan dokumen menghilangkan sebagian besar pekerjaan di atas. BookTranslator menerjemahkan file PDF, EPUB, dan DOCX lengkap dan mengembalikan file terjemahan, dan FAQ-nya menyatakan file yang diunggah dan hasil terjemahan tidak digunakan untuk melatih model AI. Ini adalah layanan cloud, jadi bukan pilihan jika file harus tetap di mesin Anda. Jika Anda memutuskan antara menjalankan model sendiri dan membayar layanan, berapa biaya terjemahan LLM sebenarnya menunjukkan cara menganggarkan sisi token.
Dapatkan File Uji
Semua file ada di folder /files/blog/translate-with-local-llm/:
local_llm_translation_test.py: uji lengkap terhadap API lokal LM Studio, dengan ketiga proses. Arahkan ke model atau teks sumber lain untuk mengulangi uji.check_translation.py: membandingkan teks sumber dan terjemahan paragraf demi paragraf dan mencetak ketidakcocokan jumlah paragraf, rasio panjang di luar rentang, dan istilah glosarium yang hilang (dengan--term "Prokurist=chief clerk"). Ini berfungsi dengan keluaran dari alat apa pun.results.csv: setiap permintaan dengan jumlah paragraf, jumlah kata, jumlah token, dan waktu.failure-examples.txt: sumber bahasa Jerman dan keluaran mentah model untuk ketiga kegagalan.
Jalankan check_translation.py dengan istilah glosarium Anda pada terjemahan panjang mana pun sebelum Anda mengandalkannya. Prosesnya hanya butuh beberapa detik, dan skrip ini menandai ketiga kegagalan dalam pengujian ini. Skrip ini tidak dapat memberi tahu Anda apakah sebuah kalimat yang lancar itu salah, jadi paragraf yang ditandai adalah titik awal pembacaan Anda, bukan titik akhirnya.
Artikel Terkait





