13. Bài tập#
Mười một bài tập có lời giải chi tiết và ngân hàng câu hỏi trắc nghiệm theo từng chương.
Tính số tham số của Llama 2 7B từ cấu hình: 32 khối, , , từ vựng 32 000 token, 32 đầu attention và 32 đầu khoá–giá trị, RoPE (không có embedding vị trí), RMSNorm (chỉ có ), không có hệ số chặn, FFN dạng SwiGLU, lớp chiếu ra không dùng chung trọng số với embedding. (a) Tính riêng số tham số của attention, FFN, các lớp chuẩn hoá, embedding và lớp chiếu ra. (b) So tổng với con số đã công bố 6 738 415 616. (c) Tỉ số bằng bao nhiêu? Vì sao nó không bằng 4?
Gợi ý của đề
Xem lời giải chi tiết
(a) Từng thành phần.
Attention. Với 32 đầu truy vấn và 32 đầu khoá–giá trị, mỗi đầu chiều, nên , , , đều là ma trận . Không có hệ số chặn:
FFN. SwiGLU có ba ma trận , (kích thước ) và (kích thước ):
Chuẩn hoá. RMSNorm chỉ có vector . Mỗi khối có hai lớp chuẩn hoá (trước attention và trước FFN), cộng một lớp sau khối cuối:
Embedding và lớp chiếu ra. Không dùng chung trọng số nên tính hai lần:
(b) Tổng.
| Thành phần | Số tham số | Tỉ lệ |
|---|---|---|
| Attention | 2 147 483 648 | 31,9% |
| FFN (SwiGLU) | 4 328 521 728 | 64,2% |
| RMSNorm | 266 240 | 0,004% |
| Embedding và lớp chiếu ra | 262 144 000 | 3,9% |
| Tổng | 6 738 415 616 |
Tổng khớp chính xác con số đã công bố 6 738 415 616.
(c) Tỉ số . , không phải 4. Vì SwiGLU có ba ma trận thay vì hai, muốn giữ số tham số bằng FFN gốc với thì phải có , tức . Làm tròn lên bội của 256 được (Mục 10.5).
Trong phạm vi các khối Transformer, FFN chiếm số tham số, gần với tỉ lệ của FFN gốc ở Mục 12.2. Đó chính là mục đích của việc chọn .
Dùng kết quả Bài 1. (a) Tính số FLOP để huấn luyện Llama 2 7B trên token theo công thức . (b) Trên GPU A100 (312 TFLOPS với bf16), ước lượng số giờ-GPU khi mức sử dụng phần cứng (MFU) là 30% và 40%. (c) Meta công bố 184 320 giờ-GPU. Từ con số này, suy ra MFU thực tế. Giá trị đó có hợp lý không? (d) Vì sao trong công thức không tính tham số của embedding?
Xem lời giải chi tiết
(a) Số FLOP. Từ Bài 1, số tham số không tính embedding là
nên
(b) Số giờ-GPU. Tốc độ thực tế là FLOP mỗi giây:
- MFU 30%: giây, tức 230 627 giờ-GPU;
- MFU 40%: 172 970 giờ-GPU.
(c) MFU thực tế. Giải ngược từ con số công bố:
Mức 37,5% nằm trong khoảng 30% tới 50% thường gặp khi huấn luyện mô hình lớn, nên công thức nhất quán với thực tế. Cần hiểu đúng ý nghĩa của phép so sánh: công thức cho đúng bậc độ lớn của lượng tính toán, còn thời gian thực phụ thuộc vào MFU, một đại lượng công thức không dự đoán được.
(d) Vì sao không tính embedding. Với mỗi token, lớp embedding chỉ là một phép tra bảng, không có phép nhân ma trận nào, nên gần như không tốn FLOP. Lớp chiếu ra từ vựng thì có phép nhân ma trận ( FLOP mỗi token) nhưng thường được bỏ qua trong công thức gần đúng; với Llama 2 7B, phần này chỉ khoảng 2% so với . Nếu dùng tổng 6,74 tỉ thay cho 6,48 tỉ, kết quả lệch khoảng 4%.
(a) Chứng minh: nếu các thành phần của độc lập, có trung bình 0 và phương sai 1 thì . (b) Dùng đạo hàm của softmax để giải thích vì sao điểm số có phương sai lớn làm gradient qua attention gần như bằng 0. (c) Nếu chia điểm số cho thay vì thì điều gì xảy ra khi lớn?
Xem lời giải chi tiết
(a) Phương sai của tích vô hướng. Viết . Vì và độc lập và có trung bình 0,
Các số hạng độc lập với nhau nên phương sai của tổng bằng tổng các phương sai: . Số đo ở Mục 9.2 với là 3,63; 15,99; 64,66; 251,67; 1 021,97, khớp lý thuyết trong phạm vi sai số lấy mẫu.
(b) Vì sao gradient gần bằng 0. Đạo hàm của softmax là
Khi một gần 1 và các còn lại gần 0, mọi phần tử của ma trận này đều gần 0: với là , với là . Điểm số có độ lệch chuẩn ; với , các điểm số chênh nhau hàng chục đơn vị, và tỉ số giữa hai trọng số có thể lên tới , nên softmax gần như luôn ở vùng gần one-hot. Bảng ở Mục 9.2 cho thấy điều đó: không chia thì trọng số lớn nhất trung bình là 0,953 và entropy chỉ còn 0,118 nat.
(c) Chia cho . Phương sai của điểm số thành , tiến về 0 khi lớn. Các điểm số gần bằng nhau, softmax cho phân phối gần đều, và attention mất khả năng phân biệt các vị trí: mỗi token nhận gần như trung bình của cả chuỗi. Chia cho là cách duy nhất trong họ làm phương sai không phụ thuộc ; chia ít hơn thì bão hoà, chia nhiều hơn thì phân phối bị làm phẳng.
Một CNN chỉ gồm các lớp tích chập . (a) Với bước nhảy 1 ở mọi lớp, cần bao nhiêu lớp để trường tiếp nhận phủ hết ảnh rộng 224 điểm ảnh? (b) Nếu các lớp thứ 2, 4, 6, … có bước nhảy 2 và các lớp còn lại có bước nhảy 1, tính trường tiếp nhận sau 10 lớp. Cần bao nhiêu lớp để phủ 224 điểm ảnh? (c) Vì sao trường tiếp nhận hiệu dụng nhỏ hơn con số tính ở trên?
Gợi ý của đề
Xem lời giải chi tiết
(a) Bước nhảy 1 ở mọi lớp. Với , , công thức cho , nên . Giải được , tức cần 112 lớp.
(b) Bước nhảy 2 ở các lớp chẵn. Dãy bước nhảy là . Mức tăng của lớp là :
| Lớp | Mức tăng | ||
|---|---|---|---|
| 1 | 1 | 2 | 3 |
| 2 | 1 | 2 | 5 |
| 3 | 2 | 4 | 9 |
| 4 | 2 | 4 | 13 |
| 5 | 4 | 8 | 21 |
| 6 | 4 | 8 | 29 |
| 7 | 8 | 16 | 45 |
| 8 | 8 | 16 | 61 |
| 9 | 16 | 32 | 93 |
| 10 | 16 | 32 | 125 |
| 11 | 32 | 64 | 189 |
| 12 | 32 | 64 | 253 |
Sau 10 lớp, trường tiếp nhận rộng 125 điểm ảnh; cần 12 lớp để phủ 224 điểm ảnh, so với 112 lớp khi không có bước nhảy. Bước nhảy nhân vào mọi mức tăng phía sau, nên trường tiếp nhận tăng theo cấp số nhân thay vì tuyến tính. Đổi lại, độ phân giải của bản đồ đặc trưng giảm một nửa theo mỗi chiều sau mỗi lớp có bước nhảy 2.
(c) Trường tiếp nhận hiệu dụng. Các điểm trong trường tiếp nhận lý thuyết không ảnh hưởng như nhau. Số đường đi từ một điểm ảnh tới đơn vị đang xét lớn nhất ở tâm và giảm dần ra rìa; ảnh hưởng tổng hợp qua nhiều lớp tích chập giống kết quả của nhiều lần tích chập liên tiếp, và theo định lý giới hạn trung tâm, nó có dạng gần Gauss. Luo và cộng sự (2016) cho thấy độ rộng hiệu dụng chỉ tăng theo . Vì vậy chỉ thêm lớp không đủ để mở rộng vùng nhìn; cần bước nhảy, gộp, tích chập giãn cách hoặc attention.
Với mỗi tình huống, cho biết vấn đề chủ yếu là độ chệch hay phương sai, hay là dấu hiệu của lỗi, và nêu hai việc nên làm: (a) Sai số huấn luyện 2%, sai số xác thực 18%, khoảng cách không thu hẹp khi thêm dữ liệu vào tập huấn luyện nhưng vẫn giảm dần. (b) Sai số huấn luyện 24%, sai số xác thực 25%, cả hai đã nằm ngang. (c) Sai số xác thực 12%, sai số huấn luyện 15%.
Xem lời giải chi tiết
(a) Huấn luyện 2%, xác thực 18%, khoảng cách lớn và thu hẹp dần khi thêm dữ liệu. Phương sai cao (overfitting). Hai việc nên làm: thêm dữ liệu hoặc tăng cường dữ liệu, vì phương sai giảm khi có thêm dữ liệu và đường cong cho thấy dữ liệu đang có tác dụng; và tăng regularization (weight decay, dropout, dừng sớm), rẻ hơn thu thập dữ liệu và thường đủ.
(b) Huấn luyện 24%, xác thực 25%, cả hai đã nằm ngang. Độ chệch cao (underfitting). Thêm dữ liệu sẽ không giúp gì, và đây là kết luận quan trọng nhất của chẩn đoán này. Hai việc nên làm: dùng mô hình linh hoạt hơn (thêm lớp, tăng bề rộng hoặc đổi họ mô hình), và thêm đặc trưng hoặc giảm regularization.
(c) Xác thực 12%, huấn luyện 15%. Sai số xác thực thấp hơn sai số huấn luyện không phải là một chẩn đoán về độ chệch hay phương sai mà là dấu hiệu cần kiểm tra quy trình. Ba nguyên nhân thường gặp:
- Dropout hoặc tăng cường dữ liệu chỉ bật khi huấn luyện. Sai số huấn luyện khi đó được đo trên bài toán khó hơn. Đây là nguyên nhân phổ biến nhất và không phải lỗi.
- Sai số huấn luyện được tính trung bình trong suốt một epoch, gồm cả những bước đầu khi mô hình còn kém, còn sai số xác thực đo ở cuối epoch.
- Tập xác thực dễ hơn hoặc có rò rỉ dữ liệu: chia không ngẫu nhiên, thiếu các trường hợp khó, hoặc chứa bản sao gần giống của dữ liệu huấn luyện.
Nên kiểm tra hai nguyên nhân đầu trước, vì chúng là vấn đề đo lường. Nếu loại trừ được cả hai mà hiện tượng vẫn còn, cần xem lại cách chia dữ liệu (Mục 8.5 của Nền tảng).
Cho hàm lều . (a) Chứng minh ánh xạ lên . (b) Chứng minh bằng quy nạp rằng hợp với chính nó lần là một hàm tuyến tính từng khúc có đoạn. (c) Chứng minh một mạng một lớp ẩn với đầu vào một chiều cần ít nhất đơn vị ReLU để biểu diễn chính xác hàm đó, và so với đơn vị của mạng sâu.
Xem lời giải chi tiết
(a) ánh xạ lên . Với : và , nên , tăng từ 0 tới 1. Với : , giảm từ 1 về 0. Vậy liên tục, có giá trị trong , và mỗi nửa đoạn được ánh xạ lên toàn bộ .
(b) Quy nạp. Mệnh đề: là hàm tuyến tính từng khúc gồm đoạn, mỗi đoạn ánh xạ lên toàn bộ (tăng từ 0 lên 1 hoặc giảm từ 1 về 0). Với , mệnh đề đúng theo (a). Giả sử mệnh đề đúng với . Trên mỗi đoạn của , giá trị đi qua toàn bộ một cách đơn điệu, nên đi qua cả hai nửa và trên đó tuyến tính. Do đó mỗi đoạn của tách thành hai đoạn của , mỗi đoạn mới lại ánh xạ lên toàn bộ . Vậy có đoạn.
Mạng sâu thực hiện ở mỗi lớp bằng 2 đơn vị ReLU, nên dùng đơn vị trong lớp, tức tham số (mỗi đơn vị một trọng số vào, một hệ số chặn, một trọng số ra).
(c) Mạng một lớp ẩn. Một mạng một lớp ẩn với đơn vị ReLU và đầu vào một chiều có dạng
Mỗi số hạng là hàm tuyến tính từng khúc với đúng một điểm gãy tại , nên có nhiều nhất điểm gãy. Hàm có đoạn, tức điểm gãy bên trong , nên cần .
So sánh: mạng sâu cần đơn vị, mạng một lớp cần ít nhất . Với là 14 so với 127 đơn vị; với là 40 so với hơn một triệu. Thí nghiệm ở Mục 4.4 cho thấy cận dưới này sát với thực tế: sai số của mạng một lớp chỉ giảm rõ khi bề rộng đạt .
Lưu ý
Bài này chứng minh khả năng biểu diễn, không chứng minh rằng gradient descent tìm được nghiệm của mạng sâu. Trong thực tế, huấn luyện mạng hẹp và sâu để học hàm này thường thất bại.
(a) Bỏ qua hàm tanh, gradient của một RNN tuyến tính sau 100 bước lùi có độ lớn cỡ với là bán kính phổ của . Tính giá trị này khi và . So với số đo ở Mục 8.2 và giải thích vì sao chúng khác nhau. (b) Dọc theo ô nhớ của LSTM, gradient nhân với cổng quên ở mỗi bước. Tính khi hệ số chặn của cổng quên là 1 và là 4 (bỏ qua phần phụ thuộc đầu vào), và thang thời gian tương ứng. (c) Vì sao gradient bùng nổ dễ xử lý hơn gradient tiêu biến?
Xem lời giải chi tiết
(a) RNN tuyến tính.
Bán kính phổ chỉ khác nhau 20% nhưng kết quả chênh nhau 9 bậc độ lớn, vì rất nhạy khi lớn.
Số đo ở Mục 8.2 khác xa các con số này: với là , với là 3,0. Có hai lý do. Thứ nhất, RNN trong thí nghiệm có hàm tanh, và khi các đơn vị bão hoà, đạo hàm làm Jacobi nhỏ đi; với , trạng thái lớn dần theo thời gian nên hiệu ứng này mạnh ở cuối chuỗi. Thứ hai, với ma trận ngẫu nhiên , bán kính phổ thực tế chỉ xấp xỉ và độ lớn của phụ thuộc cả vào các trị riêng khác. Ước lượng đúng về xu hướng nhưng không đúng về con số.
(b) Đường ô nhớ của LSTM.
Mô phỏng ở Mục 8.2 cho và , cùng bậc với tính tay; phần chênh đến từ nhiễu cộng vào đầu vào của cổng quên ở mỗi bước. Với , bộ nhớ có thang thời gian chỉ vài bước; với , khoảng 50 bước. Cấu trúc cổng cho phép mạng điều khiển tích , nhưng giá trị của cổng quyết định bộ nhớ dài hay ngắn.
(c) Bùng nổ và tiêu biến. Gradient bùng nổ vẫn giữ đúng hướng, chỉ có độ lớn quá mức; cắt ngưỡng gradient giới hạn độ lớn và giữ nguyên hướng, nên sửa được với một dòng mã. Gradient tiêu biến thì thông tin về ảnh hưởng của các bước xa đã nhỏ hơn nhiều so với nhiễu của SGD và sai số làm tròn; phóng to nó lên chỉ phóng to nhiễu. Tiêu biến phải được ngăn từ kiến trúc: cổng như LSTM, kết nối tắt, chuẩn hoá, khởi tạo phù hợp.
Một mô hình 70 tỉ tham số có 80 lớp, và 64 đầu truy vấn. Tính dung lượng KV cache ở FP16 cho ngữ cảnh 4 096 token và 8 chuỗi cùng lúc, trong hai trường hợp: (a) MHA với 64 đầu khoá–giá trị; (b) GQA với 8 đầu khoá–giá trị. (c) So với dung lượng trọng số ở FP16. Vì sao GQA là quyết định về bộ nhớ khi suy luận chứ không phải về chất lượng?
Xem lời giải chi tiết
Công thức. Mỗi lớp lưu khoá và giá trị, mỗi thứ số cho mỗi token của mỗi chuỗi:
với hệ số 2 đầu cho khoá và giá trị, hệ số 2 cuối là số byte của FP16.
(a) MHA, 64 đầu khoá–giá trị.
(b) GQA, 8 đầu khoá–giá trị. Chỉ thay đổi, nên dung lượng giảm đúng lần: 10 GiB.
(c) So với trọng số. Mô hình 70 tỉ tham số ở FP16 chiếm khoảng 140 GB trọng số. Với MHA, KV cache 80 GiB (86 GB) đã bằng hơn một nửa dung lượng trọng số, chỉ với 8 chuỗi 4 096 token; với 64 chuỗi, KV cache là 640 GiB, gần gấp năm lần trọng số. GQA là quyết định vì bộ nhớ khi suy luận vì ba lẽ:
- KV cache giới hạn số yêu cầu phục vụ được cùng lúc. Trọng số cố định, còn KV cache tăng tuyến tính theo độ dài ngữ cảnh và số chuỗi. Với GQA, mỗi token của mỗi chuỗi chỉ tốn 0,3125 MiB thay vì 2,5 MiB.
- Sinh token bị giới hạn bởi băng thông bộ nhớ. Mỗi token mới phải đọc lại toàn bộ KV cache; KV cache nhỏ hơn 8 lần thì lượng dữ liệu phải đọc cũng nhỏ hơn, và độ trễ giảm theo.
- Chất lượng không tăng. Các đầu truy vấn trong một nhóm buộc phải dùng chung khoá và giá trị, nên GQA giảm chất lượng một chút so với MHA; Ainslie và cộng sự (2023) cho thấy mức giảm nhỏ khi số nhóm không quá ít.
Với mỗi bài toán, chọn họ mô hình và giải thích bằng thiên kiến quy nạp của mô hình và cấu trúc của dữ liệu, không dựa vào mức độ phổ biến của mô hình: (a) Dự đoán khách hàng rời bỏ dịch vụ từ 40 đặc trưng dạng bảng, 30 000 khách hàng, kết quả cần giải thích được cho bộ phận kinh doanh. (b) Phân loại ảnh sản phẩm lỗi trên dây chuyền, 3 000 ảnh có nhãn, các ảnh có bố cục rất giống nhau. (c) Trích xuất các trường thông tin từ hợp đồng dài 50 trang. (d) Dự báo phụ tải điện theo giờ cho 12 tháng tới.
Xem lời giải chi tiết
Điểm chính của bài là lý do dựa trên cấu trúc của dữ liệu và thiên kiến quy nạp của mô hình. "Mô hình X thắng nhiều cuộc thi" không phải là lý do.
(a) Khách hàng rời bỏ: 40 đặc trưng bảng, 30 000 mẫu, cần giải thích. Chọn gradient boosting trên cây (XGBoost, LightGBM), hoặc rừng ngẫu nhiên nếu cần một mô hình dễ chỉnh. Dữ liệu bảng không có cấu trúc không gian hay thời gian để tích chập hay attention khai thác; nó thường có quan hệ dạng ngưỡng, tương tác giữa các đặc trưng và các cột có thang đo khác nhau, đúng loại cấu trúc mà phép chia theo từng trục của cây biểu diễn tự nhiên (Mục 1.2). 30 000 mẫu cũng ít đối với mạng nơ-ron. Về giải thích, có thể dùng SHAP để giải thích từng dự đoán cho bộ phận kinh doanh.
(b) Ảnh sản phẩm lỗi: 3 000 ảnh có nhãn, bố cục giống nhau. Chọn CNN đã tiền huấn luyện rồi tinh chỉnh, ví dụ ResNet hoặc EfficientNet. Các giả định của tích chập đúng với ảnh, nên CNN cần ít dữ liệu hơn ViT ở quy mô này (Mục 7.4). 3 000 ảnh không đủ để huấn luyện từ đầu, nên dùng đặc trưng đã học từ ImageNet (Chương 6 của Biểu diễn & Căn chỉnh). Chi tiết "bố cục giống nhau" cần chú ý: nếu vị trí của khuyết tật có ý nghĩa, các phép tăng cường dữ liệu như lật hay dịch mạnh có thể có hại, và tính bất biến với dịch chuyển của lớp gộp toàn cục có thể không mong muốn.
(c) Trích xuất thông tin từ hợp đồng 50 trang. Chọn Transformer đã tiền huấn luyện, có ngữ cảnh đủ dài, hoặc kết hợp chia văn bản thành đoạn với truy xuất. Bài toán có nhiều phụ thuộc xa, ví dụ điều khoản ở trang 40 tham chiếu định nghĩa ở trang 2; attention cho đường đi độ dài giữa hai vị trí bất kỳ. Tiền huấn luyện là cần thiết vì không có đủ hợp đồng có nhãn để học ngôn ngữ pháp lý từ đầu. Về chi phí, 50 trang tương ứng khoảng 25 000 tới 35 000 token; với một mô hình có , tỉ số vào khoảng 1 tới 1,4, tức phần tính toán của attention đã ngang phần còn lại (Mục 12.4), nên cân nhắc FlashAttention hoặc chỉ đưa vào các đoạn liên quan.
(d) Dự báo phụ tải điện theo giờ cho 12 tháng. Chọn mô hình khai thác trực tiếp cấu trúc đã biết: gradient boosting trên các đặc trưng lịch (giờ trong ngày, ngày trong tuần, mùa, ngày lễ), đặc trưng trễ và dự báo thời tiết, hoặc mô hình chuỗi thời gian có thành phần mùa vụ tường minh. Phụ tải bị chi phối bởi các chu kỳ đã biết trước và nhiệt độ; đưa chúng vào làm đặc trưng thì mô hình không phải học lại chúng từ dữ liệu. Quan trọng hơn cả việc chọn mô hình là cách đánh giá: phải chia dữ liệu theo thời gian, huấn luyện trên quá khứ và kiểm tra trên giai đoạn sau, không bao giờ chia ngẫu nhiên (Mục 8.5 của Nền tảng).
Trong phần (E) của code/models/experiments.py, thay softmax bằng một phép chuẩn hoá không có hàm mũ, ví dụ , rồi đo lại entropy theo khi không chia cho .
(a) Hiện tượng bão hoà còn xuất hiện không? Giải thích.
(b) Từ đó cho biết phép chia xử lý vấn đề của softmax hay của tích vô hướng.
(c) Nêu lý do attention vẫn dùng softmax.
Xem lời giải chi tiết
Cách làm. Trong phần (E), thay softmax(scores) bằng một hàm chuẩn hoá không có hàm mũ:
def relu_norm(s, axis=-1, eps=1e-9):
"""Chuan hoa l1 cua ReLU: khong co ham mu nen khong bao hoa."""
w = np.maximum(s, 0.0)
return w / (w.sum(axis=axis, keepdims=True) + eps)
rồi đo entropy của trọng số theo khi không chia cho .
(a) Kết quả dự kiến. Hiện tượng bão hoà biến mất: entropy gần như không đổi theo . Với softmax, tỉ số giữa hai trọng số là , hàm mũ của hiệu hai điểm số, nên khi điểm số có độ lệch chuẩn cỡ 32, một phần tử áp đảo các phần tử còn lại. Với chuẩn hoá của ReLU, tỉ số là (với các điểm số dương); nhân mọi điểm số với cùng một hằng số dương không thay đổi tỉ số này, nên phân phối trọng số không phụ thuộc thang đo của điểm số.
(b) Softmax hay tích vô hướng. Tích vô hướng làm phương sai của điểm số tăng theo (Bài 3). Nhưng phương sai lớn chỉ gây hại vì softmax nhạy với thang đo tuyệt đối của đầu vào. Nguyên nhân trực tiếp nằm ở tích vô hướng, còn cơ chế gây hại nằm ở softmax. Cách sửa được chọn ở phía tích vô hướng vì chỉ tốn một phép chia, trong khi thay softmax sẽ thay đổi tính chất của mô hình.
(c) Vì sao vẫn dùng softmax.
- Luôn dương và trơn. Chuẩn hoá ReLU cho trọng số bằng đúng 0 và gradient bằng 0 ở mọi vị trí có điểm số âm, nên các vị trí đó không bao giờ được xét lại, tương tự đơn vị ReLU chết.
- Mẫu số luôn dương. Với ReLU, nếu mọi điểm số đều âm thì tổng bằng 0; phải thêm
eps, vàepstrở thành một siêu tham số ngầm. - Có thể chọn dứt khoát khi cần. Một số nhiệm vụ cần phân phối gần one-hot, ví dụ sao chép chính xác một token từ ngữ cảnh. Tính chất hàm mũ của softmax cho phép điều đó với điểm số vừa phải.
Khi chạy, nên ghi thêm entropy khi có chia cho cả hai hàm để có bốn cột so sánh: chuẩn hoá ReLU cho entropy gần như không đổi trong cả hai trường hợp, còn softmax chỉ ổn định khi có phép chia.
Phát hiện đối tượng (Mục 7.5). (a) Tính IoU của hai hộp và , toạ độ dạng . (b) Chạy NMS với ngưỡng IoU 0,5 trên bốn hộp: điểm 0,9; điểm 0,8; điểm 0,7; điểm 0,6. Những hộp nào được giữ? (c) Một lớp có 4 hộp thật. Bộ phát hiện trả về 6 hộp; xếp theo điểm giảm dần, kết quả ghép ở ngưỡng IoU 0,5 lần lượt là: đúng, đúng, sai, đúng, sai, sai. Tính precision và recall sau mỗi hộp, rồi tính AP theo cách tính mọi điểm của PASCAL VOC. (d) Vì sao một hộp dự đoán trùng với hộp đúng của cùng đối tượng bị tính là dương tính giả, và điều đó liên quan gì tới NMS?
Xem lời giải chi tiết
(a) IoU. Hộp có diện tích , hộp có diện tích . Phần giao theo trục ngang là , theo trục dọc là , diện tích . Phần hợp là , nên
(b) NMS. Các IoU cần dùng: (giao , hợp ); ; ; .
- Chọn (điểm 0,9). Bỏ vì IoU 0,681 vượt 0,5; giữ và .
- Trong các hộp còn lại, chọn (0,7); IoU với bằng 0 nên giữ .
- Chọn .
Kết quả: , , . Lưu ý rằng bị loại vì trùng với chứ không vì trùng với (IoU giữa và chỉ là ).
(c) Precision, recall và AP. Với 4 hộp thật:
| Hộp thứ | Kết quả | TP tích luỹ | Precision | Recall |
|---|---|---|---|---|
| 1 | đúng | 1 | 1,000 | 0,25 |
| 2 | đúng | 2 | 1,000 | 0,50 |
| 3 | sai | 2 | 0,667 | 0,50 |
| 4 | đúng | 3 | 0,750 | 0,75 |
| 5 | sai | 3 | 0,600 | 0,75 |
| 6 | sai | 3 | 0,500 | 0,75 |
Precision nội suy tại mỗi mức recall là precision lớn nhất ở các mức recall lớn hơn hoặc bằng: tại recall 0,25 và 0,50 là 1; tại recall 0,75 là 0,75. Recall không bao giờ đạt 1 vì một hộp thật không được phát hiện, nên đoạn từ 0,75 tới 1 đóng góp 0. AP theo cách tính mọi điểm:
Theo cách tính 11 điểm của VOC 2007: precision nội suy bằng 1 tại 6 mức recall , bằng 0,75 tại hai mức 0,6 và 0,7, và bằng 0 tại 0,8; 0,9; 1. AP , gần nhưng không bằng cách tính mọi điểm.
(d) Hộp trùng. Mỗi hộp thật chỉ được ghép với một hộp dự đoán. Hộp dự đoán thứ hai của cùng một đối tượng không còn hộp thật nào để ghép, nên bị tính là dương tính giả và làm giảm precision. Vì vậy NMS làm tăng AP: nó loại các hộp trùng trước khi đánh giá. Trong thí nghiệm ở Mục 7.5, AP50 tăng từ 0,885 lên 0,913 sau NMS. Nhưng nếu ngưỡng NMS quá thấp, hộp đúng của một đối tượng khác đứng sát bên cũng bị loại, và recall giảm.
Giải mã (Mục 11.4 và 11.5). (a) Sau câu "Tôi muốn ăn", mô hình cho "phở" xác suất 0,5, "cơm" 0,4 và "bún" 0,1. Sau "phở", token tiếp theo là "bò" với xác suất 0,5, "gà" 0,3 và "cuốn" 0,2; sau "cơm", là "tấm" 0,8 và "rang" 0,2. Tìm chuỗi hai token mà greedy chọn và chuỗi mà beam search với chọn, kèm xác suất của chúng. (b) Hai chuỗi hoàn chỉnh: chuỗi 4 token có tổng log-xác suất , chuỗi 8 token có tổng . Với , và , chuẩn hoá theo độ dài chọn chuỗi nào? (c) Giải mã suy đoán trên ba token A, B, C, với phân phối của mô hình nhỏ và của mô hình lớn . Tính xác suất nhận của từng token và phân phối phần dư, rồi kiểm tra rằng phân phối của đầu ra đúng bằng . (d) Tính tỉ lệ chấp nhận trong (c) và số token kỳ vọng sau một lượt xuôi của mô hình lớn khi mô hình nhỏ đề xuất token mỗi lượt.
Xem lời giải chi tiết
(a) Greedy và beam search. Greedy chọn "phở" (0,5) rồi "bò" (0,5), được chuỗi "phở bò" với xác suất . Beam search với giữ "phở" và "cơm" sau bước đầu, rồi so năm chuỗi ở bước hai:
| Chuỗi | Xác suất |
|---|---|
| cơm tấm | |
| phở bò | |
| phở gà | |
| phở cuốn | |
| cơm rang |
Beam giữ "cơm tấm" và "phở bò", và chọn "cơm tấm" với xác suất 0,32, cao hơn chuỗi của greedy dù "cơm" chỉ đứng thứ hai ở bước đầu. Lý do là sau "cơm", mô hình rất chắc chắn về token tiếp theo, còn sau "phở" thì xác suất chia cho ba lựa chọn.
(b) Chuẩn hoá theo độ dài. Điểm số là tổng log-xác suất chia cho :
| Chuỗi 4 token | Chuỗi 8 token | Chọn | |
|---|---|---|---|
| 0 | chuỗi ngắn | ||
| 0,75 | chuỗi dài | ||
| 1 | chuỗi dài |
Không chuẩn hoá thì chuỗi ngắn thắng chỉ vì có ít số hạng âm hơn. Tính trung bình mỗi token, chuỗi dài có xác suất cao hơn, so với , nên nó được chọn khi hay 1. Hai chuỗi hoà nhau khi , tức , hay .
(c) Quy tắc chấp nhận. Xác suất nhận là : A được nhận với xác suất , còn B và C luôn được nhận vì ở hai token này. Việc từ chối chỉ xảy ra khi A được đề xuất rồi bị từ chối, với xác suất . Phần dư là , chuẩn hoá thành . Phân phối của đầu ra:
| Token | Đề xuất và được nhận | Lấy từ phần dư | Tổng |
|---|---|---|---|
| A | 0 | 0,3 | |
| B | 0,4 | ||
| C | 0,3 |
Cột tổng đúng bằng . Phần dư bù chính xác lượng xác suất mà mô hình nhỏ đặt thiếu cho B và C.
(d) Tốc độ. , bằng một trừ xác suất từ chối 0,3 ở (c). Với , số token kỳ vọng sau một lượt xuôi của mô hình lớn là
Mức tăng tốc thực tế thấp hơn con số này, vì còn thời gian chạy mô hình nhỏ.
Tính toán tài nguyên theo kiểu bài tập nhẩm của CS336 (Mục 12.4 và 12.5). Một mô hình 13 tỉ tham số được huấn luyện trên 2 nghìn tỉ token bằng GPU A100, đạt tối đa 312 TFLOPS với bf16. (a) Với MFU 40%, ước lượng số giờ-GPU, và số ngày nếu dùng 1 024 GPU. (b) Meta công bố 368 640 giờ-GPU cho Llama 2 13B. Suy ra MFU và so với con số 37,5% của Llama 2 7B ở Ví dụ 12.1. (c) Với Adam và độ chính xác hỗn hợp, trọng số, gradient và trạng thái của bộ tối ưu cần bao nhiêu GB? Cần ít nhất bao nhiêu GPU 80 GB nếu mọi khoản được chia đều, và vì sao con số thực tế lớn hơn? (d) Với và , lớp chiếu ra từ vựng tốn bao nhiêu FLOP mỗi token ở lượt xuôi, và bằng bao nhiêu phần trăm của ? So với GPT-2 small ở Mục 12.4.
Xem lời giải chi tiết
(a) Thời gian. Tổng số phép tính là FLOP. Mỗi giờ, một A100 với MFU 40% làm được FLOP, nên
Với 1 024 GPU, con số này ứng với ngày.
(b) MFU của Llama 2 13B. Ở tốc độ đỉnh, 368 640 giờ-GPU cung cấp FLOP, nên MFU khoảng , gần như bằng 37,5% của bản 7B. Hai mô hình được huấn luyện trên cùng một hệ thống, nên hiệu suất gần nhau là hợp lý, và đây là một phép kiểm tra chéo cho công thức . Ở đây được làm tròn thành 13 tỉ; với số tham số không tính embedding, 12 687 769 600, MFU thấp hơn một chút, khoảng 36,8%.
(c) Bộ nhớ. Với 16 byte mỗi tham số, trọng số, gradient và trạng thái của Adam cần GB. Chia đều cho các GPU 80 GB cần ít nhất , tức 3 GPU. Con số thực tế lớn hơn vì còn giá trị kích hoạt, vốn tăng theo kích thước lô và độ dài chuỗi (Mục 12.5), cùng các bộ đệm cho việc trao đổi dữ liệu giữa các GPU. Trong thực tế, số GPU thường được chọn theo thời gian huấn luyện mong muốn như ở (a), chứ không theo mức tối thiểu về bộ nhớ.
(d) Lớp chiếu ra. Bảng embedding đầu vào chỉ là phép tra một hàng của ma trận, không có phép nhân nào. Lớp chiếu ra nhân vector chiều với ma trận , tốn FLOP mỗi token ở lượt xuôi, tức khoảng 1,3% của . Với GPT-2 small, cùng khoản này bằng gần một nửa (Mục 12.4). Khác biệt đến từ tỉ số , giảm khi và tăng: mô hình nhỏ có và nhỏ nhưng từ vựng vẫn lớn.
Trắc nghiệm theo chương#
59 câu bám sát nội dung và số liệu của từng chương. Đáp án được xáo lại mỗi lần tải trang.
Chương 1 — Các họ mô hình
2 câu
1Thiên kiến quy nạp của một thuật toán học là gì?
2Vì sao gradient boosting thường tốt hơn mạng nơ-ron trên dữ liệu dạng bảng?
Vì sao: Grinsztajn và cộng sự (2022) so sánh trên 45 bộ dữ liệu bảng và chỉ ra ba đặc điểm đó. Phép biến đổi affine của mạng nơ-ron trộn các cột với nhau, trong khi cây xử lý từng cột riêng (Mục 1.2).
Đã trả lời 0/2
Chương 2 — Độ chệch và phương sai
5 câu
1Độ chệch và phương sai trong phân rã sai số được định nghĩa qua kỳ vọng trên cái gì?
Vì sao: Phương sai đo mức dự đoán tại một điểm thay đổi khi đổi tập huấn luyện, không đo mức dự đoán dao động giữa các điểm dữ liệu (Mục 2.2).2Sai số huấn luyện 2%, sai số xác thực 18%, khoảng cách lớn và vẫn thu hẹp dần khi thêm dữ liệu. Nên làm gì?
Vì sao: Khoảng cách lớn giữa hai sai số là dấu hiệu phương sai cao. Phương sai giảm khi có thêm dữ liệu, nên thêm dữ liệu có tác dụng; ngược với trường hợp độ chệch cao (Mục 2.4).3Trong thí nghiệm ở Mục 2.3, vì sao thêm dữ liệu không giúp được đa thức bậc 1?
Vì sao: Một đường thẳng không thể theo được hình sin dù có bao nhiêu dữ liệu; phải đổi họ hàm. Ngược lại, ở bậc 12 phương sai gấp khoảng 1 900 lần độ chệch², nên thêm dữ liệu giúp được.4Trong thí nghiệm ở Mục 2.3, vì sao đa thức bậc 2 có độ chệch² gần như bằng bậc 1?
Vì sao: thoả . Số hạng bậc chẵn chỉ thêm tham số để khớp nhiễu nên làm tăng phương sai mà không giảm độ chệch; độ chệch không nhất thiết giảm đều khi mô hình phức tạp hơn.5Hiện tượng double descent nói điều gì?
Vì sao: Phân rã là một đẳng thức nên luôn đúng. Điều thay đổi là phương sai không tăng đều theo số tham số, vì thuật toán tối ưu chọn một nghiệm cụ thể trong vô số nghiệm khớp dữ liệu, ví dụ nghiệm có chuẩn nhỏ nhất (Mục 2.5).
Đã trả lời 0/5
Chương 3 — Cây quyết định và phương pháp tập hợp
5 câu
1Phương sai của trung bình mô hình, mỗi mô hình có phương sai và mỗi cặp có tương quan , là bao nhiêu?
Vì sao: Khi tăng, số hạng thứ hai tiến về 0 và chỉ còn . Muốn giảm tiếp phải giảm tương quan giữa các mô hình, và đó là điều rừng ngẫu nhiên làm (Mục 3.3).2Gradient boosting chủ yếu giảm thành phần nào của sai số?
3Phát biểu nào về cây quyết định là đúng?
Vì sao: Phép chia chỉ phụ thuộc thứ tự các giá trị, nên chuẩn hoá hay lấy logarit không đổi cây. Độ quan trọng tính từ độ giảm độ không thuần nhất thiên về các đặc trưng có nhiều giá trị; permutation importance đáng tin hơn (Mục 3.5).4Rừng ngẫu nhiên khác bagging thông thường ở điểm nào?
Vì sao: Vì phương sai của trung bình dừng ở , giảm tương quan là cách duy nhất để giảm tiếp phương sai.5Một nút có 6 điểm lớp A và 4 điểm lớp B. Độ không thuần nhất Gini của nút là bao nhiêu?
Vì sao: . Con số 0,971 là entropy của nút tính theo bit (Ví dụ 3.1).
Đã trả lời 0/5
Chương 4 — Mạng nơ-ron nhiều lớp
5 câu
1Vì sao mạng nơ-ron cần hàm kích hoạt phi tuyến?
Vì sao: . Không có hàm phi tuyến thì mạng bao nhiêu lớp cũng chỉ biểu diễn được hàm affine, và không giải được cả bài toán XOR (Ví dụ 4.1).2Định lý xấp xỉ phổ quát không cho biết điều gì?
Vì sao: Đây là định lý tồn tại. Số đơn vị cần thiết, khả năng tìm được bằng tối ưu và lượng dữ liệu cần thiết đều nằm ngoài phạm vi của nó (Mục 4.3).3Một mạng một lớp ẩn với đầu vào một chiều cần ít nhất bao nhiêu đơn vị ReLU để biểu diễn chính xác hàm răng cưa đoạn?
Vì sao: Mỗi đơn vị ReLU tạo đúng một điểm gãy, và hàm răng cưa có điểm gãy bên trong. Mạng sâu lớp chỉ cần đơn vị, tức tham số; với là 42 so với 386 tham số (Mục 4.4).4Kết quả ở Mục 4.4 cho phép kết luận điều gì?
Vì sao: Hàm răng cưa là trường hợp thuận lợi nhất cho độ sâu, và thí nghiệm chỉ nói về khả năng biểu diễn. Huấn luyện một mạng 7 lớp, mỗi lớp 2 đơn vị, để học hàm này bằng gradient descent gần như luôn thất bại.5Vì sao đạo hàm của sigmoid làm gradient qua nhiều lớp nhỏ đi nhanh?
Đã trả lời 0/5
Chương 5 — Lan truyền ngược và các thuật toán tối ưu
5 câu
1Vì sao lan truyền ngược, tức vi phân chế độ ngược, rẻ hơn chế độ xuôi khi huấn luyện mạng nơ-ron?
Vì sao: Quy tắc dây chuyền đúng theo mọi thứ tự nhân. 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 một đầu ra và hàng tỉ tham số, chế độ ngược rẻ hơn rất nhiều (Mục 5.2).2Trong Ví dụ 5.1, vì sao hàng thứ hai của nhận gradient bằng 0?
Vì sao: Đơn vị nào không kích hoạt với một đầu vào thì không nhận gradient từ đầu vào đó. Nếu không kích hoạt với mọi đầu vào, nó thành đơn vị ReLU chết (Mục 5.1).3Vì sao Adam có bước hiệu chỉnh độ chệch?
Vì sao: Với , . Chia cho cho ước lượng không chệch của kỳ vọng gradient; khi lớn, và phép hiệu chỉnh không còn tác dụng (Mục 5.4).4Trạng thái của Adam cho mô hình 7 tỉ tham số, lưu ở FP32, chiếm bao nhiêu bộ nhớ?
Vì sao: Hai trạng thái và cho mỗi tham số, mỗi trạng thái 4 byte: GB. Con số 112 GB là toàn bộ bộ nhớ huấn luyện với độ chính xác hỗn hợp, 16 byte mỗi tham số (Mục 12.5).5AdamW khác Adam kèm regularization ở điểm nào?
Vì sao: Với Adam thường, gradient của thành phần phạt bị chia cho , nên tham số có gradient lớn lại bị phạt ít hơn, ngược với mục đích của regularization.
Đã trả lời 0/5
Chương 6 — Khởi tạo, chuẩn hoá và kết nối tắt
5 câu
1Hệ số 2 trong khởi tạo He, , đến từ đâu?
Vì sao: Muốn phương sai giữ nguyên qua lớp thì . Với tanh, gần tuyến tính quanh 0, không cần hệ số này và dùng khởi tạo Xavier (Mục 6.2).2Trong thí nghiệm ở Mục 6.3, kết nối tắt không kèm chuẩn hoá cho kết quả gì trên mạng 40 lớp?
Vì sao: Mỗi lớp cộng thêm vào tín hiệu một lượng cùng cỡ, nên độ lớn tăng theo cấp số nhân. Kết hợp kết nối tắt với chuẩn hoá trong nhánh cho tỉ lệ 2,22, là cấu hình giống pre-LN.3Vì sao Transformer dùng LayerNorm thay cho BatchNorm?
Vì sao: LayerNorm tính thống kê trên các đặc trưng của từng mẫu nên không có ba vấn đề trên (Mục 6.4).4Kết nối tắt trong ResNet được đề xuất để giải quyết vấn đề gì?
Vì sao: Bằng chứng là sai số huấn luyện, không phải sai số xác thực, tăng theo độ sâu, dù mạng sâu hơn biểu diễn được mọi hàm của mạng nông hơn. Đây là vấn đề tối ưu (Mục 6.5).5RMSNorm khác LayerNorm ở điểm nào?
Vì sao: RMSNorm rẻ hơn và cho chất lượng tương đương, nên được Llama và nhiều mô hình ngôn ngữ khác dùng.
Đã trả lời 0/5
Chương 7 — Mạng nơ-ron tích chập
9 câu
1Trường tiếp nhận sau lớp tích chập với bước nhảy 1 rộng bao nhiêu điểm ảnh?
Vì sao: Theo với và , mỗi lớp thêm 2. Phủ ảnh rộng 224 điểm cần 112 lớp, nên CNN thực tế đều giảm độ phân giải bằng bước nhảy hoặc gộp (Mục 7.2).2Vì sao trường tiếp nhận hiệu dụng nhỏ hơn con số lý thuyết?
Vì sao: Kết quả của Luo và cộng sự (2016). Các điểm ở rìa trường tiếp nhận lý thuyết gần như không ảnh hưởng tới đơn vị.3Ba giả định mà mạng tích chập đưa vào kiến trúc là gì?
4Một lớp tích chập , 64 bộ lọc, bước nhảy 2, phần đệm 3, nhận ảnh . Đầu ra có kích thước không gian bao nhiêu?
Vì sao: . Lớp có trọng số (Ví dụ 7.1).5Hai hộp và có IoU bằng bao nhiêu?
Vì sao: Phần giao là hình vuông , diện tích 4; phần hợp là ; IoU (Ví dụ 7.2). Lỗi hay gặp là chia cho tổng diện tích 32 thay vì diện tích phần hợp.6Vì sao bộ phát hiện cần bước NMS?
Vì sao: Khi đánh giá, hộp trùng của cùng một đối tượng bị tính là dương tính giả, nên NMS làm AP tăng; đổi lại, nó có thể loại nhầm hộp đúng của đối tượng đứng sát bên (Mục 7.5).7Cùng một bộ phát hiện, vì sao AP@[0,5:0,95] thấp hơn nhiều so với AP50?
Vì sao: Trong thí nghiệm ở Mục 7.5, AP giảm từ 0,908 ở ngưỡng 0,5 xuống 0,014 ở ngưỡng 0,9, và trung bình trên 10 ngưỡng là 0,569.8Trong U-Net, các kết nối giữa nhánh mã hoá và nhánh giải mã có tác dụng gì?
Vì sao: Đặc trưng sâu cho biết "đây là gì" nhưng đã mất chi tiết vị trí sau nhiều lần giảm độ phân giải; ghép với đặc trưng nông cùng mức cho biết "ở đâu" (Mục 7.6).9Hai mô hình phân đoạn có IoU 0,5. Hệ số Dice tương ứng là bao nhiêu?
Vì sao: . Dice luôn lớn hơn hoặc bằng IoU, nên khi so sánh kết quả phải cùng một thước đo (Mục 7.6).
Đã trả lời 0/9
Chương 8 — Mạng nơ-ron hồi quy
4 câu
1Giới hạn nào của RNN là lý do chính khiến Transformer thay thế nó?
Vì sao: Về số phép tính, self-attention tốn , nhiều hơn của RNN khi . Transformer thắng ở khả năng song song hoá theo thời gian và đường đi ngắn giữa hai vị trí bất kỳ (Mục 8.4).2Dọc theo trạng thái ô nhớ của LSTM, gradient nhân với gì ở mỗi bước?
3Theo mô phỏng ở Mục 8.2, gradient dọc ô nhớ sau 100 bước còn bao nhiêu khi hệ số chặn của cổng quên bằng 1 và bằng 4?
Vì sao: Cổng quên trung bình là và , ứng với thang thời gian của bộ nhớ khoảng 4 và 50 bước. Thí nghiệm chỉ mô phỏng đường đi qua ô nhớ, không phải một mạng LSTM đầy đủ.4Vì sao gradient bùng nổ dễ xử lý hơn gradient tiêu biến?
Vì sao: Tiêu biến cần sửa bằng kiến trúc: cổng như LSTM, kết nối tắt, chuẩn hoá (Mục 8.2).
Đã trả lời 0/4
Chương 9 — Attention và Transformer
6 câu
1Nếu các thành phần của độc lập, trung bình 0, phương sai 1, thì có phương sai bao nhiêu?
Vì sao: là tổng của số hạng độc lập, mỗi số hạng có phương sai 1. Ở Mục 9.2, với phương sai đo được là 1 022.2Không chia điểm số cho thì điều gì xảy ra khi lớn?
Vì sao: Trọng số lớn nhất trung bình đạt 0,953. Đạo hàm của softmax là , gần bằng 0 khi gần one-hot. Có chia thì entropy giữ quanh 3,68 với mọi .3Attention nhiều đầu mang lại điều gì?
Vì sao: Một đầu duy nhất phải lấy trung bình có trọng số, trộn lẫn các loại quan hệ khác nhau (Mục 9.3).4Thành phần nào trong một khối Transformer kết hợp thông tin giữa các vị trí?
Vì sao: FFN là cùng một MLP áp dụng riêng cho từng token. Bỏ attention đi, Transformer chỉ còn là một MLP áp dụng cho từng token (Mục 9.5).5Vì sao self-attention cần thông tin vị trí?
Vì sao: Không có thông tin vị trí thì "chó cắn người" và "người cắn chó" cho cùng một tập biểu diễn (Mục 9.6).6Mô hình chỉ decoder khác mô hình chỉ encoder ở điểm nào?
Vì sao: BERT là mô hình chỉ encoder, phù hợp cho phân loại và embedding; GPT và phần lớn mô hình ngôn ngữ lớn là mô hình chỉ decoder (Mục 9.7).
Đã trả lời 0/6
Chương 10 — Các cải tiến của Transformer
5 câu
1Tính chất quan trọng nhất của RoPE là gì?
Vì sao: Ở Mục 10.3, các cặp vị trí , và cho cùng giá trị 6,851342. Không thêm tham số là một ưu điểm đi kèm.2GQA được dùng vì lý do gì?
Vì sao: Với mô hình cỡ 70B, ngữ cảnh 4 096 token, 8 chuỗi, FP16: MHA cần 80 GiB KV cache, GQA với 8 nhóm cần 10 GiB. Chất lượng của GQA gần MHA nhưng không cao hơn (Mục 10.4).3Vì sao của Llama 2 7B là 11 008 chứ không phải ?
Vì sao: là bội của 256 nhỏ nhất không nhỏ hơn 10 923 (Mục 10.5).4Mixture of experts tách hai đại lượng nào khỏi nhau?
Vì sao: Mỗi token chỉ đi qua vài chuyên gia, nên mô hình có nhiều tham số nhưng mỗi token chỉ dùng một phần. Mọi chuyên gia vẫn phải nằm trong bộ nhớ (Mục 10.6).5FlashAttention thay đổi điều gì so với cách tính attention trực tiếp?
Vì sao: FlashAttention tính chính xác cùng kết quả, theo từng khối trong bộ nhớ trên chip, dùng softmax trực tuyến. Số phép tính vẫn là (Mục 10.7).
Đã trả lời 0/5
Chương 11 — Các chiến lược giải mã
2 câu
1Vì sao beam search thường cho văn bản mở nhạt và lặp?
Vì sao: Nhận xét của Holtzman và cộng sự (2020). Beam search vẫn phù hợp với dịch máy, nơi đầu ra bị ràng buộc chặt bởi đầu vào (Mục 11.4).2Top-p khác top-k ở điểm cơ bản nào?
Vì sao: Ở Mục 11.3, với phân phối đuôi dài, top-p với giữ 4 141 token, còn top-k với luôn giữ 40 token dù mô hình chắc chắn hay không.
Đã trả lời 0/2
Chương 12 — Tham số, FLOP và bộ nhớ của Transformer
6 câu
1Số tham số không tính embedding của một Transformer lớp, số chiều , với là bao nhiêu?
2Trong GPT-2 small, embedding chiếm khoảng bao nhiêu phần tổng số tham số?
Vì sao: Bảng embedding có tham số. Với mô hình nhỏ và từ vựng lớn, embedding chiếm tỉ trọng lớn; tỉ lệ này giảm khi mô hình lớn hơn.3Công thức phân bổ chi phí cho mỗi token thế nào?
Vì sao: Lượt ngược tính gradient theo cả đầu vào và trọng số của mỗi lớp, nên tốn gấp đôi lượt xuôi. Với Llama 2 7B, con số 184 320 giờ-GPU đã công bố ứng với mức sử dụng phần cứng khoảng 37,5% (Ví dụ 12.1).4Khi tính đủ ma trận điểm số, phần tính toán của attention lớn hơn phần còn lại khi nào?
Vì sao: Tỉ số giữa hai phần là . Nếu cài đặt bỏ qua phần bị mặt nạ nhân quả che, ngưỡng thành khoảng (Mục 12.4).5Huấn luyện với Adam và độ chính xác hỗn hợp cần khoảng bao nhiêu byte cho mỗi tham số, chưa tính giá trị kích hoạt?
Vì sao: 2 byte trọng số 16 bit, 2 byte gradient, 4 byte bản sao FP32 của trọng số và 8 byte cho hai trạng thái của Adam. Mô hình 7 tỉ tham số cần 112 GB (Mục 12.5).6Khi huấn luyện bị hết bộ nhớ, cách xử lý đầu tiên thường là gì, và vì sao?
Đã trả lời 0/6