Cắt tỉa mạng nơ-ron (Model Pruning)
1. Tổng quan
Cắt tỉa mạng nơ-ron (Model Pruning) là kỹ thuật tinh gọn mô hình (Model Compression) tiêu biểu, loại bỏ (đưa về 0 hoặc xóa) các tham số dư thừa (redundant), không cần thiết như trọng số, nơ-ron, kênh (channel), đầu chú ý (attention head) có mức đóng góp dự đoán thấp khỏi một mạng nơ-ron sâu đã huấn luyện, qua đó giảm kích thước, khối lượng tính toán (FLOPs), bộ nhớ, độ trễ suy luận và điện năng của mô hình trong khi giảm thiểu mất mát độ chính xác.
Các mô hình học sâu đã liên tục mở rộng quy mô tham số để nâng cao hiệu năng. Tuy nhiên, như đã được quan sát từ nghiên cứu OBD (Optimal Brain Damage) của LeCun cuối thập niên 1980, trong các mạng nơ-ron quá tham số hóa (over-parameterization) tồn tại một lượng lớn trọng số mà trên thực tế gần như không được dùng sau khi huấn luyện. Trong quá trình huấn luyện, mô hình lớn giúp hội tụ và tổng quát hóa, nhưng ở giai đoạn suy luận thì phần lớn năng lực đó bị lãng phí. Đó cũng là lý do khó triển khai nguyên vẹn các mô hình ngôn ngữ lớn (LLM) hàng chục tỷ tham số hay các mô hình thị giác độ phân giải cao lên điện thoại thông minh, IoT, ECU ô tô và máy chủ biên (edge). Cắt tỉa lấp đầy khoảng cách này bằng ý tưởng "huấn luyện đầy đủ bằng mô hình lớn, rồi cắt bỏ các kết nối không cần thiết cho suy luận".
Lý do căn bản khiến cắt tỉa hiệu quả là vì biểu diễn của mạng nơ-ron có thể được tái cấu trúc một cách thưa (sparse). Tức là dù đưa phần lớn tổng số trọng số về 0, ta vẫn có thể xấp xỉ một hàm gần với bản gốc chỉ bằng số ít kết nối quan trọng còn lại. Thực tế, đã có báo cáo về các trường hợp loại bỏ 80~90% trọng số trong nhiều mô hình thị giác mà mức giảm độ chính xác chỉ vào khoảng 1%p, và Giả thuyết vé số (Lottery Ticket Hypothesis) năm 2019 của Frankle đã đưa ra cơ sở lý thuyết cho cắt tỉa với quan điểm "bên trong một mạng nơ-ron lớn được khởi tạo ngẫu nhiên tồn tại một mạng con nhỏ (winning ticket) mà nếu huấn luyện độc lập vẫn có thể sánh ngang bản gốc". Ngày nay, cắt tỉa cùng với lượng tử hóa và chưng cất tri thức đã trở thành trụ cột cốt lõi của triển khai AI on-device và LLM nhẹ (sLLM).
Các hiệu quả kỳ vọng của cắt tỉa có thể gom thành bốn nhóm lớn. Thứ nhất là giảm chi phí lưu trữ và truyền tải: lưu mô hình thưa ở định dạng nén sẽ giảm mạnh kích thước tệp mô hình, giúp triển khai và cập nhật dễ dàng hơn. Thứ hai là giảm khối lượng tính toán (FLOPs): với cắt tỉa cấu trúc, chính các phép nhân-cộng giảm đi, cải thiện trực tiếp độ trễ suy luận và điện năng. Thứ ba là hiệu quả năng lượng, đặc biệt quan trọng trong các môi trường có ràng buộc pin và tỏa nhiệt lớn như di động và biên. Thứ tư là hiệu ứng chính quy hóa (regularization): quá trình loại bỏ các kết nối không cần thiết đóng vai trò như một dạng đơn giản hóa mô hình, đôi khi mang lại hiệu ứng phụ là giảm quá khớp và cải thiện khả năng tổng quát hóa. Tuy nhiên, mức độ hiện thực hóa các hiệu quả này thay đổi rất nhiều theo phương thức cắt tỉa và sự hỗ trợ của phần cứng, nên làm rõ mục tiêu rồi mới chọn phương thức là tiền đề.
2. Cấu trúc cơ bản và nguyên lý của cắt tỉa
flowchart LR
P["Mô hình tiền huấn luyện (Dense, quá tham số hóa)"] --> SC["Đánh giá tầm quan trọng (Scoring)"]
SC --> SEL["Chọn đối tượng loại bỏ (ngưỡng/tỷ lệ)"]
SEL --> PR["Cắt tỉa (đưa trọng số về 0/xóa)"]
PR --> FT["Tái huấn luyện (Fine-tuning/re-training)"]
FT --> EV["Đánh giá độ chính xác·tỷ lệ nén"]
EV -->|Chưa đạt mục tiêu, lặp lại| SC
EV -->|Đạt mục tiêu| DEP["Triển khai mô hình thưa (nén·tăng tốc)"]
Các câu hỏi cốt lõi của cắt tỉa là "cắt cái gì, cắt bao nhiêu, cắt như thế nào". Thứ nhất, cắt cái gì được quyết định bằng đánh giá tầm quan trọng (importance). Tiêu chí đơn giản nhất là độ lớn giá trị tuyệt đối của trọng số (magnitude): trọng số gần 0 được xem là ít ảnh hưởng đến đầu ra nên bị loại bỏ. Cách tinh vi hơn là xấp xỉ mức đóng góp vào hàm mất mát bằng khai triển Taylor (đạo hàm bậc 1·bậc 2), hoặc như OBD/OBS dùng thông tin Hessian để chọn những trọng số "mà khi loại bỏ làm tăng mất mát ít nhất". Thứ hai, cắt bao nhiêu được định bằng tỷ lệ thưa mục tiêu (sparsity, ví dụ 90%) hoặc ngân sách độ trễ·bộ nhớ. Thứ ba, cắt như thế nào là bài toán lựa chọn giữa phương thức cấu trúc/phi cấu trúc được bàn ở phần sau.
Ngay sau khi cắt tỉa, độ chính xác giảm tạm thời, nên tái huấn luyện (fine-tuning) hoặc huấn luyện lại để phục hồi mất mát bằng các tham số còn lại gần như là bắt buộc. Cắt tỉa một lần (one-shot) cắt tới tỷ lệ thưa mục tiêu trong một bước thì nhanh nhưng mất mát độ chính xác lớn, còn cắt tỉa lặp (iterative) cắt dần từng chút rồi tái huấn luyện lặp lại thì chậm nhưng bảo toàn độ chính xác tốt hơn nhiều ở cùng tỷ lệ nén. Chẳng hạn, Gradual Magnitude Pruning tăng dần tỷ lệ thưa từ 0 lên mục tiêu trong quá trình huấn luyện cho kết quả gần như giữ nguyên hiệu năng gốc ngay cả ở mức thưa 90%.
Một trục khác chi phối hiệu quả của cắt tỉa là một lần duy nhất hay kết hợp với huấn luyện. Có thể áp dụng hậu kỳ cho mô hình đã huấn luyện xong (cắt tỉa hậu kỳ), cũng có thể thêm chính quy hóa L1/L0 hay số hạng cảm ứng tính thưa vào hàm mất mát huấn luyện để trong chính quá trình huấn luyện nhiều trọng số tự nhiên hội tụ về 0. Cách sau ít gánh nặng tái huấn luyện riêng nhưng phải thay đổi pipeline huấn luyện và việc tinh chỉnh siêu tham số khó khăn.
Cuối cùng, bài toán phân bổ tính thưa "ở đâu và bao nhiêu", tức lựa chọn cắt tỉa toàn cục (global) hay cục bộ (local), cũng quan trọng. Cắt tỉa cục bộ áp dụng đồng loạt cùng một tỷ lệ thưa cho mọi tầng (ví dụ 70% mỗi tầng) nên đơn giản, nhưng không phản ánh được thực tế rằng tầm quan trọng khác nhau theo từng tầng. Cắt tỉa toàn cục đánh giá và cắt toàn bộ trọng số của cả mạng theo một ngưỡng duy nhất, nên độ nhạy theo tầng (layer sensitivity)—cắt nhiều ở tầng ít nhạy và cắt ít ở tầng nhạy—được phản ánh tự động, có xu hướng bảo toàn độ chính xác tốt hơn ở cùng tỷ lệ thưa trung bình. Trong thực tế, người ta thường phân tích độ nhạy (sensitivity analysis) bằng cách cắt thử từng chút theo từng tầng trước để đo mức giảm độ chính xác, rồi áp dụng chiến lược cắt thận trọng ở các tầng đầu nhạy cảm và tầng ngay trước bộ phân loại.
3. Các kiểu cắt tỉa
flowchart TB
ROOT["Các kiểu cắt tỉa"] --> G1["Theo đơn vị (granularity)"]
ROOT --> G2["Theo tiêu chí (criterion)"]
ROOT --> G3["Theo thời điểm (schedule)"]
G1 --> U["Phi cấu trúc (Unstructured): từng trọng số"]
G1 --> S["Cấu trúc (Structured): nơ-ron·kênh·filter·head·tầng"]
G2 --> M["Dựa trên độ lớn (Magnitude)"]
G2 --> I["Dựa trên tầm quan trọng (Taylor/Hessian/Gradient)"]
G3 --> O["Một lần (One-shot)"]
G3 --> IT["Lặp (Iterative)"]
G3 --> TR["Trong huấn luyện (Train-time, chính quy hóa thưa)"]
Trục quan trọng nhất để phân loại cắt tỉa là đơn vị loại bỏ (granularity). Cắt tỉa phi cấu trúc đưa từng trọng số riêng lẻ về 0. Vì loại bỏ một cách tinh vi chỉ những kết nối có tầm quan trọng thấp nên có ưu điểm đạt được tỷ lệ thưa cao hơn ở cùng độ chính xác. Tuy nhiên kết quả trở thành một ma trận thưa với các số 0 rải rác không đều, nên trên GPU·CPU thông thường vốn không tăng tốc được phép toán thưa thì bộ nhớ giảm nhưng tốc độ suy luận thực tế gần như không nhanh hơn. Đó là vì phần cứng dày đặc (dense) vẫn thực hiện cả phép nhân với 0 như thường.
Cắt tỉa cấu trúc loại bỏ nguyên cả một đơn vị cấu trúc như nơ-ron, filter tích chập (kênh), đầu chú ý, khối (block), tầng (layer). Chẳng hạn trong mạng nơ-ron tích chập, khi loại bỏ một filter đóng góp thấp thì kênh đầu ra tương ứng và kết nối đầu vào tương ứng ở tầng kế tiếp cũng biến mất, khiến bản thân mô hình chuyển thành một mô hình dày đặc nhỏ hơn. Do đó nó có ưu điểm thực tiễn lớn là FLOPs và độ trễ giảm ngay lập tức mà không cần phần cứng tăng tốc thưa riêng. Bù lại, vì cắt nguyên cả một đơn vị nên lượng thông tin bị mất nhiều, có xu hướng mất mát độ chính xác lớn hơn phương thức phi cấu trúc ở cùng tỷ lệ nén. Trong thực tế, "phần cứng có hỗ trợ phép toán thưa hay không" trở thành tiêu chí hàng đầu để chọn giữa hai phương thức.
Sự khác biệt giữa hai phương thức rốt cuộc bắt nguồn từ sự đánh đổi "bảo toàn độ chính xác hay tăng tốc đo được trên phần cứng đa dụng". Phương thức phi cấu trúc có bậc tự do cao về đối tượng cắt nên có thể cắt nhiều mà ít hại độ chính xác, nhưng lợi ích đó chỉ hiện thực thành tốc độ khi có phần cứng chuyên dụng; phương thức cấu trúc có bậc tự do thấp nên mất mát độ chính xác lớn, nhưng khối lượng tính toán dày đặc giảm ngay tại chỗ nên nhanh hơn trên mọi thiết bị. Thứ cố gắng lấp đầy khoảng giữa hai bên là tính thưa bán cấu trúc N:M bàn ở phần sau, và hiểu được quan hệ đánh đổi này là cốt lõi của việc chọn phương thức.
Trục thứ hai là tiêu chí (criterion) chia thành cách dựa trên độ lớn và dựa trên tầm quan trọng đã nói ở trên. Cách dựa trên độ lớn được dùng rộng rãi vì cài đặt đơn giản và chi phí thấp, nhưng có hạn chế là trọng số nhỏ không nhất thiết kém quan trọng. Để bù đắp, đã phát triển các cách xét đồng thời giá trị kích hoạt (activation) và trọng số (ví dụ kỹ thuật Wanda cho LLM), hoặc phản ánh cả tương tác bằng thông tin bậc 2. Chẳng hạn, nếu phân phối đầu vào gần như không kích hoạt một nơ-ron cụ thể thì dù trọng số của nơ-ron đó lớn, đóng góp đầu ra thực tế vẫn nhỏ, nên tiêu chí xét kèm giá trị kích hoạt có thể hợp lý hơn. Trục thứ ba là thời điểm (schedule) được chia thành một lần (cắt một lần sau huấn luyện), lặp (lặp lại cắt rồi tái huấn luyện), và trong huấn luyện (hòa tính thưa vào quá trình huấn luyện). Ba trục độc lập với nhau, nên thực tế được thiết kế theo cách kết hợp như "cấu trúc × dựa trên tầm quan trọng × lặp".
| Phân loại | Đơn vị loại bỏ | Ưu điểm | Nhược điểm·lưu ý |
|---|---|---|---|
| Phi cấu trúc | Từng trọng số | Tỷ lệ thưa cao, bảo toàn độ chính xác tốt | Không có HW thưa chuyên dụng thì tăng tốc không đáng kể |
| Cấu trúc | Filter·kênh·head·tầng | Tăng tốc tức thì không phụ thuộc HW, kích thước↓ | Mất mát độ chính xác lớn ở cùng tỷ lệ nén |
| Dựa trên độ lớn | (tiêu chí) giá trị tuyệt đối | Đơn giản·chi phí thấp | Giá trị nhỏ≠chắc chắn kém quan trọng |
| Dựa trên tầm quan trọng | (tiêu chí) mức đóng góp mất mát | Tuyển chọn chính xác | Chi phí tính Hessian·gradient |
4. Quy trình cắt tỉa và tái huấn luyện lặp
Trong cắt tỉa cấu trúc, việc xử lý phụ thuộc (dependency)—phải điều chỉnh nhất quán cả số chiều của các tầng khác được kết nối khi loại bỏ một phần tử—là khó. Chẳng hạn khi xóa một filter tích chập thì số kênh đầu vào của tầng kế tiếp phải giảm tương ứng, và các khối gom bởi kết nối tàn dư (residual) phải đồng bộ bước nhảy cùng nhau. Công cụ tự động theo dõi·chỉnh lý việc này (ví dụ thư viện cắt tỉa dựa trên đồ thị phụ thuộc) quyết định năng suất thực tế.
Pipeline cắt tỉa thực tế nhìn chung gồm chu trình "① tiền huấn luyện → ② đánh giá tầm quan trọng → ③ loại bỏ → ④ tái huấn luyện → ⑤ đánh giá", lặp lại cho đến khi đạt tỷ lệ nén mục tiêu. Biến thiết kế cốt lõi khi đó là lịch trình tỷ lệ thưa và cường độ tái huấn luyện. Nâng tỷ lệ thưa quá đột ngột thì mạng sụp đổ hiệu năng không còn chỗ phục hồi, còn nâng quá chậm thì chi phí huấn luyện quá lớn. Vì thế lịch trình đa thức (polynomial) nâng nhanh ở giai đoạn đầu và chậm dần khi tiến gần tỷ lệ thưa mục tiêu được dùng rộng rãi.
Thứ thể hiện kịch tính hiệu quả của cắt tỉa lặp là Giả thuyết vé số. Frankle và cộng sự đã chỉ ra rằng nếu huấn luyện một mạng lớn, loại bỏ các trọng số nhỏ, rồi đưa các trọng số còn lại trở về "giá trị khởi tạo tại thời điểm bắt đầu huấn luyện" (rewind) và huấn luyện lại, thì chỉ với một mạng con quy mô khoảng 10~20% toàn bộ vẫn có thể tái hiện độ chính xác gốc. Điều này vượt khỏi kỹ thuật kỹ nghệ đơn thuần "làm nhỏ mô hình lớn" để trở thành insight rằng thành công của việc huấn luyện mạng nơ-ron phụ thuộc vào một mạng con thưa có khởi tạo đặc thù, trở thành nền tảng lý thuyết của các nghiên cứu cắt tỉa về sau. Tuy nhiên với mô hình lớn, người ta biết rằng thay vì đưa về giá trị khởi tạo, biến thể đưa về trọng số giữa quá trình huấn luyện (late rewinding) ổn định hơn.
Một phương án dung hòa thân thiện phần cứng là tính thưa bán cấu trúc N:M (semi-structured sparsity). Ép buộc quy tắc trong M trọng số liên tiếp phải giữ đúng N (tiêu biểu là 2:4, tức loại bỏ 2 trong 4) làm cho mẫu thưa có quy luật, nên bộ tăng tốc chuyên dụng xử lý được hiệu quả. Ví dụ là các sparse tensor core của GPU NVIDIA từ Ampere về sau cung cấp thông lượng gấp 2 lần về lý thuyết trên mẫu 2:4, dung hòa giữa ưu điểm độ chính xác của phi cấu trúc và ưu điểm tăng tốc của cấu trúc. Trong sự căng thẳng căn bản "tính thưa tự do thì khó tăng tốc, còn tính thưa quy luật thì hy sinh độ chính xác" như vậy, N:M có thể được xem là thiết kế ép quy luật ở mức tối thiểu để đồng thời lấy được cả hai.
Để phán đoán mức cắt tỉa phù hợp, vẽ đường cong quan hệ giữa tỷ lệ nén và độ chính xác là hữu ích. Khi nâng tỷ lệ thưa từ 0, ban đầu độ chính xác gần như được giữ (khoảng thoải), và vượt một ngưỡng nào đó thì sụp đổ đột ngột (khoảng vách). Ngưỡng này khác nhau theo từng mô hình·dữ liệu·tác vụ, nên trong thực tế người ta cắt tỉa ở nhiều mức thưa để có được đường cong và chọn điểm "nén tối đa trong giới hạn mất mát độ chính xác cho phép" làm mục tiêu vận hành. Tái huấn luyện đầy đủ sẽ đẩy ngưỡng (vách) này về phía tỷ lệ thưa cao hơn, nên ngân sách tái huấn luyện và tỷ lệ nén mục tiêu phải được quyết định cùng nhau.
5. So sánh với các kỹ thuật tinh gọn tương tự và các trường hợp áp dụng
Cắt tỉa là một trục của tinh gọn mô hình, và trong thực tế được kết hợp bổ trợ lẫn nhau với lượng tử hóa (Quantization)·chưng cất tri thức (Knowledge Distillation). Ba kỹ thuật tiếp cận khác nhau về căn bản. Cắt tỉa giảm "số lượng" tham số để làm mô hình thưa·nhỏ, lượng tử hóa hạ "số bit" biểu diễn của từng tham số (FP32→INT8/INT4) để giảm độ chính xác lưu trữ·tính toán, còn chưng cất "dạy lại" để mô hình trò nhỏ bắt chước tri thức của mô hình thầy lớn. Vì điểm tấn công khác nhau nên trong pipeline triển khai thực tế, kết hợp tuần tự "thu được mô hình trò nhỏ bằng chưng cất → loại bỏ kết nối không cần thiết bằng cắt tỉa → lượng tử hóa rồi đưa lên bộ tăng tốc số nguyên (NPU)" rất phổ biến.
Về trường hợp cụ thể, nhiều nghiên cứu đã báo cáo việc giảm FLOPs 30~50% bằng cắt tỉa filter ở các dòng VGG·ResNet trong lĩnh vực thị giác mà kìm mất mát độ chính xác dưới 1%p, và trong lĩnh vực ngôn ngữ tự nhiên đã quan sát được "tính dư thừa của head" theo đó dù loại bỏ một số lượng đáng kể các đầu chú ý của BERT thì hiệu năng hạ nguồn vẫn gần như được giữ. Trong các mô hình ngôn ngữ lớn gần đây, các kỹ thuật cắt tỉa hậu kỳ như SparseGPT cắt tỉa khoảng 50% trong một lần đi qua mà không cần tái huấn luyện, và Wanda đơn giản mà mạnh mẽ dựa trên tích của trọng số và giá trị kích hoạt đầu vào làm tiêu chí, đã mở ra con đường nén các mô hình hàng tỷ tham số trong điều kiện tài nguyên hạn chế.
| Kỹ thuật | Nguyên lý cốt lõi | Ảnh hưởng độ chính xác | Hiệu quả tiêu biểu |
|---|---|---|---|
| Cắt tỉa | Loại bỏ trọng số·cấu trúc không cần thiết | Sụp đổ nếu quá mức, phục hồi bằng tái huấn luyện | Tỷ lệ thưa 80~90%, FLOPs·kích thước↓ |
| Lượng tử hóa | Thu hẹp số bit biểu diễn | Mất mát nhỏ | Bộ nhớ ~4 lần↓, tăng tốc NPU |
| Chưng cất tri thức | Chuyển tri thức mô hình lớn sang mô hình nhỏ | Phục hồi với mất mát thấp | Giữ 95~97% hiệu năng gốc |
6. Chuyên sâu: Xu hướng mới nhất và sự đồng tiến hóa với phần cứng
Giá trị của cắt tỉa rốt cuộc phụ thuộc vào phần cứng khai thác được tính thưa đến đâu. Trước đây cắt tỉa phi cấu trúc va phải bức tường "bộ nhớ giảm nhưng tốc độ vẫn thế", nhưng gần đây sự đồng tiến hóa phần mềm·phần cứng thu hẹp khoảng cách này nổi bật. Sparse tensor core cấu trúc 2:4 của NVIDIA đã nói ở trên là tiêu biểu, và các thư viện chuyên dụng tăng tốc nhân ma trận thưa (như cuSPARSE) cùng các tối ưu hóa trình biên dịch đang phát triển song hành. Nhờ đó vòng tuần hoàn tích cực "tính thưa quy luật → tăng tốc đo được" trở nên khả thi.
Trong kỷ nguyên LLM, ràng buộc không thể gánh nổi chi phí tái huấn luyện đã thay đổi hướng nghiên cứu cắt tỉa. Vì tinh chỉnh lại một mô hình đã huấn luyện bằng hàng nghìn GPU là phi thực tế, nên các tiếp cận không cần tái huấn luyện (one-shot, training-free) làm thưa trong một lần đi qua chỉ với một lượng nhỏ dữ liệu hiệu chỉnh—như SparseGPT·Wanda—đang được chú ý. Chúng có điểm chung là sau khi cắt tỉa theo từng tầng thì hiệu chỉnh (update) cục bộ các trọng số còn lại để hấp thụ sai số, qua đó kìm hãm suy giảm hiệu năng mà không cần tái huấn luyện toàn bộ.
Gần đây, cắt tỉa cấu trúc giảm nguyên cả đơn vị cấu trúc của Transformer chứ không phải từng trọng số cũng sôi động. Đó là cách loại bỏ đầu chú ý, số chiều trung gian của FFN, thậm chí cả tầng (layer) để giảm bề rộng và độ sâu của mô hình; đã có báo cáo về trường hợp cắt tỉa theo độ sâu (depth pruning) ở dòng LLaMA tỉa bớt tầng rồi phục hồi bằng một lượng nhỏ tái huấn luyện. Ngoài ra, tính thưa động (dynamic sparsity)·tính thưa kích hoạt bật động chỉ những nơ-ron sẽ dùng tùy theo đầu vào tại thời điểm suy luận, và tính toán có điều kiện chỉ kích hoạt một số chuyên gia trong hỗn hợp chuyên gia (MoE) cũng nằm trong dòng chảy làm thưa theo nghĩa rộng. Về mặt chuẩn·hệ sinh thái, module torch.nn.utils.prune của PyTorch, các API tính thưa bán cấu trúc, và hỗ trợ mô hình thưa của ONNX·TensorRT đang mở rộng nền tảng cho việc áp dụng thực tế.
7. Các điểm cần cân nhắc và hàm ý
Từ góc nhìn Kỹ sư chuyên nghiệp, việc áp dụng cắt tỉa cần được tiếp cận không phải như một lựa chọn thuật toán đơn lẻ mà như một quyết định thiết kế tổng hợp bao trùm độ chính xác·chi phí suy luận·ràng buộc phần cứng·rủi ro vận hành.
Chiến lược áp dụng (tính ngược từ mục tiêu): Phương thức rẽ nhánh tùy theo mục đích nén là "giảm bộ nhớ" hay "rút ngắn độ trễ". Nếu bộ nhớ là nút thắt và có HW thưa chuyên dụng thì chọn phi cấu trúc·N:M, còn nếu mục tiêu là tăng tốc đo được trên HW đa dụng thì chọn cắt tỉa cấu trúc. Áp dụng cắt tỉa phi cấu trúc mà không có hỗ trợ phần cứng sẽ rơi vào thất bại phổ biến "giảm rồi mà không nhanh hơn".
Đánh đổi và hệ thống kiểm chứng: Mô hình đã cắt tỉa dù bảo toàn độ chính xác trung bình vẫn có thể khác bản gốc về các ca đuôi dài·hiếm, tính công bằng, tính bền vững (đầu vào đối kháng). Do đó phải đưa vào cổng triển khai một quy trình kiểm chứng hồi quy riêng về các kịch bản dễ tổn thương·thiên lệch·an toàn, chứ không chỉ các chỉ số tiêu biểu.
Vận hành·quản trị: Mô hình thưa làm cho quản lý phiên bản·cấu hình phức tạp hơn. Cần hệ thống MLOps theo dõi cả mẫu thưa, mặt nạ (mask), dữ liệu tái huấn luyện, phụ thuộc phần cứng, và trong các ngành bị quản lý thì cần bảo đảm khả năng giải thích·truy vết cho sự thay đổi hiệu năng do cắt tỉa gây ra.
Tính toán chi phí-lợi ích và ra quyết định: Cắt tỉa đòi hỏi khoản đầu tư trước gồm chi phí tái huấn luyện (giờ GPU), công sức kỹ thuật, gánh nặng kiểm chứng. Do đó phải ước lượng trước liệu "chi phí suy luận tiết kiệm được nhờ nén × lượng gọi kỳ vọng" có vượt khoản đầu tư trước hay không, tức điểm hòa vốn. Cắt tỉa cố quá mức một mô hình có lượng gọi thấp lại là kém hiệu quả; chỉ ở các dịch vụ suy luận khối lượng lớn thì hiệu quả giảm TCO của cắt tỉa mới rõ ràng.
Triển vọng (tinh gọn tích hợp·tự động hóa): Về sau, tinh gọn tích hợp đồng tối ưu hóa cắt tỉa·lượng tử hóa·chưng cất·thích ứng hạng thấp (LoRA) trong một pipeline duy nhất, và hướng tự động thiết kế cấu trúc thưa bằng cách kết hợp với Tìm kiếm kiến trúc nơ-ron (NAS), được dự báo sẽ mạnh lên. Nhu cầu AI on-device·biên và LLM nhẹ càng lớn thì cắt tỉa càng trở thành con đường cốt lõi để đưa năng lực của các mô hình nền tảng xuống nguồn tài nguyên hạn chế.
Tài liệu tham khảo
- Frankle & Carbin, "The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks" (ICLR 2019): https://arxiv.org/abs/1803.03635
- Frantar & Alistarh, "SparseGPT: Massive Language Models Can Be Accurately Pruned in One-Shot": https://arxiv.org/abs/2301.00774
- Sun et al., "A Simple and Effective Pruning Approach for Large Language Models (Wanda)": https://arxiv.org/abs/2306.11695
- NVIDIA, "Accelerating Inference with Sparsity Using the NVIDIA Ampere Architecture and 2:4 Sparsity": https://developer.nvidia.com/blog/accelerating-inference-with-sparsity-using-ampere-and-tensorrt/
- PyTorch Pruning Tutorial: https://pytorch.org/tutorials/intermediate/pruning_tutorial.html
Tóm tắt một câu: Cắt tỉa mạng nơ-ron là kỹ thuật tinh gọn loại bỏ các trọng số·cấu trúc đóng góp thấp khỏi các mô hình quá tham số hóa để giảm thiểu mất mát độ chính xác trong khi giảm kích thước·tính toán·độ trễ, được thiết kế theo các trục phi cấu trúc/cấu trúc·độ lớn/tầm quan trọng·một lần/lặp và kết hợp với lượng tử hóa·chưng cất, nhưng phải lấy việc phần cứng có hỗ trợ tính thưa hay không làm tiêu chí hàng đầu.