Từ điển thuật ngữ
Đối chiếu Việt – Anh cho toàn bộ thuật ngữ dùng trong giáo trình. Định nghĩa bám sát đúng cách dùng trong bài, không phải định nghĩa từ điển chung chung.
Sai số và tổng quát hoá#
- Độ chệchbias (của một ước lượng)
Chênh lệch giữa dự đoán trung bình của mô hình, lấy trung bình trên các tập huấn luyện có thể rút ra, và giá trị thật. Độ chệch cao cho biết họ hàm quá hẹp so với hàm cần học (Mục 2.2). Khác với hệ số chặn, là tham số trong .
- Phương saivariance
Mức dự đoán của mô hình thay đổi khi đổi tập huấn luyện. Phương sai cao cho biết mô hình đủ linh hoạt để khớp cả phần nhiễu riêng của từng tập huấn luyện (Mục 2.2).
- Underfittingunderfitting
Tình trạng độ chệch cao: sai số huấn luyện và sai số xác thực đều cao và gần nhau. Thêm dữ liệu không giúp được; cần mô hình linh hoạt hơn.
- Overfittingoverfitting
Tình trạng phương sai cao: sai số huấn luyện thấp, sai số xác thực cao hơn nhiều. Thêm dữ liệu, tăng regularization hoặc dùng mô hình đơn giản hơn giúp giảm.
- Nhiễu không giảm đượcirreducible error
Phần sai số do bản thân dữ liệu, không phụ thuộc mô hình. Là cận dưới của sai số mà không mô hình nào vượt qua được.
- Đường cong họclearning curve
Đồ thị sai số huấn luyện và sai số xác thực theo số điểm dữ liệu huấn luyện hoặc theo số vòng huấn luyện. Công cụ chẩn đoán độ chệch và phương sai dùng được với dữ liệu thật (Mục 2.4).
- Double descentdouble descent
Hiện tượng sai số xác thực tăng tới một đỉnh tại ngưỡng mô hình vừa đủ tham số để khớp chính xác dữ liệu huấn luyện, rồi giảm trở lại khi số tham số tiếp tục tăng. Không mâu thuẫn với phân rã độ chệch – phương sai (Mục 2.5).
- Thiên kiến quy nạpinductive bias
Tập các giả định một thuật toán học dùng để chọn giữa các hàm cùng khớp dữ liệu huấn luyện. Mạng tích chập giả định tính cục bộ và tính đẳng biến với dịch chuyển; Transformer giả định rất ít. Giả định đúng giúp học từ ít dữ liệu; giả định sai gây độ chệch (Mục 1.4).
- Định lý không có bữa trưa miễn phíno free lunch theorem
Lấy trung bình trên mọi bài toán có thể, mọi thuật toán học có cùng sai số trên các điểm ngoài tập huấn luyện. Một thuật toán chỉ tốt hơn trên những bài toán mà giả định của nó phù hợp (Wolpert, 1996).
Cây và phương pháp tập hợp#
- Cây quyết địnhdecision tree
Mô hình chia không gian đặc trưng thành các hình hộp bằng các phép chia và dự đoán một hằng số trong mỗi hộp. Bất biến với phép biến đổi đơn điệu của từng đặc trưng; không ngoại suy được (Mục 3.1).
- Độ không thuần nhất GiniGini impurity
, với là tỉ lệ lớp trong một nút. Bằng 0 khi nút chỉ có một lớp. Gần như luôn chọn cùng phép chia với entropy và tính nhanh hơn (Mục 3.2).
- Baggingbootstrap aggregating
Huấn luyện nhiều mô hình trên các mẫu bootstrap rồi lấy trung bình dự đoán. Phương sai của trung bình mô hình là , nên bagging giảm phương sai, và muốn giảm tiếp phải giảm tương quan (Mục 3.3).
- Rừng ngẫu nhiênrandom forest
Bagging với cây quyết định, trong đó mỗi nút chỉ chọn phép chia trong một tập con ngẫu nhiên các đặc trưng để giảm tương quan giữa các cây. Thêm cây không làm kết quả kém đi.
- Gradient boostinggradient boosting
Cộng dần các cây nông, mỗi cây xấp xỉ gradient âm của hàm mất mát theo dự đoán hiện tại: gradient descent trong không gian hàm. Chủ yếu giảm độ chệch; có thể overfitting nếu có quá nhiều cây (Mục 3.3).
- Permutation importancepermutation importance
Độ quan trọng của một đặc trưng đo bằng mức sai số tăng lên khi xáo trộn ngẫu nhiên giá trị của đặc trưng đó. Đáng tin hơn độ quan trọng tính từ độ giảm độ không thuần nhất của cây.
Mạng nơ-ron#
- Mạng nơ-ron truyền thẳng nhiều lớpmultilayer perceptron, MLP
Chuỗi các lớp affine xen kẽ hàm kích hoạt phi tuyến. Không có hàm phi tuyến thì cả mạng tương đương một phép biến đổi affine (Mục 4.1).
- Hàm kích hoạtactivation function
Hàm phi tuyến áp dụng cho từng phần tử sau mỗi lớp tuyến tính: sigmoid, tanh, ReLU, GELU, SiLU. Đạo hàm của ReLU bằng 1 ở phía dương là lý do chính ReLU thay sigmoid trong mạng sâu (Mục 4.2).
- Đơn vị ReLU chếtdying ReLU
Đơn vị ReLU có đầu vào âm với mọi mẫu nên đạo hàm luôn bằng 0 và không bao giờ được cập nhật lại. Thường do tốc độ học quá lớn.
- Định lý xấp xỉ phổ quátuniversal approximation theorem
Mạng một lớp ẩn đủ rộng, với hàm kích hoạt liên tục không phải đa thức, xấp xỉ được mọi hàm liên tục trên tập compact. Chỉ khẳng định sự tồn tại, không cho biết cần bao nhiêu đơn vị hay có học được không (Mục 4.3).
- Lan truyền ngượcbackpropagation
Thuật toán tính gradient của hàm mất mát theo mọi tham số bằng quy tắc dây chuyền, đi từ đầu ra ngược về đầu vào và dùng lại các giá trị trung gian của lượt xuôi. Chỉ tính gradient; việc cập nhật tham số do thuật toán tối ưu đảm nhận (Mục 5.1).
- Chế độ ngược và chế độ xuôireverse-mode and forward-mode differentiation
Hai thứ tự nhân các ma trận Jacobi. Chế độ ngược tốn chi phí cỡ số đầu ra lần tính hàm, chế độ xuôi cỡ số đầu vào lần; với hàm mất mát là một số và hàng tỉ tham số, chế độ ngược rẻ hơn rất nhiều (Mục 5.2).
- Gradient checkpointinggradient checkpointing
Chỉ lưu giá trị kích hoạt ở một số lớp mốc và tính lại các lớp khác khi lượt ngược cần. Giảm bộ nhớ kích hoạt từ xuống , đổi lại khoảng một lượt xuôi tính thêm (Mục 5.3).
Tối ưu#
- SGD theo mini-batchmini-batch stochastic gradient descent
Gradient descent với gradient ước lượng trên một lô nhỏ điểm dữ liệu chọn ngẫu nhiên. Ước lượng không chệch, phương sai giảm theo kích thước lô.
- Momentummomentum
Cập nhật theo trung bình trượt của các gradient, triệt tiêu dao động và cộng dồn hướng ổn định. Với , bước theo hướng ổn định lớn gấp khoảng 10 lần.
- AdamAdam
Thuật toán tối ưu giữ trung bình trượt của gradient và của bình phương gradient, chia cái thứ nhất cho căn bậc hai của cái thứ hai để mỗi tham số có bước đi riêng. Cần hai trạng thái cho mỗi tham số (Mục 5.4).
- Hiệu chỉnh độ chệchbias correction
Phép chia cho trong Adam. Vì khởi tạo bằng 0, trung bình trượt có kỳ vọng , tức là ước lượng chệch về 0 ở các bước đầu; phép chia cho ước lượng không chệch.
- AdamWAdamW
Biến thể của Adam trừ weight decay trực tiếp vào tham số thay vì cộng vào gradient, để thành phần phạt không bị chia cho . Lựa chọn mặc định khi huấn luyện Transformer.
- Warmupwarmup
Tăng dần tốc độ học từ gần 0 trong những bước đầu. Cần thiết với Adam, vì các ước lượng ban đầu của rất nhiễu, và với Transformer dùng post-LN.
- Lịch cosinecosine schedule
Giảm tốc độ học theo nửa chu kỳ hàm cosin về gần 0 ở cuối quá trình huấn luyện. Lịch phổ biến khi huấn luyện mô hình ngôn ngữ.
Khởi tạo, chuẩn hoá và regularization#
- Khởi tạo XavierXavier (Glorot) initialization
Khởi tạo trọng số với phương sai để giữ phương sai của tín hiệu ở cả lượt xuôi lẫn lượt ngược. Phù hợp với tanh và sigmoid.
- Khởi tạo HeHe initialization
Khởi tạo trọng số với phương sai . Hệ số 2 bù cho việc ReLU đặt một nửa phân phối bằng 0, vì (Mục 6.2).
- Gradient tiêu biến và bùng nổvanishing and exploding gradients
Gradient qua nhiều lớp là tích nhiều ma trận Jacobi, nên co về 0 hoặc tăng vọt theo cấp số mũ nếu mỗi lớp nhân độ lớn với một hệ số lệch khỏi 1 (Mục 6.1).
- BatchNormbatch normalization
Chuẩn hoá mỗi đặc trưng bằng trung bình và phương sai tính trên các mẫu trong lô. Phụ thuộc kích thước lô, và hành vi khi suy luận khác khi huấn luyện. Phổ biến trong mạng tích chập.
- LayerNormlayer normalization
Chuẩn hoá mỗi mẫu bằng trung bình và phương sai tính trên các đặc trưng của chính mẫu đó. Không phụ thuộc lô; là lựa chọn của Transformer.
- RMSNormRMS normalization
LayerNorm bỏ bước trừ trung bình, chỉ chia cho căn trung bình bình phương. Rẻ hơn, chất lượng tương đương; dùng trong Llama và nhiều mô hình ngôn ngữ khác.
- Kết nối tắtresidual connection, skip connection
Thay bằng , cho gradient một đường đi không qua ma trận trọng số. Cần đi kèm chuẩn hoá: một mình nó làm gradient bùng nổ trong thí nghiệm ở Mục 6.3.
- Vấn đề suy thoáidegradation problem
Hiện tượng mạng thường sâu hơn có sai số huấn luyện cao hơn mạng nông hơn. Là vấn đề tối ưu, không phải overfitting, và là lý do kết nối tắt ra đời (Mục 6.5).
- Dropoutdropout
Khi huấn luyện, đặt mỗi đơn vị bằng 0 với xác suất và chia các đơn vị còn lại cho ; khi suy luận dùng mọi đơn vị. Xấp xỉ việc lấy trung bình nhiều mạng con.
- Weight decayweight decay
Phạt chuẩn của trọng số, tương đương ước lượng MAP với tiên nghiệm Gauss. Với Adam phải dùng dạng AdamW.
- Làm mượt nhãnlabel smoothing
Thay nhãn one-hot bằng để mô hình không bị đẩy tới xác suất 0 và 1 tuyệt đối.
Mạng tích chập#
- Tích chậpconvolution
Phép tính tích vô hướng giữa một bộ lọc nhỏ và từng vùng của đầu vào, cùng bộ lọc dùng cho mọi vị trí. Số tham số không phụ thuộc kích thước ảnh; số phép tính thì có (Mục 7.1).
- Bước nhảy và phần đệmstride, padding
Bước nhảy là khoảng cách giữa hai vị trí liên tiếp của bộ lọc; phần đệm là số ô thêm vào quanh biên. Kích thước đầu ra là .
- Trường tiếp nhậnreceptive field
Vùng của đầu vào có ảnh hưởng tới một đơn vị. Tăng tuyến tính theo số lớp khi bước nhảy bằng 1; trường tiếp nhận hiệu dụng nhỏ hơn nhiều so với lý thuyết (Mục 7.2).
- Tích chập tách theo chiều sâudepthwise separable convolution
Tích chập riêng cho từng kênh rồi tích chập . Rẻ hơn tích chập thường khoảng lần; nền tảng của MobileNet.
- Vision TransformerVision Transformer, ViT
Cắt ảnh thành các mảnh và xử lý chúng như token bằng Transformer. Kém CNN khi ít dữ liệu, vượt CNN khi tiền huấn luyện trên tập rất lớn (Mục 7.4).
- Phát hiện đối tượngobject detection
Bài toán tìm mọi đối tượng trong ảnh, mỗi đối tượng là một hộp bao kèm nhãn lớp và điểm tin cậy. Số đối tượng thay đổi theo ảnh (Mục 7.5).
- IoUintersection over union
Diện tích phần giao chia cho diện tích phần hợp của hai hộp hoặc hai vùng, trong khoảng từ 0 tới 1. Dùng để ghép dự đoán với hộp thật và để đánh giá phân đoạn (Mục 7.5, 7.6).
- Hộp neoanchor box
Hộp có kích thước và tỉ lệ cạnh định trước đặt tại mỗi vị trí của bản đồ đặc trưng; mạng dự đoán độ lệch so với hộp neo thay vì toạ độ tuyệt đối. Faster R-CNN dùng 9 hộp neo mỗi vị trí.
- Non-maximum suppressionnon-maximum suppression, NMS
Bước lọc trùng: giữ hộp điểm cao nhất, bỏ các hộp trùng với nó quá một ngưỡng IoU, rồi lặp lại. Có thể loại nhầm hộp đúng của các đối tượng đứng sát nhau.
- Focal lossfocal loss
Cross-entropy nhân thêm hệ số để giảm trọng số của các mẫu đã được phân loại tốt; giải quyết sự mất cân bằng giữa nền và đối tượng trong bộ phát hiện một giai đoạn (Lin và cộng sự, 2017).
- AP, mAPaverage precision, mean average precision
AP là diện tích dưới đường precision–recall đã nội suy của một lớp; mAP là trung bình AP của các lớp. COCO lấy thêm trung bình trên 10 ngưỡng IoU từ 0,5 tới 0,95.
- Phân đoạn ngữ nghĩa, phân đoạn thể hiệnsemantic segmentation, instance segmentation
Phân đoạn ngữ nghĩa gán nhãn lớp cho từng điểm ảnh; phân đoạn thể hiện tách thêm từng đối tượng riêng (Mục 7.6).
- Tích chập chuyển vịtransposed convolution
Phép tăng kích thước không gian có tham số học được; đầu ra có kích thước . Có thể tạo hoa văn ô cờ khi không chia hết cho .
- Tích chập giãndilated convolution, atrous convolution
Bộ lọc có các ô trống giữa các phần tử, phủ vùng rộng mà không thêm trọng số; tăng trường tiếp nhận mà không giảm độ phân giải.
- U-NetU-Net
Kiến trúc phân đoạn gồm nhánh mã hoá, nhánh giải mã và các kết nối ghép đặc trưng cùng độ phân giải giữa hai nhánh (Ronneberger và cộng sự, 2015).
- Hệ số DiceDice coefficient
, bằng ; phổ biến trong phân đoạn ảnh y tế, kèm Dice loss cho trường hợp đối tượng rất nhỏ.
Mạng hồi quy#
- Mạng nơ-ron hồi quyrecurrent neural network, RNN
Mạng xử lý chuỗi bằng một trạng thái ẩn cập nhật qua từng bước với cùng một bộ trọng số. Không song song hoá được theo thời gian (Mục 8.1).
- Cắt ngưỡng gradientgradient clipping
Nếu chuẩn của gradient vượt ngưỡng thì nhân gradient với . Xử lý gradient bùng nổ mà giữ nguyên hướng.
- LSTMlong short-term memory
RNN có thêm trạng thái ô nhớ cập nhật bằng phép cộng có trọng số và ba cổng quên, vào, ra. Dọc ô nhớ, gradient nhân với giá trị cổng quên thay vì với ma trận trọng số (Mục 8.3).
- Cổng quênforget gate
Cổng của LSTM quyết định giữ lại bao nhiêu phần ô nhớ cũ. Với cổng quên không đổi , bộ nhớ có thang thời gian khoảng bước; hệ số chặn của cổng thường khởi tạo bằng 1.
- GRUgated recurrent unit
Biến thể đơn giản của LSTM với hai cổng, ít hơn khoảng 25% tham số, chất lượng thường tương đương.
Transformer#
- Attentionscaled dot-product attention
: mỗi truy vấn lấy trung bình có trọng số của các giá trị, với trọng số tính từ độ giống giữa truy vấn và các khoá (Mục 9.1).
- Phép chia cho √dₖscaling by √dₖ
Tích vô hướng của hai vector ngẫu nhiên có phương sai ; chia cho đưa phương sai về 1, tránh để softmax bão hoà làm gradient gần bằng 0 (Mục 9.2).
- Attention nhiều đầumulti-head attention
phép attention song song trên các không gian con chiều, rồi nối lại và chiếu. Tổng chi phí gần bằng attention một đầu; lợi ích là theo dõi nhiều loại quan hệ cùng lúc.
- Mặt nạ nhân quảcausal mask
Che mọi vị trí phía sau khi tính attention cho một vị trí, để mô hình sinh văn bản không thấy tương lai. Cho phép tính dự đoán cho mọi vị trí của chuỗi trong một lượt xuôi.
- Mã hoá vị trípositional encoding
Cách đưa thông tin thứ tự vào Transformer, vì self-attention không phân biệt thứ tự các token: sin–cos cố định, embedding vị trí học được, hoặc vị trí tương đối như RoPE và ALiBi (Mục 9.6).
- Encoder và decoderencoder, decoder
Encoder dùng attention hai chiều, tiền huấn luyện bằng cách đoán token bị che (BERT). Decoder dùng mặt nạ nhân quả, tiền huấn luyện bằng cách đoán token tiếp theo (GPT). Encoder–decoder kết hợp hai phần bằng cross-attention (T5) (Mục 9.7).
- Pre-LN và post-LNpre-norm, post-norm
Post-LN chuẩn hoá sau phép cộng của kết nối tắt; pre-LN chuẩn hoá trước khối con để đường tắt đi thẳng. Pre-LN huấn luyện ổn định hơn và ít cần warmup (Mục 10.2).
- RoPErotary position embedding
Quay từng cặp chiều của truy vấn và khoá một góc tỉ lệ với vị trí. Điểm số attention chỉ phụ thuộc khoảng cách tương đối: (Mục 10.3).
- KV cacheKV cache
Khoá và giá trị của các token đã xử lý, lưu lại để không phải tính lại khi sinh token mới. Dung lượng nhân số byte (Mục 10.4).
- MQA và GQAmulti-query attention, grouped-query attention
Nhiều đầu truy vấn dùng chung khoá và giá trị: MQA dùng một cặp cho mọi đầu, GQA dùng một cặp cho mỗi nhóm đầu. Giảm KV cache theo đúng tỉ lệ số đầu; là quyết định vì bộ nhớ khi suy luận.
- SwiGLUSwiGLU
Khối FFN có cổng, , gồm ba ma trận. Để giữ số tham số, số chiều ẩn giảm còn (Mục 10.5).
- Mixture of expertsmixture of experts, MoE
Thay khối FFN bằng nhiều chuyên gia và một bộ định tuyến chọn vài chuyên gia cho mỗi token. Tăng số tham số mà không tăng số phép tính mỗi token, nhưng mọi chuyên gia phải nằm trong bộ nhớ (Mục 10.6).
- FlashAttentionFlashAttention
Cách tính chính xác attention theo từng khối trong bộ nhớ trên chip, không lưu ma trận . Bộ nhớ tăng tuyến tính theo độ dài chuỗi và thời gian chạy giảm; số phép tính vẫn bậc hai (Mục 10.7).
Giải mã#
- Giải mã tham lamgreedy decoding
Luôn chọn token có xác suất cao nhất. Tất định về nguyên tắc, phù hợp với bài toán có một đáp án đúng.
- Beam searchbeam search
Giữ nhiều chuỗi ứng viên có xác suất cao nhất ở mỗi bước. Phù hợp với dịch máy; với văn bản mở thường cho kết quả lặp và nhạt (Mục 11.4).
- Nhiệt độtemperature
Chia logit cho trước softmax. làm phân phối nhọn hơn, làm phẳng hơn, cho greedy.
- Top-ktop-k sampling
Chỉ giữ token có xác suất cao nhất rồi lấy mẫu. Ngưỡng cố định, không thích ứng theo mức chắc chắn của mô hình.
- Top-pnucleus sampling
Giữ tập nhỏ nhất các token có tổng xác suất ít nhất rồi lấy mẫu. Số token giữ lại thay đổi theo phân phối ở từng bước.
- Giải mã suy đoánspeculative decoding
Một mô hình nhỏ đề xuất trước vài token, mô hình lớn kiểm tra trong một lượt xuôi, và một quy tắc chấp nhận–từ chối giữ nguyên phân phối đầu ra. Giảm độ trễ mà không đổi chất lượng.
Tài nguyên tính toán#
- Tham số không tính embeddingnon-embedding parameters
Số tham số của các khối Transformer, khoảng với FFN hai ma trận và . Là trong các công thức FLOP và quy luật co giãn (Mục 12.2).
- Quy tắc 6NDthe 6ND rule
Huấn luyện tốn khoảng FLOP: mỗi token ở lượt xuôi và ở lượt ngược (Mục 12.4).
- Mức sử dụng phần cứngmodel FLOPs utilization, MFU
Tỉ lệ giữa số FLOP có ích mỗi giây mà quá trình huấn luyện đạt được và tốc độ tối đa của phần cứng. Thường 30% tới 50% với mô hình lớn.
- Quy luật co giãnscaling laws
Quan hệ dạng luỹ thừa giữa mất mát với số tham số, lượng dữ liệu và lượng tính toán. Kết quả của Chinchilla: với ngân sách cố định, số tham số và số token nên tăng cùng tỉ lệ, khoảng 20 token cho mỗi tham số.
- Bộ nhớ huấn luyệntraining memory
Với Adam và độ chính xác hỗn hợp, khoảng 16 byte mỗi tham số cho trọng số, gradient và trạng thái bộ tối ưu, chưa tính giá trị kích hoạt (Mục 12.5).