AI Core cho lập trình viên/Tổng kết: Não nhân tạo vừa đủ
18/54
Bài 18 / 54~6 phútNão nhân tạo vừa đủMiễn phí lượt xem

Tổng kết: Não nhân tạo vừa đủ

Cheat sheet neuron, phi tuyến, loss, vòng lặp gradient descent, tham số vs siêu tham số, representation — và self-assessment đối chiếu 6 outcomes.

TL;DR: Module này bóc bảy bài. Điểm xuất phát là một neuron đơn giản (tổng có trọng số rồi qua hàm kích hoạt), rồi mở rộng ra thành lớp, mạng nhiều tầng, vòng lặp học, và cách chẩn đoán khi mọi thứ đi lệch. Đây là 1 trang để bookmark và đối chiếu khi đọc tài liệu về transformer, embedding, hay bất kỳ thảo luận nào về "train model".

1. Đã đi qua những gì

Module bắt đầu từ câu hỏi cụ thể nhất: ở mức nhỏ nhất, một neuron làm gì? Bài 01 trả lời: tính tổng có trọng số rồi đưa qua hàm kích hoạt — và chỉ có w, b thay đổi khi train.

Bài 02 bước lên một tầng: vì sao phải xếp nhiều lớp? Vì chồng lớp tuyến tính không tăng sức mạnh — cần hàm phi tuyến giữa các lớp mới vẽ được ranh giới cong. MLP ra đời từ đó.

Bài 03 và 04 giải quyết câu hỏi trung tâm của học: làm thế nào mạng tự cải thiện? Loss gộp toàn bộ sai lệch về một con số; gradient descent dùng con số đó để chỉnh từng trọng số qua vòng lặp forward → loss → gradient → cập nhật.

Bài 05 làm rõ ngôn ngữ: "7 tỷ tham số" đếm cái gì, siêu tham số là gì, và từ số tham số tính được VRAM tối thiểu.

Bài 06 đặt câu hỏi sâu hơn: mạng học được gì? Vector tầng ẩn không phải dữ liệu thô, không phải nhãn — đó là representation, nền chung của embedding lẫn attention.

Bài 07 cho bạn thực hành: đọc ba đường cong loss hỏng và chẩn đoán ba ca thất bại điển hình.

Chuỗi kiến thức module: neuron, xếp lớp cộng phi tuyến thành MLP, hàm loss MSE/Cross-Entropy, gradient descent, tham số vs siêu tham số, biểu diễn ẩn — nền cho embedding và attention

2. Cheat sheet

2.1 Cơ chế một neuron

ThứCông thức / mô tảGhi nhớ
Tổng có trọng sốz = w1*x1 + ... + wn*xn + bw và b là thứ train thay đổi
Hàm kích hoạta = f(z) — ReLU, Sigmoid, GELUPhi tuyến; cố định, không thay đổi khi train
"Học" là gìCập nhật các con số w và bKhông thêm code, không thêm rule

2.2 Kiến trúc nhiều lớp

Câu hỏiTrả lời
N lớp tuyến tính = ?Đúng 1 lớp tuyến tính — không tăng sức mạnh
Phi tuyến làm gì?Phá vỡ khả năng thu gọn → cho phép ranh giới cong
Sức chứa tăng theoSố lớp ẩn và số neuron mỗi lớp
Overfit / underfitSức chứa cao + ít dữ liệu → overfit; sức chứa thấp → underfit

2.3 Loss và metric

LossMetric
Ai dùngMáy (tối ưu trọng số)Người (đọc và ra quyết định)
Yêu cầuMượt, liên tục (cần gradient)Không cần mượt
Ví dụMSE, cross-entropyAccuracy, recall, F1
Chọn saiModel tối ưu đúng thứ bạn viết, kể cả khi đó không phải thứ bạn muốn

2.4 Vòng lặp huấn luyện

for each epoch:
    for each batch in train_set:
        preds  = forward(model, batch)        // step 1
        loss   = compute_loss(preds, labels)  // step 2
        grads  = backprop(model, loss)        // step 3
        w <- w - lr * grads                   // step 4: update
    val_loss = evaluate(model, val_set)
Khái niệmĐịnh nghĩa
BatchTập con mẫu dùng trong một bước cập nhật
EpochMột lượt đi hết toàn bộ tập train
Learning rateBước nhảy mỗi lần cập nhật: quá lớn → dao động; quá nhỏ → bò mãi

2.5 Tham số vs siêu tham số

Tham sốSiêu tham số
Ví dụw, bLearning rate, số lớp, batch size, số epoch
Ai đặtModel tự học qua gradient descentNgười — đặt trước khi train
Bộ nhớ (float16)N_params × 2 byte
Quy tắc ngón tay1 tỷ tham số ≈ 2 GB VRAM ở float16

2.6 Đường cong loss — ba ca hỏng

Hình dạngKhoảng cách train/valChẩn đoánHành động
Dao động loạn, không xu hướngNhỏ, đồng phaLearning rate quá lớnGiảm lr 10 lần; thử Adam
Phẳng ở mức cao từ sớmRất nhỏ, gần trùngUnderfit — thiếu sức chứaTăng số lớp / số neuron
Train giảm đều, val chạm đáy rồi tăngLớn, ngày càng doãngOverfitDropout, early stopping, thêm dữ liệu

3. Pitfall tổng hợp

P1 — Neuron: "Train xong, model có thêm rule mới trong code." Sai — chỉ số wb thay đổi; kiến trúc và code cố định.

P2 — Phi tuyến: "Nhiều lớp = model mạnh hơn." Chỉ đúng khi giữa các lớp có phi tuyến; thiếu phi tuyến, N lớp = 1 lớp về năng lực biểu diễn.

P3 — Loss thiết kế: "Loss thấp = sản phẩm tốt." Không — model tối ưu đúng thứ loss đo. Dữ liệu lệch (fraud detection 99% bình thường) cho loss thấp và sản phẩm vô dụng.

P4 — So loss: "Model A loss 0.3 tốt hơn model B loss 2.1." Không so được — MSE và cross-entropy dùng thang đo khác nhau.

P5 — Train: "Loss không giảm → dữ liệu xấu." Kiểm tra learning rate trước: lr quá lớn thì loss dao động mà không do dữ liệu.

P6 — Bộ nhớ: "14 GB trọng số = đủ để chạy model 7B." Overhead KV cache, activation, và framework đẩy tổng lên đáng kể; cần thử nghiệm thực tế.

P7 — Embedding: "Vector từ model A tìm được trong index của model B." Mỗi model có không gian representation riêng; hai không gian không tương thích dù cùng số chiều.

✅ Self-assessment

  • Tôi có thể giải thích chuỗi tính toán của một neuron (tổng có trọng số → hàm phi tuyến) và vì sao xếp nhiều lớp tuyến tính không mạnh hơn một lớp.

  • Tôi có thể mô tả cơ chế loss gộp sai lệch về một con số, phân biệt MSE với cross-entropy, và giải thích vì sao chọn loss là quyết định thiết kế.

    • Nếu chưa: re-read bài 03 §2–4.
  • Tôi có thể trace bốn bước forward→loss→gradient→cập nhật trọng số, và giải thích vai trò của learning rate.

    • Nếu chưa: re-read bài 04 §2–4.
  • Tôi phân biệt được tham số (model tự học) với siêu tham số (người chọn trước), và ước lượng được VRAM tối thiểu để nạp model N tỷ tham số.

    • Nếu chưa: re-read bài 05 §2–5.
  • Tôi có thể giải thích vector tầng ẩn là gì, tại sao nó có thể tái sử dụng, và vì sao nó là nền chung của embedding lẫn attention.

    • Nếu chưa: re-read bài 06 §2–5.
  • Tôi có thể đọc hai đường loss (train và val) và phân biệt ba ca: learning rate quá lớn, model thiếu sức chứa, và overfit — kèm hành động sửa mỗi ca.

🚀 Tiếp theo

Module này cho bạn đủ nền để đọc tài liệu về neural net mà không bị mất trong thuật ngữ. Module 3 bước sang cỗ máy bạn đang dùng hàng ngày — LLM. Điểm xuất phát: khi model sinh văn bản, nó đang làm gì ở mức token?

Bài tiếp theo: Dự đoán token kế tiếp — vòng lặp sinh văn bản

Module 4 (Transformer và attention) sẽ mổ xẻ cơ chế attention thao tác trên các vector representation mà bài 06 vừa giới thiệu — đó là lúc module này thực sự phát huy tác dụng.

Bài này đáng gửi cho bạn học cùng?

Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.

Bài này có giúp bạn hiểu bản chất không?

Hỏi đáp về bài này

Chưa có câu hỏi

Đặt câu hỏi

Có gì chưa rõ trong bài? Đặt câu hỏi đầu tiên — câu trả lời từ cộng đồng giúp bạn (và người sau).

Đặt câu hỏi đầu tiên

Bài tiếp theo

Tổng quan: Cỗ máy LLM