@xdev-asia/xdev-knowledge-mcp 1.0.58 → 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.
- package/content/blog/ai/nvidia-dli-generative-ai-chung-chi-va-lo-trinh-hoc.md +894 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/content/series/luyen-thi/luyen-thi-nvidia-dli-generative-ai/index.md +237 -0
- package/data/quizzes/nvidia-dli-generative-ai.json +350 -0
- package/data/quizzes.json +14 -0
- package/package.json +1 -1
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 019c9619-nv01-7001-c001-nv0100000001
|
|
3
|
+
title: "Luyện thi NVIDIA DLI — Generative AI with Diffusion Models & LLMs"
|
|
4
|
+
slug: luyen-thi-nvidia-dli-generative-ai
|
|
5
|
+
description: >-
|
|
6
|
+
Lộ trình ôn tập toàn diện cho các khóa NVIDIA DLI Generative AI — từ Diffusion Models,
|
|
7
|
+
RAG Agents, Agentic AI đến LLM Evaluation & Fine-tuning. 10 bài học chuyên sâu có hands-on
|
|
8
|
+
code, bài thi thử dạng coding assessment, và câu hỏi mẫu sát đề thi thật.
|
|
9
|
+
|
|
10
|
+
featured_image: images/blog/nvidia-dli-genai-series-banner.png
|
|
11
|
+
level: intermediate
|
|
12
|
+
duration_hours: 40
|
|
13
|
+
lesson_count: 10
|
|
14
|
+
price: '0.00'
|
|
15
|
+
is_free: true
|
|
16
|
+
view_count: 0
|
|
17
|
+
average_rating: '0.00'
|
|
18
|
+
review_count: 0
|
|
19
|
+
enrollment_count: 0
|
|
20
|
+
meta: null
|
|
21
|
+
published_at: '2026-04-13T14:00:00.000000Z'
|
|
22
|
+
created_at: '2026-04-13T14:00:00.000000Z'
|
|
23
|
+
|
|
24
|
+
author:
|
|
25
|
+
id: 019c9616-d2b4-713f-9b2c-40e2e92a05cf
|
|
26
|
+
name: Duy Tran
|
|
27
|
+
avatar: avatars/7e8eb5c6-4cac-455b-a701-4060f085d501.jpeg
|
|
28
|
+
|
|
29
|
+
category:
|
|
30
|
+
id: 019c9616-cat9-7009-a009-000000000009
|
|
31
|
+
name: Luyện thi chứng chỉ
|
|
32
|
+
slug: luyen-thi
|
|
33
|
+
|
|
34
|
+
tags:
|
|
35
|
+
- name: NVIDIA
|
|
36
|
+
slug: nvidia
|
|
37
|
+
- name: AI
|
|
38
|
+
slug: ai
|
|
39
|
+
- name: Deep Learning
|
|
40
|
+
slug: deep-learning
|
|
41
|
+
- name: LLM
|
|
42
|
+
slug: llm
|
|
43
|
+
- name: Diffusion Models
|
|
44
|
+
slug: diffusion-models
|
|
45
|
+
- name: RAG
|
|
46
|
+
slug: rag
|
|
47
|
+
- name: Chứng chỉ
|
|
48
|
+
slug: chung-chi
|
|
49
|
+
|
|
50
|
+
quiz_slug: nvidia-dli-generative-ai
|
|
51
|
+
|
|
52
|
+
sections:
|
|
53
|
+
- id: section-01
|
|
54
|
+
title: "Part 1: Deep Learning Foundations"
|
|
55
|
+
description: PyTorch fundamentals, neural network architectures, Transformer basics
|
|
56
|
+
sort_order: 1
|
|
57
|
+
lessons:
|
|
58
|
+
- id: 019c9619-nv01-p1-l01
|
|
59
|
+
title: "Bài 1: PyTorch & Neural Network Fundamentals"
|
|
60
|
+
slug: bai-1-pytorch-neural-network-fundamentals
|
|
61
|
+
description: >-
|
|
62
|
+
PyTorch tensors, autograd, nn.Module. Build neural network from scratch.
|
|
63
|
+
Training loop, loss functions, optimizers. GPU acceleration basics.
|
|
64
|
+
CNN architecture, pooling, batch normalization.
|
|
65
|
+
duration_minutes: 90
|
|
66
|
+
is_free: true
|
|
67
|
+
sort_order: 0
|
|
68
|
+
video_url: null
|
|
69
|
+
- id: 019c9619-nv01-p1-l02
|
|
70
|
+
title: "Bài 2: Transformer Architecture & Attention Mechanism"
|
|
71
|
+
slug: bai-2-transformer-architecture-attention
|
|
72
|
+
description: >-
|
|
73
|
+
Self-attention, multi-head attention, positional encoding.
|
|
74
|
+
Encoder-decoder architecture. BERT, GPT, T5 model families.
|
|
75
|
+
Tokenization: BPE, WordPiece, SentencePiece.
|
|
76
|
+
NLP tasks: classification, NER, QA, summarization.
|
|
77
|
+
duration_minutes: 90
|
|
78
|
+
is_free: true
|
|
79
|
+
sort_order: 1
|
|
80
|
+
video_url: null
|
|
81
|
+
|
|
82
|
+
- id: section-02
|
|
83
|
+
title: "Part 2: Generative AI with Diffusion Models"
|
|
84
|
+
description: U-Net, DDPM, noise scheduling, CLIP, text-to-image pipeline
|
|
85
|
+
sort_order: 2
|
|
86
|
+
lessons:
|
|
87
|
+
- id: 019c9619-nv01-p2-l03
|
|
88
|
+
title: "Bài 3: U-Net Architecture & Denoising Basics"
|
|
89
|
+
slug: bai-3-unet-architecture-denoising
|
|
90
|
+
description: >-
|
|
91
|
+
U-Net encoder-decoder with skip connections.
|
|
92
|
+
Build U-Net from scratch in PyTorch. Train denoiser model.
|
|
93
|
+
Group Normalization, GELU activation, Rearrange Pooling.
|
|
94
|
+
Sinusoidal Position Embeddings for timestep encoding.
|
|
95
|
+
duration_minutes: 90
|
|
96
|
+
is_free: true
|
|
97
|
+
sort_order: 0
|
|
98
|
+
video_url: null
|
|
99
|
+
- id: 019c9619-nv01-p2-l04
|
|
100
|
+
title: "Bài 4: DDPM — Forward & Reverse Diffusion"
|
|
101
|
+
slug: bai-4-ddpm-forward-reverse-diffusion
|
|
102
|
+
description: >-
|
|
103
|
+
Forward diffusion: Markov chain, variance schedule, reparameterization.
|
|
104
|
+
Reverse diffusion: predict noise, denoise step-by-step.
|
|
105
|
+
Noise scheduling: linear, cosine schedules.
|
|
106
|
+
Training objective: simplified ELBO loss.
|
|
107
|
+
Classifier-Free Diffusion Guidance (CFG).
|
|
108
|
+
duration_minutes: 90
|
|
109
|
+
is_free: true
|
|
110
|
+
sort_order: 1
|
|
111
|
+
video_url: null
|
|
112
|
+
- id: 019c9619-nv01-p2-l05
|
|
113
|
+
title: "Bài 5: CLIP & Text-to-Image Pipeline"
|
|
114
|
+
slug: bai-5-clip-text-to-image-pipeline
|
|
115
|
+
description: >-
|
|
116
|
+
CLIP: Contrastive Language-Image Pretraining.
|
|
117
|
+
Text encoding, image encoding, contrastive loss.
|
|
118
|
+
Cross-attention: inject text embeddings into U-Net.
|
|
119
|
+
Full text-to-image pipeline. Latent Diffusion overview.
|
|
120
|
+
Assessment prep: coding exercises & debug challenges.
|
|
121
|
+
duration_minutes: 90
|
|
122
|
+
is_free: true
|
|
123
|
+
sort_order: 2
|
|
124
|
+
video_url: null
|
|
125
|
+
|
|
126
|
+
- id: section-03
|
|
127
|
+
title: "Part 3: LLM Applications & RAG"
|
|
128
|
+
description: LLM inference, RAG pipeline, embeddings, vector stores, guardrails
|
|
129
|
+
sort_order: 3
|
|
130
|
+
lessons:
|
|
131
|
+
- id: 019c9619-nv01-p3-l06
|
|
132
|
+
title: "Bài 6: LLM Inference & Pipeline Design"
|
|
133
|
+
slug: bai-6-llm-inference-pipeline-design
|
|
134
|
+
description: >-
|
|
135
|
+
LLM inference parameters: temperature, top_p, top_k, max_tokens.
|
|
136
|
+
NVIDIA NIM (Inference Microservices).
|
|
137
|
+
LangChain Expression Language (LCEL), prompt templates.
|
|
138
|
+
Gradio UI prototyping, LangServe deployment.
|
|
139
|
+
Dialog management with running states.
|
|
140
|
+
duration_minutes: 90
|
|
141
|
+
is_free: true
|
|
142
|
+
sort_order: 0
|
|
143
|
+
video_url: null
|
|
144
|
+
- id: 019c9619-nv01-p3-l07
|
|
145
|
+
title: "Bài 7: RAG — Retrieval-Augmented Generation"
|
|
146
|
+
slug: bai-7-rag-retrieval-augmented-generation
|
|
147
|
+
description: >-
|
|
148
|
+
Document loading, chunking strategies, metadata extraction.
|
|
149
|
+
Embedding models: semantic similarity, cosine distance.
|
|
150
|
+
Vector stores: FAISS, Milvus, pgvector.
|
|
151
|
+
Full RAG pipeline: query → retrieve → augment → generate.
|
|
152
|
+
Guardrailing: input/output filters, topic detection.
|
|
153
|
+
duration_minutes: 90
|
|
154
|
+
is_free: true
|
|
155
|
+
sort_order: 1
|
|
156
|
+
video_url: null
|
|
157
|
+
- id: 019c9619-nv01-p3-l08
|
|
158
|
+
title: "Bài 8: RAG Agent — Build & Evaluate"
|
|
159
|
+
slug: bai-8-rag-agent-build-evaluate
|
|
160
|
+
description: >-
|
|
161
|
+
Build RAG agent answers questions about research papers.
|
|
162
|
+
Multi-turn conversation with state management.
|
|
163
|
+
RAG evaluation metrics: precision, recall, faithfulness.
|
|
164
|
+
LLM-as-a-judge evaluation pattern.
|
|
165
|
+
Assessment prep: end-to-end RAG agent challenge.
|
|
166
|
+
duration_minutes: 90
|
|
167
|
+
is_free: true
|
|
168
|
+
sort_order: 2
|
|
169
|
+
video_url: null
|
|
170
|
+
|
|
171
|
+
- id: section-04
|
|
172
|
+
title: "Part 4: Agentic AI & LLM Customization"
|
|
173
|
+
description: Multi-agent systems, LangGraph, LoRA fine-tuning, NeMo framework
|
|
174
|
+
sort_order: 4
|
|
175
|
+
lessons:
|
|
176
|
+
- id: 019c9619-nv01-p4-l09
|
|
177
|
+
title: "Bài 9: Agentic AI — Multi-Agent Systems"
|
|
178
|
+
slug: bai-9-agentic-ai-multi-agent-systems
|
|
179
|
+
description: >-
|
|
180
|
+
Agent abstraction: task decomposition, structured output.
|
|
181
|
+
Cognitive architectures: ReAct, Plan-and-Execute, LATS.
|
|
182
|
+
LangGraph: state machines, conditional edges, parallel execution.
|
|
183
|
+
Multi-agent orchestration, tool interfaces, knowledge graphs.
|
|
184
|
+
Final assessment: deploy multi-agent research system.
|
|
185
|
+
duration_minutes: 90
|
|
186
|
+
is_free: true
|
|
187
|
+
sort_order: 0
|
|
188
|
+
video_url: null
|
|
189
|
+
- id: 019c9619-nv01-p4-l10
|
|
190
|
+
title: "Bài 10: LLM Evaluation & LoRA Fine-tuning"
|
|
191
|
+
slug: bai-10-llm-evaluation-lora-fine-tuning
|
|
192
|
+
description: >-
|
|
193
|
+
Evaluation methods: benchmarks (GSM8K), LLM-as-a-judge, ELO ranking.
|
|
194
|
+
NeMo Evaluator microservice, MLflow experiment tracking.
|
|
195
|
+
Metrics: BLEU, F1-score, semantic similarity.
|
|
196
|
+
LoRA & QLoRA fine-tuning: theory and practice.
|
|
197
|
+
NeMo Customizer: launch fine-tuning jobs.
|
|
198
|
+
Exam strategy, cheat sheet & final mock exam.
|
|
199
|
+
duration_minutes: 90
|
|
200
|
+
is_free: true
|
|
201
|
+
sort_order: 1
|
|
202
|
+
video_url: null
|
|
203
|
+
|
|
204
|
+
reviews: []
|
|
205
|
+
quizzes: []
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Giới thiệu
|
|
209
|
+
|
|
210
|
+
Khóa học **Luyện thi NVIDIA DLI Generative AI** giúp bạn ôn tập có hệ thống cho toàn bộ track Generative AI/LLM của NVIDIA Deep Learning Institute — từ **Diffusion Models**, **RAG Agents**, **Agentic AI** đến **LLM Evaluation & Fine-tuning**.
|
|
211
|
+
|
|
212
|
+
### Khác biệt so với certification truyền thống
|
|
213
|
+
|
|
214
|
+
NVIDIA DLI **không phải MCQ exam** — bạn phải **viết code thực sự** trên Jupyter Notebook với GPU cloud. Đây là lý do series này tập trung vào **hands-on coding** và **debug exercises** thay vì câu hỏi lý thuyết.
|
|
215
|
+
|
|
216
|
+
### Ai nên học?
|
|
217
|
+
|
|
218
|
+
- ML Engineer muốn **chứng chỉ kỹ thuật sâu** về Generative AI
|
|
219
|
+
- Developer đã biết Python, muốn **master PyTorch + LLM stack**
|
|
220
|
+
- Người chuẩn bị thi các khóa DLI: **S-FX-14** (Diffusion), **S-FX-15** (RAG), **C-FX-25** (Agentic), **S-FX-34** (Eval/Fine-tune)
|
|
221
|
+
- AI Researcher muốn ôn lại fundamentals một cách hệ thống
|
|
222
|
+
|
|
223
|
+
### Cấu trúc series
|
|
224
|
+
|
|
225
|
+
| Part | Chủ đề | Khóa DLI tương ứng | Số bài |
|
|
226
|
+
|------|--------|---------------------|--------|
|
|
227
|
+
| Part 1 | Deep Learning Foundations | S-FX-08 (Transformer NLP) | Bài 1–2 |
|
|
228
|
+
| Part 2 | Generative AI with Diffusion Models | **S-FX-14** (Diffusion Models) | Bài 3–5 |
|
|
229
|
+
| Part 3 | LLM Applications & RAG | **S-FX-15** (RAG Agents) | Bài 6–8 |
|
|
230
|
+
| Part 4 | Agentic AI & LLM Customization | **C-FX-25** (Agentic) + **S-FX-34** (Eval) | Bài 9–10 |
|
|
231
|
+
|
|
232
|
+
### Prerequisites
|
|
233
|
+
|
|
234
|
+
- **Python**: OOP, list comprehension, decorators
|
|
235
|
+
- **PyTorch**: tensors cơ bản (sẽ ôn lại trong Bài 1)
|
|
236
|
+
- **Deep Learning**: hiểu neural networks, backpropagation (sẽ ôn lại)
|
|
237
|
+
- **Toán**: linear algebra cơ bản, probability (Gaussian, Markov chain)
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "nvidia-dli-generative-ai",
|
|
3
|
+
"title": "NVIDIA DLI — Generative AI with Diffusion Models & LLMs",
|
|
4
|
+
"slug": "nvidia-dli-generative-ai",
|
|
5
|
+
"description": "Practice exam covering all 4 DLI GenAI courses — Diffusion Models, RAG Agents, Agentic AI, LLM Eval & Fine-tuning. 20 questions, coding-style.",
|
|
6
|
+
"icon": "gpu",
|
|
7
|
+
"provider": "NVIDIA",
|
|
8
|
+
"level": "Intermediate",
|
|
9
|
+
"duration_minutes": 40,
|
|
10
|
+
"passing_score": 70,
|
|
11
|
+
"questions_count": 20,
|
|
12
|
+
"tags": [
|
|
13
|
+
"NVIDIA",
|
|
14
|
+
"DLI",
|
|
15
|
+
"Diffusion",
|
|
16
|
+
"LLM",
|
|
17
|
+
"RAG",
|
|
18
|
+
"LoRA",
|
|
19
|
+
"GenAI"
|
|
20
|
+
],
|
|
21
|
+
"series_slug": "luyen-thi-nvidia-dli-generative-ai",
|
|
22
|
+
"domains": [
|
|
23
|
+
{
|
|
24
|
+
"name": "Part 1: Deep Learning Foundations",
|
|
25
|
+
"weight": 15,
|
|
26
|
+
"lessons": [
|
|
27
|
+
{
|
|
28
|
+
"title": "Bài 1: PyTorch & Neural Network Fundamentals",
|
|
29
|
+
"slug": "bai-1-pytorch-neural-network-fundamentals"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"title": "Bài 2: Transformer Architecture & Attention",
|
|
33
|
+
"slug": "bai-2-transformer-architecture-attention"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "Part 2: Generative AI with Diffusion Models",
|
|
39
|
+
"weight": 30,
|
|
40
|
+
"lessons": [
|
|
41
|
+
{
|
|
42
|
+
"title": "Bài 3: U-Net Architecture & Denoising",
|
|
43
|
+
"slug": "bai-3-unet-architecture-denoising"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"title": "Bài 4: DDPM — Forward & Reverse Diffusion",
|
|
47
|
+
"slug": "bai-4-ddpm-forward-reverse-diffusion"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"title": "Bài 5: CLIP & Text-to-Image Pipeline",
|
|
51
|
+
"slug": "bai-5-clip-text-to-image-pipeline"
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "Part 3: LLM Applications & RAG",
|
|
57
|
+
"weight": 30,
|
|
58
|
+
"lessons": [
|
|
59
|
+
{
|
|
60
|
+
"title": "Bài 6: LLM Inference & Pipeline Design",
|
|
61
|
+
"slug": "bai-6-llm-inference-pipeline-design"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"title": "Bài 7: RAG — Retrieval-Augmented Generation",
|
|
65
|
+
"slug": "bai-7-rag-retrieval-augmented-generation"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"title": "Bài 8: RAG Agent — Build & Evaluate",
|
|
69
|
+
"slug": "bai-8-rag-agent-build-evaluate"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "Part 4: Agentic AI & LLM Customization",
|
|
75
|
+
"weight": 25,
|
|
76
|
+
"lessons": [
|
|
77
|
+
{
|
|
78
|
+
"title": "Bài 9: Agentic AI & Multi-Agent Systems",
|
|
79
|
+
"slug": "bai-9-agentic-ai-multi-agent-systems"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"title": "Bài 10: LLM Evaluation & LoRA Fine-tuning",
|
|
83
|
+
"slug": "bai-10-llm-evaluation-lora-fine-tuning"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"questions": [
|
|
89
|
+
{
|
|
90
|
+
"id": 1,
|
|
91
|
+
"domain": "Part 1: Deep Learning Foundations",
|
|
92
|
+
"question": "In PyTorch, what does `loss.backward()` compute?",
|
|
93
|
+
"options": [
|
|
94
|
+
"The forward pass of the neural network",
|
|
95
|
+
"Gradients of the loss with respect to all parameters that have requires_grad=True",
|
|
96
|
+
"Updates the model weights using the optimizer",
|
|
97
|
+
"Zeros out all gradients in the computation graph"
|
|
98
|
+
],
|
|
99
|
+
"correct": 1,
|
|
100
|
+
"explanation": "`loss.backward()` computes gradients via backpropagation. It calculates ∂loss/∂param for every parameter with requires_grad=True. The actual weight update is done by `optimizer.step()`, and zeroing gradients is done by `optimizer.zero_grad()`."
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": 2,
|
|
104
|
+
"domain": "Part 1: Deep Learning Foundations",
|
|
105
|
+
"question": "In the Transformer self-attention mechanism, what are the three projections computed from the input?",
|
|
106
|
+
"options": [
|
|
107
|
+
"Mean, Variance, Standard Deviation",
|
|
108
|
+
"Encoder, Decoder, Cross-Attention",
|
|
109
|
+
"Query (Q), Key (K), Value (V)",
|
|
110
|
+
"Input, Hidden, Output"
|
|
111
|
+
],
|
|
112
|
+
"correct": 2,
|
|
113
|
+
"explanation": "Self-attention projects input into Q, K, V matrices. Attention scores are computed as softmax(QK^T / √d_k) · V. Each head learns different relationships between tokens."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": 3,
|
|
117
|
+
"domain": "Part 1: Deep Learning Foundations",
|
|
118
|
+
"question": "What is the purpose of positional encoding in Transformers?",
|
|
119
|
+
"options": [
|
|
120
|
+
"To reduce the number of parameters in the model",
|
|
121
|
+
"To inject information about token position since self-attention is permutation-invariant",
|
|
122
|
+
"To normalize the input embeddings to unit length",
|
|
123
|
+
"To increase the context window size of the model"
|
|
124
|
+
],
|
|
125
|
+
"correct": 1,
|
|
126
|
+
"explanation": "Self-attention treats input as an unordered set — it has no notion of position. Positional encoding (sinusoidal or learned) adds position information so the model can distinguish 'cat sat on mat' from 'mat sat on cat'."
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": 4,
|
|
130
|
+
"domain": "Part 2: Generative AI with Diffusion Models",
|
|
131
|
+
"question": "In a U-Net architecture used for diffusion models, what is the purpose of skip connections?",
|
|
132
|
+
"options": [
|
|
133
|
+
"To skip layers during training for faster convergence",
|
|
134
|
+
"To connect encoder features to decoder at matching resolutions, preserving spatial detail",
|
|
135
|
+
"To randomly drop layers during inference for diversity",
|
|
136
|
+
"To reduce the total number of parameters in the model"
|
|
137
|
+
],
|
|
138
|
+
"correct": 1,
|
|
139
|
+
"explanation": "Skip connections concatenate encoder feature maps with decoder feature maps at the same resolution. This preserves fine spatial details that would otherwise be lost during downsampling, which is critical for image reconstruction quality."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"id": 5,
|
|
143
|
+
"domain": "Part 2: Generative AI with Diffusion Models",
|
|
144
|
+
"question": "Given the forward diffusion formula q(x_t | x_0) = N(x_t; √ᾱ_t · x_0, (1-ᾱ_t)·I), what happens as t → T (final timestep)?",
|
|
145
|
+
"options": [
|
|
146
|
+
"x_t becomes identical to x_0 (clean image)",
|
|
147
|
+
"x_t becomes pure Gaussian noise N(0, I) because ᾱ_T → 0",
|
|
148
|
+
"x_t becomes a blurred version of x_0",
|
|
149
|
+
"x_t becomes the mean of all training images"
|
|
150
|
+
],
|
|
151
|
+
"correct": 1,
|
|
152
|
+
"explanation": "As t → T, ᾱ_t → 0, so the mean √ᾱ_t · x_0 → 0 and variance (1-ᾱ_t) → 1. The distribution approaches N(0, I) — pure standard Gaussian noise. This is why reverse diffusion starts from random noise."
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": 6,
|
|
156
|
+
"domain": "Part 2: Generative AI with Diffusion Models",
|
|
157
|
+
"question": "In Classifier-Free Guidance (CFG), what does increasing the guidance scale w do?",
|
|
158
|
+
"options": [
|
|
159
|
+
"Makes generated images more random and diverse",
|
|
160
|
+
"Reduces inference time by skipping diffusion steps",
|
|
161
|
+
"Amplifies the conditional signal, making output more aligned with the prompt but less diverse",
|
|
162
|
+
"Switches the model from conditional to unconditional generation"
|
|
163
|
+
],
|
|
164
|
+
"correct": 2,
|
|
165
|
+
"explanation": "CFG formula: ε_guided = ε_unconditional + w · (ε_conditional - ε_unconditional). Higher w amplifies the difference between conditional and unconditional predictions, pushing output closer to the prompt. Typical values: w=7.5. Too high causes artifacts."
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"id": 7,
|
|
169
|
+
"domain": "Part 2: Generative AI with Diffusion Models",
|
|
170
|
+
"question": "Why do diffusion models prefer Group Normalization over Batch Normalization?",
|
|
171
|
+
"options": [
|
|
172
|
+
"Group Norm has fewer parameters than Batch Norm",
|
|
173
|
+
"Group Norm performs better on large batch sizes",
|
|
174
|
+
"Group Norm normalizes within each sample independently, making it stable for small batch sizes typical in image generation",
|
|
175
|
+
"Group Norm removes the need for skip connections"
|
|
176
|
+
],
|
|
177
|
+
"correct": 2,
|
|
178
|
+
"explanation": "Batch Norm statistics depend on batch size — unstable when batch is small (common in diffusion training due to large images). Group Norm divides channels into groups and normalizes within each sample, independent of batch size."
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"id": 8,
|
|
182
|
+
"domain": "Part 2: Generative AI with Diffusion Models",
|
|
183
|
+
"question": "CLIP (Contrastive Language-Image Pretraining) is used in text-to-image diffusion models to:",
|
|
184
|
+
"options": [
|
|
185
|
+
"Generate images directly from text without a diffusion process",
|
|
186
|
+
"Encode text prompts into embeddings that condition the U-Net via cross-attention",
|
|
187
|
+
"Replace the U-Net entirely with a vision transformer",
|
|
188
|
+
"Evaluate the quality of generated images automatically"
|
|
189
|
+
],
|
|
190
|
+
"correct": 1,
|
|
191
|
+
"explanation": "CLIP's text encoder converts text prompts into dense embedding vectors. These embeddings are injected into the U-Net at multiple layers via cross-attention: Attention(Q=image_features, K=text_embeddings, V=text_embeddings). This conditions the generation process on the text."
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"id": 9,
|
|
195
|
+
"domain": "Part 3: LLM Applications & RAG",
|
|
196
|
+
"question": "When chunking a 10,000-token document with chunk_size=512 and overlap=128, approximately how many chunks are produced?",
|
|
197
|
+
"options": [
|
|
198
|
+
"20 chunks",
|
|
199
|
+
"26 chunks",
|
|
200
|
+
"10 chunks",
|
|
201
|
+
"50 chunks"
|
|
202
|
+
],
|
|
203
|
+
"correct": 1,
|
|
204
|
+
"explanation": "With overlap, stride = chunk_size - overlap = 512 - 128 = 384. Number of chunks ≈ ceil((10000 - 512) / 384) + 1 = ceil(9488/384) + 1 = 25 + 1 = 26 chunks."
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"id": 10,
|
|
208
|
+
"domain": "Part 3: LLM Applications & RAG",
|
|
209
|
+
"question": "In a RAG pipeline, what is the PRIMARY purpose of embedding models?",
|
|
210
|
+
"options": [
|
|
211
|
+
"To generate the final answer from retrieved documents",
|
|
212
|
+
"To convert text into dense vector representations for semantic similarity search",
|
|
213
|
+
"To split documents into smaller chunks",
|
|
214
|
+
"To filter out irrelevant documents using keyword matching"
|
|
215
|
+
],
|
|
216
|
+
"correct": 1,
|
|
217
|
+
"explanation": "Embedding models (e.g., NV-Embed-QA, sentence-transformers) convert text into dense vectors where semantically similar texts are close in vector space. This enables retrieval via cosine similarity or approximate nearest neighbor search."
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"id": 11,
|
|
221
|
+
"domain": "Part 3: LLM Applications & RAG",
|
|
222
|
+
"question": "What is an input guardrail in a RAG system?",
|
|
223
|
+
"options": [
|
|
224
|
+
"A firewall that blocks network attacks on the LLM API",
|
|
225
|
+
"A mechanism that rejects user queries that are off-topic or potentially harmful before sending to the LLM",
|
|
226
|
+
"A rate limiter that controls the number of API calls per minute",
|
|
227
|
+
"A caching layer that stores frequently asked questions"
|
|
228
|
+
],
|
|
229
|
+
"correct": 1,
|
|
230
|
+
"explanation": "Input guardrails check user queries before processing. Common techniques: embedding similarity to topic vectors (reject if < threshold), keyword blocklists, classifier for harmful content. This prevents misuse and keeps the system focused on its domain."
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"id": 12,
|
|
234
|
+
"domain": "Part 3: LLM Applications & RAG",
|
|
235
|
+
"question": "Your RAG system has Precision@5 = 0.8 but Recall@5 = 0.2. What does this indicate and how would you improve it?",
|
|
236
|
+
"options": [
|
|
237
|
+
"Most retrieved docs are relevant but you're missing many relevant docs — increase top-k or use hybrid search",
|
|
238
|
+
"Most retrieved docs are irrelevant — improve the embedding model",
|
|
239
|
+
"The LLM is hallucinating — add output guardrails",
|
|
240
|
+
"The chunks are too large — reduce chunk size"
|
|
241
|
+
],
|
|
242
|
+
"correct": 0,
|
|
243
|
+
"explanation": "High precision (4/5 retrieved are relevant) + low recall (only 20% of all relevant docs found) means the retriever is accurate but misses many documents. Solutions: increase top-k, add BM25 keyword search alongside semantic search (hybrid), or use a re-ranker."
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"id": 13,
|
|
247
|
+
"domain": "Part 3: LLM Applications & RAG",
|
|
248
|
+
"question": "In LangChain Expression Language (LCEL), what does the pipe operator `|` represent?",
|
|
249
|
+
"options": [
|
|
250
|
+
"Logical OR between two conditions",
|
|
251
|
+
"Chaining components sequentially — output of left becomes input of right",
|
|
252
|
+
"Parallel execution of two components",
|
|
253
|
+
"Error handling — if left fails, try right"
|
|
254
|
+
],
|
|
255
|
+
"correct": 1,
|
|
256
|
+
"explanation": "LCEL pipe operator chains components: `prompt | llm | output_parser`. Output of prompt template feeds into LLM, LLM output feeds into parser. It's syntactic sugar for creating a RunnableSequence."
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": 14,
|
|
260
|
+
"domain": "Part 4: Agentic AI & LLM Customization",
|
|
261
|
+
"question": "In a LangGraph agent, what is the purpose of conditional edges?",
|
|
262
|
+
"options": [
|
|
263
|
+
"To add random branching for diversity in agent behavior",
|
|
264
|
+
"To route execution to different nodes based on the current state — enabling decision-making logic",
|
|
265
|
+
"To execute multiple nodes in parallel",
|
|
266
|
+
"To retry failed nodes automatically"
|
|
267
|
+
],
|
|
268
|
+
"correct": 1,
|
|
269
|
+
"explanation": "Conditional edges evaluate the current graph state and route to different nodes. For example, a router function checks if the query needs research → route to search_agent, or already has enough context → route to answer_agent. This enables dynamic decision-making."
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": 15,
|
|
273
|
+
"domain": "Part 4: Agentic AI & LLM Customization",
|
|
274
|
+
"question": "What is the key difference between ReAct and Plan-and-Execute cognitive architectures?",
|
|
275
|
+
"options": [
|
|
276
|
+
"ReAct uses LLMs while Plan-and-Execute uses rule-based systems",
|
|
277
|
+
"ReAct interleaves reasoning and action step-by-step, while Plan-and-Execute creates a full plan first then executes sequentially",
|
|
278
|
+
"Plan-and-Execute is always faster than ReAct",
|
|
279
|
+
"ReAct cannot use external tools"
|
|
280
|
+
],
|
|
281
|
+
"correct": 1,
|
|
282
|
+
"explanation": "ReAct (Reason + Act): Think → Act → Observe → Think → Act → ... (interleaved). Plan-and-Execute: Plan all steps first → Execute step 1 → Execute step 2 → ... → Done. P&E is better for complex multi-step tasks; ReAct is better for conversational/adaptive tasks."
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"id": 16,
|
|
286
|
+
"domain": "Part 4: Agentic AI & LLM Customization",
|
|
287
|
+
"question": "In structured output from an LLM, why use Pydantic models with `with_structured_output()`?",
|
|
288
|
+
"options": [
|
|
289
|
+
"To reduce the LLM's response latency",
|
|
290
|
+
"To force the LLM response into a validated JSON schema — ensuring machine-parseable output for downstream processing",
|
|
291
|
+
"To encrypt the LLM output for security",
|
|
292
|
+
"To compress the output to save bandwidth"
|
|
293
|
+
],
|
|
294
|
+
"correct": 1,
|
|
295
|
+
"explanation": "Pydantic models define a strict schema (types, constraints, descriptions). `with_structured_output()` constrains the LLM to output valid JSON matching the schema, enabling reliable extraction of structured data for tool calls, API requests, or database operations."
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"id": 17,
|
|
299
|
+
"domain": "Part 4: Agentic AI & LLM Customization",
|
|
300
|
+
"question": "LoRA (Low-Rank Adaptation) reduces fine-tuning parameters by decomposing weight update ΔW into:",
|
|
301
|
+
"options": [
|
|
302
|
+
"A diagonal matrix D of size (d×d)",
|
|
303
|
+
"Two low-rank matrices B (d×r) and A (r×k) where r << min(d,k)",
|
|
304
|
+
"A sparse matrix with 90% zeros",
|
|
305
|
+
"A single vector of size (d)"
|
|
306
|
+
],
|
|
307
|
+
"correct": 1,
|
|
308
|
+
"explanation": "LoRA decomposes ΔW = B·A where B ∈ R^(d×r) and A ∈ R^(r×k). With r=16, d=k=4096: LoRA params = 2×4096×16 = 131,072 vs full fine-tuning 4096² = 16.7M (0.78%). The frozen base model + small adapters = memory efficient."
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"id": 18,
|
|
312
|
+
"domain": "Part 4: Agentic AI & LLM Customization",
|
|
313
|
+
"question": "Your fine-tuned model achieves BLEU=0.12 but F1=0.78 on a QA task. What is the most likely explanation?",
|
|
314
|
+
"options": [
|
|
315
|
+
"The model is completely wrong — both metrics are bad",
|
|
316
|
+
"The model generates correct answers but uses different wording than the reference — BLEU penalizes paraphrasing",
|
|
317
|
+
"The model memorized the training data (overfitting)",
|
|
318
|
+
"The evaluation dataset is too small to be meaningful"
|
|
319
|
+
],
|
|
320
|
+
"correct": 1,
|
|
321
|
+
"explanation": "BLEU measures exact n-gram overlap — penalizes correct answers with different wording. F1 measures token-level information overlap — more forgiving of paraphrasing. Low BLEU + high F1 = model is correct but paraphrases. Use semantic similarity or LLM-as-a-Judge for better QA evaluation."
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"id": 19,
|
|
325
|
+
"domain": "Part 4: Agentic AI & LLM Customization",
|
|
326
|
+
"question": "What is the key advantage of QLoRA over standard LoRA?",
|
|
327
|
+
"options": [
|
|
328
|
+
"QLoRA achieves higher accuracy than standard LoRA",
|
|
329
|
+
"QLoRA quantizes the base model to 4-bit (NF4), dramatically reducing VRAM while keeping LoRA adapters in FP16",
|
|
330
|
+
"QLoRA fine-tunes all model parameters instead of low-rank adapters",
|
|
331
|
+
"QLoRA removes the need for a GPU during training"
|
|
332
|
+
],
|
|
333
|
+
"correct": 1,
|
|
334
|
+
"explanation": "QLoRA = 4-bit NormalFloat quantized base model + FP16 LoRA adapters + double quantization + paged optimizers. A 7B model needs ~14GB VRAM with LoRA but only ~6GB with QLoRA — enabling fine-tuning on consumer GPUs (RTX 3090/4090)."
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"id": 20,
|
|
338
|
+
"domain": "Part 4: Agentic AI & LLM Customization",
|
|
339
|
+
"question": "In the LLM-as-a-Judge evaluation pattern, what is the main risk to watch out for?",
|
|
340
|
+
"options": [
|
|
341
|
+
"The judge model is too expensive to run",
|
|
342
|
+
"Position bias — the judge tends to prefer the first or last response, and self-enhancement bias — it prefers outputs from the same model family",
|
|
343
|
+
"The judge model always disagrees with human evaluators",
|
|
344
|
+
"LLM-as-a-Judge can only evaluate English text"
|
|
345
|
+
],
|
|
346
|
+
"correct": 1,
|
|
347
|
+
"explanation": "Key biases: (1) Position bias — preference for response in a certain position, mitigate by swapping order. (2) Self-enhancement bias — GPT-4 as judge favors GPT-4 outputs. (3) Verbosity bias — prefers longer responses. Mitigate with structured rubrics and randomized orderings."
|
|
348
|
+
}
|
|
349
|
+
]
|
|
350
|
+
}
|
package/data/quizzes.json
CHANGED
|
@@ -1864,5 +1864,19 @@
|
|
|
1864
1864
|
"questions_count": 20,
|
|
1865
1865
|
"tags": ["Kubernetes", "CKAD", "CNCF", "DevOps"],
|
|
1866
1866
|
"series_slug": "luyen-thi-ckad"
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
"id": "nvidia-dli-generative-ai",
|
|
1870
|
+
"title": "NVIDIA DLI — Generative AI with Diffusion Models & LLMs",
|
|
1871
|
+
"slug": "nvidia-dli-generative-ai",
|
|
1872
|
+
"description": "Practice exam covering all 4 DLI GenAI courses — Diffusion Models, RAG Agents, Agentic AI, LLM Eval & Fine-tuning. 20 questions, coding-style.",
|
|
1873
|
+
"icon": "gpu",
|
|
1874
|
+
"provider": "NVIDIA",
|
|
1875
|
+
"level": "Intermediate",
|
|
1876
|
+
"duration_minutes": 40,
|
|
1877
|
+
"passing_score": 70,
|
|
1878
|
+
"questions_count": 20,
|
|
1879
|
+
"tags": ["NVIDIA", "DLI", "Diffusion", "LLM", "RAG", "LoRA", "GenAI"],
|
|
1880
|
+
"series_slug": "luyen-thi-nvidia-dli-generative-ai"
|
|
1867
1881
|
}
|
|
1868
1882
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xdev-asia/xdev-knowledge-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.59",
|
|
4
4
|
"description": "MCP Server - Toàn bộ kiến thức xDev.asia: 57 series, 1200+ lessons, blog, showcase (AI, Architecture, DevSecOps, Programming)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|