[{"data":1,"prerenderedAt":3781},["ShallowReactive",2],{"\u002Farticulos\u002Ftraducir-novelas-con-una-rtx-3080\u002F":3,"upcoming:\u002Farticulos\u002Ftraducir-novelas-con-una-rtx-3080\u002F":3780},{"id":4,"title":5,"body":6,"date":3765,"description":3766,"draft":3767,"extension":3768,"meta":3769,"navigation":3770,"path":3771,"seo":3772,"stem":3773,"tags":3774,"type":3778,"__hash__":3779},"posts\u002Farticulos\u002Ftraducir-novelas-con-una-rtx-3080.md","Traducir novelas con una RTX 3080: lo que aprendí tras enfrentar cinco modelos locales al japonés y al inglés",{"type":7,"value":8,"toc":3687},"minimark",[9,42,56,61,64,71,77,80,83,86,90,97,103,109,115,121,128,132,139,170,173,201,223,230,235,238,241,251,254,258,265,268,279,282,361,368,372,383,397,407,418,428,431,461,471,474,478,484,487,490,493,497,512,589,592,599,605,609,612,723,727,738,753,760,764,771,829,840,843,853,857,860,863,946,949,968,981,992,999,1003,1009,1012,1027,1030,1034,1041,1123,1130,1141,1145,1276,1285,1295,1299,1310,1316,1322,1326,1339,1342,1431,1434,1441,1447,1451,1458,1465,1469,1475,1485,1494,1498,1501,1515,1534,1537,1598,1606,1617,1620,1624,1627,1674,1691,1698,1701,1705,1711,1714,1721,1735,1739,1742,1746,1756,1765,1769,1778,1781,1785,1808,1824,1828,1831,1838,1842,1853,1856,1860,1863,1866,1870,1965,1970,1974,1980,1983,2011,2018,2028,2032,2035,2059,2069,2072,2076,2079,2085,2088,2094,2098,2101,2112,2119,2122,2168,2175,2186,2189,2195,2201,2205,2208,2214,2217,2220,2224,2227,2233,2239,2242,2245,2251,2261,2271,2279,2285,2288,2292,2303,2306,2389,2392,2403,2407,2410,2416,2419,2423,2426,2429,2435,2438,2445,2452,2558,2568,2572,2575,2578,2604,2610,2614,2625,2628,2648,2655,2659,2662,2668,2674,2677,2681,2687,2696,2699,2703,2706,2710,2713,2717,2720,2727,2731,2734,2738,2748,2752,2755,2759,2766,2772,2776,2779,2785,2795,2801,2811,2817,2823,2829,2835,2841,2847,2855,2858,2862,2868,2871,2877,2883,2889,2895,2901,2907,2911,2914,2975,2982,2985,2989,2992,2999,3006,3009,3032,3035,3039,3046,3053,3060,3067,3073,3078,3085,3088,3091,3095,3102,3250,3256,3260,3263,3494,3504,3508,3514,3594,3598,3604,3610,3616,3622,3628,3634,3640,3646,3652,3658,3664,3670,3676,3678,3683],[10,11,12,16,17,20,23,24,26,29,30,32,35,36,38,41],"p",{},[13,14,15],"strong",{},"Fecha del estudio:"," 2 de noviembre de 2026.",[18,19],"br",{},[13,21,22],{},"Equipo principal:"," Windows, NVIDIA GeForce RTX 3080 de 10 GB de VRAM, 32 GB de RAM, Python y Ollama.",[18,25],{},[13,27,28],{},"Idiomas:"," japonés → español e inglés → español.",[18,31],{},[13,33,34],{},"Tipo de trabajo:"," experimento personal reproducible y auditoría técnica, no estudio académico revisado por pares.",[18,37],{},[13,39,40],{},"Asistencia:"," la investigación la hice usando modelos de OpenAI, sobre todo GPT-6 Sol.",[43,44,45],"blockquote",{},[10,46,47,50,51,55],{},[13,48,49],{},"Resumen en una frase:"," sí, una GPU doméstica de 10 GB puede ejecutar un traductor de literatura en formato EPUB y producir prosa española legible a una velocidad sorprendente; lo que todavía no he demostrado es que pueda hacerlo de forma ",[52,53,54],"em",{},"sistemáticamente fiel y autónoma"," a lo largo de una novela.",[57,58,60],"h2",{"id":59},"la-razón-de-este-experimento-no-era-ahorrar-dinero","La razón de este experimento no era ahorrar dinero",[10,62,63],{},"Desde que los modelos de inteligencia artificial se hicieron accesibles al público, uno de los usos que más me interesan es poder leer literatura escrita en lenguas que no domino. El japonés ocupa un lugar especial en esa curiosidad: novelas, relatos, obras difíciles de encontrar traducidas, textos cuya lectura dependería de otro modo de una edición que quizá no existe. El inglés también forma parte de la experiencia, aunque por razones algo diferentes.",[10,65,66,67,70],{},"Había utilizado con buenos resultados servicios como Claude (con una skill de traducción que escribí yo), DeepSeek en su versión web y Gemini, incluso cuando Gemini todavía no había llegado a su tercera generación. Son recuerdos de uso, no mediciones controladas: no guardé en este proyecto una batería equivalente traducida por aquellos servicios, y tampoco sería correcto asumir que los modelos alojados en sus webs siguen siendo los mismos. Pero esa experiencia sí estableció una expectativa: la IA podía servirme para ",[13,68,69],{},"leer literatura extranjera por placer",", no solo para comprender una frase aislada.",[10,72,73,74],{},"La pregunta que abrió el proyecto fue otra: ",[13,75,76],{},"¿podría reproducir esa experiencia de forma local con mi ordenador?",[10,78,79],{},"No buscaba necesariamente una aplicación comercial, un sustituto perfecto de los servicios en la nube ni un sistema con un récord de tokens por segundo. Quería conocer la viabilidad real. ¿Qué puede hacer una RTX 3080 de 10 GB ante una novela japonesa? ¿Qué fallos aparecen después de diez páginas? ¿Es viable conservar los nombres de los personajes y los recursos editoriales de un EPUB? ¿Qué ocurre cuando un modelo de 27.000 millones de parámetros se enfrenta a otro de 7.000 u 9.000 millones? Y, sobre todo, ¿puedo disfrutar leyendo el resultado?",[10,81,82],{},"Lo que parecía una prueba sencilla terminó convirtiéndose en una pequeña investigación de ingeniería de software, inferencia local, evaluación lingüística y metodología experimental. Para llevarla a cabo me apoyé en modelos de OpenAI, sobre todo en GPT-6 Sol; por eso algunos de los paquetes de resultados que cito en el apéndice llevan «ChatGPT» en el nombre.",[10,84,85],{},"Este artículo recoge tanto los resultados favorables como los errores. En realidad, los errores contienen algunas de las lecciones más útiles.",[57,87,89],{"id":88},"_1-qué-significa-que-una-traducción-sea-viable","1. Qué significa que una traducción sea viable",[10,91,92,93,96],{},"La palabra ",[52,94,95],{},"viable"," esconde al menos cuatro preguntas distintas. Durante los primeros prototipos cometí el error de tratarlas como si fueran una sola.",[10,98,99,102],{},[13,100,101],{},"Viabilidad computacional."," ¿Arranca el modelo en el ordenador? ¿Cuánta memoria necesita? ¿A qué velocidad genera tokens? ¿Puedo dejarlo trabajando sin intervención?",[10,104,105,108],{},[13,106,107],{},"Viabilidad técnica."," ¿El programa extrae el contenido correcto de un EPUB, conserva títulos, imágenes, enlaces y atributos, y genera un archivo que pueda abrirse? ¿Reanuda sin perder progreso? ¿Detecta fragmentos omitidos o repetidos?",[10,110,111,114],{},[13,112,113],{},"Viabilidad lingüística."," ¿La versión española conserva los hechos, sujetos, acciones, matices, tiempos verbales, relaciones personales y nombres del original? ¿Traduce bien las bromas, la ironía, los objetos históricos y las imágenes literarias?",[10,116,117,120],{},[13,118,119],{},"Viabilidad como experiencia de lectura."," ¿Puedo leer el texto con continuidad y placer? ¿Cuántas veces debo volver al original porque algo no encaja? ¿Cuánto tiempo invertiría en corregirlo? Una novela técnicamente válida y gramaticalmente tolerable puede ser una mala traducción literaria.",[10,122,123,124,127],{},"Esta distinción será importante para interpretar las cifras: ",[13,125,126],{},"96 de 96 respuestas recibidas no equivale a 96 traducciones correctas","; un EPUB que supera controles de empaquetado puede seguir contando una escena dos veces; y cero alertas no significa cero errores.",[57,129,131],{"id":130},"_2-el-punto-de-partida-una-skill-editorial-de-nueve-fases","2. El punto de partida: una skill editorial de nueve fases",[10,133,134,135,138],{},"El experimento nació a partir de un flujo que ya utilizaba con Claude para traducir EPUB japoneses e ingleses al español. No era un simple prompt de «traduce este texto». Era una ",[52,136,137],{},"skill"," que había escrito yo mismo, un documento de instrucciones que describía nueve fases de trabajo:",[140,141,142,146,149,152,155,158,161,164,167],"ol",{},[143,144,145],"li",{},"Detectar el idioma original e identificar los capítulos XHTML\u002FHTML con texto real, separándolos de portadas e ilustraciones.",[143,147,148],{},"Cargar o crear un glosario de proyecto reutilizable.",[143,150,151],{},"Establecer las convenciones editoriales por idioma.",[143,153,154],{},"Extraer y resolver términos recurrentes: personajes, lugares, habilidades, objetos y organizaciones.",[143,156,157],{},"Traducir capítulos, conservando continuidad y estructura.",[143,159,160],{},"Reconciliar los términos que hubieran recibido traducciones diferentes.",[143,162,163],{},"Verificar mecánicamente restos del idioma de origen, etiquetas y coherencia estructural.",[143,165,166],{},"Traducir metadatos e índice de navegación del EPUB.",[143,168,169],{},"Reconstruir el libro y comprobar su integridad.",[10,171,172],{},"La idea era reproducir ese procedimiento mediante Python y modelos ejecutados con Ollama. En la skill existían reglas muy específicas que los modelos, a menudo, no obedecían aunque estuvieran escritas de manera inequívoca.",[10,174,175,176,180,181,184,185,188,189,192,193,196,197,200],{},"Por ejemplo, los diálogos hablados debían comenzar con raya española (",[177,178,179],"code",{},"—","); los honoríficos japoneses, como ",[177,182,183],{},"-san"," y ",[177,186,187],{},"-sama",", se conservarían; los pensamientos escritos entre ",[177,190,191],{},"（）"," pasarían a ",[177,194,195],{},"«»","; los corchetes especiales ",[177,198,199],{},"【】"," de habilidades o sistemas permanecerían intactos; y la traducción del inglés debía respetar las cursivas que ya existieran en el XHTML.",[10,202,203,204,207,208,207,211,214,215,218,219,222],{},"También había normas de estructura: no alterar atributos ",[177,205,206],{},"id",", ",[177,209,210],{},"class",[177,212,213],{},"href"," o ",[177,216,217],{},"src","; preservar los saltos y los párrafos; eliminar o aplanar adecuadamente el ",[52,220,221],{},"furigana"," japonés sin destruir el texto; cambiar la lengua del paquete EPUB a español; conservar los nombres de autores y ajustar los títulos e índices visibles.",[10,224,225,226,229],{},"Esto ofrece una primera lección: ",[13,227,228],{},"traducir un EPUB es un proyecto editorial y de manipulación documental, no solamente una llamada a un modelo de lenguaje",".",[231,232,234],"h3",{"id":233},"por-qué-elegí-python-como-capa-de-control","Por qué elegí Python como capa de control",[10,236,237],{},"Un modelo de lenguaje no debería decidir dónde empieza una etiqueta XHTML ni si es conveniente cambiar el nombre de un archivo de imagen. Su tarea es producir texto. La capa de Python debe ser responsable de la estructura.",[10,239,240],{},"La arquitectura general que fui construyendo puede representarse así:",[242,243,249],"pre",{"className":244,"code":246,"language":247,"meta":248},[245],"language-text","                    EPUB original (inmutable)\n                              │\n                    Análisis del ZIP\u002FOPF\n                              │\n                XHTML → unidades de traducción\n                              │\n                  Glosario y reglas del libro\n                              │\n       ┌──────────────────────┴──────────────────────┐\n       │                                             │\n   Modelo local                                  Caché SQLite\n       │                                             │\n       └──────────────────────┬──────────────────────┘\n                              │\n                   Validaciones mecánicas\n                              │\n                 Reensamblado conservador\n                              │\n                   EPUB de lectura + log\n                              │\n                Comparación con el original\n","text","",[177,250,246],{"__ignoreMap":248},[10,252,253],{},"En un sistema maduro añadiría una segunda revisión semántica, EPUBCheck y una comprobación con un lector real. En mis pruebas no se completaron todas esas etapas para un libro entero; hay que distinguir las capacidades diseñadas de las efectivamente verificadas.",[57,255,257],{"id":256},"_3-el-hardware-diez-gigabytes-de-vram-cambian-las-reglas","3. El hardware: diez gigabytes de VRAM cambian las reglas",[10,259,260,261,264],{},"El equipo empleado en los experimentos fue un ordenador Windows con ",[13,262,263],{},"RTX 3080 de 10.240 MiB de memoria gráfica y 32 GB de RAM",", ejecutando Ollama y herramientas Python.",[10,266,267],{},"Las dos cifras —VRAM y RAM— son cruciales. Un modelo cuantizado puede ocupar menos que su representación en punto flotante, pero no basta con mirar su tamaño de descarga. Durante la inferencia existen otras necesidades de memoria, como la caché de atención, los buffers y la infraestructura de ejecución. Si el modelo no cabe completamente en memoria gráfica, parte del trabajo puede descargarse a RAM y CPU. No todos los modelos se comportan igual, y la cuantización influye tanto en la velocidad como potencialmente en la calidad.",[10,269,270,271,274,275,278],{},"La cuantización ",[177,272,273],{},"Q4_K_M"," fue especialmente relevante en varias pruebas. Simplificando, permite representar pesos con una precisión mucho menor que la usada en el entrenamiento, reduciendo el consumo de memoria. ",[13,276,277],{},"No significa que un modelo de 27B se convierta mágicamente en uno de 7B",": tiene muchos más pesos que cargar y procesar.",[10,280,281],{},"Trabajé con estos candidatos:",[283,284,285,302],"table",{},[286,287,288],"thead",{},[289,290,291,295,299],"tr",{},[292,293,294],"th",{},"Modelo",[292,296,298],{"align":297},"right","Tamaño nominal",[292,300,301],{},"Función en el estudio",[303,304,305,317,328,339,350],"tbody",{},[289,306,307,311,314],{},[308,309,310],"td",{},"Hy-MT2, GGUF Q4_K_M",[308,312,313],{"align":297},"7B",[308,315,316],{},"Traductor japonés → español y candidato rápido.",[289,318,319,322,325],{},[308,320,321],{},"Qwen3.5",[308,323,324],{"align":297},"9B",[308,326,327],{},"Traductor inglés → español y modelo generalista pequeño.",[289,329,330,333,336],{},[308,331,332],{},"Qwen3.5 Q4_K_M",[308,334,335],{"align":297},"27B",[308,337,338],{},"Modelo grande para traducción directa y posible revisión selectiva.",[289,340,341,344,347],{},[308,342,343],{},"TranslateGemma",[308,345,346],{"align":297},"12B",[308,348,349],{},"Modelo especializado en traducción, comparado en dos rondas.",[289,351,352,355,358],{},[308,353,354],{},"Aya Expanse",[308,356,357],{"align":297},"8B",[308,359,360],{},"Modelo multilingüe abierto, probado en casos difíciles.",[10,362,363,364,367],{},"No descargué toda la familia DeepSeek ni usé un Gemini web para las pruebas: la experiencia previa con esos servicios forma parte de la motivación, ",[13,365,366],{},"no"," de los datos del experimento. También consideré DeepSeek-R1 destilado como una posible alternativa, pero no hay una ejecución comparable que justifique incluirlo en el ranking medido.",[231,369,371],{"id":370},"cómo-medí-la-velocidad","Cómo medí la velocidad",[10,373,374,375,378,379,382],{},"Ollama entrega, entre otros campos, el número de tokens generados (",[177,376,377],{},"eval_count",") y el tiempo de generación (",[177,380,381],{},"eval_duration","), expresado en nanosegundos. La tasa se calcula así:",[242,384,388],{"className":385,"code":386,"language":387,"meta":248,"style":248},"language-python shiki shiki-themes github-light github-dark","tokens_por_segundo = eval_count * 1_000_000_000 \u002F eval_duration\n","python",[177,389,390],{"__ignoreMap":248},[391,392,395],"span",{"class":393,"line":394},"line",1,[391,396,386],{},[10,398,399,400,403,404,229],{},"También ofrece ",[177,401,402],{},"load_duration",", útil para distinguir el tiempo invertido cargando un modelo del tiempo realmente dedicado a generar una respuesta. La fórmula está documentada por Ollama ",[391,405,406],{},"1",[10,408,409,410,413,414,417],{},"Tres advertencias acompañan todas mis cifras. Primera: un token no es una palabra; la relación cambia con el idioma y el tokenizador. Segunda: la velocidad de generación no incorpora necesariamente la lectura y preparación del contexto. Tercera: los picos recogidos con ",[177,411,412],{},"nvidia-smi"," representan ",[13,415,416],{},"uso total de la GPU",", no memoria atribuible de manera exclusiva al proceso de Ollama; las lecturas puntuales tampoco garantizan haber observado el máximo instantáneo.",[57,419,421,422,184,425],{"id":420},"_4-elegir-textos-de-prueba-rashōmon-y-the-canterville-ghost","4. Elegir textos de prueba: ",[52,423,424],{},"Rashōmon",[52,426,427],{},"The Canterville Ghost",[10,429,430],{},"Necesitaba obras reales y contrastables. Elegí dos EPUB de Project Gutenberg:",[432,433,434,450],"ul",{},[143,435,436,446,447,229],{},[13,437,438,439,442,443,445],{},"Ryūnosuke Akutagawa, ",[52,440,441],{},"羅生門"," (",[52,444,424],{},")",", libro electrónico número 1982, en japonés ",[391,448,449],{},"2",[143,451,452,457,458,229],{},[13,453,454,455],{},"Oscar Wilde, ",[52,456,427],{},", libro electrónico número 14522, en inglés ",[391,459,460],{},"3",[10,462,463,464,466,467,470],{},"Se trata de textos clásicos que permiten estudiar dificultades distintas. ",[52,465,424],{}," contiene vocabulario histórico, referentes culturales de Kioto, prendas de vestir, construcciones japonesas con sujetos implícitos y decisiones morales que dependen de matices muy concretos. ",[52,468,469],{},"Canterville"," añade sátira, humor británico, ironía, nombres propios, tratamientos sociales, arcaísmos, expresiones idiomáticas y una narración en la que cambiar un verbo puede eliminar un chiste.",[10,472,473],{},"Utilizar materiales de Project Gutenberg facilita la reproducibilidad. Sin embargo, su indicación de dominio público se refiere expresamente a Estados Unidos; quien distribuya traducciones o derivados debe comprobar la legislación aplicable en su jurisdicción y las condiciones de cualquier material adicional del EPUB. Este artículo no ofrece asesoramiento jurídico.",[231,475,477],{"id":476},"un-problema-inesperado-la-estructura-del-epub-también-influye","Un problema inesperado: la estructura del EPUB también influye",[10,479,480,481,483],{},"El EPUB de ",[52,482,424],{}," presentaba una maquetación histórica poco amistosa para traducir por unidades normales: gran parte de la narración aparecía concentrada en un párrafo XHTML muy grande. Eso obligaba a fraccionarlo temporalmente para la inferencia y volver a unirlo con cuidado.",[10,485,486],{},"Esta característica condicionó tanto el desarrollo como el diseño experimental. Si se traduce directamente todo un nodo, el modelo puede superar sus límites prácticos de salida. Si se divide mal, se pueden romper frases o introducir duplicaciones. Y si la reconstrucción añade párrafos nuevos, se altera la estructura que quería conservar.",[10,488,489],{},"El segundo libro tenía sus propios problemas: saltos de línea heredados del texto fuente, abreviaturas inglesas y párrafos relativamente largos que exigían segmentación.",[10,491,492],{},"Una decisión aparentemente menor —dónde cortar el texto— terminó provocando uno de los fallos más graves de todo el proyecto.",[57,494,496],{"id":495},"_5-primera-batería-sesenta-traducciones-y-una-falsa-sensación-de-éxito","5. Primera batería: sesenta traducciones y una falsa sensación de éxito",[10,498,499,500,503,504,507,508,511],{},"La primera comparación sistemática reunió ",[13,501,502],{},"20 fragmentos cortos, diez japoneses y diez ingleses, traducidos con tres modelos",": un total de ",[13,505,506],{},"60 salidas",". Usé temperatura 0, contexto de 4.096 tokens y un límite de 768 tokens de salida. Los prompts no eran idénticos entre familias de modelos, de modo que las comparaciones deben interpretarse como pruebas de ",[52,509,510],{},"configuraciones",", no como un aislamiento perfecto de la arquitectura.",[283,513,514,532],{},[286,515,516],{},[289,517,518,520,523,526,529],{},[292,519,294],{},[292,521,522],{"align":297},"Respuestas completadas",[292,524,525],{"align":297},"Mediana de generación",[292,527,528],{"align":297},"Tiempo acumulado de 20 peticiones",[292,530,531],{"align":297},"VRAM máxima observada",[303,533,534,553,571],{},[289,535,536,539,542,547,550],{},[308,537,538],{},"Hy-MT2 7B Q4",[308,540,541],{"align":297},"20\u002F20",[308,543,544],{"align":297},[13,545,546],{},"115,3 tok\u002Fs",[308,548,549],{"align":297},"14,8 s",[308,551,552],{"align":297},"7.000 MiB",[289,554,555,558,560,565,568],{},[308,556,557],{},"TranslateGemma 12B",[308,559,541],{"align":297},[308,561,562],{"align":297},[13,563,564],{},"35,4 tok\u002Fs",[308,566,567],{"align":297},"39,9 s",[308,569,570],{"align":297},"9.730 MiB",[289,572,573,576,578,583,586],{},[308,574,575],{},"Qwen3.5 9B",[308,577,541],{"align":297},[308,579,580],{"align":297},[13,581,582],{},"95,8 tok\u002Fs",[308,584,585],{"align":297},"20,0 s",[308,587,588],{"align":297},"7.858 MiB",[10,590,591],{},"A primera vista parecían resultados excelentes: todos los modelos respondían y los dos más pequeños eran rápidos. Pero las traducciones revelaban la diferencia entre una respuesta aceptable para el programa y una traducción que respeta las convenciones editoriales.",[10,593,594,595,598],{},"En un ejemplo japonés, Hy-MT2 conservaba los delimitadores ",[177,596,597],{},"「」"," en lugar de producir rayas. En otro, Qwen 9B cambiaba un verbo en pasado por presente y eliminaba los corchetes de una habilidad. TranslateGemma podía formular una frase natural, pero no siempre interpretaba adecuadamente los símbolos o los objetos. En inglés se observaron cambios de marcado, párrafos fusionados y onomatopeyas sin adaptar.",[10,600,601,602,229],{},"La conclusión de esta batería no fue «X es el mejor traductor». Fue mucho más básica: ",[13,603,604],{},"los modelos locales ya eran suficientemente veloces para justificar construir la infraestructura, pero ninguno obedecía de manera consistente todas las normas editoriales",[57,606,608],{"id":607},"_6-las-versiones-v01-a-v05-aprender-a-distinguir-software-de-traducción","6. Las versiones v0.1 a v0.5: aprender a distinguir software de traducción",[10,610,611],{},"Durante las siguientes iteraciones construí un traductor EPUB local con extracción del contenido, selección de modelos, glosarios, registro de errores, caché y reconstrucción. La evolución fue incremental, aunque también mostró un error de estrategia: cada versión corregía problemas técnicos y añadía complejidad antes de haber establecido una prueba clara de calidad literaria.",[283,613,614,627],{},[286,615,616],{},[289,617,618,621,624],{},[292,619,620],{},"Etapa",[292,622,623],{},"Objetivo principal",[292,625,626],{},"Qué aprendí",[303,628,629,642,655,671,684,697,710],{},[289,630,631,636,639],{},[308,632,633],{},[13,634,635],{},"v0.1–v0.2",[308,637,638],{},"Convertir las pruebas iniciales en un flujo local reproducible.",[308,640,641],{},"La extracción y el empaquetado deben tratarse como operaciones independientes del modelo.",[289,643,644,649,652],{},[308,645,646],{},[13,647,648],{},"v0.3",[308,650,651],{},"Probar EPUB reales con Hy-MT2 y Qwen 9B.",[308,653,654],{},"Los bloques podían «completarse» manteniendo errores graves de sentido, género y terminología.",[289,656,657,662,665],{},[308,658,659],{},[13,660,661],{},"v0.4 \u002F v0.4.1",[308,663,664],{},"Comparar Qwen 27B y corregir la ejecución en Windows.",[308,666,667,668,229],{},"Un modelo más grande no garantiza una mejor traducción; además, una automatización debe sobrevivir a detalles como los finales de línea de los ",[177,669,670],{},".bat",[289,672,673,678,681],{},[308,674,675],{},[13,676,677],{},"v0.5",[308,679,680],{},"Añadir glosarios, alertas, sugerencias y revisión con 27B.",[308,682,683],{},"Las ayudas mejoran algunos nombres, pero también introducen nuevos modos de fallo.",[289,685,686,691,694],{},[308,687,688],{},[13,689,690],{},"Laboratorio v1.0",[308,692,693],{},"Separar variables y medir una comparación controlada.",[308,695,696],{},"Se puede estudiar el efecto del glosario y del contexto sin confundirlo con una nueva versión del producto.",[289,698,699,704,707],{},[308,700,701],{},[13,702,703],{},"Laboratorio v1.1",[308,705,706],{},"Probar TranslateGemma y Aya sobre las mismas fuentes.",[308,708,709],{},"La especialización y el tamaño no bastan para garantizar fidelidad literaria.",[289,711,712,717,720],{},[308,713,714],{},[13,715,716],{},"Piloto de lectura v1–v1.2",[308,718,719],{},"Generar EPUB parciales, detectar repeticiones y leer pasajes continuos.",[308,721,722],{},"La integridad del texto y la calidad de la traducción son problemas distintos.",[231,724,726],{"id":725},"v03-veinte-de-veinte-no-significaba-veinte-traducciones-buenas","v0.3: veinte de veinte no significaba veinte traducciones buenas",[10,728,729,730,733,734,737],{},"La v0.3 se ejecutó sobre las dos obras reales. Hy-MT2 completó 20 unidades japonesas a una mediana de ",[13,731,732],{},"103,9 tok\u002Fs","; Qwen 9B completó 20 unidades inglesas a ",[13,735,736],{},"87,4 tok\u002Fs",". El programa notificó cero rechazos y cero alertas.",[10,739,740,741,744,745,748,749,752],{},"Sin embargo, el japonés contenía interpretaciones como ",[177,742,743],{},"朱雀大路"," convertido en una calle inventada o mal transliterada, ",[177,746,747],{},"洛中"," convertido en un topónimo incorrecto, una prenda traducida como una puerta y el protagonista masculino convertido en «la sirvienta» o incluso en plural en determinados pasajes. El inglés tradujo ",[52,750,751],{},"Canterville Chase"," como «la caza de Canterville», confundió una referencia a un baile con una persona alemana y produjo expresiones como «la mobiliario».",[10,754,755,756,759],{},"Lo importante no es que un 7B se equivoque alguna vez. Lo importante es que ",[13,757,758],{},"el programa declaraba éxito porque había recibido texto, no porque ese texto fuera semánticamente correcto",". Era la primera advertencia clara contra confiar en una simple métrica de completitud.",[231,761,763],{"id":762},"v04-qwen-27b-y-el-precio-de-aumentar-los-parámetros","v0.4: Qwen 27B y el precio de aumentar los parámetros",[10,765,766,767,770],{},"Probé Qwen3.5 27B en cuantización Q4_K_M con ",[13,768,769],{},"40 fragmentos reales: 20 de japonés y 20 de inglés",". Todas las peticiones terminaron sin omisiones registradas.",[283,772,773,786],{},[286,774,775],{},[289,776,777,780,783],{},[292,778,779],{},"Indicador",[292,781,782],{"align":297},"Japonés → español",[292,784,785],{"align":297},"Inglés → español",[303,787,788,797,807,818],{},[289,789,790,793,795],{},[308,791,792],{},"Respuestas completas",[308,794,541],{"align":297},[308,796,541],{"align":297},[289,798,799,801,804],{},[308,800,525],{},[308,802,803],{"align":297},"3,05 tok\u002Fs",[308,805,806],{"align":297},"3,10 tok\u002Fs",[289,808,809,812,815],{},[308,810,811],{},"Tiempo acumulado de peticiones",[308,813,814],{"align":297},"924,97 s",[308,816,817],{"align":297},"691,94 s",[289,819,820,823,826],{},[308,821,822],{},"VRAM total máxima observada",[308,824,825],{"align":297},"9.855 MiB",[308,827,828],{"align":297},"9.861 MiB",[10,830,831,832,835,836,839],{},"En conjunto, las peticiones ocuparon ",[13,833,834],{},"1.616,91 segundos",", unos ",[13,837,838],{},"26 minutos y 57 segundos",", para cuarenta fragmentos. No debo extrapolar esa cifra directamente a una novela entera, pero sí indica el orden de magnitud del coste de usar este modelo en mi máquina.",[10,841,842],{},"El 27B resolvía mejor ciertas referencias: en algunos pasajes recuperó la idea de una prenda donde Hy-MT2 había visto una puerta, mantuvo masculino y singular al protagonista o interpretó correctamente una ballesta. Pero también produjo topónimos inconsistentes, cambió el sentido de alguna oración, convirtió vocabulario cultural en términos extraños y volvió a ignorar, a veces, las reglas de diálogo.",[10,844,845,848,849,852],{},[13,846,847],{},"Más parámetros no significaron una mejora uniforme",". Y a unos tres tokens por segundo, utilizar el 27B en cada párrafo supondría una experiencia muy diferente de la ofrecida por los modelos pequeños. Su posible papel futuro quedó más próximo al de ",[52,850,851],{},"asesor selectivo"," que al de traductor principal.",[231,854,856],{"id":855},"v05-glosarios-y-revisores-automáticos","v0.5: glosarios y revisores automáticos",[10,858,859],{},"La versión 0.5 añadió glosarios aprobados, extracción de sugerencias, detección de ciertos errores, informes estructurales y una revisión limitada con Qwen 27B.",[10,861,862],{},"El resultado técnico fue mixto:",[283,864,865,884],{},[286,866,867],{},[289,868,869,872,875,878,881],{},[292,870,871],{},"Libro",[292,873,874],{"align":297},"Intentos",[292,876,877],{"align":297},"Aceptados",[292,879,880],{"align":297},"No traducidos",[292,882,883],{"align":297},"Mediana",[303,885,886,906,923],{},[289,887,888,893,896,899,903],{},[308,889,890,892],{},[52,891,424],{},", Hy-MT2",[308,894,895],{"align":297},"30",[308,897,898],{"align":297},"27",[308,900,901],{"align":297},[13,902,460],{},[308,904,905],{"align":297},"113,7 tok\u002Fs",[289,907,908,913,915,917,920],{},[308,909,910,912],{},[52,911,469],{},", Qwen 9B",[308,914,895],{"align":297},[308,916,895],{"align":297},[308,918,919],{"align":297},"0",[308,921,922],{"align":297},"95,75 tok\u002Fs",[289,924,925,930,935,940,944],{},[308,926,927],{},[13,928,929],{},"Total",[308,931,932],{"align":297},[13,933,934],{},"60",[308,936,937],{"align":297},[13,938,939],{},"57",[308,941,942],{"align":297},[13,943,460],{},[308,945,179],{"align":297},[10,947,948],{},"Las tres omisiones japonesas se debieron a respuestas que repetían partes de las propias instrucciones editoriales en lugar de traducir. El sistema las rechazó y dejó los bloques originales sin modificar. Ese comportamiento era más seguro que aceptar una salida inválida silenciosamente, pero demostraba que todavía no podía hablar de una traducción completa sin supervisión.",[10,950,951,952,954,955,957,958,960,961,963,964,967],{},"A la vez, el glosario mejoró hechos observables: ",[52,953,424],{}," quedó escrito con una forma fija, ",[177,956,743],{}," apareció como «avenida Suzaku» y ",[177,959,747],{}," dejó de confundirse con otro lugar en algunos fragmentos. En inglés, ",[52,962,751],{}," pasó a conservarse como nombre propio. Todo eso era útil, pero coexistía con «la mobiliario», «una carruaje», tratamientos equivocados de ",[52,965,966],{},"Miss"," y diálogos incoherentes.",[10,969,970,971,973,974,976,977,980],{},"También probé que otro modelo propusiera automáticamente entradas de glosario. Entre las sugerencias aparecieron opciones incorrectas como «Puerta de Rashō» para ",[177,972,441],{}," o «Calle Surajō» para ",[177,975,743],{},". Decidí que ninguna sugerencia pasaría al glosario ",[13,978,979],{},"sin aprobación",". Un glosario erróneo no arregla un modelo: puede convertir una equivocación local en una equivocación reproducida cientos de veces.",[10,982,983,984,987,988,991],{},"La revisión con 27B devolvió ",[13,985,986],{},"seis respuestas JSON utilizables y dos inválidas",", de ocho revisiones. Algunas correcciones resultaron pertinentes, como detectar el tratamiento incorrecto de ",[52,989,990],{},"Miss Virginia E. Otis","; otras propuestas eran poco naturales. Los dos errores de JSON podrían estar relacionados con respuestas truncadas por el presupuesto de salida, pero los registros no permiten afirmar esa causa con certeza. No se aplicaron correcciones automáticamente, una protección acertada.",[10,993,994,995,998],{},"La enseñanza fue doble: ",[13,996,997],{},"un segundo modelo puede detectar fallos que el primero no ve, pero no constituye una autoridad infalible",", y automatizar la revisión requiere diseñar una interfaz robusta, no solo pedir «corrige la traducción».",[57,1000,1002],{"id":1001},"_7-el-giro-metodológico-dejar-de-crear-versiones-y-empezar-a-hacer-ciencia-casera","7. El giro metodológico: dejar de crear versiones y empezar a hacer ciencia casera",[10,1004,1005,1006],{},"Después de cinco versiones del traductor, tuve que reconocer que el desarrollo había adquirido cierta inercia. Cada nueva incidencia llevaba a añadir un validador, una regla de glosario, un revisor o una excepción. Estaba resolviendo problemas reales, pero faltaba responder de forma directa a la hipótesis original: ",[13,1007,1008],{},"¿mejora de verdad la traducción el proceso multietapa o simplemente añade complejidad?",[10,1010,1011],{},"La solución fue separar dos proyectos conceptuales:",[432,1013,1014,1021],{},[143,1015,1016,1017,1020],{},"Un ",[13,1018,1019],{},"laboratorio de traducción",", cuya función sería mantener fuentes constantes, variar un solo componente cuando fuera posible, registrar prompts y respuestas, y generar material comparable.",[143,1022,1016,1023,1026],{},[13,1024,1025],{},"traductor EPUB",", cuyo objetivo práctico sería producir libros o extractos legibles, pero incorporando únicamente los mecanismos que hubieran demostrado valor.",[10,1028,1029],{},"Esta separación me permitió conservar el trabajo útil sin caer en una sexta versión improvisada.",[231,1031,1033],{"id":1032},"cuatro-condiciones-y-96-respuestas","Cuatro condiciones y 96 respuestas",[10,1035,1036,1037,1040],{},"El laboratorio v1.0 seleccionó ",[13,1038,1039],{},"12 pasajes japoneses y 12 ingleses"," de un banco de 20 por idioma. Cada pasaje se tradujo en cuatro condiciones:",[283,1042,1043,1058],{},[286,1044,1045],{},[289,1046,1047,1050,1052,1055],{},[292,1048,1049],{},"Condición",[292,1051,294],{},[292,1053,1054],{},"Información adicional",[292,1056,1057],{},"Pregunta experimental",[303,1059,1060,1076,1092,1107],{},[289,1061,1062,1067,1070,1073],{},[308,1063,1064],{},[13,1065,1066],{},"A",[308,1068,1069],{},"Hy-MT2 7B (JA) \u002F Qwen 9B (EN)",[308,1071,1072],{},"Ninguna",[308,1074,1075],{},"¿Qué hace el modelo directamente?",[289,1077,1078,1083,1086,1089],{},[308,1079,1080],{},[13,1081,1082],{},"B",[308,1084,1085],{},"Igual que A",[308,1087,1088],{},"Glosario aprobado",[308,1090,1091],{},"¿Qué aporta el glosario?",[289,1093,1094,1099,1101,1104],{},[308,1095,1096],{},[13,1097,1098],{},"C",[308,1100,1085],{},[308,1102,1103],{},"Glosario + fragmento original anterior",[308,1105,1106],{},"¿Qué aporta el contexto próximo?",[289,1108,1109,1114,1117,1120],{},[308,1110,1111],{},[13,1112,1113],{},"D",[308,1115,1116],{},"Qwen3.5 27B",[308,1118,1119],{},"Glosario + el mismo tipo de contexto",[308,1121,1122],{},"¿Qué cambia al utilizar el modelo grande?",[10,1124,1125,1126,1129],{},"Total: ",[13,1127,1128],{},"24 textos × 4 condiciones = 96 traducciones",", todas completadas. Fijé temperatura 0, semilla 42, ventana de contexto 4.096 y máximo de salida de 1.500 tokens.",[10,1131,1132,1133,1136,1137,1140],{},"Hay que subrayar qué significaba «contexto» en este experimento: ",[13,1134,1135],{},"solo el fragmento original anterior",". No construí una memoria narrativa global de la novela ni una representación estable de personajes durante decenas de capítulos. Y la condición D era ",[13,1138,1139],{},"traducción directa"," con Qwen 27B, no la corrección de una traducción previa. Son distinciones fundamentales si alguien intenta reproducir o interpretar el ensayo.",[231,1142,1144],{"id":1143},"los-resultados-mecánicos","Los resultados mecánicos",[283,1146,1147,1165],{},[286,1148,1149],{},[289,1150,1151,1154,1156,1159,1162],{},[292,1152,1153],{},"Idioma",[292,1155,1049],{},[292,1157,1158],{"align":297},"Respuestas",[292,1160,1161],{"align":297},"Casos con avisos heurísticos",[292,1163,1164],{"align":297},"Mediana tok\u002Fs",[303,1166,1167,1183,1196,1209,1222,1236,1249,1263],{},[289,1168,1169,1172,1174,1177,1180],{},[308,1170,1171],{},"Japonés",[308,1173,1066],{},[308,1175,1176],{"align":297},"12\u002F12",[308,1178,1179],{"align":297},"5",[308,1181,1182],{"align":297},"110,76",[289,1184,1185,1187,1189,1191,1193],{},[308,1186,1171],{},[308,1188,1082],{},[308,1190,1176],{"align":297},[308,1192,919],{"align":297},[308,1194,1195],{"align":297},"110,09",[289,1197,1198,1200,1202,1204,1206],{},[308,1199,1171],{},[308,1201,1098],{},[308,1203,1176],{"align":297},[308,1205,919],{"align":297},[308,1207,1208],{"align":297},"110,48",[289,1210,1211,1213,1215,1217,1219],{},[308,1212,1171],{},[308,1214,1113],{},[308,1216,1176],{"align":297},[308,1218,919],{"align":297},[308,1220,1221],{"align":297},"2,93",[289,1223,1224,1227,1229,1231,1233],{},[308,1225,1226],{},"Inglés",[308,1228,1066],{},[308,1230,1176],{"align":297},[308,1232,460],{"align":297},[308,1234,1235],{"align":297},"91,07",[289,1237,1238,1240,1242,1244,1246],{},[308,1239,1226],{},[308,1241,1082],{},[308,1243,1176],{"align":297},[308,1245,460],{"align":297},[308,1247,1248],{"align":297},"90,99",[289,1250,1251,1253,1255,1257,1260],{},[308,1252,1226],{},[308,1254,1098],{},[308,1256,1176],{"align":297},[308,1258,1259],{"align":297},"4",[308,1261,1262],{"align":297},"91,72",[289,1264,1265,1267,1269,1271,1273],{},[308,1266,1226],{},[308,1268,1113],{},[308,1270,1176],{"align":297},[308,1272,460],{"align":297},[308,1274,1275],{"align":297},"3,11",[10,1277,1278],{},[1279,1280],"img",{"alt":1281,"height":1282,"src":1283,"width":1284},"Velocidades medianas del laboratorio v1.0",880,"\u002Fimages\u002Fposts\u002Ftraducir-novelas-con-una-rtx-3080\u002Fvelocidad-laboratorio.webp",1888,[10,1286,1287,1288,184,1291,1294],{},"Las condiciones A, B y C mantuvieron velocidades muy semejantes dentro de cada idioma. La D, ejecutada con Qwen 27B, fue aproximadamente ",[13,1289,1290],{},"38 veces más lenta que C en japonés",[13,1292,1293],{},"29 veces más lenta en inglés",". Estas relaciones describen el ritmo de generación observado en mi equipo, no una característica universal de los modelos en cualquier GPU.",[231,1296,1298],{"id":1297},"el-experimento-tenía-una-trampa-de-tiempo","El experimento tenía una trampa de tiempo",[10,1300,1301,1302,1305,1306,1309],{},"Al examinar los registros descubrí que se habían alternado las condiciones A→B→C→D para cada pasaje. Eso podía obligar a cargar de nuevo modelos muy distintos, especialmente al pasar del pequeño al 27B. Las peticiones A japonesas acumularon aproximadamente ",[13,1303,1304],{},"79,6 segundos de carga"," dentro de sus 101,5 segundos totales; las inglesas A, unos ",[13,1307,1308],{},"143,9 de 159,1 segundos",". La condición D acumuló alrededor de 242 segundos de carga por idioma.",[10,1311,1312,1313,229],{},"Por eso es incorrecto utilizar sin más los tiempos de pared por condición para predecir lo que tardaría traducir un libro entero. Una ejecución optimizada agruparía primero todas las peticiones destinadas a un mismo modelo, minimizando recargas, y mediría por separado ",[52,1314,1315],{},"carga, prefill, generación, validación y reconstrucción",[10,1317,1318,1319,229],{},"Este detalle metodológico es tan importante como las velocidades: ",[13,1320,1321],{},"un benchmark puede medir en parte el orden de ejecución del script, no solamente el rendimiento del modelo",[231,1323,1325],{"id":1324},"ganó-el-glosario","¿Ganó el glosario?",[10,1327,1328,1329,1331,1332,1335,1336,1338],{},"En algunos pasajes, claramente ayudó. El original japonés mencionaba ",[177,1330,743],{}," y un insecto (",[177,1333,1334],{},"きりぎりす","). Sin glosario, Hy-MT2 llegó a traducir el insecto como «cucaburra» y la avenida como otra calle. Con glosario apareció «grillo» y «avenida Suzaku». El topónimo ",[177,1337,441],{}," pasó a mantener la grafía preferida «Rashōmon» de manera consistente.",[10,1340,1341],{},"También pude contar coincidencias literales concretas:",[283,1343,1344,1359],{},[286,1345,1346],{},[289,1347,1348,1351,1353,1355,1357],{},[292,1349,1350],{},"Comprobación",[292,1352,1066],{"align":297},[292,1354,1082],{"align":297},[292,1356,1098],{"align":297},[292,1358,1113],{"align":297},[303,1360,1361,1379,1397,1416],{},[289,1362,1363,1369,1372,1375,1377],{},[308,1364,1365,1366,1368],{},"«Rashōmon» cuando aparece ",[177,1367,441],{}," (5 casos)",[308,1370,1371],{"align":297},"0\u002F5",[308,1373,1374],{"align":297},"5\u002F5",[308,1376,1374],{"align":297},[308,1378,1374],{"align":297},[289,1380,1381,1387,1390,1393,1395],{},[308,1382,1383,1384,1386],{},"«Suzaku» cuando aparece ",[177,1385,743],{}," (2 casos)",[308,1388,1389],{"align":297},"1\u002F2",[308,1391,1392],{"align":297},"2\u002F2",[308,1394,1392],{"align":297},[308,1396,1392],{"align":297},[289,1398,1399,1406,1409,1411,1414],{},[308,1400,1401,1402,1405],{},"«Kioto» cuando aparece ",[177,1403,1404],{},"京都"," (3 casos)",[308,1407,1408],{"align":297},"3\u002F3",[308,1410,1408],{"align":297},[308,1412,1413],{"align":297},"2\u002F3",[308,1415,1408],{"align":297},[289,1417,1418,1421,1424,1427,1429],{},[308,1419,1420],{},"Diálogos ingleses iniciados con raya (8 casos)",[308,1422,1423],{"align":297},"4\u002F8",[308,1425,1426],{"align":297},"5\u002F8",[308,1428,1426],{"align":297},[308,1430,1426],{"align":297},[10,1432,1433],{},"Son números ilustrativos de cumplimiento editorial; no constituyen una puntuación general de calidad. «Rashomon» sin macrón puede ser una grafía aceptable en otras políticas editoriales, aunque mi glosario exigiera «Rashōmon». Una verificación exacta de cadenas debe saber qué está comprobando.",[10,1435,1436,1437,1440],{},"Y encontré contraejemplos: con contexto, un texto llegó a producir «muchas cuervos» o a describir una prenda como «puerta corrediza»; en otro apareció «Kyoto» pese a estar fijado «Kioto». En inglés, el glosario podía resolver ",[52,1438,1439],{},"prima-donnas"," y, a la vez, dejar «la mobiliario».",[10,1442,1443,1446],{},[13,1444,1445],{},"Conclusión legítima:"," el glosario ayuda a imponer determinados términos conocidos; no he demostrado con una evaluación humana ciega que mejore siempre la fidelidad literaria global. El contexto próximo también puede introducir desviaciones.",[231,1448,1450],{"id":1449},"la-evaluación-que-faltó","La evaluación que faltó",[10,1452,1453,1454,1457],{},"El laboratorio generó un CSV para puntuar las 96 respuestas sin conocer su procedencia. Incluso preparé una selección reducida de 48 respuestas para hacer la tarea manejable. Pero ",[13,1455,1456],{},"las casillas de puntuación quedaron sin rellenar",". Las observaciones posteriores fueron auditorías cualitativas abiertas.",[10,1459,1460,1461,1464],{},"Por tanto, este artículo ",[13,1462,1463],{},"no publica una media ficticia de fidelidad",", ni intervalos de confianza inventados, ni un ganador estadístico. La diferencia entre «he visto cinco fallos graves en un modelo» y «ese modelo tiene una tasa de error de X %» es enorme: lo primero puede ser cierto sin que lo segundo se deduzca de los datos.",[57,1466,1468],{"id":1467},"_8-probar-modelos-especializados-translategemma-12b-y-aya-expanse-8b","8. Probar modelos especializados: TranslateGemma 12B y Aya Expanse 8B",[10,1470,1471,1472,229],{},"El siguiente cambio de hipótesis llegó al recordar que Gemini y DeepSeek, utilizados en la web, me habían ofrecido traducciones japonesas muy satisfactorias. Aunque no podía repetir entonces sus resultados, esa experiencia sugería que quizá estaba buscando solo en el lugar equivocado: aumentar parámetros no era necesariamente la única manera de mejorar la traducción. Tal vez habría que explorar ",[13,1473,1474],{},"entrenamiento específico y capacidades multilingües",[10,1476,1477,1478,1480,1481,1484],{},"TranslateGemma era un candidato especialmente interesante. Google lo presentó como una familia de modelos abiertos orientados a traducción en 55 idiomas, con versiones de 4B, 12B y 27B. En su comunicación técnica indica que TranslateGemma 12B supera a Gemma 3 27B en una evaluación concreta sobre WMT24++ con MetricX ",[391,1479,1259],{},". Esa afirmación se refiere a ",[13,1482,1483],{},"ese benchmark y esos modelos",", no a una garantía de superioridad al traducir literatura japonesa al español.",[10,1486,1487,1488,1491,1492,229],{},"Aya Expanse 8B, desarrollado por Cohere Labs, es un modelo multilingüe abierto que cubre, entre otros, japonés, español e inglés. Su ficha de modelo especifica una licencia ",[13,1489,1490],{},"CC-BY-NC"," y condiciones adicionales de uso, importantes si alguien quiere pasar de una investigación personal a un servicio comercial ",[391,1493,1179],{},[231,1495,1497],{"id":1496},"el-laboratorio-v11","El laboratorio v1.1",[10,1499,1500],{},"En lugar de descargar muchos candidatos, amplié la prueba con dos condiciones:",[432,1502,1503,1509],{},[143,1504,1505,1508],{},[13,1506,1507],{},"T:"," TranslateGemma 12B, con el formato de instrucción de traducción recomendado en su integración de Ollama, sin glosario ni contexto añadido.",[143,1510,1511,1514],{},[13,1512,1513],{},"Y:"," Aya Expanse 8B, con el mismo prompt general que la condición A, sin glosario ni contexto.",[10,1516,1517,1518,1521,1522,1525,1526,1529,1530,1533],{},"TranslateGemma tradujo ",[13,1519,1520],{},"24 pasajes"," (12 japoneses y 12 ingleses). Aya tradujo ",[13,1523,1524],{},"12"," (seis por idioma), seleccionados porque habían resultado difíciles previamente. En total, ",[13,1527,1528],{},"36 traducciones nuevas",", todas completadas. El comparador reutilizó ",[13,1531,1532],{},"72 registros históricos A\u002FC\u002FD","; la condición B se conservó en el laboratorio v1.0, pero no estaba en aquella exportación específica.",[10,1535,1536],{},"Las medianas fueron las siguientes:",[283,1538,1539,1552],{},[286,1540,1541],{},[289,1542,1543,1546,1549],{},[292,1544,1545],{},"Modelo \u002F configuración",[292,1547,1548],{"align":297},"JA→ES",[292,1550,1551],{"align":297},"EN→ES",[303,1553,1554,1565,1576,1587],{},[289,1555,1556,1559,1562],{},[308,1557,1558],{},"Modelo pequeño de referencia (A)",[308,1560,1561],{"align":297},"110,76 tok\u002Fs",[308,1563,1564],{"align":297},"91,07 tok\u002Fs",[289,1566,1567,1570,1573],{},[308,1568,1569],{},"TranslateGemma 12B (T)",[308,1571,1572],{"align":297},"33,16 tok\u002Fs",[308,1574,1575],{"align":297},"33,58 tok\u002Fs",[289,1577,1578,1581,1584],{},[308,1579,1580],{},"Aya Expanse 8B (Y)",[308,1582,1583],{"align":297},"101,59 tok\u002Fs",[308,1585,1586],{"align":297},"102,97 tok\u002Fs",[289,1588,1589,1592,1595],{},[308,1590,1591],{},"Qwen 27B con ayudas (D)",[308,1593,1594],{"align":297},"2,93 tok\u002Fs",[308,1596,1597],{"align":297},"3,11 tok\u002Fs",[10,1599,1600],{},[1279,1601],{"alt":1602,"height":1603,"src":1604,"width":1605},"Modelos especializados frente a las referencias",883,"\u002Fimages\u002Fposts\u002Ftraducir-novelas-con-una-rtx-3080\u002Fvelocidad-especializados.webp",1931,[10,1607,1608,1609,1612,1613,1616],{},"Aya fue rápido. TranslateGemma ofreció una velocidad intermedia: aproximadamente ",[13,1610,1611],{},"3,34 veces inferior a Hy-MT2"," en japonés y ",[13,1614,1615],{},"2,71 veces inferior a Qwen 9B"," en inglés. El 27B permaneció muy por detrás en velocidad.",[10,1618,1619],{},"Pero la calidad volvió a contradecir las expectativas más sencillas.",[231,1621,1623],{"id":1622},"translategemma-fluidez-sin-fidelidad-garantizada","TranslateGemma: fluidez sin fidelidad garantizada",[10,1625,1626],{},"En japonés encontré errores especialmente reveladores:",[432,1628,1629,1643,1652,1665],{},[143,1630,1631,1632,207,1635,1638,1639,1642],{},"En ",[177,1633,1634],{},"ja-03",[177,1636,1637],{},"この二三年",", referido a «estos dos o tres años», se convirtió en ",[13,1640,1641],{},"«los últimos veinte o treinta años»",". Es un error de magnitud que puede pasar inadvertido al lector si la frase suena natural.",[143,1644,1631,1645,1648,1649,229],{},[177,1646,1647],{},"ja-02",", un insecto pasó a ser ",[13,1650,1651],{},"«un pequeño pájaro»",[143,1653,1631,1654,1657,1658,1661,1662,229],{},[177,1655,1656],{},"ja-04",", los cuervos (",[177,1659,1660],{},"鴉",") se convirtieron repetidamente en ",[13,1663,1664],{},"«urracas»",[143,1666,1631,1667,1670,1671,229],{},[177,1668,1669],{},"ja-08",", otro insecto apareció traducido como ",[13,1672,1673],{},"«golondrinas»",[10,1675,1676,1677,1680,1681,1683,1684,1687,1688,229],{},"En inglés también hubo errores: ",[52,1678,1679],{},"grandaunt"," se convirtió en «tatarabuela» en lugar de «tía abuela»; ",[52,1682,990],{}," pasó a «Sra. Virginia E. Otis»; y una referencia a ",[13,1685,1686],{},"un cuerpo y medio"," de ventaja se transformó en ",[13,1689,1690],{},"media longitud",[10,1692,1693,1694,1697],{},"Es significativo que la condición T acumulase ",[13,1695,1696],{},"cero alertas heurísticas en sus doce fragmentos japoneses",", pese a varias de esas equivocaciones. El detector no sabía que estaba mirando un pájaro donde el original nombraba un insecto.",[10,1699,1700],{},"TranslateGemma sí produjo pasajes fluidos y conservó nombres como «Rashōmon» y «avenida Suzaku» en determinados casos. Pero el resultado global de la muestra no justificaba convertirlo en el motor principal.",[231,1702,1704],{"id":1703},"aya-rápido-y-multilingüe-pero-con-errores-de-referencia","Aya: rápido y multilingüe, pero con errores de referencia",[10,1706,1707,1708,1710],{},"Aya tampoco consiguió una ventaja consistente. Traducía ",[177,1709,441],{}," con variantes como «Rokumon»; confundía la avenida Suzaku con otra calle; transformaba un insecto en un búho y cometía errores numéricos, como interpretar una proporción de seis partes de miedo y cuatro de curiosidad en términos distintos.",[10,1712,1713],{},"En inglés tuvo aciertos: resolvió «primadonas» y «mobiliario» donde otros modelos habían tropezado. Pero también confundió tratamientos sociales y generó expresiones literariamente torpes.",[10,1715,1716,1717,1720],{},"El diseño obliga a prudencia: los seis casos de Aya por idioma eran difíciles ",[13,1718,1719],{},"a propósito",", no una muestra aleatoria. No sería justo publicar su número de errores como una tasa comparable con los doce casos de TranslateGemma. Tampoco hay un aislamiento causal perfecto, porque TranslateGemma utiliza una plantilla de prompt diferente.",[10,1722,1723,1726,1727,1730,1731,1734],{},[13,1724,1725],{},"Conclusión:"," en estos textos, ni la especialización ni un número mayor de parámetros predijeron por sí solos la calidad narrativa. Para conocerla hay que inspeccionar ",[52,1728,1729],{},"qué"," se ha traducido, no solo ",[52,1732,1733],{},"cuánto"," tarda.",[57,1736,1738],{"id":1737},"_9-el-catálogo-de-errores-lo-que-una-traducción-fluida-puede-ocultar","9. El catálogo de errores: lo que una traducción fluida puede ocultar",[10,1740,1741],{},"Una de las utilidades de mi colección de textos es que permite organizar los fallos por su efecto sobre el relato. No todos tienen la misma gravedad.",[231,1743,1745],{"id":1744},"_91-errores-de-entidad","9.1. Errores de entidad",[10,1747,1748,1749,1751,1752,1755],{},"El ejemplo clásico fue ",[52,1750,751],{},". En el relato, es el nombre de la propiedad. En unas respuestas aparecía correctamente; en otras se convertía en ",[13,1753,1754],{},"«la caza de Canterville»",". El error no consiste en elegir una palabra poco bonita: el modelo cambia una entidad del mundo narrativo por una actividad.",[10,1757,1758,1759,1761,1762,1764],{},"El equivalente japonés incluía la puerta ",[177,1760,441],{}," y la avenida ",[177,1763,743],{},". Algunas salidas inventaban nombres alternativos; otras los traducían de manera diferente en párrafos consecutivos. En una novela larga, ese comportamiento puede hacer que el lector crea estar visitando varios lugares cuando solo hay uno.",[231,1766,1768],{"id":1767},"_92-errores-de-sujeto-género-y-referente","9.2. Errores de sujeto, género y referente",[10,1770,1771,1772,1774,1775,1777],{},"Hy-MT2 llegó a convertir al protagonista masculino de ",[52,1773,424],{}," en «la sirvienta» o «los sirvientes». En ",[52,1776,469],{},", aparecieron «las gemelas» donde el original se refiere a los gemelos varones. Otros errores intercambiaban qué personaje realizaba una acción, incluso cuando todos los nombres estaban bien escritos.",[10,1779,1780],{},"En japonés, los sujetos omitidos exigen atención especial: una oración puede no repetir el protagonista, y el traductor debe reconstruir el referente a partir del contexto. Añadir contexto puede ayudar, pero también puede contaminar la respuesta si el modelo lo interpreta como parte del texto a traducir.",[231,1782,1784],{"id":1783},"_93-errores-de-objetos-y-acciones","9.3. Errores de objetos y acciones",[10,1786,1631,1787,1789,1790,442,1793,1796,1797,1800,1801,1804,1805,229],{},[52,1788,424],{},", una prenda tradicional terminó traducida como «puerta corrediza». Más adelante, la anciana que arranca el cabello de los muertos quería fabricar una ",[13,1791,1792],{},"peluca",[177,1794,1795],{},"鬘","), pero una salida decía ",[13,1798,1799],{},"«kanzashi»",", un adorno distinto. Y ",[177,1802,1803],{},"太刀の鞘を払って"," apareció como «sacó la vaina de su espada» cuando la acción es ",[13,1806,1807],{},"desenvainarla",[10,1809,1631,1810,207,1812,1815,1816,1819,1820,1823],{},[52,1811,469],{},[52,1813,1814],{},"a rusty dagger"," se convirtió inicialmente en «un dardo oxidado», un objeto distinto. ",[52,1817,1818],{},"Barking both his knees",", que aquí indica que el fantasma se hizo daño raspándose o despellejándose las rodillas, llegó a convertirse en ",[13,1821,1822],{},"«rompiéndose gravemente ambas rodillas»",". La escena cambia de tono si una caída cómica se convierte en una fractura.",[231,1825,1827],{"id":1826},"_94-errores-de-lógica-cantidad-y-tiempo-verbal","9.4. Errores de lógica, cantidad y tiempo verbal",[10,1829,1830],{},"Cambiar «dos o tres» por «veinte o treinta», «un cuerpo y medio» por «medio» o una consecuencia hipotética por una acción ya realizada son errores muy peligrosos. Pueden no llamar la atención durante una lectura rápida, pero modifican la información del relato.",[10,1832,1833,1834,1837],{},"En el piloto final, el plan del fantasma de Wilde se narró en un punto como si ya hubiera ocurrido. Se había perdido el valor prospectivo de expresiones como ",[52,1835,1836],{},"he was then to proceed",". Un corrector ortográfico no detectará semejante desviación.",[231,1839,1841],{"id":1840},"_95-pérdida-de-humor-e-ironía","9.5. Pérdida de humor e ironía",[10,1843,1844,1845,1848,1849,1852],{},"Uno de los ejemplos más ilustrativos de Oscar Wilde aparece cuando describe la extraordinaria puntería de los gemelos, conseguida mediante práctica con un ",[52,1846,1847],{},"writing-master",". La traducción local decía ",[13,1850,1851],{},"«bajo la dirección de un maestro de escritura»",". Suena plausible, pero invierte el chiste: el maestro de caligrafía no está enseñando a disparar; es el blanco de la práctica. La sátira desaparece y la frase se vuelve inocente.",[10,1854,1855],{},"Esta categoría es especialmente importante para la literatura: una traducción puede preservar los nombres y las acciones principales y, sin embargo, perder la voz del autor.",[231,1857,1859],{"id":1858},"_96-errores-editoriales-y-de-gramática","9.6. Errores editoriales y de gramática",[10,1861,1862],{},"Los más visibles fueron los diálogos entre comillas en lugar de rayas, signos de interrogación incompletos, «la mobiliario», «muchas cuervos», «una carruaje» y discordancias entre tiempos verbales. A diferencia de los errores anteriores, muchos son detectables con reglas relativamente sencillas o una revisión gramatical.",[10,1864,1865],{},"Pero no conviene confundir facilidad de detección con importancia. Una traducción con la puntuación impecable puede ser semánticamente peor que otra con un par de errores de coma.",[231,1867,1869],{"id":1868},"una-clasificación-útil-para-futuras-pruebas","Una clasificación útil para futuras pruebas",[283,1871,1872,1885],{},[286,1873,1874],{},[289,1875,1876,1879,1882],{},[292,1877,1878],{},"Nivel",[292,1880,1881],{},"Ejemplos",[292,1883,1884],{},"Cómo detectarlo",[303,1886,1887,1900,1913,1926,1939,1952],{},[289,1888,1889,1894,1897],{},[308,1890,1891],{},[13,1892,1893],{},"Estructural",[308,1895,1896],{},"Etiqueta XHTML rota, párrafo perdido, texto duplicado",[308,1898,1899],{},"Comparación determinista, hashes, parser XML, n-gramas",[289,1901,1902,1907,1910],{},[308,1903,1904],{},[13,1905,1906],{},"Editorial",[308,1908,1909],{},"Diálogos sin raya, nombres escritos de varias maneras",[308,1911,1912],{},"Glosario, expresiones regulares, verificaciones de estilo",[289,1914,1915,1920,1923],{},[308,1916,1917],{},[13,1918,1919],{},"Gramatical",[308,1921,1922],{},"«La mobiliario», concordancia errónea",[308,1924,1925],{},"Reglas o revisión de lenguaje",[289,1927,1928,1933,1936],{},[308,1929,1930],{},[13,1931,1932],{},"Semántico local",[308,1934,1935],{},"Daga→dardo, peluca→kanzashi, cuervo→urraca",[308,1937,1938],{},"Comparación bilingüe y conocimiento léxico",[289,1940,1941,1946,1949],{},[308,1942,1943],{},[13,1944,1945],{},"Semántico contextual",[308,1947,1948],{},"Cambio de sujeto, tiempo verbal o parentesco",[308,1950,1951],{},"Lectura del pasaje y su contexto",[289,1953,1954,1959,1962],{},[308,1955,1956],{},[13,1957,1958],{},"Literario",[308,1960,1961],{},"Pérdida de ironía, ritmo o voz narrativa",[308,1963,1964],{},"Lectura crítica, preferiblemente por personas competentes en ambas lenguas",[10,1966,1967],{},[13,1968,1969],{},"Cuanto más abajo se llega en la tabla, menos suficiente resulta un validador puramente mecánico.",[57,1971,1973],{"id":1972},"_10-del-laboratorio-al-lector-un-piloto-de-narración-continua","10. Del laboratorio al lector: un piloto de narración continua",[10,1975,1976,1977,229],{},"Después de comparar fragmentos, faltaba la prueba que motivaba todo el proyecto: ",[13,1978,1979],{},"abrir un EPUB y leer una narración seguida",[10,1981,1982],{},"El piloto tomó dos extractos:",[432,1984,1985,1998],{},[143,1986,1987,1990,1991,1993,1994,1997],{},[13,1988,1989],{},"Japonés:"," quince unidades consecutivas del tramo final de ",[52,1992,424],{},", traducidas con Hy-MT2 7B. El EPUB de lectura contenía ",[13,1995,1996],{},"1.059 palabras españolas",", según el recuento por espacios realizado en la primera auditoría.",[143,1999,2000,2003,2004,2006,2007,2010],{},[13,2001,2002],{},"Inglés:"," seis unidades de ",[52,2005,427],{},", con Qwen3.5 9B, aproximadamente ",[13,2008,2009],{},"1.423 palabras españolas"," en la primera versión auditada.",[10,2012,2013,2014,2017],{},"Las dos pruebas reutilizaron glosarios y contexto del fragmento anterior. ",[13,2015,2016],{},"No fueron pruebas a ciegas sobre textos enteramente inéditos",": el tramo japonés se solapaba parcialmente con material observado en un piloto previo, y los glosarios ya se habían ajustado utilizando estas obras. Sí eran útiles para evaluar continuidad y empaquetado.",[10,2019,2020,2021,184,2024,2027],{},"El programa generó archivos ",[177,2022,2023],{},"LECTURA_ja.epub",[177,2025,2026],{},"LECTURA_en.epub",", junto a versiones HTML con un control para desplegar el original de cada párrafo. El objetivo del HTML no era embellecer los resultados: era permitir verificar de inmediato si el texto español respetaba el original y localizar errores por bloque.",[231,2029,2031],{"id":2030},"lo-que-realmente-se-comprobó-en-los-epub","Lo que realmente se comprobó en los EPUB",[10,2033,2034],{},"Los dos EPUB iniciales eran pequeños extractos autónomos, de unos pocos kilobytes, no las ediciones originales completas reconstruidas con todas sus ilustraciones y archivos auxiliares. Se verificó:",[432,2036,2037,2040,2047,2050,2053,2056],{},[143,2038,2039],{},"Integridad básica del ZIP y ausencia de errores CRC.",[143,2041,2042,2043,2046],{},"Entrada ",[177,2044,2045],{},"mimetype"," en la primera posición y sin compresión.",[143,2048,2049],{},"Presencia de un paquete OPF y metadatos en español.",[143,2051,2052],{},"Documento de navegación e índice.",[143,2054,2055],{},"XHTML bien formado en los archivos inspeccionados.",[143,2057,2058],{},"Quince párrafos japoneses y seis ingleses, coincidentes con sus versiones HTML.",[10,2060,2061,2062,2065,2066,229],{},"Eso bastaba para afirmar que el sistema ",[13,2063,2064],{},"producía extractos EPUB estructuralmente coherentes dentro de las comprobaciones implementadas",". No bastaba para certificar cumplimiento completo del estándar EPUB, ni compatibilidad con todos los lectores. No ejecuté EPUBCheck ni una prueba manual documentada en un dispositivo físico, y tampoco comprobé aquí un libro íntegro con todos sus recursos originales ",[391,2067,2068],{},"6",[10,2070,2071],{},"La distinción es deliberada. En software es tentador poner «EPUB válido» después de que un parser XML no haya arrojado excepciones. Para un experimento reproducible, es mejor especificar exactamente qué se ha validado.",[231,2073,2075],{"id":2074},"la-primera-impresión-se-podía-leer-pero-no-confiar-del-todo","La primera impresión: se podía leer, pero no confiar del todo",[10,2077,2078],{},"El tramo japonés mantenía suficiente continuidad narrativa como para seguir el enfrentamiento entre el sirviente y la anciana. Sin embargo, algunos objetos y acciones se habían interpretado mal. El inglés era más problemático: además de discordancias, había frases forzadas y un fallo sorprendente que no pertenecía al dominio de la traducción literaria.",[10,2080,2081,2082,229],{},"En el tercer párrafo inglés, el fantasma ",[13,2083,2084],{},"aparecía dos veces",[10,2086,2087],{},"No era una decisión fantástica de Oscar Wilde ni una interpolación creativa que quisiera conservar. El programa había producido una traducción con un tramo narrativo repetido: el espectro cruzaba ante la familia, apagaba una vela, subía la escalera y ejecutaba su famosa risa demoníaca; después parte de esa secuencia reaparecía con otras palabras.",[10,2089,2090,2093],{},[13,2091,2092],{},"El original contaba esa escena una sola vez."," El error estaba tanto en el HTML como en el EPUB. Eso resultó decisivo para abandonar las suposiciones y examinar los registros de cada subfragmento.",[57,2095,2097],{"id":2096},"_11-el-fantasma-duplicado-cómo-una-mala-estrategia-de-contexto-rompió-un-párrafo","11. El fantasma duplicado: cómo una mala estrategia de contexto rompió un párrafo",[10,2099,2100],{},"El problema residía en la interacción entre tres operaciones que, tomadas por separado, parecían razonables:",[140,2102,2103,2106,2109],{},[143,2104,2105],{},"Dividir párrafos extensos para no pedir traducciones demasiado largas.",[143,2107,2108],{},"Dar al modelo contexto anterior para mejorar la continuidad.",[143,2110,2111],{},"Unir las traducciones resultantes de las partes.",[10,2113,2114,2115,2118],{},"Cuando la segunda parte de un mismo párrafo recibía como «contexto» texto original perteneciente a la primera, Qwen podía tratarlo como algo que debía volver a narrar. El texto fuente no estaba físicamente solapado, pero ",[13,2116,2117],{},"la información entregada al modelo sí podía inducir una repetición semántica",". Los registros y la reparación posterior apoyan esa explicación; no constituyen, por sí solos, una demostración absoluta de la mecánica interna del modelo.",[10,2120,2121],{},"El anti-patrón se puede describir de manera conceptual:",[242,2123,2125],{"className":385,"code":2124,"language":387,"meta":248,"style":248},"# Esquema de lo que NO conviene hacer entre subpartes contiguas:\nfor parte in dividir_parrafo(parrafo):\n    traduccion = traducir(\n        texto=parte,\n        contexto=trozo_original_que_ya_se_tradujo,\n    )\n    agregar_a_salida(traduccion)\n",[177,2126,2127,2132,2138,2144,2150,2156,2162],{"__ignoreMap":248},[391,2128,2129],{"class":393,"line":394},[391,2130,2131],{},"# Esquema de lo que NO conviene hacer entre subpartes contiguas:\n",[391,2133,2135],{"class":393,"line":2134},2,[391,2136,2137],{},"for parte in dividir_parrafo(parrafo):\n",[391,2139,2141],{"class":393,"line":2140},3,[391,2142,2143],{},"    traduccion = traducir(\n",[391,2145,2147],{"class":393,"line":2146},4,[391,2148,2149],{},"        texto=parte,\n",[391,2151,2153],{"class":393,"line":2152},5,[391,2154,2155],{},"        contexto=trozo_original_que_ya_se_tradujo,\n",[391,2157,2159],{"class":393,"line":2158},6,[391,2160,2161],{},"    )\n",[391,2163,2165],{"class":393,"line":2164},7,[391,2166,2167],{},"    agregar_a_salida(traduccion)\n",[10,2169,2170,2171,2174],{},"La corrección de la v1.1 fue separar cuidadosamente el ",[13,2172,2173],{},"contexto editorial externo"," del texto que debía traducirse. En la transición entre subpartes del mismo párrafo dejé de pasar como contexto el original que acababa de procesarse. Además, reforcé el control de repeticiones largas antes de exportar.",[10,2176,2177,2178,2181,2182,2185],{},"La v1.1 permitió reutilizar las respuestas que no habían cambiado y regenerar solo las afectadas. En el bloque ",[177,2179,2180],{},"en-35",", la segunda parte pasó de aproximadamente ",[13,2183,2184],{},"795 caracteres traducidos a 230",", y desapareció la repetición extensa detectada. La auditoría, que inicialmente había registrado dos incidencias relacionadas, terminó sin incidencias señaladas.",[10,2187,2188],{},"Hay dos aprendizajes de diseño aquí:",[10,2190,2191,2194],{},[13,2192,2193],{},"Primero, contexto no significa contenido que deba traducirse."," Si una solicitud contiene ambos, su separación debe ser inequívoca, y el modelo aún puede confundirse. El contexto también puede ser una fuente de contaminación.",[10,2196,2197,2200],{},[13,2198,2199],{},"Segundo, el texto debe tener trazabilidad."," Cada parte necesita identificadores, origen exacto y una huella que permita comprobar qué se tradujo, con qué prompt y qué versión del programa. Sin esos registros, habría visto una repetición en el EPUB sin saber si provenía del fichero original, del modelo o del ensamblador.",[231,2202,2204],{"id":2203},"por-qué-una-caché-bien-diseñada-ahorra-tanto-tiempo","Por qué una caché bien diseñada ahorra tanto tiempo",[10,2206,2207],{},"Las versiones de mi código almacenaban las respuestas y su procedencia. Una estrategia razonable consiste en identificar la petición mediante una combinación del original y los parámetros que influyen en el resultado:",[242,2209,2212],{"className":2210,"code":2211,"language":247,"meta":248},[245],"id_bloque\n+ hash(texto_fuente)\n+ identificador_modelo\n+ idioma\n+ versión_de_prompt\n+ hash(glosario_relevante)\n+ contexto_utilizado\n+ parámetros_de_inferencia\n→ clave_de_caché\n",[177,2213,2211],{"__ignoreMap":248},[10,2215,2216],{},"Si cambia un glosario o la segmentación, la caché correspondiente debe invalidarse. Si no cambia nada, repetir la inferencia solo aumenta el tiempo y puede introducir pequeñas diferencias en el resultado, incluso cuando se ha fijado una semilla.",[10,2218,2219],{},"Esta parte de la ingeniería aporta mucho valor a una aplicación real: un proceso que falla después de varias horas no debería obligar a comenzar la novela desde cero.",[57,2221,2223],{"id":2222},"_12-un-segundo-fallo-la-señora-otis-había-quedado-dividida-en-dos","12. Un segundo fallo: la señora Otis había quedado dividida en dos",[10,2225,2226],{},"Cuando creía haber cerrado la repetición, apareció otro problema de segmentación todavía más elemental.",[10,2228,2229,2230,2232],{},"En un párrafo largo de ",[52,2231,427],{},", el divisor confundía una abreviatura inglesa con el final de una oración. Cortó el texto en este punto:",[242,2234,2237],{"className":2235,"code":2236,"language":247,"meta":248},[245],"Parte 1: ... place a clammy hand on Mrs.\nParte 2: Otis's forehead, while he hissed ...\n",[177,2238,2236],{"__ignoreMap":248},[10,2240,2241],{},"La consecuencia fue una frase española rota en torno a «la frente de la señora Otis». La traducción inicial había perdido el referente sintáctico correcto.",[10,2243,2244],{},"La reparación v1.2 incorporó una segmentación más cuidadosa con abreviaturas y finales de oración. Después del cambio, el corte se situaba antes de una oración completa:",[242,2246,2249],{"className":2247,"code":2248,"language":247,"meta":248},[245],"Parte 1 termina: ... Pinkerton's Paragon Detergent.\nParte 2 empieza: Having reduced the reckless and foolhardy youth ...\n",[177,2250,2248],{"__ignoreMap":248},[10,2252,2253,2254,2257,2258,229],{},"Así, ",[177,2255,2256],{},"Mrs. Otis's forehead"," permanecía íntegro en la segunda parte. La traducción reparada ya expresaba la idea de colocar una mano húmeda y fría sobre ",[13,2259,2260],{},"la frente de la señora Otis",[10,2262,2263,2264,2270],{},"La nueva auditoría comprobó que los 15 bloques japoneses y los seis ingleses seguían completos, que no había solapamientos de partes fuente y que el detector no señalaba repeticiones extensas. Los registros confirmaron que solo se habían modificado ",[13,2265,2266,2267],{},"las dos partes de ",[177,2268,2269],{},"en-39",", mientras el resto de las respuestas permanecían reutilizables.",[10,2272,2273],{},[1279,2274],{"alt":2275,"height":2276,"src":2277,"width":2278},"Secuencia de reparación de los problemas de integridad",720,"\u002Fimages\u002Fposts\u002Ftraducir-novelas-con-una-rtx-3080\u002Fevolucion-integridad.webp",1440,[10,2280,2281,2282,229],{},"No es una historia espectacular, pero sí extremadamente útil para quien desarrolle herramientas parecidas: ",[13,2283,2284],{},"las abreviaturas, las comillas, los puntos suspensivos y los límites de oración merecen tanto cuidado como el prompt de traducción",[10,2286,2287],{},"Y tampoco debo exagerar la reparación. El sistema siguió empleando heurísticas para segmentar, y una frase excepcionalmente larga puede obligar a cortes menos satisfactorios. Haber corregido dos fallos identificados no equivale a demostrar que no puede ocurrir ninguno nuevo.",[57,2289,2291],{"id":2290},"_13-cuando-el-programa-ya-no-repite-nada-aparece-el-verdadero-problema-literario","13. Cuando el programa ya no repite nada, aparece el verdadero problema literario",[10,2293,2294,2295,2298,2299,2302],{},"Con la integridad técnica estabilizada para esos pasajes, hice una auditoría abierta de los textos reparados. Identifiqué ",[13,2296,2297],{},"22 observaciones en 14 bloques",", agrupadas en ",[13,2300,2301],{},"11 graves, cinco moderadas y seis menores",". Son casos detectados durante una inspección cualitativa; no constituyen una tasa estadística de error por palabra ni una evaluación japonesa profesional certificada.",[10,2304,2305],{},"Seis ejemplos resumen mejor que cualquier cifra el estado del proyecto:",[283,2307,2308,2321],{},[286,2309,2310],{},[289,2311,2312,2315,2318],{},[292,2313,2314],{},"Texto original o situación",[292,2316,2317],{},"Traducción problemática",[292,2319,2320],{},"Por qué importa",[303,2322,2323,2334,2345,2356,2367,2378],{},[289,2324,2325,2328,2331],{},[308,2326,2327],{},"Japonés, desenvainar una espada",[308,2329,2330],{},"«Sacó la vaina de su espada»",[308,2332,2333],{},"Altera una acción física.",[289,2335,2336,2339,2342],{},[308,2337,2338],{},"Japonés, fabricar una peluca con cabello robado",[308,2340,2341],{},"«Convertirlo en un kanzashi»",[308,2343,2344],{},"Cambia el objeto y la motivación material.",[289,2346,2347,2350,2353],{},[308,2348,2349],{},"Japonés, apartar la mano de la propia espinilla",[308,2351,2352],{},"«Del rostro de la anciana»",[308,2354,2355],{},"Confunde el referente y la posición de los personajes.",[289,2357,2358,2361,2364],{},[308,2359,2360],{},"Inglés, puntería practicada usando al profesor como blanco",[308,2362,2363],{},"«Bajo la dirección de un maestro de escritura»",[308,2365,2366],{},"Elimina la ironía de Oscar Wilde.",[289,2368,2369,2372,2375],{},[308,2370,2371],{},"Inglés, rasparse las rodillas al caer",[308,2373,2374],{},"«Rompiéndose gravemente ambas rodillas»",[308,2376,2377],{},"Agrava una lesión y cambia el tono cómico.",[289,2379,2380,2383,2386],{},[308,2381,2382],{},"Inglés, el personaje Washington Otis",[308,2384,2385],{},"«El señor Otis Washington»",[308,2387,2388],{},"Invierte el nombre y desorienta la continuidad.",[10,2390,2391],{},"También aparecieron expresiones como «bastante conmovida» cuando el sentido era más cercano a «angustiada»; «gobernantes francesas» en vez de «institutrices francesas»; y cambios de tiempo verbal en planes que el fantasma todavía no había ejecutado.",[10,2393,2394,2395,2398,2399,2402],{},"Es importante precisar qué mejoró ",[13,2396,2397],{},"realmente"," entre v1.0 y v1.2. El parche corrigió la repetición, mantuvo unidas las oraciones y, en determinado pasaje, la nueva traducción recuperó «puñal oxidado» donde antes había «dardo oxidado». Pero ",[13,2400,2401],{},"no hizo que Hy-MT2 comprendiera por sí mismo la palabra japonesa para «peluca»",", ni resolvió sistemáticamente la ironía de Wilde, ni eliminó todas las discordancias. La mejora de segmentación y la mejora lingüística son dimensiones diferentes.",[231,2404,2406],{"id":2405},"una-escena-técnicamente-correcta-puede-seguir-siendo-una-mala-traducción","Una escena técnicamente correcta puede seguir siendo una mala traducción",[10,2408,2409],{},"Imaginemos que todos los archivos del EPUB pasan una validación estructural y que el texto ya no contiene repeticiones ni omisiones detectables. La anciana, sin embargo, fabrica un adorno en lugar de una peluca; el sirviente aparta la mano de la cara de otra persona; y el fantasma se rompe las rodillas donde solo se las raspa. Todo esto puede ocurrir sin que falle una sola etiqueta XHTML.",[10,2411,2412,2413],{},"El software ha ejecutado correctamente su tarea de ensamblaje. ",[13,2414,2415],{},"La traducción sigue siendo incorrecta.",[10,2417,2418],{},"Este es, para mí, el resultado más importante de la investigación. Había convertido la producción de EPUB en un proceso cada vez más fiable. Pero la fiabilidad de la maquinaria no garantiza la verdad de lo que esa maquinaria escribe.",[57,2420,2422],{"id":2421},"_14-el-espejismo-de-las-alertas-automáticas","14. El espejismo de las alertas automáticas",[10,2424,2425],{},"En varias fases vi un patrón recurrente: una traducción con cero alertas podía contener errores graves.",[10,2427,2428],{},"¿Por qué? Porque los validadores mecánicos suelen comprobar propiedades que pueden expresarse como reglas: si un nombre aparece con la grafía prevista, si un fragmento japonés residual se conserva, si hay signos sin cerrar, si el número de párrafos coincide o si una respuesta es demasiado corta respecto del original.",[10,2430,2431,2432,2434],{},"Todo eso es importante. Pero un sistema de reglas no sabe necesariamente si ",[177,2433,1660],{}," significa «cuervo» o «urraca», si «un sexto» equivale a «seis partes» ni si una frase irónica de Wilde ha perdido su ironía. Tampoco puede decidir automáticamente qué grado de libertad estilística es aceptable en una metáfora.",[10,2436,2437],{},"De aquí nace una regla que aplicaría a cualquier herramienta similar:",[43,2439,2440],{},[10,2441,2442],{},[13,2443,2444],{},"Un validador debe declarar lo que ha comprobado, no emitir una aprobación literaria general.",[10,2446,2447,2448,2451],{},"En lugar de un único campo ",[177,2449,2450],{},"ok: true",", un informe útil separaría:",[242,2453,2457],{"className":2454,"code":2455,"language":2456,"meta":248,"style":248},"language-json shiki shiki-themes github-light github-dark","{\n  \"traduccion_recibida\": true,\n  \"integridad_fuente\": \"comprobada\",\n  \"estructura_epub\": \"comprobacion_basica_superada\",\n  \"glosario\": \"sin_conflictos_detectados\",\n  \"formato_editorial\": \"con_avisos\",\n  \"fidelidad_semantica\": \"no_verificada\",\n  \"revision_humana\": \"pendiente\"\n}\n","json",[177,2458,2459,2465,2480,2493,2505,2517,2529,2541,2552],{"__ignoreMap":248},[391,2460,2461],{"class":393,"line":394},[391,2462,2464],{"class":2463},"sVt8B","{\n",[391,2466,2467,2471,2474,2477],{"class":393,"line":2134},[391,2468,2470],{"class":2469},"sj4cs","  \"traduccion_recibida\"",[391,2472,2473],{"class":2463},": ",[391,2475,2476],{"class":2469},"true",[391,2478,2479],{"class":2463},",\n",[391,2481,2482,2485,2487,2491],{"class":393,"line":2140},[391,2483,2484],{"class":2469},"  \"integridad_fuente\"",[391,2486,2473],{"class":2463},[391,2488,2490],{"class":2489},"sZZnC","\"comprobada\"",[391,2492,2479],{"class":2463},[391,2494,2495,2498,2500,2503],{"class":393,"line":2146},[391,2496,2497],{"class":2469},"  \"estructura_epub\"",[391,2499,2473],{"class":2463},[391,2501,2502],{"class":2489},"\"comprobacion_basica_superada\"",[391,2504,2479],{"class":2463},[391,2506,2507,2510,2512,2515],{"class":393,"line":2152},[391,2508,2509],{"class":2469},"  \"glosario\"",[391,2511,2473],{"class":2463},[391,2513,2514],{"class":2489},"\"sin_conflictos_detectados\"",[391,2516,2479],{"class":2463},[391,2518,2519,2522,2524,2527],{"class":393,"line":2158},[391,2520,2521],{"class":2469},"  \"formato_editorial\"",[391,2523,2473],{"class":2463},[391,2525,2526],{"class":2489},"\"con_avisos\"",[391,2528,2479],{"class":2463},[391,2530,2531,2534,2536,2539],{"class":393,"line":2164},[391,2532,2533],{"class":2469},"  \"fidelidad_semantica\"",[391,2535,2473],{"class":2463},[391,2537,2538],{"class":2489},"\"no_verificada\"",[391,2540,2479],{"class":2463},[391,2542,2544,2547,2549],{"class":393,"line":2543},8,[391,2545,2546],{"class":2469},"  \"revision_humana\"",[391,2548,2473],{"class":2463},[391,2550,2551],{"class":2489},"\"pendiente\"\n",[391,2553,2555],{"class":393,"line":2554},9,[391,2556,2557],{"class":2463},"}\n",[10,2559,2560,2561,2564,2565,229],{},"Este ejemplo es una propuesta de diseño, no el esquema literal de todos los programas utilizados. Su ventaja es evitar una promesa que no puedo respaldar. Cuando el programa dice «sin conflictos detectados» deja claro que ",[13,2562,2563],{},"no detectar"," no equivale a ",[13,2566,2567],{},"no existir",[231,2569,2571],{"id":2570},"y-si-otro-modelo-se-encarga-de-detectar-los-fallos","¿Y si otro modelo se encarga de detectar los fallos?",[10,2573,2574],{},"Esa fue una de mis hipótesis iniciales: el traductor rápido genera el texto y un modelo más grande lo revisa. Tiene sentido como estrategia, y Qwen 27B encontró errores que el traductor había cometido. También produjo propuestas discutibles y falló al entregar JSON válido en dos de ocho intentos de revisión de la v0.5.",[10,2576,2577],{},"Un revisor automático serio debería trabajar así:",[140,2579,2580,2586,2589,2592,2595,2601],{},[143,2581,2582,2583,2585],{},"Recibe el original, la traducción y las convenciones relevantes, pero ",[13,2584,366],{}," recibe permiso para reescribirlo todo.",[143,2587,2588],{},"Señala un problema localizado, copia el segmento que lo sustenta y explica qué información puede haberse perdido.",[143,2590,2591],{},"Identifica la categoría: referente, objeto, tiempo verbal, terminología, diálogo, omisión o adición.",[143,2593,2594],{},"Devuelve una respuesta breve con formato validable y límites explícitos.",[143,2596,2597,2598,229],{},"Solo si la observación es pertinente se solicita una corrección ",[13,2599,2600],{},"localizada",[143,2602,2603],{},"La nueva traducción se compara de nuevo con el original y se conserva la versión previa para poder revertir.",[10,2605,2606,2607,229],{},"El sistema debería resistirse a sustituir silenciosamente una respuesta por otra solo porque un modelo grande afirmó que era mejor. ",[13,2608,2609],{},"Una cadena de dos modelos falibles no produce automáticamente una traducción infalible",[57,2611,2613],{"id":2612},"_15-qué-puedo-decir-hoy-de-la-velocidad-y-del-coste-real","15. Qué puedo decir hoy de la velocidad y del coste real",[10,2615,2616,2617,2620,2621,2624],{},"Aproximadamente ",[13,2618,2619],{},"90–115 tokens por segundo"," con mis traductores pequeños era un resultado convincente desde el punto de vista computacional. Traducir un extracto no requería dejar el equipo funcionando toda la noche. Qwen 27B, en cambio, rondaba los ",[13,2622,2623],{},"tres tokens por segundo"," en mi configuración, una diferencia suficientemente grande como para cambiar la arquitectura del programa.",[10,2626,2627],{},"Pero sería un error convertir esos valores directamente en «horas para traducir una novela de 100.000 palabras» sin medir el sistema final. Hay varios motivos:",[432,2629,2630,2633,2636,2639,2642,2645],{},[143,2631,2632],{},"El número de tokens españoles por palabra varía.",[143,2634,2635],{},"Los prompts, el glosario y el contexto también consumen capacidad y tiempo.",[143,2637,2638],{},"Los modelos tienen distinta tasa de tokens de salida y pueden responder con longitudes diferentes.",[143,2640,2641],{},"La carga del modelo puede ser dominante si el programa cambia de modelo a menudo.",[143,2643,2644],{},"La traducción genera reintentos, validaciones y exportaciones adicionales.",[143,2646,2647],{},"Una revisión humana puede acabar costando mucho más tiempo que toda la inferencia.",[10,2649,2650,2651,2654],{},"Una medición de producción tendría que registrar ",[13,2652,2653],{},"palabras fuente, palabras destino, tokens, tiempo de carga, tiempo de generación, reintentos, porcentaje de texto revisado y minutos de corrección humana",". Solo entonces podría estimar coste de energía o productividad por libro.",[231,2656,2658],{"id":2657},"la-métrica-que-todavía-me-falta","La métrica que todavía me falta",[10,2660,2661],{},"La mejor métrica práctica para el propósito de este proyecto quizá sea:",[10,2663,2664,2667],{},[13,2665,2666],{},"Minutos de revisión por 1.000 palabras"," = (minutos reales de corrección ÷ palabras españolas corregidas) × 1.000.",[10,2669,2670,2673],{},[13,2671,2672],{},"Todavía no dispongo de esa cifra",", porque no registré una corrección humana completa y cronometrada de los extractos. Los HTML permiten anotar observaciones, y creé un comparador para registrar tiempos, pero eso no equivale a tener resultados de productividad.",[10,2675,2676],{},"El experimento que falta es muy concreto: traducir un texto nuevo, leerlo como lector y después corregirlo contra el original con cronómetro. Si se necesitan treinta minutos para corregir una página, la viabilidad práctica será muy diferente de la que sugieren cien tokens por segundo. Si la lectura solo exige consultar dos o tres pasajes difíciles por capítulo, el escenario será más favorable.",[231,2678,2680],{"id":2679},"qué-hay-de-claude-deepseek-o-gemini","¿Qué hay de Claude, DeepSeek o Gemini?",[10,2682,2683,2684,229],{},"Durante el proyecto surgió la idea de utilizar una arquitectura híbrida: preparar y reconstruir el EPUB localmente y enviar solo el contenido a un modelo de la nube cuando la calidad lo justifique. Técnicamente es una posibilidad, pero ",[13,2685,2686],{},"no forma parte de las pruebas comparativas realizadas aquí",[10,2688,2689,2690,184,2693,229],{},"Recordaba buenas experiencias anteriores con DeepSeek web y con Gemini, incluso versiones anteriores a Gemini 3, y también utilizaba Claude con mi skill original. Sin embargo, no pude ejecutar una batería equivalente en esos servicios durante esta investigación. No hay por tanto una comparación justa de calidad, latencia o precio entre ",[52,2691,2692],{},"mis modelos locales",[52,2694,2695],{},"Claude\u002FDeepSeek\u002FGemini web",[10,2697,2698],{},"Esa ausencia debe quedar explícita. La conclusión defendible es que no he demostrado que los modelos locales igualen sistemáticamente a esos servicios; tampoco he medido cuánto se alejan exactamente.",[57,2700,2702],{"id":2701},"_16-la-arquitectura-que-construiría-después-de-estos-resultados","16. La arquitectura que construiría después de estos resultados",[10,2704,2705],{},"Si mañana retomara el desarrollo del traductor de novelas como herramienta de uso diario, ya no empezaría añadiendo un modelo más grande. Construiría primero una arquitectura conservadora y auditable.",[231,2707,2709],{"id":2708},"capa-1-el-epub-original-nunca-se-modifica","Capa 1: el EPUB original nunca se modifica",[10,2711,2712],{},"Conservaría un archivo fuente inmutable, su suma SHA-256 y un manifiesto de recursos. El programa extraería el contenido traducible sin tocar imágenes, hojas de estilo, enlaces, identificadores o atributos. Si el libro contiene furigana japonés, decidiría de forma explícita cómo aplanarlo antes de traducir, respetando su relación con las palabras originales.",[231,2714,2716],{"id":2715},"capa-2-segmentación-reversible","Capa 2: segmentación reversible",[10,2718,2719],{},"Los párrafos no se dividirían arbitrariamente por número de caracteres. Preferiría unidades semánticas —oraciones o conjuntos de oraciones—, con protección de abreviaturas, nombres propios, signos especiales y marcado. Cada parte tendría un identificador de origen y un hash.",[10,2721,2722,2723,2726],{},"La reconstrucción debería poder demostrar que ",[13,2724,2725],{},"el contenido original destinado a traducción quedó cubierto exactamente una vez",". Eso es diferente de demostrar que cada significado se tradujo bien, pero establece una base imprescindible.",[231,2728,2730],{"id":2729},"capa-3-glosario-aprobado-por-libro","Capa 3: glosario aprobado por libro",[10,2732,2733],{},"El glosario sería portátil entre volúmenes y distinguiría términos fijos, alternativas aceptables y observaciones culturales. Los modelos podrían sugerir nuevas entradas, pero no aprobarlas. El prompt recibiría solo las entradas relevantes para el fragmento actual, evitando enviar docenas de términos sin relación con el pasaje.",[231,2735,2737],{"id":2736},"capa-4-traductores-rápidos-por-idioma","Capa 4: traductores rápidos por idioma",[10,2739,2740,2741,184,2744,2747],{},"Los candidatos principales, según estos experimentos, seguirían siendo ",[13,2742,2743],{},"Hy-MT2 7B para japonés",[13,2745,2746],{},"Qwen3.5 9B para inglés",". No porque sean «los mejores del mercado» —no he probado todo el mercado—, sino porque en mi hardware proporcionaron una relación útil entre velocidad, resultados y problemas conocidos. TranslateGemma y Aya quedarían como alternativas de investigación, no como sustitutos automáticos.",[231,2749,2751],{"id":2750},"capa-5-alarmas-diferenciadas-y-decisiones-reversibles","Capa 5: alarmas diferenciadas y decisiones reversibles",[10,2753,2754],{},"El programa debería detener o marcar para revisión cualquier fragmento sin traducción, con repetición extensa, incoherencia de identificación, pérdida de símbolos especiales o choque con un término aprobado. Una revisión semántica selectiva podría utilizar otro modelo, pero sus correcciones serían propuestas, nunca sustituciones irreversibles.",[231,2756,2758],{"id":2757},"capa-6-reconstrucción-validación-y-lectura","Capa 6: reconstrucción, validación y lectura",[10,2760,2761,2762,2765],{},"La salida final exigiría controles ZIP\u002FXML\u002FOPF, metadatos y navegación, ejecución de EPUBCheck y comprobación en al menos un lector real. Además, el sistema produciría un ",[13,2763,2764],{},"informe de incertidumbres",": una relación consultable de los pasajes que necesitaron reintentos, activaron alertas o recibieron traducciones alternativas.",[10,2767,2768,2769,229],{},"En otras palabras, la aplicación no debería prometer «he traducido la novela perfectamente», sino algo más útil y verificable: ",[13,2770,2771],{},"«aquí tienes una versión española, estos son los fragmentos que requieren especial atención y esta es la evidencia de que el archivo se construyó correctamente»",[57,2773,2775],{"id":2774},"_17-limitaciones-del-estudio-las-que-no-debería-esconder","17. Limitaciones del estudio: las que no debería esconder",[10,2777,2778],{},"Una investigación personal puede ser rigurosa sin fingir una precisión que no tiene. Para interpretar mis resultados hace falta reconocer al menos estas limitaciones.",[10,2780,2781,2784],{},[13,2782,2783],{},"Muestra pequeña y poco diversa."," En las pruebas principales utilicé una obra japonesa y otra inglesa. Akutagawa y Wilde no representan por sí solos todos los estilos narrativos, ni las novelas contemporáneas, ni las light novels. Hacen falta otros autores y géneros.",[10,2786,2787,2790,2791,2794],{},[13,2788,2789],{},"Glosarios parcialmente ajustados al conjunto de prueba."," Aprendí de errores observados y después escribí reglas para corregirlos. Eso es positivo para construir un traductor de ",[52,2792,2793],{},"esa obra",", pero introduce contaminación si intento demostrar que la técnica generaliza a textos inéditos. Un verdadero conjunto de validación tendría que mantenerse separado desde el principio.",[10,2796,2797,2800],{},[13,2798,2799],{},"Una sola ejecución por condición en el laboratorio principal."," Con temperatura cero y semilla fijada aumenté la comparabilidad, pero no medí variabilidad entre ejecuciones. La determinación efectiva depende también del motor, hardware y configuración.",[10,2802,2803,2806,2807,2810],{},[13,2804,2805],{},"Prompts no idénticos entre modelos."," Las condiciones A\u002FB\u002FC controlan bastante bien el efecto del glosario y del contexto dentro de una misma familia. En D cambia el modelo y también su comportamiento de inferencia; en T se utilizó la plantilla específica de TranslateGemma. Es más justo hablar de rendimiento de ",[52,2808,2809],{},"configuraciones de traducción"," que de superioridad puramente arquitectónica.",[10,2812,2813,2816],{},[13,2814,2815],{},"Tiempos de pared contaminados por recargas."," La intercalación A→B→C→D por fragmento introduce un coste que no tendría un traductor optimizado por lotes. Las medianas de tokens\u002Fs son más comparables, aunque tampoco capturan todo el proceso.",[10,2818,2819,2822],{},[13,2820,2821],{},"Alertas automáticas incompletas."," Ya he documentado múltiples falsos negativos: cambios de magnitud, nombres, sujetos, objetos, ironía y concordancia que no dispararon controles.",[10,2824,2825,2828],{},[13,2826,2827],{},"Sin evaluación ciega puntuada."," Se generaron CSV anonimizados, pero no se completaron las notas. Las auditorías posteriores permiten estudiar ejemplos, no calcular una nota global imparcial. Tampoco cuento con una revisión sistemática de todos los errores por una persona competente en japonés.",[10,2830,2831,2834],{},[13,2832,2833],{},"Sin medida completa de experiencia lectora."," No cronometré la corrección humana de principio a fin ni recogí una evaluación longitudinal del placer de lectura. Los extractos tampoco constituyen novelas completas.",[10,2836,2837,2840],{},[13,2838,2839],{},"Validación EPUB limitada."," Se inspeccionaron ZIP, OPF, navegación y XHTML de los extractos; no se ejecutó EPUBCheck ni se documentó una prueba de un libro completo en un lector real.",[10,2842,2843,2846],{},[13,2844,2845],{},"Comparación con la nube pendiente."," Las experiencias con Claude, DeepSeek y Gemini son antecedentes personales, no pruebas del mismo corpus bajo condiciones equiparables.",[10,2848,2849,2852,2853,229],{},[13,2850,2851],{},"Licencias y reproducibilidad."," Cada modelo tiene condiciones propias; el hecho de poder ejecutarlo localmente no significa que pueda redistribuirse libremente ni utilizarse comercialmente sin restricciones. En especial, la ficha de Aya Expanse 8B especifica una licencia no comercial ",[391,2854,1179],{},[10,2856,2857],{},"Enumerar estos puntos no invalida lo conseguido. Evita atribuir a mis datos conclusiones que no pueden sostener.",[57,2859,2861],{"id":2860},"_18-un-protocolo-mejor-para-la-siguiente-investigación","18. Un protocolo mejor para la siguiente investigación",[10,2863,2864,2865],{},"Con lo aprendido, no repetiría el mismo diseño aumentando simplemente el número de fragmentos. La pregunta científica y práctica siguiente es distinta: ",[13,2866,2867],{},"¿qué proporción de una narración inédita puede leerse cómodamente con un modelo local y cuánto trabajo requiere corregir el resto?",[10,2869,2870],{},"Propondría un protocolo de seis pasos.",[10,2872,2873,2876],{},[13,2874,2875],{},"Primero: corpus verdaderamente nuevo."," Elegir, antes de escribir nuevas reglas, un relato japonés y un texto inglés de autores distintos de Akutagawa y Wilde. Conservar una copia inmutable y documentar criterios de selección. Dividir en secciones cortas, medianas y largas, incluyendo diálogo, narración, metáforas y vocabulario cultural. No usar estos textos para corregir el prompt antes de evaluarlo.",[10,2878,2879,2882],{},[13,2880,2881],{},"Segundo: mantener configuraciones fijas."," Utilizar Hy-MT2 7B para japonés y Qwen 9B para inglés con los mismos parámetros y un glosario preparado exclusivamente con información editorial previa. Registrar versiones exactas de Ollama, identificadores de modelos, cuantización, sistema operativo, GPU y prompts. Si se cambia algo, identificarlo como una condición nueva.",[10,2884,2885,2888],{},[13,2886,2887],{},"Tercero: registrar tres categorías de éxito."," Al final de la ejecución, informar por separado de la completitud técnica, la integridad de los textos y la calidad lingüística observada. Un EPUB con una unidad sin traducir no puede considerarse completo, por mucho que el resto sea impecable.",[10,2890,2891,2894],{},[13,2892,2893],{},"Cuarto: evaluar a ciegas donde tenga sentido."," Anonimizar las traducciones y puntuar su naturalidad y convenciones sin conocer el modelo. Para la fidelidad japonesa, contar con alguien que pueda leer japonés o contrastar pasajes difíciles con recursos lingüísticos fiables. No convertir las opiniones de otro LLM en una verdad de referencia.",[10,2896,2897,2900],{},[13,2898,2899],{},"Quinto: medir el esfuerzo real de corrección."," Cronometrar una revisión completa, contabilizar errores graves, medianos y leves, y registrar cuántas palabras quedan listas para leer después de cada intervención. Esta es la métrica más cercana a la motivación personal del proyecto.",[10,2902,2903,2906],{},[13,2904,2905],{},"Sexto: repetir sin ajustar sobre la marcha."," Una segunda obra, con otro autor, permitiría observar si los resultados se mantienen. Cualquier cambio de glosario provocado por el primer texto debería comprobarse en un corpus separado.",[231,2908,2910],{"id":2909},"rúbrica-propuesta","Rúbrica propuesta",[10,2912,2913],{},"Cada pasaje podría evaluarse en cuatro dimensiones de uno a cinco, además de un registro independiente de errores graves:",[283,2915,2916,2929],{},[286,2917,2918],{},[289,2919,2920,2923,2926],{},[292,2921,2922],{},"Dimensión",[292,2924,2925],{},"Una puntuación alta significa...",[292,2927,2928],{},"Qué no debe confundirse con ella",[303,2930,2931,2942,2953,2964],{},[289,2932,2933,2936,2939],{},[308,2934,2935],{},"Fidelidad",[308,2937,2938],{},"Conserva hechos, acciones, sujetos, relaciones, tonos y magnitudes del original.",[308,2940,2941],{},"Que el español suene bonito.",[289,2943,2944,2947,2950],{},[308,2945,2946],{},"Naturalidad",[308,2948,2949],{},"Se lee con ritmo literario y sin calcos innecesarios.",[308,2951,2952],{},"Que pueda separarse del original sin pérdida de sentido.",[289,2954,2955,2958,2961],{},[308,2956,2957],{},"Consistencia",[308,2959,2960],{},"Mantiene términos, personajes, tratamientos y tiempos a lo largo del texto.",[308,2962,2963],{},"Que un solo fragmento esté bien escrito.",[289,2965,2966,2969,2972],{},[308,2967,2968],{},"Convenciones editoriales",[308,2970,2971],{},"Respeta diálogos, honoríficos, símbolos, cursivas y formato acordado.",[308,2973,2974],{},"Que el EPUB esté bien formado técnicamente.",[10,2976,2977,2978,2981],{},"Aparte de esas notas, marcaría cualquier ",[13,2979,2980],{},"alteración grave de contenido"," como un incidente independiente. No permitiría que una prosa muy fluida compensara automáticamente la sustitución de un personaje o una acción.",[10,2983,2984],{},"La evaluación ciega es especialmente importante porque, una vez que sé que estoy leyendo «el modelo grande» o «el modelo especializado», resulta fácil ser más indulgente con sus errores o exigirle más de lo razonable.",[57,2986,2988],{"id":2987},"_19-mereció-la-pena-una-respuesta-distinta-de-la-que-esperaba","19. ¿Mereció la pena? Una respuesta distinta de la que esperaba",[10,2990,2991],{},"Hubo un momento en el proyecto en que me pregunté si continuar era una pérdida de tiempo. Tenía cinco versiones del programa, múltiples pruebas, errores sin resolver y la sospecha de estar construyendo una estructura cada vez más compleja alrededor de modelos que no comprendían suficientemente bien algunos pasajes.",[10,2993,2994,2995,2998],{},"La duda era razonable. ",[13,2996,2997],{},"Seguir añadiendo validadores indefinidamente habría sido una mala estrategia."," Un detector que comprueba comillas o nombres no enseña a un modelo a interpretar una frase japonesa; y una revisión automática que tampoco comprende el original puede introducir errores nuevos.",[10,3000,3001,3002,3005],{},"Pero al recordar la verdadera motivación —la curiosidad por saber hasta qué punto podía leer literatura extranjera con IA local— la valoración cambió. El objetivo nunca fue únicamente fabricar un programa que sustituyera a Claude. Era ",[13,3003,3004],{},"averiguar qué era posible",", qué límites tenía el hardware disponible y qué parte de la calidad dependía del modelo, del proceso editorial o de la propia ingeniería.",[10,3007,3008],{},"Desde esa perspectiva, las pruebas sí han merecido la pena. He obtenido respuestas que difícilmente habría dado una comparativa superficial de modelos:",[432,3010,3011,3014,3017,3020,3023,3026,3029],{},[143,3012,3013],{},"Una RTX 3080 de 10 GB puede sostener flujos de traducción útiles y rápidos con modelos de 7B–9B.",[143,3015,3016],{},"Un 27B cuantizado puede ejecutarse en este entorno, pero en mis mediciones fue decenas de veces más lento.",[143,3018,3019],{},"Un glosario aprobado mejora determinados nombres y términos, sin garantizar una mejora general de fidelidad.",[143,3021,3022],{},"El contexto del fragmento anterior no siempre beneficia; puede empeorar un pasaje y, mal gestionado, provocar repeticiones.",[143,3024,3025],{},"Un modelo diseñado para traducción puede escribir frases fluidas y, a la vez, confundir un cuervo con una urraca o dos años con veinte.",[143,3027,3028],{},"La extracción y reconstrucción de EPUB puede hacerse de forma fiable dentro de controles verificables, sin pedir al modelo que edite arbitrariamente el XHTML.",[143,3030,3031],{},"Las reglas estructurales detectan lo que saben buscar. La integridad del archivo, la integridad narrativa y la fidelidad literaria requieren pruebas diferentes.",[10,3033,3034],{},"Quizá el resultado más útil sea haber cambiado la forma de medir el éxito. Al principio celebraba que el programa completara 20 de 20 fragmentos. Después entendí que lo importante era qué había ocurrido dentro de esos veinte fragmentos. Y al final descubrí que ni siquiera un texto correcto en sus límites y enlaces era necesariamente una buena traducción.",[57,3036,3038],{"id":3037},"_20-conclusiones-la-rtx-3080-puede-traducir-novelas-todavía-no-puede-prometer-que-las-traduzca-bien","20. Conclusiones: la RTX 3080 puede traducir novelas; todavía no puede prometer que las traduzca bien",[10,3040,3041,3042,3045],{},"Si tuviera que resumir los resultados para alguien que está pensando en montar un traductor literario local, empezaría por una afirmación positiva: ",[13,3043,3044],{},"el hardware doméstico actual permite construir un sistema práctico de traducción automática de EPUB",". El procesamiento, la inferencia, la caché, las validaciones y la reconstrucción pueden ejecutarse en un ordenador personal. En mi equipo, Hy-MT2 7B y Qwen 9B demostraron velocidades de generación que hacen razonable experimentar con pasajes extensos.",[10,3047,3048,3049,3052],{},"La segunda afirmación sería una advertencia: ",[13,3050,3051],{},"una traducción legible no equivale a una traducción fiel",". Los errores más importantes de mis ensayos no eran siempre frases incomprensibles. Eran frases que parecían correctas, pero cambiaban un referente, una especie animal, una cantidad, una acción o una broma. Esos errores son especialmente peligrosos cuando se utiliza la traducción para leer por placer, porque el lector puede no saber que está aceptando información diferente de la original.",[10,3054,3055,3056,3059],{},"La tercera conclusión afecta al diseño de software: ",[13,3057,3058],{},"conviene arreglar la integridad antes de discutir matices literarios",". Una historia que se repite o se corta a mitad de una abreviatura no puede evaluarse limpiamente. Los parches que eliminaron la duplicación del fantasma y mantuvieron unida «Mrs. Otis» no hicieron más inteligente al traductor, pero sí convirtieron los resultados en materiales de lectura más coherentes y auditables.",[10,3061,3062,3063,3066],{},"La cuarta conclusión es metodológica: ",[13,3064,3065],{},"mis datos todavía no permiten proclamar un ganador universal",". Los controles automáticos no son una evaluación humana; mis glosarios incorporaban conocimiento obtenido al estudiar estas mismas obras; los extractos eran pequeños; las pruebas con Aya se seleccionaron por dificultad; las condiciones usaban plantillas diferentes; y no llegué a medir el tiempo de corrección ni a completar la evaluación ciega de fidelidad.",[10,3068,3069,3070,229],{},"La quinta es personal: no abandonaré la idea de traducir literatura localmente, pero tampoco seguiré descargando modelos sin un objetivo experimental. La próxima mejora que me interesa no es un nuevo número de parámetros. Es una medida honesta de ",[13,3071,3072],{},"cuánto puedo leer cómodamente y cuántas correcciones necesito para confiar en lo que leo",[10,3074,3075],{},[13,3076,3077],{},"Mi respuesta provisional a la pregunta del título es, por tanto, doble:",[43,3079,3080],{},[10,3081,3082],{},[13,3083,3084],{},"Sí, una RTX 3080 de 10 GB puede traducir literatura y generar EPUB locales legibles. No, mis pruebas no demuestran aún que las traducciones sean suficientemente fiables para sustituir sin supervisión una buena traducción editorial o el trabajo de un modelo de mayor capacidad.",[10,3086,3087],{},"Lejos de convertir el experimento en un fracaso, esa diferencia define el problema que todavía merece la pena investigar.",[3089,3090],"hr",{},[57,3092,3094],{"id":3093},"apéndice-a-datos-artefactos-y-reproducibilidad","Apéndice A. Datos, artefactos y reproducibilidad",[10,3096,3097,3098,3101],{},"El proyecto generó varias familias de artefactos. Para reproducirlo resulta más útil conservar ",[13,3099,3100],{},"el dato bruto junto al informe"," que publicar únicamente una captura o una puntuación resumida.",[283,3103,3104,3117],{},[286,3105,3106],{},[289,3107,3108,3111,3114],{},[292,3109,3110],{},"Fase",[292,3112,3113],{},"Evidencia principal",[292,3115,3116],{},"Qué contiene",[303,3118,3119,3132,3145,3158,3171,3184,3197,3211,3224,3237],{},[289,3120,3121,3124,3129],{},[308,3122,3123],{},"Batería inicial",[308,3125,3126],{},[177,3127,3128],{},"Informe_Comparativo_60_Traducciones.md",[308,3130,3131],{},"60 respuestas breves, rendimiento y errores ejemplificados.",[289,3133,3134,3137,3142],{},[308,3135,3136],{},"EPUB v0.3",[308,3138,3139],{},[177,3140,3141],{},"Informe_Pruebas_EPUB_Reales_v0_3.md",[308,3143,3144],{},"40 unidades reales, aceptadas técnicamente, con análisis de errores.",[289,3146,3147,3150,3155],{},[308,3148,3149],{},"Qwen 27B",[308,3151,3152],{},[177,3153,3154],{},"Informe_Qwen27_40_fragmentos.md",[308,3156,3157],{},"40 traducciones, velocidades y observaciones literarias.",[289,3159,3160,3163,3168],{},[308,3161,3162],{},"Piloto v0.5",[308,3164,3165],{},[177,3166,3167],{},"PARA_CHATGPT_V05_PILOTO.zip",[308,3169,3170],{},"Informes, parejas bilingües, glosarios, sugerencias y diagnósticos del revisor.",[289,3172,3173,3176,3181],{},[308,3174,3175],{},"Laboratorio controlado",[308,3177,3178],{},[177,3179,3180],{},"PARA_CHATGPT_LAB_CONTROLADO.zip",[308,3182,3183],{},"Corpus, prompts y 96 registros en cuatro condiciones.",[289,3185,3186,3189,3194],{},[308,3187,3188],{},"Modelos especializados",[308,3190,3191],{},[177,3192,3193],{},"PARA_CHATGPT_ESPECIALIZADOS.zip",[308,3195,3196],{},"36 resultados nuevos y comparaciones históricas.",[289,3198,3199,3202,3208],{},[308,3200,3201],{},"Lectura continua",[308,3203,3204,207,3206],{},[177,3205,2023],{},[177,3207,2026],{},[308,3209,3210],{},"Primeros extractos de lectura: 15 y 6 párrafos.",[289,3212,3213,3216,3221],{},[308,3214,3215],{},"Reparación final",[308,3217,3218],{},[177,3219,3220],{},"PARA_CHATGPT_REPARACION(1).zip",[308,3222,3223],{},"Auditorías antes\u002Fdespués, traducciones por subparte y EPUB reparados.",[289,3225,3226,3229,3234],{},[308,3227,3228],{},"Auditoría semántica",[308,3230,3231],{},[177,3232,3233],{},"Auditoria_Literaria_Piloto_v1_2.md",[308,3235,3236],{},"22 observaciones cualitativas sobre 14 bloques.",[289,3238,3239,3242,3247],{},[308,3240,3241],{},"Skill de origen",[308,3243,3244],{},[177,3245,3246],{},"SKILL.md",[308,3248,3249],{},"El flujo editorial original de nueve etapas.",[10,3251,3252,3255],{},[13,3253,3254],{},"Nota sobre publicación:"," estos nombres identifican archivos conservados durante el experimento. Para hacer el trabajo completamente reproducible en un repositorio público, habría que publicar versiones limpias del código, un archivo de dependencias fijadas, las configuraciones de inferencia y, cuando los derechos lo permitan, los originales y resultados. No es necesario distribuir los pesos de cada modelo si se facilitan sus identificadores y sus licencias.",[231,3257,3259],{"id":3258},"un-esquema-mínimo-de-registro-por-fragmento","Un esquema mínimo de registro por fragmento",[10,3261,3262],{},"Un registro reproducible debería incluir, como mínimo, los siguientes campos:",[242,3264,3266],{"className":2454,"code":3265,"language":2456,"meta":248,"style":248},"{\n  \"obra\": \"identificador_del_epub\",\n  \"bloque\": \"en-39\",\n  \"subparte\": 2,\n  \"idioma_origen\": \"en\",\n  \"modelo\": \"qwen3.5:9b\",\n  \"version_prompt\": \"v1.2\",\n  \"fuente_sha256\": \"\u003Csha256-del-texto-exacto>\",\n  \"glosario_sha256\": \"\u003Csha256-del-glosario>\",\n  \"contexto_sha256\": \"\u003Csha256-del-contexto>\",\n  \"temperatura\": 0,\n  \"semilla\": 42,\n  \"num_ctx\": 4096,\n  \"num_predict\": 1500,\n  \"tokens_generados\": null,\n  \"segundos_generacion\": null,\n  \"salida\": \"\u003Ctexto traducido>\",\n  \"alertas\": [],\n  \"fidelidad_revisada_por_humano\": false\n}\n",[177,3267,3268,3272,3284,3296,3307,3319,3331,3343,3355,3367,3380,3392,3405,3418,3431,3444,3456,3469,3478,3489],{"__ignoreMap":248},[391,3269,3270],{"class":393,"line":394},[391,3271,2464],{"class":2463},[391,3273,3274,3277,3279,3282],{"class":393,"line":2134},[391,3275,3276],{"class":2469},"  \"obra\"",[391,3278,2473],{"class":2463},[391,3280,3281],{"class":2489},"\"identificador_del_epub\"",[391,3283,2479],{"class":2463},[391,3285,3286,3289,3291,3294],{"class":393,"line":2140},[391,3287,3288],{"class":2469},"  \"bloque\"",[391,3290,2473],{"class":2463},[391,3292,3293],{"class":2489},"\"en-39\"",[391,3295,2479],{"class":2463},[391,3297,3298,3301,3303,3305],{"class":393,"line":2146},[391,3299,3300],{"class":2469},"  \"subparte\"",[391,3302,2473],{"class":2463},[391,3304,449],{"class":2469},[391,3306,2479],{"class":2463},[391,3308,3309,3312,3314,3317],{"class":393,"line":2152},[391,3310,3311],{"class":2469},"  \"idioma_origen\"",[391,3313,2473],{"class":2463},[391,3315,3316],{"class":2489},"\"en\"",[391,3318,2479],{"class":2463},[391,3320,3321,3324,3326,3329],{"class":393,"line":2158},[391,3322,3323],{"class":2469},"  \"modelo\"",[391,3325,2473],{"class":2463},[391,3327,3328],{"class":2489},"\"qwen3.5:9b\"",[391,3330,2479],{"class":2463},[391,3332,3333,3336,3338,3341],{"class":393,"line":2164},[391,3334,3335],{"class":2469},"  \"version_prompt\"",[391,3337,2473],{"class":2463},[391,3339,3340],{"class":2489},"\"v1.2\"",[391,3342,2479],{"class":2463},[391,3344,3345,3348,3350,3353],{"class":393,"line":2543},[391,3346,3347],{"class":2469},"  \"fuente_sha256\"",[391,3349,2473],{"class":2463},[391,3351,3352],{"class":2489},"\"\u003Csha256-del-texto-exacto>\"",[391,3354,2479],{"class":2463},[391,3356,3357,3360,3362,3365],{"class":393,"line":2554},[391,3358,3359],{"class":2469},"  \"glosario_sha256\"",[391,3361,2473],{"class":2463},[391,3363,3364],{"class":2489},"\"\u003Csha256-del-glosario>\"",[391,3366,2479],{"class":2463},[391,3368,3370,3373,3375,3378],{"class":393,"line":3369},10,[391,3371,3372],{"class":2469},"  \"contexto_sha256\"",[391,3374,2473],{"class":2463},[391,3376,3377],{"class":2489},"\"\u003Csha256-del-contexto>\"",[391,3379,2479],{"class":2463},[391,3381,3383,3386,3388,3390],{"class":393,"line":3382},11,[391,3384,3385],{"class":2469},"  \"temperatura\"",[391,3387,2473],{"class":2463},[391,3389,919],{"class":2469},[391,3391,2479],{"class":2463},[391,3393,3395,3398,3400,3403],{"class":393,"line":3394},12,[391,3396,3397],{"class":2469},"  \"semilla\"",[391,3399,2473],{"class":2463},[391,3401,3402],{"class":2469},"42",[391,3404,2479],{"class":2463},[391,3406,3408,3411,3413,3416],{"class":393,"line":3407},13,[391,3409,3410],{"class":2469},"  \"num_ctx\"",[391,3412,2473],{"class":2463},[391,3414,3415],{"class":2469},"4096",[391,3417,2479],{"class":2463},[391,3419,3421,3424,3426,3429],{"class":393,"line":3420},14,[391,3422,3423],{"class":2469},"  \"num_predict\"",[391,3425,2473],{"class":2463},[391,3427,3428],{"class":2469},"1500",[391,3430,2479],{"class":2463},[391,3432,3434,3437,3439,3442],{"class":393,"line":3433},15,[391,3435,3436],{"class":2469},"  \"tokens_generados\"",[391,3438,2473],{"class":2463},[391,3440,3441],{"class":2469},"null",[391,3443,2479],{"class":2463},[391,3445,3447,3450,3452,3454],{"class":393,"line":3446},16,[391,3448,3449],{"class":2469},"  \"segundos_generacion\"",[391,3451,2473],{"class":2463},[391,3453,3441],{"class":2469},[391,3455,2479],{"class":2463},[391,3457,3459,3462,3464,3467],{"class":393,"line":3458},17,[391,3460,3461],{"class":2469},"  \"salida\"",[391,3463,2473],{"class":2463},[391,3465,3466],{"class":2489},"\"\u003Ctexto traducido>\"",[391,3468,2479],{"class":2463},[391,3470,3472,3475],{"class":393,"line":3471},18,[391,3473,3474],{"class":2469},"  \"alertas\"",[391,3476,3477],{"class":2463},": [],\n",[391,3479,3481,3484,3486],{"class":393,"line":3480},19,[391,3482,3483],{"class":2469},"  \"fidelidad_revisada_por_humano\"",[391,3485,2473],{"class":2463},[391,3487,3488],{"class":2469},"false\n",[391,3490,3492],{"class":393,"line":3491},20,[391,3493,2557],{"class":2463},[10,3495,3496,3497,3500,3501,3503],{},"Es un ",[13,3498,3499],{},"esquema ilustrativo",": los valores ",[177,3502,3441],{}," y los campos de muestra no representan un registro concreto del experimento. La intención es mostrar cómo evitar que la traducción quede separada de las condiciones en que se produjo.",[57,3505,3507],{"id":3506},"apéndice-b-fuentes-técnicas-y-textuales-externas","Apéndice B. Fuentes técnicas y textuales externas",[10,3509,3510,3511,229],{},"Las mediciones de este artículo proceden de mis archivos locales. Las siguientes fuentes solo respaldan la definición de herramientas, el origen de los textos y las características declaradas de los modelos; ",[13,3512,3513],{},"no sustituyen los registros experimentales",[140,3515,3516,3535,3548,3560,3570,3580],{},[143,3517,3518,3521,3522,207,3524,207,3526,3528,3529],{},[13,3519,3520],{},"Ollama, documentación de la API."," Definiciones de ",[177,3523,377],{},[177,3525,381],{},[177,3527,402],{}," y cálculo de tokens por segundo: ",[3530,3531,3532],"a",{"href":3532,"rel":3533},"https:\u002F\u002Fgithub.com\u002Follama\u002Follama\u002Fblob\u002Fmain\u002Fdocs\u002Fapi.md",[3534],"nofollow",[143,3536,3537,3543,3544],{},[13,3538,3539,3540,3542],{},"Project Gutenberg, ",[52,3541,441],{},", ebook 1982."," Obra japonesa y metadatos del ejemplar: ",[3530,3545,3546],{"href":3546,"rel":3547},"https:\u002F\u002Fwww.gutenberg.org\u002Febooks\u002F1982",[3534],[143,3549,3550,3555,3556],{},[13,3551,3539,3552,3554],{},[52,3553,427],{},", ebook 14522."," Obra inglesa y metadatos: ",[3530,3557,3558],{"href":3558,"rel":3559},"https:\u002F\u002Fwww.gutenberg.org\u002Febooks\u002F14522",[3534],[143,3561,3562,3565,3566],{},[13,3563,3564],{},"Google, presentación de TranslateGemma (15 de enero de 2026)."," Objetivo de traducción y resultados declarados sobre benchmarks específicos: ",[3530,3567,3568],{"href":3568,"rel":3569},"https:\u002F\u002Fblog.google\u002Finnovation-and-ai\u002Ftechnology\u002Fdevelopers-tools\u002Ftranslategemma\u002F",[3534],[143,3571,3572,3575,3576],{},[13,3573,3574],{},"Cohere Labs, ficha de Aya Expanse 8B."," Idiomas, tamaño y licencia: ",[3530,3577,3578],{"href":3578,"rel":3579},"https:\u002F\u002Fhuggingface.co\u002FCohereLabs\u002Faya-expanse-8b",[3534],[143,3581,3582,3585,3586,184,3590],{},[13,3583,3584],{},"W3C, EPUB y EPUBCheck."," Estándar de publicación y validador oficial: ",[3530,3587,3588],{"href":3588,"rel":3589},"https:\u002F\u002Fwww.w3.org\u002Fpublishing\u002Fepub\u002F",[3534],[3530,3591,3592],{"href":3592,"rel":3593},"https:\u002F\u002Fwww.w3.org\u002Fpublishing\u002Fepubcheck\u002F",[3534],[57,3595,3597],{"id":3596},"apéndice-c-glosario-de-términos-para-lectores-no-técnicos","Apéndice C. Glosario de términos para lectores no técnicos",[10,3599,3600,3603],{},[13,3601,3602],{},"LLM:"," modelo de lenguaje de gran tamaño, entrenado para procesar y generar secuencias de tokens.",[10,3605,3606,3609],{},[13,3607,3608],{},"Token:"," unidad utilizada internamente por el modelo; no equivale necesariamente a una palabra.",[10,3611,3612,3615],{},[13,3613,3614],{},"VRAM:"," memoria de la GPU, utilizada para pesos, cachés y otros datos de inferencia.",[10,3617,3618,3621],{},[13,3619,3620],{},"Cuantización:"," representación de pesos con precisión reducida, que ahorra memoria y puede afectar a la calidad.",[10,3623,3624,3627],{},[13,3625,3626],{},"Offload:"," traslado de parte del procesamiento o de los pesos a RAM\u002FCPU cuando no todo se mantiene en GPU.",[10,3629,3630,3633],{},[13,3631,3632],{},"Contexto:"," información enviada junto al segmento que se quiere traducir. Puede ayudar a resolver referencias o introducir confusión si se maneja mal.",[10,3635,3636,3639],{},[13,3637,3638],{},"Glosario:"," relación aprobada de nombres, términos, convenciones y traducciones fijas de una obra.",[10,3641,3642,3645],{},[13,3643,3644],{},"XHTML:"," lenguaje de marcado del contenido interno de muchos EPUB; no debe modificarse arbitrariamente durante la traducción.",[10,3647,3648,3651],{},[13,3649,3650],{},"OPF:"," archivo del EPUB que organiza metadatos, recursos y orden de lectura.",[10,3653,3654,3657],{},[13,3655,3656],{},"EPUBCheck:"," comprobador de conformidad EPUB; valida la estructura conforme a las especificaciones, no la fidelidad literaria del texto.",[10,3659,3660,3663],{},[13,3661,3662],{},"Ablación:"," experimento que añade o retira un componente para estimar su contribución, por ejemplo comparar A sin glosario con B utilizando el mismo modelo y prompt base.",[10,3665,3666,3669],{},[13,3667,3668],{},"Evaluación ciega:"," revisión de resultados ocultando qué modelo o condición los produjo, para reducir el sesgo del evaluador.",[10,3671,3672,3675],{},[13,3673,3674],{},"Falso negativo:"," error existente que un detector automático no señala.",[3089,3677],{},[10,3679,3680],{},[52,3681,3682],{},"Nota editorial final: este artículo describe un experimento exploratorio efectuado con software y archivos reales el 2 de noviembre de 2026. Los resultados se refieren a ese hardware, esos modelos, esas cuantizaciones, esos pasajes y esas versiones del código. No se presentan como un benchmark universal ni como una evaluación profesional de traducción japonesa.",[3684,3685,3686],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":248,"searchDepth":2134,"depth":2134,"links":3688},[3689,3690,3691,3694,3697,3701,3702,3707,3714,3719,3728,3732,3735,3736,3739,3742,3746,3754,3755,3758,3759,3760,3763,3764],{"id":59,"depth":2134,"text":60},{"id":88,"depth":2134,"text":89},{"id":130,"depth":2134,"text":131,"children":3692},[3693],{"id":233,"depth":2140,"text":234},{"id":256,"depth":2134,"text":257,"children":3695},[3696],{"id":370,"depth":2140,"text":371},{"id":420,"depth":2134,"text":3698,"children":3699},"4. Elegir textos de prueba: Rashōmon y The Canterville Ghost",[3700],{"id":476,"depth":2140,"text":477},{"id":495,"depth":2134,"text":496},{"id":607,"depth":2134,"text":608,"children":3703},[3704,3705,3706],{"id":725,"depth":2140,"text":726},{"id":762,"depth":2140,"text":763},{"id":855,"depth":2140,"text":856},{"id":1001,"depth":2134,"text":1002,"children":3708},[3709,3710,3711,3712,3713],{"id":1032,"depth":2140,"text":1033},{"id":1143,"depth":2140,"text":1144},{"id":1297,"depth":2140,"text":1298},{"id":1324,"depth":2140,"text":1325},{"id":1449,"depth":2140,"text":1450},{"id":1467,"depth":2134,"text":1468,"children":3715},[3716,3717,3718],{"id":1496,"depth":2140,"text":1497},{"id":1622,"depth":2140,"text":1623},{"id":1703,"depth":2140,"text":1704},{"id":1737,"depth":2134,"text":1738,"children":3720},[3721,3722,3723,3724,3725,3726,3727],{"id":1744,"depth":2140,"text":1745},{"id":1767,"depth":2140,"text":1768},{"id":1783,"depth":2140,"text":1784},{"id":1826,"depth":2140,"text":1827},{"id":1840,"depth":2140,"text":1841},{"id":1858,"depth":2140,"text":1859},{"id":1868,"depth":2140,"text":1869},{"id":1972,"depth":2134,"text":1973,"children":3729},[3730,3731],{"id":2030,"depth":2140,"text":2031},{"id":2074,"depth":2140,"text":2075},{"id":2096,"depth":2134,"text":2097,"children":3733},[3734],{"id":2203,"depth":2140,"text":2204},{"id":2222,"depth":2134,"text":2223},{"id":2290,"depth":2134,"text":2291,"children":3737},[3738],{"id":2405,"depth":2140,"text":2406},{"id":2421,"depth":2134,"text":2422,"children":3740},[3741],{"id":2570,"depth":2140,"text":2571},{"id":2612,"depth":2134,"text":2613,"children":3743},[3744,3745],{"id":2657,"depth":2140,"text":2658},{"id":2679,"depth":2140,"text":2680},{"id":2701,"depth":2134,"text":2702,"children":3747},[3748,3749,3750,3751,3752,3753],{"id":2708,"depth":2140,"text":2709},{"id":2715,"depth":2140,"text":2716},{"id":2729,"depth":2140,"text":2730},{"id":2736,"depth":2140,"text":2737},{"id":2750,"depth":2140,"text":2751},{"id":2757,"depth":2140,"text":2758},{"id":2774,"depth":2134,"text":2775},{"id":2860,"depth":2134,"text":2861,"children":3756},[3757],{"id":2909,"depth":2140,"text":2910},{"id":2987,"depth":2134,"text":2988},{"id":3037,"depth":2134,"text":3038},{"id":3093,"depth":2134,"text":3094,"children":3761},[3762],{"id":3258,"depth":2140,"text":3259},{"id":3506,"depth":2134,"text":3507},{"id":3596,"depth":2134,"text":3597},"2026-11-04","De una skill de Claude a cinco versiones de un traductor EPUB, 96 traducciones controladas, dos modelos especializados y un fallo que duplicaba al fantasma de Oscar Wilde.",false,"md",{},true,"\u002Farticulos\u002Ftraducir-novelas-con-una-rtx-3080",{"title":5,"description":3766},"articulos\u002Ftraducir-novelas-con-una-rtx-3080",[3775,3776,3777,387],"ia","traduccion","japones","tecnico","X4W6Nf-UI9FJLv9QRjDBVKI4FeLWKloaNz6RSLbqI9g",null,1793761187662]