ilsocio-brain โ€” il modello locale (L1 โ†’ L8) + storico training

โญโญ MODELLO DEFINITIVO (l'ultimo, il top) โ€” innesto_L1L8/

Il Socio locale end-to-end, validato. Non รจ un singolo file di pesi: รจ una pipeline in 3 pezzi, perchรฉ il principio รจ che il modello NON dice il fisco โ€” estrae i fatti e ri-verbalizza, i numeri/verdetti li mette il codice deterministico.

messaggio โ†’ [L1] estrae i fatti โ†’ [deterministico L2โ€“L7] verdetto + norma + numeri โ†’ [L8] risposta calda e fedele
  • L1 ยท estrazione โ†’ i 13 fatti ostativi (JSON si/no/non_detto). Estrattore validato: acc_classe 75.2%, CONFIDENTLY_WRONG = 0 sul golden held-out.
  • Deterministico (L2โ€“L7) โ†’ verifica, schema firmato, lookup ATECO, verdetto a 2 lenti, DEFER fail-closed, calcoli. Ogni numero/norma dal codice, mai dai pesi.
  • L8 ยท risposta โ†’ base Qwen2.5-3B-8bit + persona ยซil Socioยป: verbalizza il verdetto fedele e caldo, senza inventare. Chiacchiere โ†’ tono da persona.

Sicurezza (la cosa che conta): mai un falso "puoi aprire tranquillo" su un caso ostativo.

๐Ÿ“„ Il flusso completo, cosa fa ogni passaggio โ†’ innesto_L1L8/PERCORSO_L1_L8.md ๐Ÿ› ๏ธ Il runner end-to-end โ†’ innesto_L1L8/socio_locale.py ยท โ–ถ๏ธ python innesto_L1L8/socio_locale.py --chat โœ… La validazione โ†’ innesto_L1L8/test/valida_L1.py

Nota: la lezione chiave โ€” L1 (estrazione) si addestra benissimo; L8 (risposta) NO (su un instruct forte il fine-tune rompe). Perciรฒ il definitivo = L1 addestrato + deterministico + L8 base guidato, non un mega fine-tune. Le prove in innesto_L1L8/train/.


Storico training precedente (esperimenti conversazionali v1.2 โ†’ v1.8)

Combo conversazionale migliore dei giri precedenti: lora_estrazione_v1.7/finale + lora_conversazione_v1.6/finale. Le v1.8 erano esperimenti sul dataset pulito.

Archivio di tutti i training del progetto ilsocio-brain. Serve come storico versionato: ogni cartella รจ uno stato salvato del lavoro, per non perdere nessun adapter/modello.

Base model: mlx-community/Qwen2.5-3B-Instruct-4bit.

Contenuto

cartella cosa contiene
lora_conversazione/ modello fuso HF โ€” task conversazione
lora_conversazione_v1.2/ modello fuso HF โ€” task conversazione, v1.2
lora_conversazione_mlx/ adapter MLX โ€” conversazione (checkpoint + finale)
lora_conversazione_mlx_v1.2/ adapter MLX โ€” conversazione, v1.2
lora_estrazione/ modello fuso HF โ€” task estrazione
lora_estrazione_v1.2/ modello fuso HF โ€” task estrazione, v1.2
lora_estrazione_mlx/ adapter MLX โ€” estrazione (checkpoint + finale)
lora_estrazione_mlx_v1.2/ adapter MLX โ€” estrazione, v1.2
mlx_dati_conversazione/ dati di training MLX โ€” conversazione
mlx_dati_estrazione/ dati di training MLX โ€” estrazione
router_intento.joblib classificatore router intento
lora_estrazione_v1.5/ ยท lora_estrazione_mlx_v1.5/ estrazione v1.5 (fuso HF + adapter MLX)
lora_conversazione_v1.5/ ยท lora_conversazione_mlx_v1.5/ conversazione v1.5 (fuso HF + adapter MLX)
mlx_dati_*_v1.5/ dati di training MLX v1.5
lora_conversazione_v1.6/ ยท lora_conversazione_mlx_v1.6/ conversazione v1.6 (fuso HF + adapter MLX)
lora_estrazione_v1.6/ ยท lora_estrazione_mlx_v1.6/ estrazione v1.6 (fuso HF + adapter MLX)
mlx_dati_*_v1.6/ dati di training MLX v1.6
lora_estrazione_v1.7/ ยท lora_estrazione_mlx_v1.7/ estrazione v1.7 (fuso HF + adapter MLX)
mlx_dati_estrazione_v1.7/ dati di training MLX estrazione v1.7
lora_*_v1.8/ ยท lora_*_v1.8_900/ estrazione+conversazione v1.8 a 400 / 900 iter (dataset pulito)
lora_conversazione_v1.8_2400/ conversazione a 2400 iter, dataset pulito (overfit)
lora_conversazione_v1.8_curati/ conversazione a 2000 iter CON curati (controprova impalcatura)

Versioni

  • 1.4.0 (cartelle senza suffisso _v1.x): stato "fedelta' al detto in estrazione".
  • 1.5.0 (cartelle _v1.5): router cablato a runtime (estrazione solo su DATO, prodotto.md solo su PRODOTTO), hard-negatives in estrazione, upsample delle conversazioni A multi-turno, e split del dataset per conversazione (niente piu' leakage di turni fra train e val). Base e iperparametri invariati (Qwen2.5-3B-4bit, iters 400, batch 1, 16 layer, lr 1e-4).
  • 1.6.0 (cartelle _v1.6): due migliorie, 800 iters.
    • conversazione: esempi cold-start (saluti/chiacchiera a contesto vuoto, upsampled x4) contro il pivot forzato sul forfettario e le biografie inventate.
    • estrazione: positivi mirati nuova_attivita ('voglio aprire una piva' -> true), generati su piu' contesti (a freddo e dopo un saluto) perche' reggano nella chat vera; nessuna over-estrazione (un mestiere non attiva nuova_attivita). Combo runtime consigliata: lora_estrazione_v1.6/finale + lora_conversazione_v1.6/finale.
  • 1.7.0 (solo estrazione, _v1.7). Nato da uno stress test di ~50 turni. Due fronti: (a) router (router.py, codice) esteso a eta'/residenza/'mettermi in proprio'/revisioni โ€” prima li mandava in CHIACCHIERA e i dati si perdevano; (b) estrazione con scenari a scheda/storico realistici: mestiere dichiarato a meta' conversazione (prima lo perdeva) e contraddizioni (fatturato/eta'/ mestiere rivisti) col campo contraddizioni popolato. Riequilibrata con negativi vago->vuoto per non over-estrarre. La conversazione resta v1.6. Combo runtime consigliata: lora_estrazione_v1.7/finale + lora_conversazione_v1.6/finale.
  • 1.8 (cartelle _v1.8*): primo giro sul dataset della fabbrica (313 conversazioni vere, generate e passate da gate+valutatore), senza i ~172 esempi curati a mano (esclusi di default con build_dataset.py, servono --con-curati). Esperimento di attribuzione. Varianti:
    • _v1.8 = 400 iter ยท _v1.8_900 = 900 iter (estrazione + conversazione)
    • _v1.8_2400 = conversazione a 2400 iter (2 epoche)
    • _v1.8_curati = conversazione a 2000 iter CON i curati (controprova) Esito: sul dataset pulito il conversazionale non regge a nessun numero di iter (0.34 / 0.77 / 2.03 epoche: tutte incoerenti, piu' iter = overfit). Con i curati a ~1.5 epoche torna coerente (livello ~v1.6). Conclusione: i curati erano impalcatura (soprattutto i cold-start drillati), non un limite del 3B. La fabbrica a 313 conversazioni da sola non basta ancora; il miglior modello utilizzabile resta la combo v1.7 estrazione + v1.6 conversazione. Difetto noto categoria E: l'assistente recita la scheda prodotto come slogan invece di rispondere alla paura (ITALIANO_FINTO) โ€” viene dal registro delle conversazioni E.

Note

  • Repo privato: solo l'autore vi accede.
  • Gli adapter MLX si allenano con mlx_lm.lora su base Qwen2.5-3B-Instruct-4bit.
Downloads last month

-

Downloads are not tracked for this model. How to track
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for rinaldiden/ilsocio-brain

Base model

Qwen/Qwen2.5-3B
Adapter
(2)
this model