ArtificialGuyBR

Home / Blog / Training LoRAs

Captioning 2026: JoyCaption, WD Tagger y etiquetado manual

Compara los 12 estilos de caption de JoyCaption Beta One y el control de palabras con el batch ONNX de WD Tagger y el etiquetado manual escalable.

10 sources cited Training LoRAs

Captioning 2026: JoyCaption, WD Tagger y etiquetado manual

TL;DR

  • JoyCaption Beta One ofrece 12 estilos de caption (Descriptivo, Directo, SD Prompt, tags de Danbooru, etc.) y control de cantidad de palabras de 20 a 260, con ~17 GB de VRAM (bfloat16) y opciones de cuantización de 8 bits y 4 bits vía ComfyUI.
  • WD Tagger v3 (ViT o SwinV2) usa ONNX con una dimensión de lote no fija, así que puedes procesar miles de imágenes en una sola llamada — ideal para pipelines de preparación de datasets.
  • El etiquetado manual sigue siendo el techo de calidad: el flujo "Datasets for Dummies" de Civitai combina tags de booru con tags de IA y luego exige una revisión manual completa archivo por archivo.

Por qué importa la elección de la herramienta de captioning

Entrenar modelos de difusión vive o muere por la calidad del caption. Un modelo entrenado con captions vagos, repetitivos o autocensurados alucina, ignora prompts o rechaza conceptos NSFW. Los tres caminos habituales — captioning con VLM (JoyCaption), ensambles de taggers (WD Tagger) y humano en el bucle — cubren puntos distintos del triángulo velocidad/calidad/costo.


¿Qué es JoyCaption Beta One?

JoyCaption Beta One es un Visual Language Model (VLM) construido sobre la arquitectura LLaVA: un codificador de visión SigLIP2-SO400M fusionado con Llama-3.1-8B-Instruct. Los pesos tienen licencia Apache-2.0, gratis para descargar y ejecutar localmente. A diferencia de los VLM comerciales, fue entrenado con balance explícito SFW/NSFW y sin eufemismos del tipo "objeto cilíndrico".

Especificaciones clave:

ParámetroValorSource
LLM basemeta-llama/Llama-3.1-8B-InstructHF
Codificador de visióngoogle/siglip2-so400m-patch14-384HF
dtype nativobfloat16GitHub
VRAM (bfloat16)~17 GBGitHub
Cuantización8 bits, 4 bits NF4 (doble cuantización)ComfyUI nodes
Muestras de entrenamiento (Beta One)2,4 millonesCivitai
Rondas de DPO2 (10k + 20k pares de preferencia)Civitai

Métricas de rendimiento:

MétricaValorSource
Tasa de fallos (general)1,5% tras DPOCivitai
Tasa de fallos (SD Prompt)~3%Civitai
Precisión en evaluación humana67% (Beta One)Civitai
Precisión en evaluación humana55% (Alpha Two, GPT-4o)Civitai
Puntuación de tag augmentation6,51/10 (juez VLM SOTA)Civitai

Estilos de caption y control de longitud en JoyCaption

El nodo de ComfyUI expone 12 tipos de caption y un selector de longitud de doble modo.

Menú de tipos de caption

Tipo de captionCaso de uso
DescriptivoCaptions para datasets, texto alternativo
Descriptivo (casual)Descripciones legibles para humanos
DirectoPunto intermedio
Stable Diffusion PromptPrompting directo (imita prompts de usuarios)
MidJourneyModificadores artísticos estilo MJ
Lista de tags DanbooruEntrenamiento estilo booru (category:tag)
Lista de tags e621Entrenamiento en formato e621
Lista de tags Rule34Entrenamiento en formato Rule34
Lista de tags tipo booruEntrenamiento booru genérico
Crítica de arteAnálisis/retroalimentación
Ficha de productoCaptions para e-commerce
Post de redes socialesTexto alternativo para Instagram/Twitter

Control de longitud

El selector acepta etiquetas descriptivas (very short … very long) o cantidades exactas de palabras (20, 30, … 260 en pasos de 10). Esto permite llenar plantillas de forma determinista tanto para casos de uso casuales como técnicos.


WD Tagger v3: arquitecturas e inferencia por lotes

La guía "Datasets for Dummies" (Civitai 2217) describe un pipeline híbrido: extraer datos de boorus, etiquetar todo con WD Tagger (vía wd14_tagger.py de Kohya-ss o el Dataset Helper Colab de Holostrawberry), fusionar los conjuntos de tags y luego hacer una pasada de QA manual completa archivo por archivo. Los equipos paralelizan entre anotadores con una guía de estilo compartida. Estimación de tiempo: ~30–60 s por imagen.

La guía "Datasets for Dummies" describe un pipeline híbrido:

  1. Extraer de boorus — con tags previas, pero ruidosas.
  2. Etiquetar todo con IA — ejecutar WD Tagger (vía el script wd14_tagger de Kohya-ss o el Dataset Helper Colab de Holostrawberry) incluso en imágenes de booru.
  3. Fusionar conjuntos de tags — concatenación con PowerShell/Notepad++, deduplicar, ordenar alfabéticamente.
  4. Poner en lista negra tags de conteo/relación — 1girl, 2girls, multiple girls, brother and sister, etc. (el tagger no sabe contar relaciones).
  5. Pasada de QA manual — cada archivo, confirmar/eliminar/añadir tags. "Etiqueta todo: cada prenda, color de ojos, color de cabello."

Estimación de tiempo: ~30–60 s por imagen en revisión exhaustiva, pero produce los conjuntos de entrenamiento más limpios. Los equipos paralelizan la pasada manual entre anotadores.


Comparación de herramientas por lotes

HerramientaModo por lotesRendimientoHardwareMejor para
JoyCaption (vLLM)API compatible con OpenAI, caché de prefijos~2–4 img/sGPU de 24 GB+Contenido mixto, lenguaje natural
JoyCaption (ComfyUI)Bucle de nodos, cuantización~1–2 img/s (4 bits)GPU de 12–16 GBExperimentación local, variedad de estilos
WD Tagger ONNXModelo ONNX con dimensión de lote no fija50–200 img/sGPU de 8–16 GB / CPUExtracción pura de tags, anime/booru
Kohya-ss wd14_tagger.pyRecorrido de directorio, secuencial~5–10 img/sGPU de 8 GB+Preparación directa de datasets, se integra con el entrenamiento
Manual (equipo)Humanos en paralelo~1–2 img/min/personaCualquieraCalidad crítica, datasets pequeños/medianos
Nota: JoyCaption en vLLM (vllm serve fancyfeast/llama-joycaption-beta-one-hf-llava --max-model-len 4096 --enable-prefix-caching) es el único camino de nivel producción para captioning en lenguaje natural.

Errores comunes y soluciones

SíntomaCausaSoluciónSource
JoyCaption se queda sin memoria en 24 GBModelo bfloat16 + caché KV > VRAMUsar cuantización 4 bits NF4 o vLLM con --gpu-memory-utilization 0.85GitHub
JoyCaption repite tags en modo BooruModelo pre-DPO o temperatura altaActualizar a Beta One; usar temperature=0.3, top_p=0.9Civitai
WD Tagger omite tags de personajesTags de personajes filtradas con <600 imágenesAñadir personajes conocidos a mano; usar tag augmentation de JoyCaptionHF
processor.apply_chat_template produce <bos> duplicadoCombinación incorrecta de plantilla de chatUsar el fragmento de la tarjeta del modelo en HF: llamadas exactas de apply_chat_template y processorHF
El tagger de Kohya-ss escribe saltos de línea duplicadosArtefacto del script de fusión en PowerShellEjecutar sed -i 's/\r\n/, /g' *.txt tras la fusión, luego deduplicarGitHub

FAQ

¿Qué estilo de caption para fine-tuning de SDXL? Directo o modo Stable Diffusion Prompt. Directo da lenguaje natural limpio (~50–100 palabras) que SDXL entiende bien. El modo SD Prompt imita prompts de usuarios, pero tiene una tasa de fallos del 3% y menor variedad tras el DPO.

¿Puede JoyCaption correr en 12 GB de VRAM? Sí, con cuantización 4 bits NF4 (preset "Maximum Savings" de ComfyUI). Espera ~1–2 img/s. Para cargas por lotes, usa vLLM en una tarjeta de 24 GB+.

¿Qué backbone de WD Tagger es mejor: ViT o SwinV2? SwinV2 (wd-swinv2-tagger-v3) logra un F1 mayor (0,4541 vs 0,4402) y tiene 7× más descargas. Para anime/booru, prefiere SwinV2; para fotorrealismo, ViT puede generalizar mejor. HF ViT | HF SwinV2

¿Cómo fusiono tags de booru con tags de IA sin duplicados? La guía de Civitai usa PowerShell para concatenar archivos .txt del mismo nombre de dos carpetas, luego un reemplazo con regex en Notepad++ de \r\n → , , y después deduplica. El wd14_tagger de Kohya-ss tiene --undesired_tags para filtrar tags específicas; la deduplicación se hace tras la fusión con herramientas de texto. Civitai | GitHub

¿JoyCaption soporta tag augmentation? Sí, Beta One añade tag augmentation: pasa tags de booru separadas por comas y el modelo las integra (evaluado en 6,51/10 por un VLM SOTA). Usa extra_options: "tag_augmentation: tag1, tag2, tag3" en el nodo de ComfyUI. ComfyUI nodes | Civitai

¿Cuál es la tasa de fallos de JoyCaption Beta One? 1,5% general tras el DPO (SD Prompt: ~3%). Los VLM comerciales (GPT-4o) reportan ~0,01%. Civitai

¿Puedo usar WD Tagger ONNX en CPU? Sí. El proveedor de CPU de onnxruntime funciona; el rendimiento es de ~5–10 img/s, sin GPU. Instala onnxruntime≥1.17.0 y carga el archivo .onnx. HF

¿Cómo evalúo la calidad del caption automáticamente? No existe una métrica automática estándar. El autor de JoyCaption usa una evaluación manual exigente: +1 por detalle preciso, −1 por detalle impreciso, normalizado contra un caption "perfecto" escrito por un humano. Beta One puntúa 67% vs Alpha Two 55% vs GPT-4o 55%. Civitai


Sources

  1. JoyCaption GitHub — architecture, VRAM, licensing
  2. JoyCaption ComfyUI nodes — caption types, length choices
  3. JoyCaption HF model card — specs, usage snippet
  4. WD ViT Tagger v3 model card — training data, validation, ONNX
  5. WD SwinV2 Tagger v3 model card — architecture, metrics
  6. WD v1-4 model card — legacy reference
  7. Kohya-ss sd-scripts README — wd14_tagger link
  8. Civitai: JoyCaption Beta One — training samples, DPO, benchmarks
  9. Civitai: Datasets for Dummies — hybrid tagging workflow
  10. Civitai: Prompts Creator — paid manual tagging tool

Enlaces internos