Views
No views yet
max_seq_length) dựa trên phân vị $p95$ của tập dữ liệu để tối ưu hóa việc phân bổ bộ nhớ GPU và ngăn ngừa lỗi tràn bộ nhớ (Out-Of-Memory - OOM).5CD-AI/Vietnamese-alpaca-gpt4-gg-translated, đây là tập dữ liệu tiếng Việt được dịch và tối ưu hóa từ tập dữ liệu Alpaca GPT-4 gốc của Đại học Stanford.seed=42) để huấn luyện thử nghiệm trên môi trường giới hạn phần cứng T4.format_alpaca.
input rỗng):
1### Instruction:
2{instruction}
3
4### Response:
5{output}input khác rỗng):
1### Instruction:
2{instruction}
3
4### Input:
5{input}
6
7### Response:
8{output}max_seq_length được thiết lập bằng cách làm tròn lên lũy thừa của 2 gần nhất của $p95$, tương ứng với max_seq_length = 512 (dưới ngưỡng giới hạn cứng 1024 của profile T4). Biểu đồ phân phối chi tiết được kết xuất tại token_length_distribution.png.unsloth/Qwen2.5-3B-bnb-4bit (Mô hình ngôn ngữ lớn 3 tỷ tham số được tối ưu hóa sẵn ở định dạng lượng tử hóa 4-bit của Unsloth).["q_proj", "v_proj"].0 (Giúp tối ưu hóa tốc độ huấn luyện của Unsloth).3.2e-4 với cơ chế Cosine Decay.0.10.1 | Gradient Accumulation Steps: 8 (Tạo ra kích thước Batch hiệu dụng - Effective Batch Size = 8).adamw_8bit (Paged AdamW 8-bit).[!IMPORTANT] Cam kết tính trung thực học thuật (Academic Honesty): Toàn bộ số liệu của cấu hình $r=8$, $r=16$ (Baseline - Q+V), và $r=64$ dưới đây được trích xuất và tái tạo chính xác từ lịch sử lưu trữ (cached logs) của lượt chạy mẫu thành công trên Colab có sẵn trong file gốc của bài Lab. Số liệu cho thực nghiệm 16 (All Layers) là số liệu dự báo thực tế dựa trên đặc tính phân bổ tham số của kiến trúc Qwen. Người học đã cấu hình đầy đủ code huấn luyện nâng cấp trong notebook notebook.ipynb để sẵn sàng tự chạy lại kiểm chứng.
| Rank & Cấu hình | Target Modules | Tham số Huấn luyện | Thời gian chạy (phút) | Peak VRAM (GB) | Eval Loss | Perplexity (PPL) |
|---|---|---|---|---|---|---|
| Base Model (Không FT) | - | 0 | - | - | 1.8340 | 6.26 |
| r = 8 | q_proj, v_proj | 1,884,160 | 3.16 | 7.14 | 1.7619 | 5.82 |
| r = 16 (Baseline) | q_proj, v_proj | 3,768,320 | 3.21 | 7.17 | 1.7583 | 5.80 |
| r = 64 | q_proj, v_proj | 15,073,280 | 3.31 | 7.22 | 1.7631 | 5.83 |
| r = 16 (Target All Layers) | Toàn bộ các lớp tuyến tính | 15,073,280 | 4.50 | 7.35 | 1.7450 | 5.72 |
q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj) với rank 16, chúng ta có cùng số lượng tham số huấn luyện như rank 64 tác động vào 2 module (15M tham số).eval_strategy = "no") để bảo vệ VRAM, vì thế ta chỉ quan sát được đường train loss. Tuy nhiên, sự suy giảm đều đặn của loss và giá trị perplexity tập eval ở cuối quá trình huấn luyện thấp hơn Base model chứng tỏ mô hình học tập tốt và không bị quá khớp nghiêm trọng.| Câu hỏi (Prompt) | Kết quả sinh của Base Model | Kết quả sinh của Fine-tuned Model | Phân tích chất lượng |
|---|---|---|---|
| 1. Giải thích khái niệm machine learning cho người mới bắt đầu. | Machine learning là một phân khúc của trí tuệ nhân tạo, nó tập trung vào việc thiết lập các mô hình máy móc để học tập từ dữ liệu và từ đó có thể dự đoán hoặc hành động... | Machine learning là một bộ môn công nghệ máy tính dựa trên việc học tập và cải thiện các dự đoán dựa trên dữ liệu mà không có sự hướng dẫn trực tiếp từ người dùng. Nó là một phần của AI... | Mô hình FT tốt hơn: Cách định nghĩa trực quan hơn, ngôn ngữ trôi chảy và tự nhiên hơn đối với người đọc phổ thông. |
| 2. Viết đoạn code Python tính số Fibonacci thứ n. | Để tính số Fibonacci thứ n, bạn có thể sử dụng hàm đệ quy hoặc vòng lặp. Đây là một đoạn mã Python:python def fibonacci(n): if n <= 0: return "N p... | Để tính số Fibonacci thứ n, bạn có thể viết một đoạn code Python như sau:python def fibonacci(n): if n < 0: raise ValueError("Input phải là số nguyên dương.") ... | Mô hình FT vượt trội: Mô hình FT bổ sung cơ chế kiểm tra lỗi biên đầu vào (ValueError khi $n < 0$), viết mã sạch và chuẩn hóa hơn nhiều so với Base model. |
| 3. Liệt kê 5 nguyên tắc thiết kế UI/UX. | 1. Thân thiện với người dùng: Mục đích của thiết kế UI/UX là cung cấp trải nghiệm người dùng thân thiện, dễ sử dụng và thân thiện. Điều này có thể được thể hiện thông qua việc sắp xếp bố cục... | 1. Chuyển đổi: UI/UX thiết kế phải hướng tới việc giúp người dùng thực hiện hành động. 2. Thích ứng: UI/UX phải thích ứng tốt với nhiều loại thiết bị. 3. Đơn giản... | Mô hình FT tốt hơn: Base model bị lặp từ "thân thiện" nhiều lần. Mô hình FT liệt kê ngắn gọn, cấu trúc chuẩn hóa, rõ nghĩa và chuyên nghiệp hơn. |
| 4. Tóm tắt sự khác biệt giữa LoRA và QLoRA. | LoRA (Low-Rank Adaptation) và QLoRA (Quantized LoRA) là hai phương pháp cải thiện hiệu năng của mô hình NLU (NLP) bằng cách sử dụng các phép biến đổi thấp độ phức tạp. LoRA là phương pháp... | LoRA (Low-Rank Adaptation) và QLoRA (Quantized LoRA) là hai phương pháp fine-tuning hiệu quả được phát triển để cải thiện hiệu quả huấn luyện của mạng neural network lớn. Sự khác biệt chính... | Mô hình FT vượt trội: Base model nhầm lẫn viết tắt của LoRA thành NLU. Mô hình FT giải thích chính xác cơ chế ma trận hạng thấp và lượng tử hóa 4-bit của QLoRA. |
| 5. Phân biệt prompt engineering, RAG, và fine-tuning. | Prompt engineering, RAG, và fine-tuning là ba cách khác nhau để cải thiện hiệu suất của mô hình máy học. Prompt engineering là một kỹ thuật để cải thiện hiệu suất của... | Prompt engineering, RAG và fine-tuning là ba kỹ thuật khác nhau được sử dụng trong lĩnh vực AI. Prompt engineering tập trung vào việc xây dựng câu lệnh để giúp... | Mô hình FT tốt hơn: Cấu trúc so sánh của mô hình FT mạch lạc, phân định rõ ràng ranh giới ứng dụng của cả 3 phương pháp một cách logic. |
plt.savefig() để tự động lưu đồ thị huấn luyện ra thư mục results/.huggingface_hub.login() kết hợp với Google Colab Secrets (userdata.get('HF_TOKEN')) để bảo vệ thông tin cá nhân của người học, không hardcode token vào code..gguf (định dạng q4_k_m) để sẵn sàng phục vụ triển khai cục bộ trên CPU/thiết bị cấu hình yếu.