# Đố vui cuối chương

Cùng kiểm tra xem bạn đã học được những gì trong chương này!

### 1. Tác vụ nào sau đây có thể được coi là vấn đề phân loại token?

### 2. Phần tiền xử lý để phân loại token khác với các pipeline tiền xử lý khác ở điểm nào?

-100 để đánh nhãn các token đặc biệt.",
			explain: "Điều đó không dành riêng cho việc phân loại token -- ta luôn sử dụng -100 như nhãn của token ta muốn bỏ quả trong hàm mất mát."
		},
		{
			text: "Chúng ta cần đảm bảo cắt bớt hoặc đệm các nhãn có cùng kích thước với các đầu vào khi áp dụng phép cắt bớt/đệm.",
			explain: "Thật vậy! Tuy nhiên đó không phải là sự khác biệt duy nhất.",
			correct: true
		}
	]}
/>

### 3. Vấn đề gì phát sinh khi ta tokenize các từ trong bài toán phân loại token và muốn đánh nhãn token?

-100 cho chúng để chúng bị bỏ qua khi tính sự mất mát."
		},
		{
			text: "Mỗi từ có thể tạo ra nhiều token, nên đến cuối ta sẽ có nhiều token hơn số nhãn.",
			explain: "Đó là vấn đề chính và chúng ta cần phải căn chỉnh các nhãn gốc với các token.",
			correct: true
		},
		{
			text: "Các token được thêm không có nhãn, nên không có vấn đề gì.",
			explain: "Không chính xác; ta cần số nhãn tương ứng số token nếu không mô hình sẽ báo lỗi."
		}
	]}
/>

### 4. "Thích ứng chuyên môn" là gì?

### 5. Các nhãn trong bài toán mô hình ngôn ngữ bị ẩn đi là gì?

### 6. Tác vụ nào sau đây có thể được coi là bài toán chuỗi sang chuỗi?

### 7. Đây là phuwong pháp phù hợp để tiền xử lý dữ liệu cho bài toán chuỗi sang chuỗi?

inputs=... và targets=....",
			explain: "Đây có thể là một API mà chúng tôi sẽ thêm vào trong tương lai, nhưng điều đó không khả thi ở thời điểm hiện tại."
		},
		{
			text: "Đầu vào và nhãn đều phải được tiền xử lý, trong hai lệch gọi riêng biệt tới tokenizer.",
			explain: "Điều đó đúng, nhưng chưa đủ. Bạn cần phải làm gì đó nữa để đảm bảo trình tokenizer xử lý đúng cả hai."
		},
		{
			text: "Như thường lệ, chúng ta chỉ phhải tokenize đầu vào.",
			explain: "Không phải với bài toán phân loại chuỗi; nhãn cũng là văn bản nên ta cần chuyển sang dạng số!"
		},
        {
			text: "Đầu vào phải đước gửi tới trình tokenizer, và nhãn cũng vậy, nhưng theo trình quản lý ngữ cảnh đặc biệt.",
			explain: "Đúng vậy, tokenizer cần xử lý nhãn dựa trên trình quản lý ngữ cảnh.",
			correct: true
		}
	]}
/>

{#if fw === 'pt'}

### 8. Vì sao lại có lớp con `Trainer` cho các bài toán chuỗi sang chuỗi?

-100",
			explain: "Đây không phải là tuỳ chỉnh mất mát, mà là cách sự mất mát vẫn luôn được tính toán."
		},
		{
			text: "Vì các vấn đề chuỗi sang chuỗi cần một vòng đánh giá đặc biệt",
			explain: "Chính xác. Các dự đoán mô hình chuỗi sang chuỗi thường được chạy sử dụng phương thức generate().",
			correct: true
		},
		{
			text: "Bởi vì nhãn là văn bản trong bài toán chuỗi sang chuỗi",
			explain: "Trainer không thực sự quan tâm vì chúng đã được tiền xử lý trước đó."
		},
        {
			text: "Vì ta sử dụng hai mô hình trong bài toán chuỗi sang chuỗi",
			explain: "Chúng ta sử dụng hai mô hình cùng một cách, một trình mã hoá và một trình giải mã, nhưng ta sẽ nhóm chúng lại trong một mô hình."
		}
	]}
/>

{:else}

### 9. Vì sao không cần thiết chỉ định hàm mất mát khi gọi `compile()` trong mô hình Transformer?

{/if}

### 10. Khi nào bạn nên huấn luyện trước một mô hình mới?

### 11. Vì sao ta dễ huấn luyện trước một mô hình ngôn ngữ khi có khối lượng văn bản khổng lồ?

### 12. Đâu là những thách thức chính khi tiền xử lí dữ liệu cho tác vụ hỏi đáp?

### 13. Làm thể nào để hậu xử lý trong bài toán hỏi đáp?

