Forward Propagation in Chat Response
Lan truyền xuôi trong Trả lời Chat
Công ty nào đang ứng dụng Lan truyền xuôi?
Bạn gõ một câu hỏi vào ChatGPT (chatbot AI của OpenAI) và thấy câu trả lời hiện ra từng từ, mượt mà như ai đó đang đánh máy. Mỗi từ (chính xác hơn là mỗi token — đơn vị văn bản nhỏ nhất mà mô hình xử lý) xuất hiện nhờ một lượt lan truyền xuôi (forward propagation — quá trình dữ liệu đi từ đầu vào qua các tầng đến đầu ra) xuyên qua toàn bộ mạng nơ-ron.
GPT-4 có hàng trăm tỉ tham số (parameter — các giá trị mà mô hình đã học). Mỗi lượt forward pass thực hiện khoảng 2N phép nhân-cộng (với N là số tham số) — một khối lượng tính toán khổng lồ, nhưng chỉ mất vài chục mili-giây nhờ GPU song song hóa.
Vấn đề công ty cần giải quyết
Khi bạn hỏi ChatGPT, mô hình cần đọc toàn bộ đoạn hội thoại trước đó (context — ngữ cảnh), rồi dự đoán token tiếp theo phù hợp nhất. Với mỗi token mới, quá trình này lặp lại — nghĩa là một câu trả lời 200 từ cần khoảng 250-300 lượt forward pass liên tiếp.
Thách thức: mỗi lượt forward pass phải đi qua hàng trăm tầng Transformer (kiến trúc mạng nơ-ron dùng cơ chế chú ý), xử lý hàng trăm tỉ phép tính — nhưng người dùng kỳ vọng phản hồi trong vài giây. Nếu forward pass chậm, trải nghiệm chat thời gian thực sẽ bất khả thi.
Cách Lan truyền xuôi giải quyết vấn đề
Mã hóa đầu vào (tokenization + embedding).Câu hỏi của bạn được tách thành token bằng BPE (Byte Pair Encoding — mã hóa cặp byte). Mỗi token được ánh xạ thành vector nhúng (embedding vector — mảng số biểu diễn ý nghĩa) có hàng ngàn chiều. Vector vị trí (positional encoding — thông tin về thứ tự từ) được cộng vào để mô hình biết thứ tự các token.
Lan truyền qua các tầng Transformer. Vector đi qua hàng trăm tầng Transformer nối tiếp. Mỗi tầng gồm hai bước chính: (1) Multi-Head Attention (cơ chế chú ý đa đầu — cho phép mỗi token “nhìn” mọi token trước đó) và (2) Feed-Forward Network (mạng lan truyền tiến — hai tầng tuyến tính với hàm kích hoạt ở giữa). Dữ liệu chỉ đi một chiều — từ tầng đầu đến tầng cuối — đó là bản chất của lan truyền xuôi.
Dự đoán token tiếp theo.Tầng cuối cho ra vector xác suất trên toàn bộ từ vựng (vocabulary — tập hợp tất cả token có thể). Hệ thống chọn token có xác suất cao (hoặc lấy mẫu với nhiệt độ temperature để tăng tính sáng tạo). Token mới được thêm vào chuỗi, và forward pass tiếp theo bắt đầu.
Tối ưu bằng KV Cache (bộ nhớ đệm khóa-giá trị). Thay vì tính lại toàn bộ chuỗi mỗi lượt, hệ thống lưu key và value (khóa và giá trị — kết quả trung gian của attention) từ các token trước vào bộ nhớ đệm. Forward pass cho token mới chỉ cần tính phần gia tăng — tiết kiệm hàng tỉ phép tính mỗi bước.
Con số thật
Nếu không có Lan truyền xuôi, app sẽ ra sao?
Nếu không có forward propagation — tức là không có cơ chế truyền dữ liệu có hệ thống qua các tầng — mạng nơ-ron sẽ không thể biến đầu vào thành đầu ra. Không có forward pass, không có ChatGPT.
Hơn nữa, nếu không có KV Cache tối ưu forward pass, mỗi token mới sẽ phải tính lại từ đầu toàn bộ chuỗi hội thoại. Một câu trả lời 200 token sẽ chậm gấp hàng trăm lần — trải nghiệm chat thời gian thực sẽ không tồn tại.