Bạn dùng Claude hay ChatGPT hằng ngày, nhưng bên trong chúng là gì? Bài này cho bạn một hình dung đủ dùng về mạng nơ-ron và quá trình huấn luyện, để sau này đọc về RAG, agent hay tinh chỉnh bạn không bị lạc.

Một nơ-ron chỉ là một cái phễu cộng điểm

Hãy nghĩ tới chị chủ shop quần áo online đang quyết định có nhận đơn COD của một khách lạ hay không. Chị cân nhắc vài tín hiệu: khách có ảnh đại diện thật không, tài khoản lập lâu chưa, địa chỉ nghe có hợp lý không. Mỗi tín hiệu chị gán một mức quan trọng khác nhau, cộng lại, rồi so với một ngưỡng trong đầu để ra quyết định.

Một nơ-ron nhân tạo (đơn vị tính toán nhỏ nhất của mạng) làm đúng như vậy: nhận vài con số đầu vào, nhân mỗi số với một trọng số (mức quan trọng của tín hiệu đó), cộng lại, cộng thêm một độ lệch, rồi cho qua một hàm kích hoạt (quy tắc quyết định tín hiệu có đi tiếp hay không). Hàm kích hoạt quan trọng vì nếu bỏ nó, xếp bao nhiêu lớp nơ-ron cũng chỉ tương đương một phép cộng nhân duy nhất, không học được quy luật phức tạp.

Thành phần Ví dụ đời thường Vai trò
Đầu vào Các dấu hiệu về khách lạ Dữ liệu đưa vào
Trọng số Dấu hiệu nào đáng tin hơn Thứ mạng học được
Hàm kích hoạt Ngưỡng nhận hay từ chối đơn Tạo tính phi tuyến
Đầu ra Quyết định cuối Kết quả dự đoán

Xếp lớp để thành mạng

Một nơ-ron thì yếu. Xếp nhiều nơ-ron thành từng lớp, đầu ra lớp này làm đầu vào lớp sau, ta có mạng. Lớp đầu nhận ra những nét đơn giản, các lớp sau ghép nét đơn giản thành khái niệm phức tạp hơn. Ở mô hình nhận diện ảnh, lớp nông thấy cạnh và góc, lớp sâu thấy mắt, mũi, cả khuôn mặt. Mô hình ngôn ngữ cũng vậy, chỉ là thứ nó xử lý là các mẩu chữ thay vì điểm ảnh.

Khi nghe nói mô hình có “hàng tỷ tham số”, tham số chính là các trọng số và độ lệch ấy. Chúng là bộ nhớ của mô hình: kiến thức không nằm ở đâu khác ngoài những con số này.

Huấn luyện: đoán, chấm điểm, chỉnh

ĐoánMạng nhận một ví dụ và đưa ra dự đoán
Chấm điểmHàm mất mát đo dự đoán lệch đáp án bao xa
Tìm hướngTính xem chỉnh trọng số nào, theo chiều nào thì lệch giảm
Chỉnh nhẹCập nhật trọng số một bước nhỏ
Lặp lạiLàm với rất nhiều ví dụ cho tới khi đủ tốt

Hàm mất mát (con số cho biết mạng sai nhiều hay ít) giống bảng điểm: càng thấp càng tốt. Gradient descent (hạ dốc theo độ nghiêng) giống việc bạn đi xuống một thung lũng trong sương mù: không thấy đáy, nhưng mỗi bước bạn dò xem chân nghiêng về đâu rồi bước theo hướng đó. Lan truyền ngược là cách tính hiệu quả xem mỗi trọng số, từ lớp cuối ngược về lớp đầu, đã góp bao nhiêu vào cái sai. Bạn không cần tự tính, thư viện làm hết, nhưng hiểu vòng lặp này giúp bạn hiểu vì sao dữ liệu huấn luyện tồi thì mô hình tồi.

Học thuộc lòng và học hiểu

Có một lỗi kinh điển là quá khớp: mạng thuộc lòng ví dụ huấn luyện nhưng gặp ca mới thì sai. Giống học sinh học tủ đề cũ. Cách kiểm tra là giữ riêng một phần dữ liệu không cho mạng nhìn thấy khi học, rồi dùng nó để chấm. Nếu điểm trên phần giữ riêng thấp hơn hẳn điểm khi học, mạng đang học tủ.

Ví dụ

Một tiệm tạp hoá huấn luyện mạng đoán mặt hàng nào sắp hết từ sổ bán hàng của đúng tháng Tết. Mạng đoán rất chuẩn cho tháng Tết nhưng sai bét vào tháng thường, vì nó học thuộc quy luật riêng của dịp đó. Muốn tốt hơn phải đưa thêm dữ liệu nhiều giai đoạn.

Ba họ kiến trúc hay gặp

Họ cũ

  • CNN: quét ảnh bằng ô lọc nhỏ, mạnh về hình ảnh
  • RNN: đọc chữ lần lượt từng từ, nhớ yếu khi câu dài

Họ hiện đại

  • Transformer: nhìn cả câu một lúc, quyết định từ nào liên quan từ nào
  • Là nền của hầu hết mô hình ngôn ngữ lớn hiện nay

Bài kế tiếp sẽ mổ xẻ Transformer vì đây là xương sống của mọi trợ lý AI bạn dùng.

Thử ngay

Mở Claude hoặc ChatGPT và gõ:

Giải thích quá khớp (overfitting) cho tôi bằng ví dụ một lớp học thêm.
Sau đó cho tôi 3 câu hỏi để tự kiểm tra xem mình đã hiểu chưa.

Đánh giá xem ví dụ của AI có khớp với ý “học tủ” ở trên không.

Ghi nhớ

  • Nơ-ron = nhân, cộng, qua hàm kích hoạt; tri thức nằm trong trọng số.
  • Huấn luyện là vòng lặp đoán, chấm điểm, chỉnh trọng số.
  • Quá khớp là học tủ; luôn chấm trên dữ liệu chưa từng học.
  • Transformer là họ kiến trúc nền cho mô hình ngôn ngữ hiện đại.