Grokking
Khám phá hiện tượng grokking trong deep learning. Tìm hiểu cách các model Ultralytics YOLO26 chuyển từ ghi nhớ sang khái quát hóa trong quá trình huấn luyện kéo dài.
Grokking đề cập đến một hiện tượng thú vị trong deep learning, trong đó một neural network, sau khi được training trong thời gian dài đáng kể—thường rất lâu sau khi có vẻ đã overfit dữ liệu training—đột nhiên đạt mức cải thiện mạnh về độ chính xác trên validation. Không giống các đường cong học tập tiêu chuẩn, trong đó hiệu năng cải thiện dần dần, grokking bao gồm một "chuyển pha", khi model chuyển từ việc ghi nhớ các ví dụ cụ thể sang hiểu các pattern có khả năng tổng quát hóa. Khái niệm này thách thức quan điểm truyền thống về "dừng sớm", cho thấy rằng với một số tác vụ phức tạp, đặc biệt là trong large language models (LLMs) và suy luận thuật toán, việc kiên trì training là yếu tố then chốt để khai mở trí tuệ thực sự.
Các giai đoạn của Grokking#
Quá trình grokking thường diễn ra qua hai giai đoạn riêng biệt, có thể gây nhầm lẫn cho các practitioner dựa vào những metric tiêu chuẩn của theo dõi thử nghiệm. Ban đầu, model nhanh chóng tối thiểu hóa loss trên dữ liệu training, trong khi hiệu năng trên dữ liệu validation vẫn kém hoặc không thay đổi. Điều này tạo ra khoảng cách tổng quát hóa lớn, thường được diễn giải là overfitting. Tuy nhiên, nếu tiếp tục training lâu hơn đáng kể sau thời điểm này, network cuối cùng sẽ "groks" cấu trúc nền tảng, khiến validation loss giảm mạnh và accuracy tăng vọt.
Nghiên cứu gần đây cho thấy quá trình tổng quát hóa bị trì hoãn này xảy ra vì neural network trước tiên học các tương quan "nhanh" nhưng mong manh (ghi nhớ), rồi chỉ sau đó mới phát hiện các feature "chậm" nhưng bền vững (tổng quát hóa). Hành vi này liên kết chặt chẽ với hình học của không gian hàm loss và động lực học tối ưu hóa, như được khảo sát trong các bài báo của các nhà nghiên cứu tại OpenAI và Google DeepMind.
Grokking và Overfitting#
Việc phân biệt grokking với overfitting tiêu chuẩn là rất quan trọng, vì chúng biểu hiện tương tự ở các giai đoạn đầu nhưng cho kết quả khác nhau.
- Overfitting: Model ghi nhớ nhiễu trong training set. Khi training tiến triển, validation error tăng lên và không bao giờ phục hồi. Các kỹ thuật regularization tiêu chuẩn hoặc dừng training sớm là những biện pháp khắc phục thường dùng.
- Grokking: Ban đầu model ghi nhớ, nhưng cuối cùng tái cấu trúc model weights bên trong để tìm ra một nghiệm đơn giản hơn và có tính tổng quát cao hơn. Validation error giảm mạnh sau một giai đoạn đi ngang kéo dài.
Hiểu rõ sự khác biệt này là yếu tố then chốt khi training các architecture hiện đại như Ultralytics YOLO26, trong đó có thể cần tắt các cơ chế dừng sớm để khai thác hiệu năng tối đa trên những dataset khó với nhiều pattern.
Các ứng dụng trong thực tế#
Mặc dù ban đầu được quan sát trên các dataset thuật toán nhỏ, grokking có những tác động đáng kể đến quá trình phát triển AI thực tế.
- Suy luận thuật toán: Trong các tác vụ yêu cầu suy diễn logic hoặc phép toán (chẳng hạn phép cộng modulo), model thường không thể tổng quát hóa cho đến khi trải qua giai đoạn grokking. Đây là yếu tố quan trọng để phát triển reasoning models có khả năng giải các bài toán nhiều bước thay vì chỉ bắt chước văn bản.
- Training model nhỏ gọn: Để tạo ra các model hiệu quả cho edge AI, các kỹ sư thường training những network nhỏ hơn trong thời gian dài hơn. Grokking cho phép các model nhỏ gọn này học các biểu diễn dữ liệu được nén và hiệu quả, tương tự các mục tiêu về hiệu quả của Ultralytics Platform.
Các phương pháp tốt nhất và tối ưu hóa#
Để thúc đẩy grokking, các nhà nghiên cứu thường sử dụng những chiến lược tối ưu hóa cụ thể. Learning rates cao và weight decay đáng kể (một dạng regularization L2) được biết là có tác dụng khuyến khích quá trình chuyển pha. Ngoài ra, lượng dữ liệu cũng đóng vai trò quan trọng; grokking dễ quan sát nhất khi kích thước dataset nằm ngay tại ngưỡng mà model có thể xử lý, một khái niệm liên quan đến hiện tượng double descent.
Khi sử dụng các thư viện hiệu năng cao như PyTorch, việc đảm bảo tính ổn định số học trong các lần training kéo dài này là điều thiết yếu. Quá trình này đòi hỏi tài nguyên compute đáng kể, khiến các pipeline training hiệu quả trên Ultralytics Platform trở nên có giá trị trong việc quản lý các thử nghiệm kéo dài.
Ví dụ code: Bật training kéo dài#
Để tạo điều kiện cho khả năng xuất hiện grokking, thường cần bỏ qua các cơ chế dừng sớm tiêu chuẩn. Ví dụ sau minh họa cách cấu hình một lần training Ultralytics YOLO với số epoch kéo dài và patience bị tắt, giúp model có thời gian chuyển từ ghi nhớ sang tổng quát hóa.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Train for extended epochs to facilitate grokking
# Setting patience=0 disables early stopping, allowing training to continue
# even if validation performance plateaus temporarily.
model.train(data="coco8.yaml", epochs=1000, patience=0, weight_decay=0.01)Các khái niệm liên quan#
- Double Descent: Một hiện tượng liên quan, trong đó test error giảm, tăng rồi lại giảm khi kích thước model hoặc lượng dữ liệu tăng.
- Tổng quát hóa: Khả năng của model trong việc hoạt động tốt trên dữ liệu chưa từng thấy, đây là mục tiêu cuối cùng của quá trình grokking.
- Thuật toán tối ưu hóa: Các phương pháp (chẳng hạn SGD hoặc Adam) được sử dụng để điều hướng không gian loss và hỗ trợ quá trình chuyển pha.









