Text Generation
Transformers
PyTorch
Safetensors
English
i3
i3-architecture
hybrid-model
rwkv-mamba
custom_code
FlameF0X commited on
Commit
bd4ae9f
·
verified ·
1 Parent(s): 04cca5e

Create CITEȘTEMĂ.md

Browse files
Files changed (1) hide show
  1. CITEȘTEMĂ.md +207 -0
CITEȘTEMĂ.md ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # i3-80M - Model de Limbaj cu Arhitectură Hibridă
2
+
3
+ ## Descrierea Modelului
4
+
5
+ **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.
6
+
7
+ 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.
8
+
9
+ >[!NOTE]
10
+ >Pentru a utiliza modelul, încercați-l [aici](https://huggingface.co/spaces/FlameF0X/i3-80m)
11
+
12
+ ## Statistici Model
13
+
14
+ - **Parametri Totali**: ~82,77M (82.765.160)
15
+ - **Arhitectură**: 10 Straturi Hibride (RWKV-Mamba) + 6 Straturi de Atenție Completă = 16 Straturi Totale
16
+ - **Dimensiune Vocabular**: 35.560 token-uri (fragmente de lungime variabilă cu token <UNK>)
17
+ - **Dimensiune Ascunsă (d_model)**: 512
18
+ - **Capete de Atenție**: 16
19
+ - **Dimensiune Stare (d_state)**: 32
20
+ - **Lungime Maximă Secvență**: 256
21
+ - **Tokenizare**: Fragmentare cu lungime variabilă eficientă din punct de vedere al memoriei (2-3 caractere)
22
+
23
+ ### Defalcare Arhitectură
24
+ ```
25
+ Straturile 1-10: Blocuri Hibride RWKV-Mamba (Recurent/Conv)
26
+ ├─ RWKVMambaHybrid (Time-mixing + Spațiu de stare)
27
+ └─ Rețea Feed-Forward (expansiune 4x)
28
+
29
+ Straturile 11-16: Blocuri de Atenție Completă
30
+ ├─ Atenție Multi-Cap (16 capete)
31
+ └─ Rețea Feed-Forward (expansiune 4x)
32
+ ```
33
+
34
+ ## Comparație cu i3-22M
35
+
36
+ | Caracteristică | i3-22M | i3-80M (Acest Model) |
37
+ |----------------|--------|----------------------|
38
+ | **Parametri** | 22,6M | 82,77M |
39
+ | **Arhitectură** | 24 Straturi Hibride | 10 Straturi Hibride + 6 Straturi de Atenție |
40
+ | **Dimensiune Ascunsă** | 512 | 512 |
41
+ | **Dimensiune Vocabular** | 4.466 | 35.560 |
42
+ | **Set de Date Antrenament** | Doar TinyChat | TinyStories + TinyChat + Propoziții HQ |
43
+ | **Token-uri Totale** | ~1M conversații | ~3M+ token-uri |
44
+ | **Pierdere Finală** | ~2,0 | ~2,0 |
45
+ | **Perplexitate Finală** | 7,29-9,70 | 7,29-10,0 |
46
+ | **Timp Antrenament** | ~17 ore | ~2-4 ore |
47
+ | **Straturi de Atenție** | Niciuna (Pur Hibrid) | 6 Straturi de Atenție Completă |
48
+
49
+ ### Îmbunătățiri Cheie față de i3-22M
50
+
51
+ 1. **Arhitectură Hibridă**: Introduce atenție multi-cap completă în straturile superioare pentru dependențe pe distanțe lungi mai bune
52
+ 2. **Vocabular Mai Mare**: Vocabular de 8 ori mai mare (35.560 vs 4.466) pentru acoperire mai bună a token-urilor
53
+ 3. **Antrenament pe Multiple Seturi de Date**: Antrenat pe 3 seturi de date diverse vs un singur set de date
54
+ 4. **Generalizare Mai Bună**: Expunere la narative (TinyStories), conversații (TinyChat) și text formal (Propoziții HQ)
55
+ 5. **Gestionare Îmbunătățită a Token-urilor Necunoscute**: Sistem robust de token-uri <UNK> pentru cuvinte în afara vocabularului
56
+
57
+ ### Când să Folosiți Fiecare Model
58
+
59
+ **Folosiți i3-22M dacă aveți nevoie de:**
60
+ - Dimensiune mai mică a modelului (~22M parametri)
61
+ - Focus pur conversațional (specializat TinyChat)
62
+ - Amprenta de memorie mai mică
63
+ - Inferență mai rapidă
64
+
65
+ **Folosiți i3-80M dacă aveți nevoie de:**
66
+ - Generare de text cu scop general mai bună
67
+ - Raționament bazat pe atenție mai puternic (6 straturi de atenție)
68
+ - Acoperire mai mare a vocabularului
69
+ - Înțelegere a textului multi-domeniu (povești, chat, text formal)
70
+
71
+ ### Caracteristici Cheie
72
+
73
+ 1. **Arhitectură Hibridă**: Combină eficiența procesării recurente/convoluționale cu puterea atenției
74
+ - Straturile timpurii folosesc hibridul RWKV-Mamba pentru procesarea eficientă a secvențelor
75
+ - Straturile ulterioare folosesc atenție multi-cap completă pentru recunoașterea de modele complexe
76
+
77
+ 2. **Antrenament Optimizat pentru Memorie**:
78
+ - Construirea vocabularului în flux (fără stocare completă a textului)
79
+ - Cache vocabular (construiește o dată, reutilizează)
80
+ - Numărare eficientă a frecvenței fragmentelor
81
+ - Curățare automată a memoriei
82
+
83
+ 3. **Pre-antrenament pe Multiple Seturi de Date**: Antrenat pe surse de text diverse pentru înțelegerea robustă a limbajului
84
+ - TinyStories: Narațiuni și povestiri
85
+ - TinyChat: Dinamici conversaționale
86
+ - Propoziții Engleze de Înaltă Calitate: Diversitate lingvistică
87
+
88
+ 4. **Tokenizare Inteligentă**: Fragmentare cu lungime variabilă (2-3 caractere) cu optimizare trigrame comune
89
+ - Token-uri totale procesate: **3.000.000+**
90
+ - Gestionează token-urile necunoscute cu grație folosind token-ul <UNK>
91
+
92
+ ## Detalii Antrenament
93
+
94
+ ### Configurație Antrenament
95
+
96
+ - **Seturi de Date**:
97
+ - `agentlans/high-quality-english-sentences`
98
+ - `roneneldan/TinyStories`
99
+ - `starhopp3r/TinyChat`
100
+ - **Pași de Antrenament**: 5.000 iterații
101
+ - **Dimensiune Lot**: 4 (cu suport pentru acumulare gradient)
102
+ - **Rată de Învățare**: 3e-4 (cu încălzire și declin cosinusoidal)
103
+ - **Optimizator**: AdamW cu tăiere gradient (normă maximă: 1,0)
104
+ - **Hardware**: NVIDIA P100 (16GB VRAM)
105
+ - **Timp de Antrenament**: ~2-4 ore
106
+ - **Framework**: PyTorch
107
+
108
+ ### Dinamica Antrenamentului
109
+
110
+ - **Utilizare GPU**: Stabilă la ~15-20% în timpul antrenamentului
111
+ - **Memorie GPU**: ~18% alocată (~2,2GB / 12GB)
112
+ - **Consum Energie**: ~40W mediu
113
+ - **Debit**: ~100-550 token-uri/sec
114
+
115
+ ### Metrici de Performanță
116
+
117
+ | Metrică | Inițială | Finală |
118
+ |---------|----------|--------|
119
+ | Pierdere Antrenament | ~10,0 | ~1,7 |
120
+ | Perplexitate | ~4000+ | ~6 |
121
+
122
+ ![imagine](https://cdn-uploads.huggingface.co/production/uploads/6615494716917dfdc645c44e/ugtJGyEkQfbGieURP2W78.png)
123
+ > [!NOTE]
124
+ > Nu știu de ce înregistrarea începe la pasul 4,6k.
125
+
126
+ Comparație **i3-22m** și **i3-80m**?
127
+
128
+ ![imagine](https://cdn-uploads.huggingface.co/production/uploads/6615494716917dfdc645c44e/utj6B7AE_gMMI9jnHc37Z.png)
129
+
130
+ Modelul prezintă o convergență puternică cu dinamică stabilă de antrenament și utilizare eficientă a GPU.
131
+
132
+ ## Utilizare
133
+ ```python
134
+ import torch
135
+ from transformers import AutoModelForCausalLM, AutoTokenizer
136
+
137
+ # Încarcă modelul și tokenizatorul
138
+ model = AutoModelForCausalLM.from_pretrained("FlameF0X/i3-80m")
139
+ tokenizer = AutoTokenizer.from_pretrained("FlameF0X/i3-80m")
140
+
141
+ # Generează text
142
+ prompt = "salut"
143
+ inputs = tokenizer(prompt, return_tensors="pt")
144
+ outputs = model.generate(
145
+ inputs.input_ids,
146
+ max_length=100,
147
+ temperature=0.8,
148
+ top_k=40
149
+ )
150
+ generated_text = tokenizer.decode(outputs[0])
151
+ print(generated_text)
152
+ ```
153
+
154
+ ## Inovații Tehnice
155
+
156
+ 1. **Recurență Hibridă RWKV-Mamba**: Combină time-mixing-ul RWKV cu dinamica spațiului de stare Mamba
157
+ - Complexitate liniară pentru secvențe lungi
158
+ - Procesare recurentă eficientă
159
+ - Modelarea spațiului de stare pentru dependențe temporale
160
+
161
+ 2. **Procesare Ierarhică**:
162
+ - Straturile inferioare se concentrează pe modele locale (conv/recurent)
163
+ - Straturile superioare captează dependențe globale (atenție)
164
+
165
+ 3. **Eficiență Memorie**:
166
+ - Tokenizare în flux în timpul construirii vocabularului
167
+ - Fără stocare completă a setului de date în RAM
168
+ - Curățare automată a datelor intermediare
169
+
170
+ ## Fișiere Model
171
+
172
+ - `pytorch_model.bin`: Greutăți model
173
+ - `config.json`: Configurație model
174
+ - `chunk_vocab_combined.json`: Vocabular tokenizator
175
+
176
+ ## Urmărire Antrenament
177
+
178
+ Acest model a fost urmărit folosind Weights & Biases (WandB) cu metrici cuprinzătoare:
179
+ - Urmărire în timp real a pierderii și perplexității
180
+ - Monitorizare normă gradient
181
+ - Vizualizare programare rată de învățare
182
+ - Eșantioane de generare înregistrate în tabele
183
+ - Checkpoint-uri model ca artefacte
184
+ - Monitorizare resurse sistem
185
+
186
+ ## Limitări
187
+
188
+ - Antrenat doar pe text în limba engleză
189
+ - Limitat la fereastră de context de 256 token-uri
190
+ - Poate necesita reglaj fin pentru sarcini specifice ulterioare
191
+ - Stil conversațional influențat de setul de date TinyChat
192
+
193
+ ## Serie Model
194
+
195
+ - [i3-22M](https://huggingface.co/FlameF0X/i3-22m) - Model original cu arhitectură hibridă pură
196
+ - **i3-80M** (Acest model) - Versiune scalată cu straturi de atenție și antrenament pe multiple seturi de date
197
+
198
+ ## Citare
199
+ ```bibtex
200
+ @misc{i3-80m,
201
+ author = {FlameF0X},
202
+ title = {i3-80M: Model de Limbaj cu Arhitectură Hibridă},
203
+ year = {2025},
204
+ publisher = {HuggingFace},
205
+ howpublished = {\url{https://huggingface.co/FlameF0X/i3-80m}}
206
+ }
207
+ ```