eyewitness / STATUS.md
Fcabla's picture
Upload folder using huggingface_hub
e1b885e verified
|
Raw
History Blame Contribute Delete
4.02 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade

EYEWITNESS — Estado y backlog de iteración (12 jun 2026, mañana)

Estado del sistema

Componente Estado Evidencia
Juego core completo en el Space (ZeroGPU) ✅ estable múltiples rondas verificadas en prod
Parser fine-tune (Fcabla/MiniCPM5-1B-eyewitness) ✅ en vivo "caterpillar eyebrows"→retrato correcto
Pulla viva (1B base) + voz viva (VoxCPM2 anchor) ✅ mecánicamente / ⚠️ calidad logs [taunt] ok+[voice] ok 3-4s; pero ver backlog F2/F3
Preload canónico ZeroGPU + duraciones 20/30s [startup] models preloaded; quota-admisible
Cascada de fallbacks ✅ probada nunca rompió prod en ningún fallo
Banco casos/voces/anchors (Modal) verificados por transcripción whisper

Latencia percibida: aceptable (palabra de Fernando). GitHub/dataset/model publicados.

BACKLOG DE FEEDBACK (Fernando, 12 jun) — por orden de ataque

  • F1 · UI: textos invisibles sobre fondo blanco (light mode) — bug de contraste; además pase general /frontend-design ("hay que pulir más"). Primera tarea: reproducir en light mode.
  • F2 · Calidad de las pullas: el 1B confunde la voz narrativa (habla como testigo, no como ladrón) y no se percibe la personalización. Diagnóstico en logs: "A headache! I never noticed your fancy hat!". Candidatos: prompt más restringido, temperatura menor, o plantilla determinista desde el diff + el modelo solo adorna (honest fit). Probar en local con la 4090.
  • F3 · Voz: siempre suena la misma (femenina), alta y regular. Los 3 anchors no se diferenciaron — VoxCPM2 LEYÓ las descripciones de estilo pero no las OBEDECIÓ (gamble fallido). Plan: con la 4090 local, generar ~20 candidatos de anchor, medir pitch (f0) y elegir 3 genuinamente distintos (grave/medio/agudo) + normalizar volumen (está clipeando o muy alto).
  • F4 · "No queda claro qué modelo hace qué en cada momento" — UX de visibilidad del modelo: badges por pantalla ("MiniCPM5-1B parseando tu testimonio…"), el cuaderno del retratista (mapeo palabra→atributo visible), retrato construyéndose rasgo a rasgo.
  • F5 · Testimonio HABLADO (idea Fernando): ASR para hablar en vez de escribir. Decisión (12 jun): Cohere Transcribe 2B en exclusiva (sponsor award; sube runtime a ~5.7B, sigue ≤32B sobrado). Sin fallback whisper — no puntúa para ningún premio. Idioma del testigo (EN/ES) elegido por log-prob entre ambos decoder prompts.
  • F6 · Imagen realista del sospechoso (idea Fernando): generar una "foto policial" realista desde el retrato/atributos, al final o en el loop. Opciones: img2img/ControlNet sobre el SVG, SDXL-Turbo (~3.5B) o FLUX (12B, rompe presupuesto Tiny Titan si computa runtime). Pesada: evaluar coste/beneficio DESPUÉS de F1-F4. Posible modo "ficha policial final" como recompensa.

Recursos nuevos

  • RTX 4090 local disponible — probar modelos/voces/prompts en local, sin quemar cuota ZeroGPU ni ciclos de deploy. (Falta instalar torch CUDA en el venv; los drivers ya están.)

Lecciones ZeroGPU (no repetir)

  1. La cuota ADMITE por duración SOLICITADA vs restante — pedir 90s "por seguridad" hace inadmisibles las llamadas. Pedir pequeño (20-30s).
  2. Patrón canónico: cargar modelos a CPU en el arranque (preload() en __main__), .to(cuda) dentro de la función @spaces.GPU — las llamadas pasan de 30-60s a 3-8s.
  3. Los usuarios anónimos pueden tener 0s de cuota → la cascada de fallbacks no es opcional.
  4. El bloque __main__ no se ejercita con from app import demo — usar compile() del fichero.

Lo que NO está en discusión (congelado)

Mecánica del juego, motor de caras, rueda-desde-errores, scoring transparente, póster, deploy pipeline. La iteración es: UI/contraste, calidad pulla+voz, visibilidad del modelo, y (si hay margen) ASR y/o imagen realista. El vídeo de submission sigue siendo el único entregable duro pendiente — deadline 15 jun.