Instructions to use CarlosAGDev/ltv-lora-clf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use CarlosAGDev/ltv-lora-clf with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("google/gemma-4-E2B-it") model = PeftModel.from_pretrained(base_model, "CarlosAGDev/ltv-lora-clf") - Notebooks
- Google Colab
- Kaggle
Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -12,106 +12,103 @@ tags:
|
|
| 12 |
|
| 13 |
# CarlosAGDev/ltv-lora-clf
|
| 14 |
|
| 15 |
-
LoRA-CLF (v0.2.
|
| 16 |
canonicas AVeriTeC) como segundo paso del pipeline de Triage.
|
| 17 |
|
| 18 |
-
## Mejoras en v0.2.
|
| 19 |
|
| 20 |
-
- **
|
| 21 |
-
|
| 22 |
-
- **
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
- **Split estratificado:** garantiza que las 5 clases aparezcan en el eval set con
|
| 27 |
-
su proporcion real (fix directo del soporte=0 en 3 clases en v0.1.0).
|
| 28 |
-
|
| 29 |
-
## Categorias
|
| 30 |
-
|
| 31 |
-
| Clase | Proporcion en train (aprox) |
|
| 32 |
-
| :--- | :---: |
|
| 33 |
-
| Event/Property Claim | 62% |
|
| 34 |
-
| Numerical Claim | 27% |
|
| 35 |
-
| Causal Claim | 6% |
|
| 36 |
-
| Quote Verification | 3% |
|
| 37 |
-
| Position Statement | 2.5% |
|
| 38 |
|
| 39 |
## Detalles del Entrenamiento
|
| 40 |
|
| 41 |
| Parametro | Valor |
|
| 42 |
| :--- | :--- |
|
| 43 |
| **Modelo Base** | `google/gemma-4-E2B-it` |
|
|
|
|
| 44 |
| **Max Sequence Length** | `384` |
|
| 45 |
| **Epochs** | `1` |
|
| 46 |
| **Batch Size (Per Device)** | `4` |
|
| 47 |
| **Gradient Accumulation** | `4` |
|
| 48 |
| **Learning Rate** | `2e-4` |
|
| 49 |
| **Optimizer** | `paged_adamw_8bit` |
|
| 50 |
-
| **
|
| 51 |
-
| **
|
| 52 |
|
| 53 |
-
## Resultados (v0.2.
|
| 54 |
|
| 55 |
### Metricas globales
|
| 56 |
|
| 57 |
-
| Metrica | v0.
|
| 58 |
-
| :--- | :---: | :---: |
|
| 59 |
-
| **Accuracy** | 0.
|
| 60 |
-
| **F1
|
| 61 |
-
| **F1
|
| 62 |
-
|
|
| 63 |
-
|
| 64 |
-
> **Nota sobre la comparacion:** las metricas de v0.1.0 son infladas — 3 de 5 clases
|
| 65 |
-
> tenian soporte=0 en eval, por lo que se media sobre un problema de 2 categorias.
|
| 66 |
-
> El F1 macro (que penaliza clases ausentes) es la metrica comparable: paso de 0.39 a 0.56.
|
| 67 |
|
| 68 |
-
### Por clase (v0.2.
|
| 69 |
|
| 70 |
| Clase | Precision | Recall | F1 | Support |
|
| 71 |
| :--- | :---: | :---: | :---: | :---: |
|
| 72 |
-
| Event/Property Claim | 0.
|
| 73 |
-
| Numerical Claim | 0.
|
| 74 |
-
| Causal Claim | 0.
|
| 75 |
-
| Quote Verification | 0.
|
| 76 |
-
| Position Statement | 0.
|
| 77 |
-
|
| 78 |
-
### Matriz de confusion (v0.2.
|
| 79 |
-
|
| 80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
|
| 82 |
### Hallazgos principales
|
| 83 |
|
| 84 |
-
**
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
**
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
- **
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
# CarlosAGDev/ltv-lora-clf
|
| 14 |
|
| 15 |
+
LoRA-CLF (v0.2.1) del LTV Framework. Clasifica el tipo de una afirmacion (5 categorias
|
| 16 |
canonicas AVeriTeC) como segundo paso del pipeline de Triage.
|
| 17 |
|
| 18 |
+
## Mejoras en v0.2.1
|
| 19 |
|
| 20 |
+
- **Segundo maestro:** re-anotado con `gemini-3.5-flash` en vez de `gemini-3.1-flash-lite`.
|
| 21 |
+
Mismo pool base, mismos prompts v2, mismos hiperparametros que v0.2.0.
|
| 22 |
+
- **Motivacion:** v0.2.0 tuvo precision de Position Statement = 0.12 (categoria de
|
| 23 |
+
escape ante duda con Event/Property). El maestro 3.5-flash tambien es mas selectivo
|
| 24 |
+
en Task 1 (check-worthy 45.3% vs 65.6% del lite), asi que el pool de entrada a CLF
|
| 25 |
+
es mas chico pero mas limpio (3,374 vs 4,879 check-worthy).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
## Detalles del Entrenamiento
|
| 28 |
|
| 29 |
| Parametro | Valor |
|
| 30 |
| :--- | :--- |
|
| 31 |
| **Modelo Base** | `google/gemma-4-E2B-it` |
|
| 32 |
+
| **Maestro anotador** | `gemini-3.5-flash` |
|
| 33 |
| **Max Sequence Length** | `384` |
|
| 34 |
| **Epochs** | `1` |
|
| 35 |
| **Batch Size (Per Device)** | `4` |
|
| 36 |
| **Gradient Accumulation** | `4` |
|
| 37 |
| **Learning Rate** | `2e-4` |
|
| 38 |
| **Optimizer** | `paged_adamw_8bit` |
|
| 39 |
+
| **Eval set** | 338 claims |
|
| 40 |
+
| **Tiempo de evaluacion** | 35m (6.22 s/ejemplo) |
|
| 41 |
|
| 42 |
+
## Resultados (v0.2.1)
|
| 43 |
|
| 44 |
### Metricas globales
|
| 45 |
|
| 46 |
+
| Metrica | v0.2.0 (lite) | v0.2.1 (3.5-flash) |
|
| 47 |
+
| :--- | :---: | :---: |
|
| 48 |
+
| **Accuracy** | 0.621 | **0.728** |
|
| 49 |
+
| **F1 macro** | 0.56 | **0.65** |
|
| 50 |
+
| **F1 weighted** | 0.650 | **0.745** |
|
| 51 |
+
| **JSON valido** | — | 100% (0 fallos) |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
|
| 53 |
+
### Por clase (v0.2.1, eval n=338)
|
| 54 |
|
| 55 |
| Clase | Precision | Recall | F1 | Support |
|
| 56 |
| :--- | :---: | :---: | :---: | :---: |
|
| 57 |
+
| Event/Property Claim | 0.77 | 0.74 | 0.76 | 159 |
|
| 58 |
+
| Numerical Claim | 0.93 | 0.81 | 0.87 | 101 |
|
| 59 |
+
| Causal Claim | 0.81 | 0.39 | 0.53 | 33 |
|
| 60 |
+
| Quote Verification | 0.81 | 0.59 | 0.68 | 29 |
|
| 61 |
+
| Position Statement | 0.27 | 1.00 | 0.42 | 16 |
|
| 62 |
+
|
| 63 |
+
### Matriz de confusion (v0.2.1)
|
| 64 |
+
|
| 65 |
+
```
|
| 66 |
+
Ev/Prop Numerical Causal Quote Position
|
| 67 |
+
Ev/Prop 118 2 2 4 33
|
| 68 |
+
Numerical 15 82 1 0 3
|
| 69 |
+
Causal 18 1 13 0 1
|
| 70 |
+
Quote 2 3 0 17 7
|
| 71 |
+
Position 0 0 0 0 16
|
| 72 |
+
```
|
| 73 |
|
| 74 |
### Hallazgos principales
|
| 75 |
|
| 76 |
+
**Numerical Claim resuelto:** recall subio de 0.37 (v0.2.0) a **0.81** manteniendo
|
| 77 |
+
precision alta (0.93). En v0.2.0 el modelo reconocia Numerical cuando lo veia pero
|
| 78 |
+
perdia el 63% de los casos bajo ruido narrativo; con el maestro 3.5-flash esa
|
| 79 |
+
confusion casi desaparecio.
|
| 80 |
+
|
| 81 |
+
**Position Statement — mejora parcial:** recall subio de 0.75 a **1.00** (el modelo ya
|
| 82 |
+
no deja pasar ningun Position real) y F1 casi se duplico (0.20 -> 0.42). Pero la
|
| 83 |
+
precision sigue baja (0.12 -> 0.27): el modelo TODAVIA usa Position como categoria de
|
| 84 |
+
escape para E/P dudosos, **a la misma tasa que en v0.2.0** (33/159 = 20.8% de los E/P
|
| 85 |
+
reales, vs 53/255 = 20.8% en v0.2.0 — identico). Cambiar de maestro mejoro la cobertura
|
| 86 |
+
de Position pero no resolvio la frontera E/P-vs-Position en si misma.
|
| 87 |
+
|
| 88 |
+
**Regresion en Quote Verification:** recall bajo de 0.76 a **0.59** (17/29 vs 22/29
|
| 89 |
+
correctos). De los 12 Quote mal clasificados, 7 se confunden con Position — una
|
| 90 |
+
confusion nueva que no era prominente en v0.2.0. A vigilar en v0.2.2.
|
| 91 |
+
|
| 92 |
+
**Causal se mantiene estancado:** F1 identico a v0.2.0 (0.53), con mejor precision
|
| 93 |
+
(0.64 -> 0.81) pero peor recall (0.45 -> 0.39). 18 de 33 Causal reales se confunden
|
| 94 |
+
con Event/Property.
|
| 95 |
+
|
| 96 |
+
## Limitaciones conocidas
|
| 97 |
+
|
| 98 |
+
- **La frontera E/P vs Position no se resuelve solo cambiando de maestro:** la tasa de
|
| 99 |
+
confusion (~21%) es identica en v0.2.0 y v0.2.1. Es el problema mas persistente del
|
| 100 |
+
adaptador CLF y el candidato principal para v0.2.2 (razonamiento con checklist
|
| 101 |
+
verbalizado) o para oversampling/hard-negatives en v0.3.0.
|
| 102 |
+
- **Dataset sintetico como referencia:** las etiquetas provienen de `gemini-3.5-flash`
|
| 103 |
+
con prompts v2 — miden imitacion del maestro, no calidad absoluta.
|
| 104 |
+
- **Eval set mas chico que v0.2.0** (338 vs 488): consecuencia de que el maestro
|
| 105 |
+
3.5-flash es mas selectivo en Task 1, reduciendo el pool de check-worthy disponible
|
| 106 |
+
para CLF. Las clases minoritarias (Position n=16, Causal n=33) siguen siendo chicas.
|
| 107 |
+
|
| 108 |
+
## Proximo paso
|
| 109 |
+
|
| 110 |
+
**v0.2.2** entrena sobre el mismo maestro y pool pero con razonamiento verbalizado
|
| 111 |
+
(el modelo recorre el checklist Quote -> Position -> Causal -> Numerical -> E/P en un
|
| 112 |
+
bloque de pensamiento antes de responder). Hipotesis directa: verbalizar el descarte
|
| 113 |
+
explicito de cada categoria deberia reducir la confusion E/P-vs-Position que sobrevivio
|
| 114 |
+
al cambio de maestro.
|