Integracao com CaptionFlow¶
SimpleTuner pode usar CaptionFlow para legendar datasets de imagem pela Web UI. CaptionFlow e um sistema escalavel de captioning com vLLM, orquestrador, workers GPU, storage com checkpoints e configuracao YAML. No SimpleTuner ele aparece como a subaba Captioning na pagina Datasets, usando a mesma fila local de GPU que os jobs de treino e cache.
Use esta integracao para gerar ou atualizar captions antes do treino sem sair do fluxo do SimpleTuner.
Instalacao¶
CaptionFlow e opcional. Instale o target de captioning no mesmo virtualenv usado pelo SimpleTuner:
Em ambientes CUDA 13, use o target CUDA 13 mostrado pela Web UI. Ele inclui a wheel do vLLM esperada por esse runtime.
O que o SimpleTuner gerencia¶
Ao iniciar um job de Captioning, o SimpleTuner:
- mapeia o dataset selecionado para um processador do CaptionFlow;
- inicia um orquestrador CaptionFlow local em
127.0.0.1; - inicia um ou mais workers GPU locais pela fila de jobs;
- captura logs do orquestrador e dos workers no workspace do job;
- faz checkpoint gracioso do storage do CaptionFlow antes da exportacao;
- grava captions
.txtno diretorio do dataset para datasets locais; - grava exportacoes JSONL no workspace do CaptionFlow para datasets Hugging Face.
As dependencias do CaptionFlow nao sao necessarias para a aba aparecer. Se elas estiverem ausentes, a aba mostra o comando de instalacao no lugar do builder.
Modo Builder¶
A tela Builder cobre o fluxo comum de captioning em uma unica etapa:
- selecao de dataset da configuracao ativa do dataloader;
- modelo, prompt, sampling, batch size, chunk size e memoria GPU;
- quantidade de workers e comportamento da fila;
- exportacao de arquivos de texto para datasets locais.
O modelo padrao e Qwen/Qwen2.5-VL-3B-Instruct. Datasets locais exportam arquivos de texto ao lado das imagens usando o campo de saida selecionado. Datasets Hugging Face nao sao escritos de volta no dataset remoto; eles exportam JSONL para o workspace do CaptionFlow.
Modo Raw Config¶
Use Raw Config quando precisar de recursos do CaptionFlow que o builder nao modela, como captioning multiestagio, modelos por estagio, sampling por estagio ou cadeias de prompts em que um estagio consome a saida de outro.
Raw config aceita YAML ou JSON. Voce pode colar a config completa com raiz orchestrator: ou apenas o objeto do orquestrador.
O SimpleTuner sobrescreve estes campos em runtime:
host,portessl;dataset, baseado no dataset selecionado no SimpleTuner;storage.data_direstorage.checkpoint_dir, dentro do workspace do job;auth.worker_tokenseauth.admin_tokens.
Outros ajustes, incluindo chunk_size, chunks_per_request, storage.caption_buffer_size, vllm.sampling, vllm.inference_prompts e vllm.stages, sao preservados salvo quando o SimpleTuner precisa aplicar um default.
Exemplo multiestagio¶
Este raw config executa uma etapa de caption detalhado e passa {caption} para uma etapa de encurtamento. O SimpleTuner preenche dataset, paths de storage, portas e tokens no lancamento do job.
orchestrator:
chunk_size: 1000
chunks_per_request: 1
chunk_buffer_multiplier: 2
min_chunk_buffer: 10
vllm:
model: "Qwen/Qwen2.5-VL-3B-Instruct"
tensor_parallel_size: 1
max_model_len: 16384
dtype: "float16"
gpu_memory_utilization: 0.92
enforce_eager: true
disable_mm_preprocessor_cache: true
limit_mm_per_prompt:
image: 1
batch_size: 8
sampling:
temperature: 0.7
top_p: 0.95
max_tokens: 256
stages:
- name: "base_caption"
prompts:
- "describe this image in detail"
output_field: "caption"
- name: "caption_shortening"
model: "Qwen/Qwen2.5-VL-7B-Instruct"
prompts:
- "Please condense this elaborate caption to only the important details: {caption}"
output_field: "captions"
requires: ["base_caption"]
gpu_memory_utilization: 0.35
Documentacao externa¶
Use os exemplos upstream como referencia para campos avancados. Ao executar pelo SimpleTuner, lembre-se de que o SimpleTuner controla o dataset, portas locais, paths do workspace de storage e tokens de autenticacao.