feat(episode): EXPLORA_el-error-de-marco-para-clasificar-no-se_S20260601.R64_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: TESSERA | Type: troubleshooting Summary: EPISODIO 64 — BLINDADAS: El error de marco: para clasificar NO se necesita un LL
This commit is contained in:
parent
e5dca72591
commit
e6353f4202
1 changed files with 50 additions and 0 deletions
|
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
episode_id: "b743ac33-1537-4740-af1a-eb2a6b66d2d1"
|
||||||
|
puente_flat: "EXPLORA_el-error-de-marco-para-clasificar-no-se_S20260601.R64_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260601.LUMEN_CAPACIDAD_LLM_LIGERO"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "TESSERA"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 64 — BLINDADAS: El error de marco: para clasificar NO se necesita un LLM gen"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-06-06T10:01:36.422015+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
**Empírico primero:** en LUMEN ahora mismo **no hay nada más pequeño que 7B**. El inventario completo:
|
||||||
|
|
||||||
|
Para probar uno pequeño habría que descargarlo. Pero antes, **el giro que importa** (y responde tu pregunta de fondo):
|
||||||
|
|
||||||
|
## El error de marco: para clasificar NO se necesita un LLM generativo
|
||||||
|
|
||||||
|
El cuello que medimos (prefill + generación token-por-token) es **inherente a los LLM generativos**. Pero una *clasificación* (salida = una etiqueta) no necesita generar texto. La herramienta correcta es un **encoder** (familia BERT): una sola pasada hacia adelante produce la etiqueta en **~10-50 ms en CPU**, sin generación autorregresiva. Eso **elimina** el timeout, no lo reduce.
|
||||||
|
|
||||||
|
| Enfoque | Velocidad CPU (episodio) | Para qué |
|
||||||
|
|---|---|---|
|
||||||
|
| LLM generativo 14B (lo que probamos) | 112s 🔴 | nada viable |
|
||||||
|
| LLM generativo pequeño (0.5-1.5B) | ~10-20s 🟠 | generación corta (HyDE) |
|
||||||
|
| **Encoder clasificador** (ModernBERT/DeBERTa-v3-small, ~150M) | **~10-50 ms** 🟢 | **clasificación** |
|
||||||
|
| **Embeddings + cabeza clasificadora** (ya tienes embeddings) | **~ms** 🟢 | clasificación EMBER-native |
|
||||||
|
|
||||||
|
*(La fila 14B es hard_fact medido; el resto es inferencia técnica basada en la arquitectura encoder-vs-decoder.)*
|
||||||
|
|
||||||
|
## Existe, y es esto (responde tu "¿existe alguno?")
|
||||||
|
|
||||||
|
**Sí — pero el especializado correcto NO es un LLM más chico, es un clasificador encoder:**
|
||||||
|
1. **ModernBERT** (Answer.AI, 2024) — ~150M, contexto 8k, hecho para clasificación rápida en CPU.
|
||||||
|
2. **DeBERTa-v3-small** — ~140M, clasificación fuerte.
|
||||||
|
3. **Embeddings + regresión logística / MLP pequeña** — ya corres un modelo de embeddings; embeber el episodio + una cabeza entrenada = clasificación en milisegundos. **El encaje más natural para EMBER** (los embeddings ya están en el pipeline).
|
||||||
|
|
||||||
|
Para lo que **sí** necesita generar (HyDE, resúmenes), un generativo de **0.5-1.5B** (Qwen2.5-0.5B/1.5B, SmolLM2, Gemma-2-2B, Llama-3.2-1B) — y la palanca extra: **clasificar desde un resumen/campos del episodio, no los 1700 tokens crudos** (corta el cuello ~8×).
|
||||||
|
|
||||||
|
## Te lo pruebo empíricamente — ¿cuál?
|
||||||
|
1. **Descargo `qwen2.5:1.5b` (~1GB) en LUMEN y mido el episodio** → número real de un generativo pequeño en CPU. *(15 min, modifica LUMEN.)*
|
||||||
|
2. **Prototipo embeddings + clasificador** (la solución real) → mido latencia de clasificar un episodio en ms. *(El fix arquitectónico.)*
|
||||||
|
3. **Ambas** — comparar generativo-pequeño vs encoder con datos.
|
||||||
|
|
||||||
|
Mi inclinación: **opción 2** (es la que de verdad resuelve el timeout), pero si quieres ver primero si un LLM pequeño basta, **opción 1** es rápida. ¿Cuál corro?
|
||||||
Loading…
Reference in a new issue