JohnConnor123 commited on
Commit
4f6a821
·
verified ·
1 Parent(s): c11689e

напиши презентацию по статье: Attention is all you need - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +6 -4
  2. index.html +585 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Abs
3
- emoji: 🚀
4
- colorFrom: yellow
5
  colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: abs
3
+ emoji: 🐳
4
+ colorFrom: gray
5
  colorTo: pink
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,585 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="ru">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Attention is All You Need - Презентация</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ .slide {
11
+ display: none;
12
+ animation: fadeIn 0.5s ease-in-out;
13
+ }
14
+ .slide.active {
15
+ display: block;
16
+ }
17
+ @keyframes fadeIn {
18
+ from { opacity: 0; }
19
+ to { opacity: 1; }
20
+ }
21
+ .code-block {
22
+ font-family: 'Courier New', monospace;
23
+ background-color: #2d3748;
24
+ color: #f7fafc;
25
+ padding: 1rem;
26
+ border-radius: 0.5rem;
27
+ overflow-x: auto;
28
+ }
29
+ .attention-formula {
30
+ font-size: 1.5rem;
31
+ color: #4fd1c5;
32
+ text-align: center;
33
+ margin: 1rem 0;
34
+ }
35
+ </style>
36
+ </head>
37
+ <body class="bg-gray-100 font-sans">
38
+ <div class="container mx-auto px-4 py-8 max-w-6xl">
39
+ <!-- Title Slide -->
40
+ <div class="slide active bg-white rounded-xl shadow-2xl p-8 mb-8">
41
+ <div class="flex flex-col items-center justify-center h-full">
42
+ <div class="text-5xl font-bold text-indigo-700 mb-6 text-center">
43
+ <i class="fas fa-brain mr-4"></i>Attention is All You Need
44
+ </div>
45
+ <div class="text-2xl text-gray-600 mb-8 text-center">
46
+ Революция в обработке последовательностей
47
+ </div>
48
+ <div class="text-xl text-gray-500 mb-12 text-center">
49
+ Ashish Vaswani, Noam Shazeer, Niki Parmar, et al. (2017)
50
+ </div>
51
+ <div class="flex space-x-4">
52
+ <div class="bg-indigo-100 text-indigo-800 px-4 py-2 rounded-full">
53
+ <i class="fas fa-project-diagram mr-2"></i>Transformer
54
+ </div>
55
+ <div class="bg-blue-100 text-blue-800 px-4 py-2 rounded-full">
56
+ <i class="fas fa-cogs mr-2"></i>Self-Attention
57
+ </div>
58
+ <div class="bg-purple-100 text-purple-800 px-4 py-2 rounded-full">
59
+ <i class="fas fa-language mr-2"></i>NLP
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+
65
+ <!-- Problem Statement -->
66
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
67
+ <h2 class="text-3xl font-bold text-indigo-700 mb-6">
68
+ <i class="fas fa-question-circle mr-4"></i>Проблема существующих подходов
69
+ </h2>
70
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
71
+ <div class="bg-red-50 p-6 rounded-lg border-l-4 border-red-500">
72
+ <h3 class="text-xl font-semibold text-red-700 mb-3">RNN/LSTM</h3>
73
+ <ul class="list-disc pl-5 text-gray-700 space-y-2">
74
+ <li>Последовательная обработка данных</li>
75
+ <li>Проблемы с длинными зависимостями</li>
76
+ <li>Трудно распараллелить</li>
77
+ <li>Вычислительно затратно</li>
78
+ </ul>
79
+ </div>
80
+ <div class="bg-blue-50 p-6 rounded-lg border-l-4 border-blue-500">
81
+ <h3 class="text-xl font-semibold text-blue-700 mb-3">CNN для последовательностей</h3>
82
+ <ul class="list-disc pl-5 text-gray-700 space-y-2">
83
+ <li>Ограниченное рецептивное поле</li>
84
+ <li>Требуется много слоёв для глобальных зависимостей</li>
85
+ <li>Не учитывает порядок элементов</li>
86
+ </ul>
87
+ </div>
88
+ </div>
89
+ <div class="mt-8 bg-yellow-50 p-6 rounded-lg border-l-4 border-yellow-500">
90
+ <h3 class="text-xl font-semibold text-yellow-700 mb-3">Решение: Механизм внимания</h3>
91
+ <p class="text-gray-700">
92
+ Позволяет модели напрямую обращаться к любой части входной последовательности,
93
+ независимо от расстояния, с постоянным количеством операций.
94
+ </p>
95
+ </div>
96
+ </div>
97
+
98
+ <!-- Key Innovations -->
99
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
100
+ <h2 class="text-3xl font-bold text-indigo-700 mb-6">
101
+ <i class="fas fa-lightbulb mr-4"></i>Ключевые инновации
102
+ </h2>
103
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
104
+ <div class="bg-green-50 p-6 rounded-lg transform transition hover:scale-105">
105
+ <div class="text-4xl text-green-600 mb-4 text-center">
106
+ <i class="fas fa-arrows-alt-h"></i>
107
+ </div>
108
+ <h3 class="text-xl font-semibold text-green-700 mb-3 text-center">Self-Attention</h3>
109
+ <p class="text-gray-700">
110
+ Прямые связи между всеми элементами последовательности, независимо от расстояния
111
+ </p>
112
+ </div>
113
+ <div class="bg-purple-50 p-6 rounded-lg transform transition hover:scale-105">
114
+ <div class="text-4xl text-purple-600 mb-4 text-center">
115
+ <i class="fas fa-layer-group"></i>
116
+ </div>
117
+ <h3 class="text-xl font-semibold text-purple-700 mb-3 text-center">Multi-Head Attention</h3>
118
+ <p class="text-gray-700">
119
+ Несколько механизмов внимания, работающих параллельно для изучения разных типов зависимостей
120
+ </p>
121
+ </div>
122
+ <div class="bg-indigo-50 p-6 rounded-lg transform transition hover:scale-105">
123
+ <div class="text-4xl text-indigo-600 mb-4 text-center">
124
+ <i class="fas fa-bolt"></i>
125
+ </div>
126
+ <h3 class="text-xl font-semibold text-indigo-700 mb-3 text-center">Positional Encoding</h3>
127
+ <p class="text-gray-700">
128
+ Информация о порядке элементов добавляется через специальные embeddings
129
+ </p>
130
+ </div>
131
+ </div>
132
+ </div>
133
+
134
+ <!-- Transformer Architecture -->
135
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
136
+ <h2 class="text-3xl font-bold text-indigo-700 mb-6">
137
+ <i class="fas fa-project-diagram mr-4"></i>Архитектура Transformer
138
+ </h2>
139
+ <div class="flex justify-center mb-8">
140
+ <img src="https://miro.medium.com/v2/resize:fit:1400/1*BHzGVskWGS_3jEcYYiLmiQ.png"
141
+ alt="Transformer Architecture"
142
+ class="rounded-lg shadow-md max-w-full h-auto">
143
+ </div>
144
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
145
+ <div>
146
+ <h3 class="text-xl font-semibold text-blue-600 mb-3">Encoder</h3>
147
+ <ul class="list-disc pl-5 text-gray-700 space-y-2">
148
+ <li>6 идентичных слоёв</li>
149
+ <li>Каждый слой содержит:
150
+ <ul class="list-circle pl-5 mt-2">
151
+ <li>Multi-head self-attention</li>
152
+ <li>Position-wise feed-forward network</li>
153
+ </ul>
154
+ </li>
155
+ <li>Residual connections и layer normalization</li>
156
+ </ul>
157
+ </div>
158
+ <div>
159
+ <h3 class="text-xl font-semibold text-purple-600 mb-3">Decoder</h3>
160
+ <ul class="list-disc pl-5 text-gray-700 space-y-2">
161
+ <li>6 идентичных слоёв</li>
162
+ <li>Дополнительно к encoder содержит:
163
+ <ul class="list-circle pl-5 mt-2">
164
+ <li>Masked multi-head attention</li>
165
+ <li>Multi-head attention над выходом encoder</li>
166
+ </ul>
167
+ </li>
168
+ <li>Также residual connections и layer normalization</li>
169
+ </ul>
170
+ </div>
171
+ </div>
172
+ </div>
173
+
174
+ <!-- Scaled Dot-Product Attention -->
175
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
176
+ <h2 class="text-3xl font-bold text-indigo-700 mb-6">
177
+ <i class="fas fa-atom mr-4"></i>Scaled Dot-Product Attention
178
+ </h2>
179
+
180
+ <div class="attention-formula">
181
+ Attention(Q, K, V) = softmax(QK<sup>T</sup>/√d<sub>k</sub>)V
182
+ </div>
183
+
184
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
185
+ <div>
186
+ <h3 class="text-xl font-semibold text-blue-600 mb-3">Компоненты</h3>
187
+ <ul class="list-disc pl-5 text-gray-700 space-y-2">
188
+ <li><strong>Q (Query)</strong> - что ищем</li>
189
+ <li><strong>K (Key)</strong> - что можем предложить</li>
190
+ <li><strong>V (Value)</strong> - фактическая информация</li>
191
+ <li><strong>d<sub>k</sub></strong> - размерность ключей (масштабирующий коэффициент)</li>
192
+ </ul>
193
+
194
+ <div class="mt-6 bg-blue-50 p-4 rounded-lg">
195
+ <h4 class="font-semibold text-blue-700 mb-2">Почему масштабирование?</h4>
196
+ <p class="text-gray-700">
197
+ При больших d<sub>k</sub> скалярное произведение становится очень большим,
198
+ pushing the softmax into regions with extremely small gradients.
199
+ </p>
200
+ </div>
201
+ </div>
202
+
203
+ <div>
204
+ <h3 class="text-xl font-semibold text-purple-600 mb-3">Реализация на Python</h3>
205
+ <div class="code-block">
206
+ <pre>import torch
207
+ import torch.nn.functional as F
208
+
209
+ def attention(query, key, value, mask=None):
210
+ d_k = query.size(-1)
211
+ scores = torch.matmul(query, key.transpose(-2, -1)) / math.sqrt(d_k)
212
+
213
+ if mask is not None:
214
+ scores = scores.masked_fill(mask == 0, -1e9)
215
+
216
+ p_attn = F.softmax(scores, dim=-1)
217
+ return torch.matmul(p_attn, value), p_attn</pre>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </div>
222
+
223
+ <!-- Multi-Head Attention -->
224
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
225
+ <h2 class="text-3xl font-bold text-indigo-700 mb-6">
226
+ <i class="fas fa-people-arrows mr-4"></i>Multi-Head Attention
227
+ </h2>
228
+
229
+ <div class="flex justify-center mb-8">
230
+ <img src="https://miro.medium.com/v2/resize:fit:1400/1*_92bns4XYKhZ6Yx1NY6R2A.png"
231
+ alt="Multi-Head Attention"
232
+ class="rounded-lg shadow-md max-w-full h-auto" style="max-height: 200px;">
233
+ </div>
234
+
235
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
236
+ <div>
237
+ <h3 class="text-xl font-semibold text-blue-600 mb-3">Концепция</h3>
238
+ <ul class="list-disc pl-5 text-gray-700 space-y-2">
239
+ <li>Несколько attention heads (обычно 8)</li>
240
+ <li>Каждый head изучает разные аспекты зависимостей</li>
241
+ <li>Линейные проекции для Q, K, V перед attention</li>
242
+ <li>Результаты конкатенируются и проецируются обратно</li>
243
+ </ul>
244
+
245
+ <div class="mt-6 bg-yellow-50 p-4 rounded-lg">
246
+ <h4 class="font-semibold text-yellow-700 mb-2">Преимущества</h4>
247
+ <p class="text-gray-700">
248
+ Позволяет модели совместно обращать внимание на информацию из разных подпространств
249
+ представления в разных позициях.
250
+ </p>
251
+ </div>
252
+ </div>
253
+
254
+ <div>
255
+ <h3 class="text-xl font-semibold text-purple-600 mb-3">Реализация</h3>
256
+ <div class="code-block">
257
+ <pre>class MultiHeadedAttention(nn.Module):
258
+ def __init__(self, h, d_model):
259
+ super().__init__()
260
+ self.d_k = d_model // h
261
+ self.h = h
262
+ self.linears = clones(nn.Linear(d_model, d_model), 4)
263
+
264
+ def forward(self, query, key, value, mask=None):
265
+ nbatches = query.size(0)
266
+
267
+ # 1) Проецируем и меняем размерность для h heads
268
+ query, key, value = [
269
+ lin(x).view(nbatches, -1, self.h, self.d_k).transpose(1, 2)
270
+ for lin, x in zip(self.linears, (query, key, value))
271
+ ]
272
+
273
+ # 2) Применяем attention ко всем проекциям
274
+ x, self.attn = attention(query, key, value, mask)
275
+
276
+ # 3) Конкатенируем и проецируем обратно
277
+ x = x.transpose(1, 2).contiguous() \
278
+ .view(nbatches, -1, self.h * self.d_k)
279
+ return self.linears[-1](x)</pre>
280
+ </div>
281
+ </div>
282
+ </div>
283
+ </div>
284
+
285
+ <!-- Positional Encoding -->
286
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
287
+ <h2 class="text-3xl font-bold text-indigo-700 mb-6">
288
+ <i class="fas fa-map-marked-alt mr-4"></i>Positional Encoding
289
+ </h2>
290
+
291
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
292
+ <div>
293
+ <h3 class="text-xl font-semibold text-blue-600 mb-3">Зачем нужно?</h3>
294
+ <p class="text-gray-700 mb-4">
295
+ Поскольку Transformer не содержит рекуррентных и сверточных операций,
296
+ ему необходимо явное представление порядка элементов в последовательности.
297
+ </p>
298
+
299
+ <div class="bg-green-50 p-4 rounded-lg mb-4">
300
+ <h4 class="font-semibold text-green-700 mb-2">Формула</h4>
301
+ <div class="text-center">
302
+ PE<sub>(pos,2i)</sub> = sin(pos/10000<sup>2i/d<sub>model</sub></sup>)<br>
303
+ PE<sub>(pos,2i+1)</sub> = cos(pos/10000<sup>2i/d<sub>model</sub></sup>)
304
+ </div>
305
+ </div>
306
+
307
+ <ul class="list-disc pl-5 text-gray-700 space-y-2">
308
+ <li>pos - позиция в последовательности</li>
309
+ <li>i - размерность</li>
310
+ <li>d<sub>model</sub> - размерность embedding</li>
311
+ </ul>
312
+ </div>
313
+
314
+ <div>
315
+ <h3 class="text-xl font-semibold text-purple-600 mb-3">Визуализация</h3>
316
+ <div class="flex justify-center">
317
+ <img src="https://jalammar.github.io/images/t/transformer_positional_encoding_example.png"
318
+ alt="Positional Encoding"
319
+ class="rounded-lg shadow-md max-w-full h-auto">
320
+ </div>
321
+ <p class="text-gray-700 mt-4 text-center">
322
+ Синусоидальные функции разных частот создают уникальные паттерны для каждой позиции
323
+ </p>
324
+ </div>
325
+ </div>
326
+ </div>
327
+
328
+ <!-- Results and Impact -->
329
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
330
+ <h2 class="text-3xl font-bold text-indigo-700 mb-6">
331
+ <i class="fas fa-chart-line mr-4"></i>Результаты и влияние
332
+ </h2>
333
+
334
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
335
+ <div>
336
+ <h3 class="text-xl font-semibold text-blue-600 mb-3">Производительность</h3>
337
+ <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm mb-4">
338
+ <h4 class="font-semibold text-gray-700 mb-2">WMT 2014 English-to-German</h4>
339
+ <div class="flex items-center">
340
+ <div class="w-3/4 bg-gray-200 rounded-full h-4">
341
+ <div class="bg-blue-600 h-4 rounded-full" style="width: 75%"></div>
342
+ </div>
343
+ <span class="ml-2 font-bold">28.4 BLEU (Transformer)</span>
344
+ </div>
345
+ <div class="flex items-center mt-2">
346
+ <div class="w-3/4 bg-gray-200 rounded-full h-4">
347
+ <div class="bg-blue-400 h-4 rounded-full" style="width: 65%"></div>
348
+ </div>
349
+ <span class="ml-2">25.8 BLEU (Previous best)</span>
350
+ </div>
351
+ </div>
352
+
353
+ <div class="bg-white p-4 rounded-lg border border-gray-200 shadow-sm">
354
+ <h4 class="font-semibold text-gray-700 mb-2">WMT 2014 English-to-French</h4>
355
+ <div class="flex items-center">
356
+ <div class="w-3/4 bg-gray-200 rounded-full h-4">
357
+ <div class="bg-green-600 h-4 rounded-full" style="width: 85%"></div>
358
+ </div>
359
+ <span class="ml-2 font-bold">41.8 BLEU (Transformer)</span>
360
+ </div>
361
+ <div class="flex items-center mt-2">
362
+ <div class="w-3/4 bg-gray-200 rounded-full h-4">
363
+ <div class="bg-green-400 h-4 rounded-full" style="width: 80%"></div>
364
+ </div>
365
+ <span class="ml-2">40.4 BLEU (Previous best)</span>
366
+ </div>
367
+ </div>
368
+
369
+ <div class="mt-6 bg-blue-50 p-4 rounded-lg">
370
+ <h4 class="font-semibold text-blue-700 mb-2">Вычислительная эффективность</h4>
371
+ <p class="text-gray-700">
372
+ В 3-10 раз быстрее в обучении, чем рекуррентные модели на GPU/TPU благодаря полной параллелизации
373
+ </p>
374
+ </div>
375
+ </div>
376
+
377
+ <div>
378
+ <h3 class="text-xl font-semibold text-purple-600 mb-3">Влияние на NLP</h3>
379
+ <div class="space-y-4">
380
+ <div class="flex items-start">
381
+ <div class="bg-purple-100 p-3 rounded-full mr-4">
382
+ <i class="fas fa-robot text-purple-600"></i>
383
+ </div>
384
+ <div>
385
+ <h4 class="font-semibold text-gray-800">BERT (2018)</h4>
386
+ <p class="text-gray-600">Bidirectional Encoder Representations from Transformers</p>
387
+ </div>
388
+ </div>
389
+
390
+ <div class="flex items-start">
391
+ <div class="bg-green-100 p-3 rounded-full mr-4">
392
+ <i class="fas fa-language text-green-600"></i>
393
+ </div>
394
+ <div>
395
+ <h4 class="font-semibold text-gray-800">GPT series (2018-2020)</h4>
396
+ <p class="text-gray-600">Generative Pre-trained Transformer (GPT-1, GPT-2, GPT-3)</p>
397
+ </div>
398
+ </div>
399
+
400
+ <div class="flex items-start">
401
+ <div class="bg-red-100 p-3 rounded-full mr-4">
402
+ <i class="fas fa-exchange-alt text-red-600"></i>
403
+ </div>
404
+ <div>
405
+ <h4 class="font-semibold text-gray-800">T5 (2019)</h4>
406
+ <p class="text-gray-600">Text-to-Text Transfer Transformer</p>
407
+ </div>
408
+ </div>
409
+
410
+ <div class="flex items-start">
411
+ <div class="bg-yellow-100 p-3 rounded-full mr-4">
412
+ <i class="fas fa-comments text-yellow-600"></i>
413
+ </div>
414
+ <div>
415
+ <h4 class="font-semibold text-gray-800">ChatGPT (2022)</h4>
416
+ <p class="text-gray-600">Основан на архитектуре Transformer</p>
417
+ </div>
418
+ </div>
419
+ </div>
420
+
421
+ <div class="mt-6 bg-purple-50 p-4 rounded-lg">
422
+ <h4 class="font-semibold text-purple-700 mb-2">За пределами NLP</h4>
423
+ <p class="text-gray-700">
424
+ Transformers успешно применяются в компьютерном зрении (ViT), обработке звука, биоинформатике и других областях
425
+ </p>
426
+ </div>
427
+ </div>
428
+ </div>
429
+ </div>
430
+
431
+ <!-- Conclusion -->
432
+ <div class="slide bg-white rounded-xl shadow-2xl p-8 mb-8">
433
+ <div class="flex flex-col items-center justify-center h-full">
434
+ <div class="text-4xl font-bold text-indigo-700 mb-6 text-center">
435
+ <i class="fas fa-graduation-cap mr-4"></i>Выводы
436
+ </div>
437
+
438
+ <div class="w-full max-w-2xl space-y-6">
439
+ <div class="flex items-start bg-indigo-50 p-4 rounded-lg">
440
+ <div class="bg-indigo-100 p-3 rounded-full mr-4">
441
+ <i class="fas fa-check text-indigo-600"></i>
442
+ </div>
443
+ <div>
444
+ <h3 class="font-semibold text-indigo-800">Новая парадигма</h3>
445
+ <p class="text-gray-700">
446
+ Transformer представил полностью attention-based архитектуру, отказавшись от рекуррентных и сверточных слоёв
447
+ </p>
448
+ </div>
449
+ </div>
450
+
451
+ <div class="flex items-start bg-green-50 p-4 rounded-lg">
452
+ <div class="bg-green-100 p-3 rounded-full mr-4">
453
+ <i class="fas fa-bolt text-green-600"></i>
454
+ </div>
455
+ <div>
456
+ <h3 class="font-semibold text-green-800">Вычислительная эффективность</h3>
457
+ <p class="text-gray-700">
458
+ Полностью параллелизуемая архитектура, быстрее обучение, лучшее качество на длинных последовательностях
459
+ </p>
460
+ </div>
461
+ </div>
462
+
463
+ <div class="flex items-start bg-purple-50 p-4 rounded-lg">
464
+ <div class="bg-purple-100 p-3 rounded-full mr-4">
465
+ <i class="fas fa-project-diagram text-purple-600"></i>
466
+ </div>
467
+ <div>
468
+ <h3 class="font-semibold text-purple-800">Гибкость</h3>
469
+ <p class="text-gray-700">
470
+ Архитектура легко адаптируется для различных задач (перевод, классификация, генерация)
471
+ </p>
472
+ </div>
473
+ </div>
474
+
475
+ <div class="flex items-start bg-yellow-50 p-4 rounded-lg">
476
+ <div class="bg-yellow-100 p-3 rounded-full mr-4">
477
+ <i class="fas fa-star text-yellow-600"></i>
478
+ </div>
479
+ <div>
480
+ <h3 class="font-semibold text-yellow-800">Будущее</h3>
481
+ <p class="text-gray-700">
482
+ Transformer стал основой для большинства современных моделей NLP и находит применение в других областях
483
+ </p>
484
+ </div>
485
+ </div>
486
+ </div>
487
+ </div>
488
+ </div>
489
+
490
+ <!-- Navigation -->
491
+ <div class="flex justify-between mt-8">
492
+ <button id="prevBtn" class="bg-indigo-600 hover:bg-indigo-700 text-white font-bold py-3 px-6 rounded-full transition transform hover:scale-105">
493
+ <i class="fas fa-arrow-left mr-2"></i>Назад
494
+ </button>
495
+ <div class="flex space-x-2">
496
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
497
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
498
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
499
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
500
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
501
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
502
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
503
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
504
+ <button class="page-indicator w-3 h-3 rounded-full bg-indigo-300"></button>
505
+ </div>
506
+ <button id="nextBtn" class="bg-indigo-600 hover:bg-indigo-700 text-white font-bold py-3 px-6 rounded-full transition transform hover:scale-105">
507
+ Вперед<i class="fas fa-arrow-right ml-2"></i>
508
+ </button>
509
+ </div>
510
+ </div>
511
+
512
+ <script>
513
+ document.addEventListener('DOMContentLoaded', function() {
514
+ const slides = document.querySelectorAll('.slide');
515
+ const prevBtn = document.getElementById('prevBtn');
516
+ const nextBtn = document.getElementById('nextBtn');
517
+ const pageIndicators = document.querySelectorAll('.page-indicator');
518
+ let currentSlide = 0;
519
+
520
+ // Initialize first slide and indicator
521
+ slides[0].classList.add('active');
522
+ pageIndicators[0].classList.remove('bg-indigo-300');
523
+ pageIndicators[0].classList.add('bg-indigo-600');
524
+
525
+ function showSlide(index) {
526
+ // Hide all slides
527
+ slides.forEach(slide => slide.classList.remove('active'));
528
+ // Show current slide
529
+ slides[index].classList.add('active');
530
+
531
+ // Update indicators
532
+ pageIndicators.forEach(indicator => {
533
+ indicator.classList.remove('bg-indigo-600');
534
+ indicator.classList.add('bg-indigo-300');
535
+ });
536
+ pageIndicators[index].classList.remove('bg-indigo-300');
537
+ pageIndicators[index].classList.add('bg-indigo-600');
538
+
539
+ // Update button states
540
+ prevBtn.disabled = index === 0;
541
+ nextBtn.disabled = index === slides.length - 1;
542
+ }
543
+
544
+ // Next slide
545
+ nextBtn.addEventListener('click', function() {
546
+ if (currentSlide < slides.length - 1) {
547
+ currentSlide++;
548
+ showSlide(currentSlide);
549
+ }
550
+ });
551
+
552
+ // Previous slide
553
+ prevBtn.addEventListener('click', function() {
554
+ if (currentSlide > 0) {
555
+ currentSlide--;
556
+ showSlide(currentSlide);
557
+ }
558
+ });
559
+
560
+ // Keyboard navigation
561
+ document.addEventListener('keydown', function(e) {
562
+ if (e.key === 'ArrowRight' || e.key === ' ') {
563
+ if (currentSlide < slides.length - 1) {
564
+ currentSlide++;
565
+ showSlide(currentSlide);
566
+ }
567
+ } else if (e.key === 'ArrowLeft') {
568
+ if (currentSlide > 0) {
569
+ currentSlide--;
570
+ showSlide(currentSlide);
571
+ }
572
+ }
573
+ });
574
+
575
+ // Click on indicator
576
+ pageIndicators.forEach((indicator, index) => {
577
+ indicator.addEventListener('click', function() {
578
+ currentSlide = index;
579
+ showSlide(currentSlide);
580
+ });
581
+ });
582
+ });
583
+ </script>
584
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=JohnConnor123/abs" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
585
+ </html>