# i3-80M - Model de Limbaj cu Arhitectură Hibridă ## Descrierea Modelului **Modelul i3-80M** este o arhitectură hibridă inovatoare care combină straturi convoluționale/recurente cu straturi de atenție completă pentru modelarea eficientă a limbajului. Această arhitectură îmbină în mod unic time-mixing în stil RWKV cu dinamica spațiului de stare Mamba în straturile timpurii, urmată de atenție multi-cap standard în straturile mai profunde. Acesta este al doilea model din seria i3, scalat de la originalul [i3-22M](https://huggingface.co/FlameF0X/i3-22m) cu arhitectură îmbunătățită și antrenament pe multiple seturi de date. >[!NOTE] >Pentru a utiliza modelul, încercați-l [aici](https://huggingface.co/spaces/FlameF0X/i3-80m) ## Statistici Model - **Parametri Totali**: ~82,77M (82.765.160) - **Arhitectură**: 10 Straturi Hibride (RWKV-Mamba) + 6 Straturi de Atenție Completă = 16 Straturi Totale - **Dimensiune Vocabular**: 35.560 token-uri (fragmente de lungime variabilă cu token ) - **Dimensiune Ascunsă (d_model)**: 512 - **Capete de Atenție**: 16 - **Dimensiune Stare (d_state)**: 32 - **Lungime Maximă Secvență**: 256 - **Tokenizare**: Fragmentare cu lungime variabilă eficientă din punct de vedere al memoriei (2-3 caractere) ### Defalcare Arhitectură ``` Straturile 1-10: Blocuri Hibride RWKV-Mamba (Recurent/Conv) ├─ RWKVMambaHybrid (Time-mixing + Spațiu de stare) └─ Rețea Feed-Forward (expansiune 4x) Straturile 11-16: Blocuri de Atenție Completă ├─ Atenție Multi-Cap (16 capete) └─ Rețea Feed-Forward (expansiune 4x) ``` ## Comparație cu i3-22M | Caracteristică | i3-22M | i3-80M (Acest Model) | |----------------|--------|----------------------| | **Parametri** | 22,6M | 82,77M | | **Arhitectură** | 24 Straturi Hibride | 10 Straturi Hibride + 6 Straturi de Atenție | | **Dimensiune Ascunsă** | 512 | 512 | | **Dimensiune Vocabular** | 4.466 | 35.560 | | **Set de Date Antrenament** | Doar TinyChat | TinyStories + TinyChat + Propoziții HQ | | **Token-uri Totale** | ~1M conversații | ~3M+ token-uri | | **Pierdere Finală** | ~2,0 | ~2,0 | | **Perplexitate Finală** | 7,29-9,70 | 7,29-10,0 | | **Timp Antrenament** | ~17 ore | ~2-4 ore | | **Straturi de Atenție** | Niciuna (Pur Hibrid) | 6 Straturi de Atenție Completă | ### Îmbunătățiri Cheie față de i3-22M 1. **Arhitectură Hibridă**: Introduce atenție multi-cap completă în straturile superioare pentru dependențe pe distanțe lungi mai bune 2. **Vocabular Mai Mare**: Vocabular de 8 ori mai mare (35.560 vs 4.466) pentru acoperire mai bună a token-urilor 3. **Antrenament pe Multiple Seturi de Date**: Antrenat pe 3 seturi de date diverse vs un singur set de date 4. **Generalizare Mai Bună**: Expunere la narative (TinyStories), conversații (TinyChat) și text formal (Propoziții HQ) 5. **Gestionare Îmbunătățită a Token-urilor Necunoscute**: Sistem robust de token-uri pentru cuvinte în afara vocabularului ### Când să Folosiți Fiecare Model **Folosiți i3-22M dacă aveți nevoie de:** - Dimensiune mai mică a modelului (~22M parametri) - Focus pur conversațional (specializat TinyChat) - Amprenta de memorie mai mică - Inferență mai rapidă **Folosiți i3-80M dacă aveți nevoie de:** - Generare de text cu scop general mai bună - Raționament bazat pe atenție mai puternic (6 straturi de atenție) - Acoperire mai mare a vocabularului - Înțelegere a textului multi-domeniu (povești, chat, text formal) ### Caracteristici Cheie 1. **Arhitectură Hibridă**: Combină eficiența procesării recurente/convoluționale cu puterea atenției - Straturile timpurii folosesc hibridul RWKV-Mamba pentru procesarea eficientă a secvențelor - Straturile ulterioare folosesc atenție multi-cap completă pentru recunoașterea de modele complexe 2. **Antrenament Optimizat pentru Memorie**: - Construirea vocabularului în flux (fără stocare completă a textului) - Cache vocabular (construiește o dată, reutilizează) - Numărare eficientă a frecvenței fragmentelor - Curățare automată a memoriei 3. **Pre-antrenament pe Multiple Seturi de Date**: Antrenat pe surse de text diverse pentru înțelegerea robustă a limbajului - TinyStories: Narațiuni și povestiri - TinyChat: Dinamici conversaționale - Propoziții Engleze de Înaltă Calitate: Diversitate lingvistică 4. **Tokenizare Inteligentă**: Fragmentare cu lungime variabilă (2-3 caractere) cu optimizare trigrame comune - Token-uri totale procesate: **3.000.000+** - Gestionează token-urile necunoscute cu grație folosind token-ul ## Detalii Antrenament ### Configurație Antrenament - **Seturi de Date**: - `agentlans/high-quality-english-sentences` - `roneneldan/TinyStories` - `starhopp3r/TinyChat` - **Pași de Antrenament**: 5.000 iterații - **Dimensiune Lot**: 4 (cu suport pentru acumulare gradient) - **Rată de Învățare**: 3e-4 (cu încălzire și declin cosinusoidal) - **Optimizator**: AdamW cu tăiere gradient (normă maximă: 1,0) - **Hardware**: NVIDIA P100 (16GB VRAM) - **Timp de Antrenament**: ~2-4 ore - **Framework**: PyTorch ### Dinamica Antrenamentului - **Utilizare GPU**: Stabilă la ~15-20% în timpul antrenamentului - **Memorie GPU**: ~18% alocată (~2,2GB / 12GB) - **Consum Energie**: ~40W mediu - **Debit**: ~100-550 token-uri/sec ### Metrici de Performanță | Metrică | Inițială | Finală | |---------|----------|--------| | Pierdere Antrenament | ~10,0 | ~1,7 | | Perplexitate | ~4000+ | ~6 | ![imagine](https://cdn-uploads.huggingface.co/production/uploads/6615494716917dfdc645c44e/ugtJGyEkQfbGieURP2W78.png) > [!NOTE] > Nu știu de ce înregistrarea începe la pasul 4,6k. Comparație **i3-22m** și **i3-80m**? ![imagine](https://cdn-uploads.huggingface.co/production/uploads/6615494716917dfdc645c44e/utj6B7AE_gMMI9jnHc37Z.png) Modelul prezintă o convergență puternică cu dinamică stabilă de antrenament și utilizare eficientă a GPU. ## Utilizare ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer # Încarcă modelul și tokenizatorul model = AutoModelForCausalLM.from_pretrained("FlameF0X/i3-80m") tokenizer = AutoTokenizer.from_pretrained("FlameF0X/i3-80m") # Generează text prompt = "salut" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate( inputs.input_ids, max_length=100, temperature=0.8, top_k=40 ) generated_text = tokenizer.decode(outputs[0]) print(generated_text) ``` ## Inovații Tehnice 1. **Recurență Hibridă RWKV-Mamba**: Combină time-mixing-ul RWKV cu dinamica spațiului de stare Mamba - Complexitate liniară pentru secvențe lungi - Procesare recurentă eficientă - Modelarea spațiului de stare pentru dependențe temporale 2. **Procesare Ierarhică**: - Straturile inferioare se concentrează pe modele locale (conv/recurent) - Straturile superioare captează dependențe globale (atenție) 3. **Eficiență Memorie**: - Tokenizare în flux în timpul construirii vocabularului - Fără stocare completă a setului de date în RAM - Curățare automată a datelor intermediare ## Fișiere Model - `pytorch_model.bin`: Greutăți model - `config.json`: Configurație model - `chunk_vocab_combined.json`: Vocabular tokenizator ## Urmărire Antrenament Acest model a fost urmărit folosind Weights & Biases (WandB) cu metrici cuprinzătoare: - Urmărire în timp real a pierderii și perplexității - Monitorizare normă gradient - Vizualizare programare rată de învățare - Eșantioane de generare înregistrate în tabele - Checkpoint-uri model ca artefacte - Monitorizare resurse sistem ## Limitări - Antrenat doar pe text în limba engleză - Limitat la fereastră de context de 256 token-uri - Poate necesita reglaj fin pentru sarcini specifice ulterioare - Stil conversațional influențat de setul de date TinyChat ## Serie Model - [i3-22M](https://huggingface.co/FlameF0X/i3-22m) - Model original cu arhitectură hibridă pură - **i3-80M** (Acest model) - Versiune scalată cu straturi de atenție și antrenament pe multiple seturi de date ## Citare ```bibtex @misc{i3-80m, author = {FlameF0X}, title = {i3-80M: Model de Limbaj cu Arhitectură Hibridă}, year = {2025}, publisher = {HuggingFace}, howpublished = {\url{https://huggingface.co/FlameF0X/i3-80m}} } ```