@xdev-asia/xdev-knowledge-mcp 1.0.57 → 1.0.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (17) hide show
  1. package/content/blog/ai/minimax-danh-gia-chi-tiet-nen-tang-ai-full-stack-trung-quoc.md +450 -0
  2. package/content/blog/ai/nvidia-dli-generative-ai-chung-chi-va-lo-trinh-hoc.md +894 -0
  3. package/content/metadata/authors/duy-tran.md +2 -0
  4. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/01-deep-learning-foundations/lessons/01-bai-1-pytorch-neural-network-fundamentals.md +790 -0
  5. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/01-deep-learning-foundations/lessons/02-bai-2-transformer-architecture-attention.md +984 -0
  6. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/02-diffusion-models/lessons/01-bai-3-unet-architecture-denoising.md +1111 -0
  7. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/02-diffusion-models/lessons/02-bai-4-ddpm-forward-reverse-diffusion.md +1007 -0
  8. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/02-diffusion-models/lessons/03-bai-5-clip-text-to-image-pipeline.md +1037 -0
  9. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/03-llm-applications-rag/lessons/01-bai-6-llm-inference-pipeline-design.md +929 -0
  10. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/03-llm-applications-rag/lessons/02-bai-7-rag-retrieval-augmented-generation.md +1099 -0
  11. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/03-llm-applications-rag/lessons/03-bai-8-rag-agent-build-evaluate.md +1249 -0
  12. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/04-agentic-ai-customization/lessons/01-bai-9-agentic-ai-multi-agent-systems.md +1357 -0
  13. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/chapters/04-agentic-ai-customization/lessons/02-bai-10-llm-evaluation-lora-fine-tuning.md +1867 -0
  14. package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/index.md +237 -0
  15. package/data/quizzes/nvidia-dli-generative-ai.json +350 -0
  16. package/data/quizzes.json +14 -0
  17. package/package.json +1 -1
@@ -0,0 +1,894 @@
1
+ ---
2
+ id: 05e72d3d-f5d2-4304-8fe1-c29fe5ac8ec6
3
+ title: 'NVIDIA DLI Generative AI: Toàn bộ chứng chỉ, khóa học, bài thi và lộ trình chuẩn bị chi tiết'
4
+ slug: nvidia-dli-generative-ai-chung-chi-va-lo-trinh-hoc
5
+ excerpt: Hướng dẫn chi tiết toàn bộ hệ sinh thái NVIDIA DLI về Generative AI và LLM --- từ khóa Diffusion Models, RAG Agents, Agentic AI đến Transformer NLP. Phân tích nội dung bài thi, độ khó assessment, câu hỏi mẫu, mẹo thi, và lộ trình học từ beginner đến professional.
6
+ featured_image: /images/blog/nvidia-dli-genai-featured.png
7
+ type: blog
8
+ reading_time: 30
9
+ view_count: 0
10
+ meta: null
11
+ published_at: '2026-04-13T14:00:00.000000Z'
12
+ created_at: '2026-04-13T14:00:00.000000Z'
13
+ author: {id: 019c9616-d2b4-713f-9b2c-40e2e92a05cf, name: Duy Tran, avatar: avatars/7e8eb5c6-4cac-455b-a701-4060f085d501.jpeg}
14
+ category: {id: 019c9616-cat1-7001-a001-000000000001, name: AI, slug: ai}
15
+ tags: [{name: AI, slug: ai}, {name: LLM, slug: llm}, {name: Deep Learning, slug: deep-learning}, {name: NVIDIA, slug: nvidia}, {name: Certification, slug: certification}]
16
+ comments: []
17
+ ---
18
+
19
+ Nếu bạn đang tìm một **chứng chỉ AI thực chiến** thay vì chỉ lý thuyết suông, NVIDIA Deep Learning Institute (DLI) là lựa chọn hàng đầu. Khác với AWS hay Azure tập trung vào cloud platform riêng, NVIDIA DLI dạy bạn **hands-on coding trực tiếp** trên GPU --- từ build U-Net diffusion model từ đầu, đến deploy RAG agent production-grade.
20
+
21
+ Bài viết này sẽ đi sâu vào **toàn bộ hệ thống khóa học và chứng chỉ Generative AI** của NVIDIA DLI: nội dung từng khóa, format bài thi, độ khó assessment, câu hỏi mẫu, và lộ trình chuẩn bị chi tiết.
22
+
23
+ * * *
24
+
25
+ ## 1. Tổng quan hệ thống NVIDIA DLI
26
+
27
+ NVIDIA DLI **không phải là một certification exam truyền thống** như AWS hay Azure. Thay vào đó, NVIDIA có **2 loại credential** riêng biệt:
28
+
29
+ ### DLI Course Certificates (Completion-based)
30
+
31
+ - Hoàn thành khóa học self-paced hoặc instructor-led
32
+ - Phải **pass bài assessment cuối khóa** (hands-on coding, không phải MCQ)
33
+ - Nhận certificate qua email, verify trên NVIDIA
34
+ - Giá: **$30 --- $90/khóa** (self-paced) hoặc workshop fee (instructor-led)
35
+ - **Không có thời gian hết hạn**
36
+
37
+ ### NVIDIA Professional Certifications (Exam-based)
38
+
39
+ - Thi proctored exam qua Pearson VUE
40
+ - Dạng multiple-choice + scenario-based
41
+ - Giá: **$125 (Associate)** hoặc **$400 (Professional)**
42
+ - Thời gian: **1--2 giờ**
43
+ - Hiệu lực: **2 năm**, sau đó phải thi lại
44
+ - Hiện có các chứng chỉ: **NCA-AIIO** (Associate), **NCP-AII**, **NCP-AIO**, **NCP-AIN** (Professional)
45
+
46
+ > **Lưu ý quan trọng:** Tính đến tháng 4/2026, NVIDIA **chưa có Professional Certification riêng cho Generative AI/LLM**. Các chứng chỉ professional hiện tại tập trung vào **AI Infrastructure, Operations, và Networking**. Tuy nhiên, DLI Course Certificates cho GenAI/LLM được industry công nhận rộng rãi và có assessment **khó hơn đáng kể** so với MCQ thông thường.
47
+
48
+ * * *
49
+
50
+ ## 2. Generative AI with Diffusion Models --- Khoá khó nhất
51
+
52
+ <table>
53
+ <tr><td><strong>Mã khóa</strong></td><td>DLI+S-FX-14+V1</td></tr>
54
+ <tr><td><strong>Thời lượng</strong></td><td>8 giờ</td></tr>
55
+ <tr><td><strong>Giá</strong></td><td>$90</td></tr>
56
+ <tr><td><strong>Level</strong></td><td>Technical - Intermediate</td></tr>
57
+ <tr><td><strong>Ngôn ngữ</strong></td><td>English</td></tr>
58
+ <tr><td><strong>Framework</strong></td><td>PyTorch, CLIP</td></tr>
59
+ <tr><td><strong>Certificate</strong></td><td>Có (sau khi pass assessment)</td></tr>
60
+ </table>
61
+
62
+ ### Nội dung chi tiết từng module
63
+
64
+ **Module 1: From U-Net to Diffusion**
65
+ - Build kiến trúc **U-Net từ đầu** bằng PyTorch
66
+ - Train model remove noise từ image
67
+ - Hiểu encoder-decoder architecture với skip connections
68
+ - Hands-on: Viết forward pass, loss function, training loop
69
+
70
+ **Module 2: Diffusion Models**
71
+ - Implement **forward diffusion function** --- thêm noise dần vào image
72
+ - Update U-Net architecture để accommodate **timestep embedding**
73
+ - Implement **reverse diffusion function** --- denoise image từ pure noise
74
+ - Toán học: Markov chain, variance schedule ($\beta_t$), reparameterization trick
75
+
76
+ **Module 3: Optimizations**
77
+ - Implement **Group Normalization** thay Batch Norm (stable hơn cho small batches)
78
+ - Implement **GELU activation** (Gaussian Error Linear Unit)
79
+ - Implement **Rearrange Pooling** cho spatial downsampling
80
+ - Implement **Sinusoidal Position Embeddings** cho timestep encoding:
81
+
82
+ $$PE(t, 2i) = \sin\left(\frac{t}{10000^{2i/d}}\right)$$
83
+ $$PE(t, 2i+1) = \cos\left(\frac{t}{10000^{2i/d}}\right)$$
84
+
85
+ **Module 4: Classifier-Free Diffusion Guidance**
86
+ - Thêm **categorical embeddings** vào U-Net
87
+ - Train model với **Bernoulli mask** --- random drop condition
88
+ - Implement **CFG scale** ($w$) cho inference:
89
+
90
+ $$\hat{\epsilon}_\theta(x_t, c) = \epsilon_\theta(x_t, \varnothing) + w \cdot (\epsilon_\theta(x_t, c) - \epsilon_\theta(x_t, \varnothing))$$
91
+
92
+ - Hiểu trade-off giữa diversity vs. fidelity
93
+
94
+ **Module 5: CLIP (Contrastive Language-Image Pretraining)**
95
+ - Sử dụng **CLIP Encodings** để map text → embedding space
96
+ - Kết hợp CLIP với U-Net để tạo **text-to-image pipeline**
97
+ - Implement cross-attention giữa text embeddings và image features
98
+ - Hands-on: Generate images từ English text prompts
99
+
100
+ ### Assessment (Bài thi)
101
+
102
+ **Format:** Coding assessment trực tiếp trong Jupyter Notebook trên GPU cloud
103
+
104
+ **Yêu cầu:**
105
+ 1. **Modify U-Net architecture** để support một condition mới (không phải copy-paste từ lab)
106
+ 2. **Implement custom diffusion pipeline** kết hợp nhiều kỹ thuật đã học
107
+ 3. **Debug model** khi output không đúng --- tìm lỗi trong noise schedule hoặc architecture
108
+ 4. Code phải **chạy được** và output phải **đạt quality threshold**
109
+
110
+ **Điểm đậu:** Assessment được auto-grade, code phải compile + output phải match expected behavior
111
+
112
+ **Độ khó: 🔴🔴🔴🔴🔴 (5/5)**
113
+
114
+ Đây là khóa **khó nhất** trong toàn bộ GenAI track vì:
115
+ - Không có multiple-choice --- phải **viết code từ đầu**
116
+ - Đòi hỏi hiểu sâu **toán học diffusion**: variance schedule, ELBO, score matching
117
+ - Phải biết **PyTorch nhuần nhuyễn**: custom modules, autograd, tensor operations
118
+ - Thời gian hạn chế --- không thể Google từng dòng code
119
+
120
+ ### Câu hỏi mẫu và dạng bài
121
+
122
+ > **Dạng 1: Implement Component**
123
+ > Cho skeleton code, implement `SinusoidalPositionEmbeddings` class với input là timestep tensor, output là embedding tensor kích thước `(batch_size, dim)`.
124
+
125
+ > **Dạng 2: Debug**
126
+ > Model diffusion sau training cho ra pure noise. Tìm lỗi trong function `reverse_diffusion()` dưới đây. (Gợi ý: kiểm tra variance schedule)
127
+
128
+ > **Dạng 3: Extend Architecture**
129
+ > Thêm classifier-free guidance vào model đã train. Implement function `guided_sampling(model, prompt, cfg_scale)` sao cho:
130
+ > - Khi `cfg_scale=0`: output giống unconditional model
131
+ > - Khi `cfg_scale=7.5`: output match prompt
132
+
133
+ > **Dạng 4: Integration**
134
+ > Kết hợp CLIP encoder với diffusion model. Viết full pipeline từ text input → generated image, bao gồm:
135
+ > - Text encoding qua CLIP
136
+ > - Cross-attention injection vào U-Net
137
+ > - Reverse diffusion loop với DDPM scheduler
138
+
139
+ ### Mẹo thi
140
+
141
+ 1. **Làm lab kỹ, đừng chỉ chạy cell** --- hiểu từng dòng code, đặc biệt tensor shapes
142
+ 2. **Nhớ công thức toán**: $q(x_t | x_{t-1})$, $p_\theta(x_{t-1} | x_t)$, noise scheduling
143
+ 3. **Practice PyTorch cơ bản**: `nn.Module`, `forward()`, `torch.randn()`, einops
144
+ 4. **Đừng hoảng nếu model output noise** --- debug systematic: check shapes → check loss → check scheduling
145
+ 5. **Thời gian**: Dành 60% thời gian cho lab, 40% cho assessment
146
+
147
+ * * *
148
+
149
+ ## 3. Building RAG Agents with LLMs --- Khóa phổ biến nhất
150
+
151
+ <table>
152
+ <tr><td><strong>Mã khóa</strong></td><td>DLI+S-FX-15+V1</td></tr>
153
+ <tr><td><strong>Thời lượng</strong></td><td>8 giờ</td></tr>
154
+ <tr><td><strong>Giá</strong></td><td>$90</td></tr>
155
+ <tr><td><strong>Level</strong></td><td>Technical - Intermediate</td></tr>
156
+ <tr><td><strong>Framework</strong></td><td>LangChain, Gradio, LangServe</td></tr>
157
+ <tr><td><strong>Certificate</strong></td><td>Có</td></tr>
158
+ </table>
159
+
160
+ ### Nội dung chi tiết từng module
161
+
162
+ **Module 1: LLM Inference Interfaces & Microservices**
163
+ - Setup environment kết nối với NVIDIA NIM (Inference Microservices)
164
+ - Query LLM qua API: prompt formatting, token management
165
+ - Hiểu inference parameters: temperature, top_p, max_tokens, stop sequences
166
+
167
+ **Module 2: Pipeline Design with LangChain, Gradio, LangServe**
168
+ - Build LLM pipeline với **LangChain Expression Language (LCEL)**
169
+ - Tạo UI prototype nhanh với **Gradio**
170
+ - Deploy pipeline production qua **LangServe** (FastAPI-based)
171
+ - Chain multiple components: prompt template → LLM → output parser
172
+
173
+ **Module 3: Dialog Management with Running States**
174
+ - Implement **conversation memory** --- giữ context qua nhiều turns
175
+ - Build **state machine** cho dialog flow
176
+ - Extract structured information từ free-text conversation
177
+ - Coerce LLM output vào **Pydantic models** (structured output)
178
+
179
+ **Module 4: Working with Documents**
180
+ - Load, split, parse documents (PDF, markdown, code files)
181
+ - Implement **chunking strategies**: recursive character, semantic, sentence
182
+ - Metadata extraction và document preprocessing
183
+
184
+ **Module 5: Embeddings for Semantic Similarity & Guardrailing**
185
+ - Sử dụng embedding models cho **semantic search**
186
+ - Implement **cosine similarity** cho retrieval ranking
187
+ - Build **guardrails** bằng embedding distance --- detect off-topic queries
188
+ - Hands-on: Input/output guardrailing system
189
+
190
+ **Module 6: Vector Stores for RAG Agents**
191
+ - Setup vector database (FAISS/Milvus)
192
+ - Implement full **RAG pipeline**: query → retrieve → augment → generate
193
+ - Evaluate RAG quality: relevance, faithfulness, answer correctness
194
+ - Build agent có khả năng answer questions về research papers
195
+
196
+ ### Assessment
197
+
198
+ **Format:** Coding-based, build và deploy RAG agent hoàn chỉnh
199
+
200
+ **Yêu cầu:**
201
+ 1. Implement RAG pipeline có thể answer questions từ **dataset chưa thấy**
202
+ 2. Agent phải handle **multi-turn conversation** --- nhớ context
203
+ 3. Implement **guardrailing** --- reject off-topic queries
204
+ 4. Code phải chạy end-to-end, agent response phải **relevant và accurate**
205
+
206
+ **Độ khó: 🔴🔴🔴🔴⚪ (4/5)**
207
+
208
+ **Dễ hơn Diffusion Models** vì:
209
+ - Nhiều abstraction layer (LangChain, Gradio) --- ít low-level coding
210
+ - Không đòi hỏi toán nặng
211
+ - Nhưng vẫn khó vì phải **integrate nhiều components** thành system hoàn chỉnh
212
+
213
+ ### Câu hỏi mẫu
214
+
215
+ > **Dạng 1: Pipeline Construction**
216
+ > Cho dataset PDF papers, build RAG pipeline sao cho:
217
+ > - Chunk size = 512, overlap = 128
218
+ > - Embedding model: `NV-Embed-QA`
219
+ > - Top-k retrieval: 5
220
+ > - Output: answer + source citations
221
+
222
+ > **Dạng 2: Guardrailing**
223
+ > Implement input guardrail sao cho queries không liên quan đến dataset bị reject với message "I can only answer questions about AI research papers."
224
+
225
+ > **Dạng 3: State Management**
226
+ > Modify agent để support follow-up questions. User hỏi "What is attention?" → agent trả lời. User hỏi tiếp "Who invented it?" → agent phải hiểu "it" = attention mechanism.
227
+
228
+ ### Mẹo thi
229
+
230
+ 1. **Đọc kỹ LangChain docs** trước --- đặc biệt LCEL syntax
231
+ 2. **Hiểu embedding dimensions** --- mismatch dimension là lỗi phổ biến nhất
232
+ 3. **Test pipeline từng bước**: retrieval trước, rồi mới ghép generation
233
+ 4. **Chunk size matters** --- quá nhỏ mất context, quá lớn noise nhiều
234
+
235
+ * * *
236
+
237
+ ## 4. Building Agentic AI Applications with LLMs --- Khoá nâng cao nhất
238
+
239
+ <table>
240
+ <tr><td><strong>Mã khóa</strong></td><td>DLI+C-FX-25+V1</td></tr>
241
+ <tr><td><strong>Thời lượng</strong></td><td>8 giờ</td></tr>
242
+ <tr><td><strong>Giá</strong></td><td>Instructor-Led (liên hệ NVIDIA)</td></tr>
243
+ <tr><td><strong>Level</strong></td><td>Technical - Intermediate</td></tr>
244
+ <tr><td><strong>Framework</strong></td><td>LangGraph, NVIDIA NIM, LangChain</td></tr>
245
+ <tr><td><strong>Certificate</strong></td><td>Có</td></tr>
246
+ </table>
247
+
248
+ ### Nội dung chi tiết
249
+
250
+ **Section 1: Fundamentals of Agent Abstraction and LLMs**
251
+ - LLM capabilities vs. pitfalls (hallucination, context limits, reasoning failures)
252
+ - Agents as **task decomposition abstraction**
253
+ - Minimal agent demo: free-text LLM → structured action → execution
254
+
255
+ **Section 2: Structured Output & Basic Fulfillment**
256
+ - Bottleneck LLM output vào **JSON/task-based schema**
257
+ - Domain alignment & stable schema enforcement
258
+ - Introduction to **cognitive architectures** (ReAct, Plan-and-Execute, LATS)
259
+
260
+ **Section 3: Retrieval Mechanisms & Environmental Tooling**
261
+ - Formalize **environment access strategies** cho agents
262
+ - Build tool interfaces cho DB, APIs, external repos
263
+ - Vector-based RAG cho semantic document retrieval
264
+ - **Knowledge graphs** cho structured domain knowledge
265
+
266
+ **Section 4: Multi-Agent Systems & Frameworks**
267
+ - Task decomposition among **specialized agents**
268
+ - Communication buffers và process distribution schemes
269
+ - LangGraph: state machines cho complex agent workflows
270
+ - Differentiate frameworks: LangGraph vs CrewAI vs AutoGen
271
+
272
+ **Section 5: Final Assessment**
273
+ - Deploy agent system schedules multiple retrieval operations
274
+ - Gather research từ multiple sources → synthesize → return to user
275
+ - **Optional module**: Real-time agents --- multimodal, robotics, audio systems, world models
276
+
277
+ ### Assessment
278
+
279
+ **Độ khó: 🔴🔴🔴🔴🔴 (5/5)**
280
+
281
+ Phải deploy **multi-agent system hoàn chỉnh** có khả năng:
282
+ - Nhận query phức tạp từ user
283
+ - Phân tách thành sub-tasks
284
+ - Route đến specialized agents
285
+ - Aggregate results
286
+ - Return coherent response
287
+
288
+ Đây là assessment **system-level** --- không chỉ viết 1 function mà phải **architect toàn bộ pipeline**.
289
+
290
+ * * *
291
+
292
+ ## 5. Evaluation and Light Customization of LLMs --- Khóa mới nhất
293
+
294
+ <table>
295
+ <tr><td><strong>Mã khóa</strong></td><td>DLI+S-FX-34+V1</td></tr>
296
+ <tr><td><strong>Thời lượng</strong></td><td>3 giờ</td></tr>
297
+ <tr><td><strong>Giá</strong></td><td>$90</td></tr>
298
+ <tr><td><strong>Level</strong></td><td>Intermediate</td></tr>
299
+ <tr><td><strong>Framework</strong></td><td>NVIDIA NeMo, NIM, MLflow, Docker</td></tr>
300
+ <tr><td><strong>Certificate</strong></td><td>Có</td></tr>
301
+ </table>
302
+
303
+ ### Nội dung chi tiết
304
+
305
+ **Part 1: Fundamentals of LLM Evaluation**
306
+ - Query deployed NVIDIA NIM
307
+ - Evaluation techniques: eyeballing → systematic benchmark
308
+ - **GSM8K benchmark** --- đánh giá math reasoning
309
+ - **LLM-as-a-Judge** --- dùng LLM mạnh đánh giá LLM yếu
310
+ - **ELO ranking system** --- human evaluation methodology
311
+
312
+ **Part 2: Systematic Evaluation with NeMo**
313
+ - **NeMo Evaluator** microservice cho robust evaluation workflow
314
+ - Custom dataset preparation cho **legal domain QA**
315
+ - So sánh **zero-shot vs. few-shot (ICL)**
316
+ - Metrics: **BLEU, F1-score, similarity scores**
317
+ - Multi-faceted LLM-as-a-judge: correctness, conciseness, readability
318
+ - **MLflow** experiment tracking
319
+
320
+ **Part 3: Light Customization with LoRA**
321
+ - **Parameter-Efficient Fine-Tuning (PEFT)** principles
322
+ - **Low-Rank Adaptation (LoRA)** --- fine-tune chỉ fraction of parameters:
323
+
324
+ $$W' = W + \Delta W = W + BA$$
325
+
326
+ Với $B \in \mathbb{R}^{d \times r}$, $A \in \mathbb{R}^{r \times k}$, và rank $r \ll \min(d, k)$
327
+
328
+ - **NeMo Customizer** microservice để launch LoRA fine-tuning
329
+ - Monitor training: loss curves, convergence analysis
330
+ - **Final assessment**: So sánh fine-tuned model vs. base model qua evaluation metrics
331
+
332
+ ### Assessment
333
+
334
+ **Độ khó: 🔴🔴🔴⚪⚪ (3/5)**
335
+
336
+ - Khóa ngắn nhất (3h) nhưng assessment vẫn hands-on
337
+ - Phải chạy evaluation pipeline và fine-tuning job thực tế
338
+ - So sánh quantitative: base model vs. ICL vs. LoRA fine-tuned
339
+ - Đòi hỏi hiểu metric interpretation --- không chỉ chạy code mà phải **phân tích kết quả**
340
+
341
+ * * *
342
+
343
+ ## 6. Các khóa bổ trợ trong GenAI Track
344
+
345
+ ### Introduction to Transformer-Based NLP (S-FX-08)
346
+ - **6 giờ | $30 | Beginner**
347
+ - Nền tảng cho tất cả khóa LLM
348
+ - NLP tasks: text classification, NER, author attribution, QA
349
+ - **Khuyến nghị**: học trước khi bắt đầu bất kỳ khóa nào khác
350
+
351
+ ### Generative AI Explained (S-FX-07)
352
+ - **2 giờ | Free | Beginner**
353
+ - Khóa no-code, overview concepts
354
+ - Tốt cho managers, non-technical roles
355
+ - **Không có assessment** --- chỉ completion
356
+
357
+ ### Prompt Engineering with LLaMA-2 (S-FX-12)
358
+ - **3 giờ | $30 | Beginner**
359
+ - ⚠️ **Đã expired** (Dec 2025) --- có thể NVIDIA sẽ update version mới
360
+ - Prompt iteration, system messages, few-shot learning, chatbot behavior
361
+
362
+ ### Building AI Agents with Multimodal Models (C-FX-17)
363
+ - **8 giờ | Instructor-Led**
364
+ - Focus multimodal agents --- kết hợp vision + language
365
+ - Khóa mới nhất trong catalog 2026
366
+
367
+ * * *
368
+
369
+ ## 7. Bảng so sánh tổng quan tất cả khoá GenAI
370
+
371
+ | Khóa | Mã | Giờ | Giá | Độ khó Assessment | Prerequisites |
372
+ |------|-----|-----|-----|-------------------|---------------|
373
+ | **Generative AI Explained** | S-FX-07 | 2h | Free | Không có | Không |
374
+ | **Intro to Transformer NLP** | S-FX-08 | 6h | $30 | ⭐⭐ | Deep learning cơ bản |
375
+ | **Generative AI with Diffusion Models** | S-FX-14 | 8h | $90 | ⭐⭐⭐⭐⭐ | PyTorch + Deep Learning |
376
+ | **Building RAG Agents** | S-FX-15 | 8h | $90 | ⭐⭐⭐⭐ | Python OOP + DL basics |
377
+ | **Eval & Customization of LLMs** | S-FX-34 | 3h | $90 | ⭐⭐⭐ | Python + LLM basics |
378
+ | **Agentic AI Applications** | C-FX-25 | 8h | Workshop | ⭐⭐⭐⭐⭐ | DL + Python Intermediate |
379
+ | **AI Agents with Multimodal** | C-FX-17 | 8h | Workshop | ⭐⭐⭐⭐ | DL + Vision |
380
+
381
+ * * *
382
+
383
+ ## 8. So sánh NVIDIA DLI với các certification khác
384
+
385
+ | Tiêu chí | NVIDIA DLI GenAI | AWS AI Practitioner | Azure AI-102 | Databricks GenAI |
386
+ |-----------|------------------|---------------------|-------------|-----------------|
387
+ | **Format thi** | Coding hands-on | 85 MCQ | 50 MCQ + case study | 45 MCQ |
388
+ | **Code thực tế** | ✅ Viết code trên GPU | ❌ | ❌ | ❌ Nhưng có scenario |
389
+ | **Thời gian thi** | 1-2h (assessment) | 120 phút | 100 phút | 120 phút |
390
+ | **Giá** | $30-$90 (course) | $150 | $165 | $200 |
391
+ | **GPU access** | ✅ Cloud GPU miễn phí | ❌ | ❌ | ❌ |
392
+ | **Depth** | 🔴 Rất sâu (code-level) | 🟡 Shallow (concepts) | 🟠 Medium (Azure services) | 🟠 Medium (RAG/eval) |
393
+ | **Vendor lock-in** | Thấp (PyTorch, chuẩn mở) | Cao (AWS only) | Cao (Azure only) | Trung bình (Databricks) |
394
+ | **Industry recognition** | ⭐⭐⭐⭐ (kỹ thuật) | ⭐⭐⭐⭐⭐ (phổ biến) | ⭐⭐⭐⭐ | ⭐⭐⭐ |
395
+ | **Phù hợp cho** | ML Engineer, AI Researcher | SA, PM, Developer mọi level | Azure Developer | Data Engineer, ML Ops |
396
+
397
+ **Nhận xét:**
398
+ - **NVIDIA DLI** là chứng chỉ **kỹ thuật sâu nhất** --- bạn thực sự code deep learning models
399
+ - **AWS AI Practitioner** phổ biến nhất nhưng shallow --- chỉ concepts và AWS services
400
+ - **Databricks GenAI** nằm ở giữa --- có depth về RAG/eval nhưng vẫn MCQ
401
+ - Nếu bạn là **ML Engineer**: NVIDIA DLI → Databricks → AWS
402
+ - Nếu bạn là **Cloud Architect**: AWS → Azure → Databricks
403
+
404
+ * * *
405
+
406
+ ## 9. Lộ trình chuẩn bị chi tiết
407
+
408
+ ### Phase 1: Foundation (2 tuần)
409
+
410
+ **Mục tiêu:** Nắm vững deep learning fundamentals và PyTorch
411
+
412
+ <table>
413
+ <tr><th>Tuần</th><th>Hoạt động</th><th>Tài nguyên</th></tr>
414
+ <tr><td>1</td><td>Deep Learning basics: neural networks, backprop, CNN, RNN</td><td>DLI: Getting Started with Deep Learning (free)</td></tr>
415
+ <tr><td>1</td><td>PyTorch fundamentals: tensors, autograd, nn.Module</td><td>PyTorch Official Tutorials</td></tr>
416
+ <tr><td>2</td><td>Transformer architecture: attention mechanism, multi-head attention</td><td>DLI: Intro to Transformer NLP (S-FX-08, $30)</td></tr>
417
+ <tr><td>2</td><td>Hands-on: Fine-tune BERT cho text classification</td><td>HuggingFace Tutorials</td></tr>
418
+ </table>
419
+
420
+ ### Phase 2: Generative AI Core (3 tuần)
421
+
422
+ **Mục tiêu:** Master diffusion models và LLM fundamentals
423
+
424
+ <table>
425
+ <tr><th>Tuần</th><th>Hoạt động</th><th>Tài nguyên</th></tr>
426
+ <tr><td>3</td><td>Diffusion theory: forward/reverse process, DDPM paper</td><td>Paper: "Denoising Diffusion Probabilistic Models" (Ho et al.)</td></tr>
427
+ <tr><td>3-4</td><td><strong>Khoá chính: Generative AI with Diffusion Models (S-FX-14, $90)</strong></td><td>NVIDIA DLI, 8 giờ</td></tr>
428
+ <tr><td>4</td><td>Ôn tập: U-Net code, noise scheduling, CLIP integration</td><td>Review lab notebooks</td></tr>
429
+ <tr><td>5</td><td>Bonus: Stable Diffusion internals, Latent Diffusion</td><td>Paper: "High-Resolution Image Synthesis with LDM"</td></tr>
430
+ </table>
431
+
432
+ ### Phase 3: LLM Applications (3 tuần)
433
+
434
+ **Mục tiêu:** Build production-ready LLM systems
435
+
436
+ <table>
437
+ <tr><th>Tuần</th><th>Hoạt động</th><th>Tài nguyên</th></tr>
438
+ <tr><td>6</td><td>LangChain fundamentals, LCEL, prompt templates</td><td>LangChain docs + tutorials</td></tr>
439
+ <tr><td>6-7</td><td><strong>Khoá chính: Building RAG Agents (S-FX-15, $90)</strong></td><td>NVIDIA DLI, 8 giờ</td></tr>
440
+ <tr><td>7</td><td>Vector databases deep-dive: FAISS, Milvus, pgvector</td><td>Official docs</td></tr>
441
+ <tr><td>8</td><td><strong>Khoá chính: Eval & Customization of LLMs (S-FX-34, $90)</strong></td><td>NVIDIA DLI, 3 giờ</td></tr>
442
+ <tr><td>8</td><td>LoRA fine-tuning practice: custom dataset</td><td>HuggingFace PEFT library</td></tr>
443
+ </table>
444
+
445
+ ### Phase 4: Advanced & Agent (2 tuần)
446
+
447
+ **Mục tiêu:** Agent architecture và multi-agent systems
448
+
449
+ <table>
450
+ <tr><th>Tuần</th><th>Hoạt động</th><th>Tài nguyên</th></tr>
451
+ <tr><td>9</td><td>LangGraph deep-dive: state machines, conditional edges</td><td>LangGraph tutorials</td></tr>
452
+ <tr><td>9</td><td>Multi-agent patterns: specialization, delegation, aggregation</td><td>Research papers + blog posts</td></tr>
453
+ <tr><td>10</td><td><strong>Khoá chính: Agentic AI Applications (C-FX-25)</strong></td><td>NVIDIA DLI Instructor-Led, 8 giờ</td></tr>
454
+ </table>
455
+
456
+ ### Tổng chi phí ước tính
457
+
458
+ | Hạng mục | Chi phí |
459
+ |------------|---------|
460
+ | Generative AI Explained (free) | $0 |
461
+ | Intro to Transformer NLP | $30 |
462
+ | Generative AI with Diffusion Models | $90 |
463
+ | Building RAG Agents | $90 |
464
+ | Eval & Customization of LLMs | $90 |
465
+ | Agentic AI Applications (workshop) | ~$500-1,000 |
466
+ | **Tổng (self-paced only)** | **$300** |
467
+ | **Tổng (bao gồm workshop)** | **$800-1,300** |
468
+
469
+ > **Tip tiết kiệm:** Đăng ký webinar NVIDIA Certification (April 30, 2026) để nhận **discount code 50%**.
470
+
471
+ * * *
472
+
473
+ ## 10. 20 câu hỏi mẫu assessment (Mock Exam)
474
+
475
+ Dưới đây là các câu hỏi mô phỏng sát format assessment thực tế của NVIDIA DLI:
476
+
477
+ ### Diffusion Models (S-FX-14)
478
+
479
+ **Q1.** Cho code skeleton dưới đây, implement `forward_diffusion()`:
480
+
481
+ ```python
482
+ def forward_diffusion(x_0, t, noise_schedule):
483
+ """
484
+ Args:
485
+ x_0: clean image tensor (B, C, H, W)
486
+ t: timestep tensor (B,)
487
+ noise_schedule: dict with 'alpha_bar' tensor (T,)
488
+ Returns:
489
+ x_t: noisy image at timestep t
490
+ noise: the noise added
491
+ """
492
+ # YOUR CODE HERE
493
+ pass
494
+ ```
495
+
496
+ <details>
497
+ <summary><strong>Đáp án</strong></summary>
498
+
499
+ ```python
500
+ def forward_diffusion(x_0, t, noise_schedule):
501
+ alpha_bar_t = noise_schedule['alpha_bar'][t] # (B,)
502
+ alpha_bar_t = alpha_bar_t[:, None, None, None] # (B, 1, 1, 1)
503
+ noise = torch.randn_like(x_0)
504
+ x_t = torch.sqrt(alpha_bar_t) * x_0 + torch.sqrt(1 - alpha_bar_t) * noise
505
+ return x_t, noise
506
+ ```
507
+
508
+ **Giải thích:** Forward diffusion thêm noise theo công thức:
509
+ $$q(x_t | x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1 - \bar{\alpha}_t) \mathbf{I})$$
510
+
511
+ </details>
512
+
513
+ ---
514
+
515
+ **Q2.** Sinusoidal position embedding cho timestep có dạng gì? Implement class `TimestepEmbedding(nn.Module)` với output dimension = 128.
516
+
517
+ <details>
518
+ <summary><strong>Đáp án</strong></summary>
519
+
520
+ ```python
521
+ class TimestepEmbedding(nn.Module):
522
+ def __init__(self, dim=128):
523
+ super().__init__()
524
+ self.dim = dim
525
+
526
+ def forward(self, t):
527
+ half_dim = self.dim // 2
528
+ emb = math.log(10000) / (half_dim - 1)
529
+ emb = torch.exp(torch.arange(half_dim, device=t.device) * -emb)
530
+ emb = t[:, None] * emb[None, :]
531
+ emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=-1)
532
+ return emb # (B, dim)
533
+ ```
534
+
535
+ </details>
536
+
537
+ ---
538
+
539
+ **Q3.** Classifier-Free Guidance scale $w = 7.5$. Unconditional prediction = $\epsilon_u$, conditional prediction = $\epsilon_c$. Viết code tính guided prediction.
540
+
541
+ <details>
542
+ <summary><strong>Đáp án</strong></summary>
543
+
544
+ ```python
545
+ guided_pred = epsilon_u + 7.5 * (epsilon_c - epsilon_u)
546
+ ```
547
+
548
+ </details>
549
+
550
+ ---
551
+
552
+ **Q4.** Group Normalization khác Batch Normalization ở điểm nào? Tại sao diffusion models ưu tiên Group Norm?
553
+
554
+ <details>
555
+ <summary><strong>Đáp án</strong></summary>
556
+
557
+ - **BatchNorm** normalize theo batch dimension → phụ thuộc batch size, unstable khi batch nhỏ
558
+ - **GroupNorm** normalize theo groups of channels trong mỗi sample → **independent of batch size**
559
+ - Diffusion models thường train với **small batch size** (vì image lớn, GPU memory hạn chế) → GroupNorm stable hơn
560
+
561
+ </details>
562
+
563
+ ---
564
+
565
+ **Q5.** Debug: Model cho ra ảnh toàn đen sau khi reverse diffusion. Code dưới đây có lỗi gì?
566
+
567
+ ```python
568
+ for t in range(T, 0, -1):
569
+ pred_noise = model(x_t, t)
570
+ alpha_t = noise_schedule['alpha'][t]
571
+ alpha_bar_t = noise_schedule['alpha_bar'][t]
572
+ x_t = (x_t - pred_noise) / torch.sqrt(alpha_t) # BUG
573
+ ```
574
+
575
+ <details>
576
+ <summary><strong>Đáp án</strong></summary>
577
+
578
+ Lỗi: Formula reverse diffusion sai. Đúng phải là:
579
+
580
+ ```python
581
+ x_t = (1 / torch.sqrt(alpha_t)) * (
582
+ x_t - (1 - alpha_t) / torch.sqrt(1 - alpha_bar_t) * pred_noise
583
+ )
584
+ if t > 1:
585
+ x_t += torch.sqrt(noise_schedule['beta'][t]) * torch.randn_like(x_t)
586
+ ```
587
+
588
+ Thiếu (1) coefficient đúng trước noise, (2) posterior variance term cho t > 1.
589
+
590
+ </details>
591
+
592
+ ---
593
+
594
+ ### RAG Agents (S-FX-15)
595
+
596
+ **Q6.** Implement semantic similarity search với cosine similarity. Cho `query_embedding` (1, 768) và `doc_embeddings` (N, 768), return top-5 indices.
597
+
598
+ <details>
599
+ <summary><strong>Đáp án</strong></summary>
600
+
601
+ ```python
602
+ import torch.nn.functional as F
603
+
604
+ similarities = F.cosine_similarity(
605
+ query_embedding, doc_embeddings, dim=1
606
+ )
607
+ top_5_indices = similarities.argsort(descending=True)[:5]
608
+ ```
609
+
610
+ </details>
611
+
612
+ ---
613
+
614
+ **Q7.** Chunking strategy: Document dài 10,000 tokens. Chunk size = 512, overlap = 128. Tính số chunks.
615
+
616
+ <details>
617
+ <summary><strong>Đáp án</strong></summary>
618
+
619
+ $$\text{chunks} = \lceil \frac{10000 - 512}{512 - 128} \rceil + 1 = \lceil \frac{9488}{384} \rceil + 1 = 25 + 1 = 26$$
620
+
621
+ </details>
622
+
623
+ ---
624
+
625
+ **Q8.** Viết LangChain LCEL pipeline: prompt template → LLM → output parser, cho task summarization.
626
+
627
+ <details>
628
+ <summary><strong>Đáp án</strong></summary>
629
+
630
+ ```python
631
+ from langchain_core.prompts import ChatPromptTemplate
632
+ from langchain_core.output_parsers import StrOutputParser
633
+
634
+ prompt = ChatPromptTemplate.from_template(
635
+ "Summarize the following text in 3 bullet points:\n{text}"
636
+ )
637
+ chain = prompt | llm | StrOutputParser()
638
+ result = chain.invoke({"text": document_text})
639
+ ```
640
+
641
+ </details>
642
+
643
+ ---
644
+
645
+ **Q9.** Implement input guardrail: reject queries có cosine similarity < 0.3 so với topic embeddings.
646
+
647
+ <details>
648
+ <summary><strong>Đáp án</strong></summary>
649
+
650
+ ```python
651
+ def guardrail_check(query_emb, topic_embs, threshold=0.3):
652
+ max_sim = F.cosine_similarity(
653
+ query_emb.unsqueeze(0), topic_embs, dim=1
654
+ ).max().item()
655
+ if max_sim < threshold:
656
+ return False, "Sorry, this question is outside my scope."
657
+ return True, None
658
+ ```
659
+
660
+ </details>
661
+
662
+ ---
663
+
664
+ **Q10.** RAG evaluation: Precision@5 = 0.6, Recall@5 = 0.3. Giải thích ý nghĩa và đề xuất cải thiện.
665
+
666
+ <details>
667
+ <summary><strong>Đáp án</strong></summary>
668
+
669
+ - **Precision@5 = 0.6**: 3/5 documents retrieved là relevant → retrieval khá tốt
670
+ - **Recall@5 = 0.3**: Chỉ tìm được 30% total relevant docs → **recall thấp**
671
+ - **Cải thiện**:
672
+ 1. Tăng top-k lên 10-20 (trade precision cho recall)
673
+ 2. Cải thiện chunking --- chunk nhỏ hơn để match chính xác hơn
674
+ 3. Hybrid search: BM25 + semantic retrieval
675
+ 4. Re-ranking layer sau initial retrieval
676
+
677
+ </details>
678
+
679
+ ---
680
+
681
+ ### LLM Evaluation & Customization (S-FX-34)
682
+
683
+ **Q11.** LoRA rank r = 16, model dimension d = 4096, k = 4096. Tính % parameters được fine-tune so với full fine-tuning.
684
+
685
+ <details>
686
+ <summary><strong>Đáp án</strong></summary>
687
+
688
+ $$\text{Full FT params} = d \times k = 4096 \times 4096 = 16,777,216$$
689
+ $$\text{LoRA params} = d \times r + r \times k = 4096 \times 16 + 16 \times 4096 = 131,072$$
690
+ $$\text{Ratio} = \frac{131,072}{16,777,216} = 0.78\%$$
691
+
692
+ LoRA chỉ fine-tune **<1% parameters** nhưng đạt performance gần full fine-tuning.
693
+
694
+ </details>
695
+
696
+ ---
697
+
698
+ **Q12.** BLEU score = 0.15, F1 = 0.72. Model đang có vấn đề gì?
699
+
700
+ <details>
701
+ <summary><strong>Đáp án</strong></summary>
702
+
703
+ - **BLEU thấp (0.15)**: Model generate text **khác wording** so với reference --- không nhất thiết là sai
704
+ - **F1 cao (0.72)**: Nội dung (key information) phần lớn đúng
705
+ - **Chẩn đoán**: Model paraphrase tốt nhưng không match exact phrasing → BLEU là poor metric cho QA tasks
706
+ - **Hành động**: Dùng **semantic similarity** hoặc **LLM-as-a-judge** thay BLEU cho evaluation chính xác hơn
707
+
708
+ </details>
709
+
710
+ ---
711
+
712
+ **Q13.** So sánh zero-shot, few-shot (ICL), và LoRA fine-tuning cho task legal QA:
713
+
714
+ <details>
715
+ <summary><strong>Đáp án</strong></summary>
716
+
717
+ | Approach | Accuracy | Latency | Cost | Khi nào dùng |
718
+ |----------|----------|---------|------|-------------|
719
+ | **Zero-shot** | Thấp nhất | Nhanh nhất | $0 | Quick prototype, generic tasks |
720
+ | **Few-shot (ICL)** | Trung bình | Chậm hơn (context dài) | Token cost tăng | Khi có <50 examples, cần deploy nhanh |
721
+ | **LoRA fine-tuning** | Cao nhất | Nhanh (adapter nhỏ) | Training cost | Khi có >1000 examples, cần max accuracy |
722
+
723
+ </details>
724
+
725
+ ---
726
+
727
+ ### Agentic AI (C-FX-25)
728
+
729
+ **Q14.** Implement structured output: LLM phải return JSON với schema `{"action": str, "params": dict, "confidence": float}`.
730
+
731
+ <details>
732
+ <summary><strong>Đáp án</strong></summary>
733
+
734
+ ```python
735
+ from pydantic import BaseModel, Field
736
+
737
+ class AgentAction(BaseModel):
738
+ action: str = Field(description="Action to execute")
739
+ params: dict = Field(description="Action parameters")
740
+ confidence: float = Field(ge=0, le=1, description="Confidence score")
741
+
742
+ structured_llm = llm.with_structured_output(AgentAction)
743
+ result = structured_llm.invoke("Search for papers about attention mechanism")
744
+ ```
745
+
746
+ </details>
747
+
748
+ ---
749
+
750
+ **Q15.** LangGraph: Implement conditional edge --- route đến `search_agent` nếu query cần research, route đến `answer_agent` nếu đã đủ context.
751
+
752
+ <details>
753
+ <summary><strong>Đáp án</strong></summary>
754
+
755
+ ```python
756
+ from langgraph.graph import StateGraph, END
757
+
758
+ def router(state):
759
+ if state["needs_research"]:
760
+ return "search_agent"
761
+ return "answer_agent"
762
+
763
+ graph = StateGraph(AgentState)
764
+ graph.add_node("classifier", classify_query)
765
+ graph.add_node("search_agent", do_research)
766
+ graph.add_node("answer_agent", generate_answer)
767
+
768
+ graph.add_conditional_edges("classifier", router, {
769
+ "search_agent": "search_agent",
770
+ "answer_agent": "answer_agent"
771
+ })
772
+ graph.add_edge("search_agent", "answer_agent")
773
+ graph.add_edge("answer_agent", END)
774
+ ```
775
+
776
+ </details>
777
+
778
+ ---
779
+
780
+ ### Câu hỏi tổng hợp (Cross-course)
781
+
782
+ **Q16.** Bạn cần build hệ thống generate product images từ description text. Liệt kê pipeline components và framework cho từng phần.
783
+
784
+ <details>
785
+ <summary><strong>Đáp án</strong></summary>
786
+
787
+ 1. **Text Processing**: LangChain prompt template → extract key features
788
+ 2. **Text Encoding**: CLIP Text Encoder → text embeddings (768-dim)
789
+ 3. **Diffusion Generation**: U-Net conditioned on CLIP embeddings → reverse diffusion → image
790
+ 4. **Post-processing**: PIL/OpenCV resize, quality enhancement
791
+ 5. **Serving**: NVIDIA NIM hoặc TorchServe cho inference API
792
+
793
+ Pipeline: User input → LLM extract features → CLIP encode → Diffusion model → Generated image
794
+
795
+ </details>
796
+
797
+ ---
798
+
799
+ **Q17.** Tại sao DDPM (Denoising Diffusion Probabilistic Model) cần 1000 steps cho inference nhưng Latent Diffusion chỉ cần 50?
800
+
801
+ <details>
802
+ <summary><strong>Đáp án</strong></summary>
803
+
804
+ - **DDPM**: Diffusion trong **pixel space** (256×256×3 = 196,608 dimensions) → cần nhiều steps để denoise
805
+ - **LDM**: Diffusion trong **latent space** (32×32×4 = 4,096 dimensions) → compressed 48x → ít steps hơn
806
+ - Thêm vào đó, LDM dùng **DDIM scheduler** (deterministic) thay DDPM (stochastic) → skip steps
807
+
808
+ </details>
809
+
810
+ ---
811
+
812
+ **Q18.** QLoRA vs LoRA: Giải thích sự khác biệt và khi nào chọn QLoRA.
813
+
814
+ <details>
815
+ <summary><strong>Đáp án</strong></summary>
816
+
817
+ | | LoRA | QLoRA |
818
+ |---|----|----|
819
+ | Base model | FP16/BF16 | **4-bit quantized** (NF4) |
820
+ | Adapters | FP16 | FP16 (computed in BF16) |
821
+ | VRAM cho 7B model | ~14GB | **~6GB** |
822
+ | Performance | Baseline | ~99% of LoRA |
823
+
824
+ **Chọn QLoRA khi:** GPU VRAM hạn chế (ví dụ: single RTX 3090/4090), model lớn (>13B params).
825
+
826
+ </details>
827
+
828
+ ---
829
+
830
+ **Q19.** Explain the "lost in the middle" problem trong RAG. Đề xuất 2 solutions.
831
+
832
+ <details>
833
+ <summary><strong>Đáp án</strong></summary>
834
+
835
+ **Problem:** LLMs tend to focus on **đầu và cuối** context window, bỏ qua thông tin ở **giữa** → retrieved documents đặt ở middle bị ignore.
836
+
837
+ **Solutions:**
838
+ 1. **Reorder retrieved docs**: Đặt most relevant docs ở đầu VÀ cuối, less relevant ở giữa
839
+ 2. **Summarize-then-answer**: Summarize mỗi retrieved doc thành 1-2 câu, ghép summaries thay vì full text → shorter context, ít bị lost
840
+
841
+ </details>
842
+
843
+ ---
844
+
845
+ **Q20.** System design: Build RAG agent cho legal firm. 50,000 documents, 100 concurrent users, response < 3 seconds. Sketch architecture.
846
+
847
+ <details>
848
+ <summary><strong>Đáp án</strong></summary>
849
+
850
+ ```
851
+ Users → Load Balancer → API Gateway
852
+ → Input Guardrail (topic filter)
853
+ → Query Router
854
+ → Vector DB (Milvus, 50K docs, GPU-accelerated)
855
+ → BM25 Index (Elasticsearch, keyword search)
856
+ → Reciprocal Rank Fusion (merge results)
857
+ → Re-ranker (cross-encoder, top-20 → top-5)
858
+ → LLM (NVIDIA NIM, 8x H100, batched inference)
859
+ → Output Guardrail (PII filter, citation check)
860
+ → Response with sources
861
+ ```
862
+
863
+ **Key decisions:**
864
+ - Milvus cho vector search (GPU-accelerated, <100ms at 50K scale)
865
+ - Hybrid search (semantic + keyword) cho legal domain accuracy
866
+ - Re-ranker để improve precision
867
+ - NVIDIA NIM cho optimized LLM inference (<2s)
868
+ - Output guardrails cho PII detection (legal compliance)
869
+
870
+ </details>
871
+
872
+ * * *
873
+
874
+ ## 11. Kết luận
875
+
876
+ NVIDIA DLI Generative AI track là **lựa chọn tốt nhất cho kỹ sư muốn hands-on thực sự** với generative models. Không MCQ, không lý thuyết suông --- bạn phải viết code, debug models, và build systems.
877
+
878
+ **Nếu chỉ chọn 1 khóa:** Bắt đầu với **Building RAG Agents (S-FX-15)** --- ứng dụng thực tế nhất, industry demand cao nhất.
879
+
880
+ **Nếu muốn differentiate:** Thêm **Generative AI with Diffusion Models (S-FX-14)** --- khóa khó nhất, ít người có, chứng minh deep technical competency.
881
+
882
+ **Nếu muốn full stack GenAI engineer:** Hoàn thành cả 4 khóa self-paced + 1 instructor-led workshop.
883
+
884
+ ### Tài nguyên bổ sung
885
+
886
+ - [NVIDIA DLI Course Catalog](https://www.nvidia.com/en-us/training/self-paced-courses/)
887
+ - [NVIDIA Certification Portal](https://www.nvidia.com/en-us/learn/certification/)
888
+ - [DLI Learning Paths PDF](https://nvdam.widen.net/s/brxsxxtskb/dli-learning-journey-2009000-r5-web)
889
+ - [NVIDIA Technical Blog: GenAI posts](https://developer.nvidia.com/blog/)
890
+ - Paper: [Denoising Diffusion Probabilistic Models](https://arxiv.org/abs/2006.11239) (Ho et al., 2020)
891
+ - Paper: [LoRA: Low-Rank Adaptation of LLMs](https://arxiv.org/abs/2106.09685) (Hu et al., 2021)
892
+ - Paper: [Attention Is All You Need](https://arxiv.org/abs/1706.03762) (Vaswani et al., 2017)
893
+
894
+ > **Webinar sắp tới:** NVIDIA Certification 2026 --- April 30, 2026 --- đăng ký để nhận 50% discount code cho certification exams. [Register](https://www.nvidia.com/en-us/events/whats-new-with-nvidia-certification-2026/)