Learning Rate Là Gì? Tốc Độ Học Của AI Giải Thích Dễ Hiểu

Câu trả lời nhanh
Learning rate (tốc độ học) là siêu tham số điều chỉnh độ lớn mỗi bước cập nhật trọng số khi huấn luyện AI. Giá trị quá cao khiến mô hình không hội tụ, quá thấp thì học chậm. Thường dùng 0.001 cho Adam, 0.01 cho SGD, kết hợp scheduler và warmup để tối ưu.

Learning rate là một trong những siêu tham số quan trọng nhất khi huấn luyện AI. Nó quyết định tốc độ học và chất lượng mô hình. Hiểu đúng thông số này sẽ giúp bạn tránh lãng phí tài nguyên và đạt kết quả tốt hơn.

Learning Rate Là Gì?

Learning rate (tốc độ học) là một con số nhỏ điều chỉnh bước nhảy của mô hình AI mỗi lần cập nhật kiến thức. Nó cho biết mô hình sẽ thay đổi trọng số bao nhiêu sau mỗi lần nhìn thấy dữ liệu mới. Giá trị này thường nằm trong khoảng từ 0.0001 đến 1.0.

Nói cách đơn giản hơn, learning rate giống như việc bạn chọn kích thước từng bước chân khi đi bộ đường dài. Bước quá lớn thì dễ vấp ngã, bước quá nhỏ thì mãi không đến đích.

Vì Sao Learning Rate Quan Trọng?

Khi huấn luyện neural network, mô hình liên tục đoán, nhận lỗi, rồi điều chỉnh. Learning rate kiểm soát mức độ điều chỉnh đó. Chọn sai giá trị có thể phá hỏng toàn bộ quá trình huấn luyện.

Một learning rate quá cao khiến mô hình nhảy qua điểm tối ưu mà không bao giờ hội tụ. Một learning rate quá thấp khiến mô hình học chậm đến mức hàng nghìn epoch vẫn chưa đạt kết quả tốt. Cả hai trường hợp đều lãng phí GPU và tiền bạc.

Learning Rate Cao Sẽ Ra Sao?

Khi learning rate quá lớn, mô hình cập nhật trọng số quá mạnh sau mỗi bước. Nó giống như một người học nhảy cóc, bỏ qua kiến thức nền tảng. Kết quả là hàm loss (mất mát) dao động dữ dội, không giảm mà có thể tăng lên.

Trong thực tế, bạn sẽ thấy đồ thị loss trông như nào? Nó nhảy lên xuống hỗn loạn thay vì đi xuống ổn định. Nếu gặp tình trạng này, giảm learning rate xuống 10 lần thường là bước đầu tiên cần làm.

Còn Learning Rate Thấp Quá Thì Sao?

Learning rate quá thấp khiến mô hình học từng chút một, cập nhật quá nhỏ để thoát khỏi các điểm cực tiểu cục bộ (local minima). Quá trình huấn luyện kéo dài gấp nhiều lần mà kết quả có thể không tốt hơn.

Mình từng thấy các bạn mới tập huấn luyện mô hình đặt learning rate ở mức 1e-6 (0.000001) vì sợ “học nhanh sai nhiều”. Kết quả là chạy suốt 3 ngày trên GPU mà loss gần như không giảm. Tăng lên 1e-4 thì mô hình hội tụ chỉ sau vài giờ.

Cách Chọn Learning Rate Phù Hợp

Không có công thức chung cho mọi bài toán, nhưng có một số quy tắc thực tế giúp bạn tìm giá trị khởi điểm tốt:

Bắt đầu với giá trị phổ biến: Adam optimizer thường dùng 1e-3 (0.001), SGD dùng 1e-2 (0.01). Đây là những giá trị được cộng đồng kiểm chứng trên hàng nghìn bài toán khác nhau.

Dùng learning rate finder: Kỹ thuật này tăng dần learning rate từ rất nhỏ đến rất lớn, rồi vẽ đồ thị loss. Bạn sẽ thấy một vùng mà loss giảm nhanh nhất. Đó là giá trị nên chọn.

Áp dụng learning rate scheduler: Thay vì giữ nguyên, giảm learning rate dần trong quá trình huấn luyện. Các scheduler phổ biến như Cosine Annealing, Step Decay, hoặc ReduceLROnPlateau đều rất hiệu quả.

Learning Rate Scheduler Là Gì?

Learning rate scheduler là chiến lược tự động thay đổi learning rate theo thời gian. Ý tưởng rất hợp lý: lúc đầu học nhanh để tiếp cận nghiệm tốt, sau đó học chậm lại để tinh chỉnh chi tiết.

Các scheduler thông minh như Cosine Annealing với Warm Restarts (SGDR) cho phép mô hình “khởi động lại” định kỳ, thoát khỏi local minima để tìm nghiệm tốt hơn. Kỹ thuật này đã giúp nhiều mô hình đạt state-of-the-art trên các benchmark lớn.

Warmup Là Gì Và Vì Sao Cần?

Warmup là giai đoạn đầu huấn luyện khi learning rate tăng dần từ 0 lên giá trị mục tiêu, thay vì bắt đầu luôn ở mức cao. Giai đoạn này thường kéo dài vài nghìn bước đầu tiên.

Vì sao cần warmup? Ở những bước đầu, mô hình chưa biết gì về dữ liệu. Nếu learning rate cao ngay lập tức, các cập nhật sẽ ngẫu nhiên và phá hỏng trọng số ban đầu. Warmup giúp mô hình “làm quen” trước khi học thật.

Các mô hình lớn như GPT, LLaMA đều dùng warmup. Tất cả các recipe huấn luyện từ các lab lớn như Meta, Google, hay Anthropic đều có warmup ở pipeline.

Mối Liên Hệ Giữa Learning Rate Và Batch Size

Một quy tắc thực tế: khi tăng batch size lên gấp đôi, bạn thường có thể tăng learning rate lên khoảng 1.4 lần (căn bậc hai của 2). Quy tắc này gọi là Linear Scaling Rule hoặc Square Root Scaling.

Nếu bạn huấn luyện trên nhiều GPU với batch size lớn, đừng quên điều chỉnh learning rate tương ứng. Đây là lý do các mô hình lớn dùng learning rate lên tới 1e-4 hay 5e-4 mà vẫn ổn định, vì batch size của họ rất lớn.

Bài Học Thực Tế Về Learning Rate

Mình thấy rất nhiều người đổ lỗi cho kiến trúc mô hình khi huấn luyện không đạt kết quả, nhưng thực nguyên nhân lại là learning rate không phù hợp. Trước khi thay đổi mô hình, hãy kiểm tra:

Thứ nhất, vẽ đồ thị loss theo thời gian. Nếu loss dao động dữ dội, learning rate quá cao. Nếu loss gần như phẳng, learning rate quá thấp. Nếu loss giảm đều rồi dừng, có thể cần giảm learning rate ở giai đoạn sau.

Thứ hai, thử nghiệm với 3 giá trị khác nhau (ví dụ 1e-2, 1e-3, 1e-4) trong vài epoch đầu. Chọn giá trị cho loss giảm nhanh và ổn định nhất.

Thứ ba, luôn dùng scheduler. Ngay cả một scheduler đơn giản như ReduceLROnPlateau cũng cải thiện kết quả đáng kể so với giữ nguyên learning rate suốt quá trình.

Lưu Ý Khi Dùng Framework

PyTorch, TensorFlow, và Hugging Face Trainer đều có sẵn các scheduler phổ biến. Khi dùng Hugging Face Transformers, tham số learning_rate mặc định là 5e-5 cho task fine-tuning. Đây là giá trị khá an toàn cho hầu hết mô hình ngôn ngữ.

Tuy nhiên, khi pretrain từ đầu hoặc làm task mới, bạn cần tự tìm learning rate phù hợp. Đừng bao giờ mặc định rằng một giá trị sẽ hoạt động tốt trên mọi tình huống.

Kết Luận

Learning rate là “bánh lái” của quá trình huấn luyện AI. Chọn đúng thì mô hình học nhanh, hiệu quả, tiết kiệm chi phí. Chọn sai thì dù mô hình có ưu thế đến đâu cũng không phát huy được. Hãy luôn bắt đầu với giá trị phổ biến, theo dõi đồ thị loss, và dùng scheduler để tối ưu hóa.

Nếu bạn đang gặp khó khăn với huấn luyện mô hình, kiểm tra learning rate trước khi đổ lỗi cho bất cứ thứ gì khác. Đó thường là nơi vấn đề nằm.

Thuật ngữ liên quan

Xem toàn bộ thư viện thuật ngữ AI & SEO A-Z.

ThienLv

Mình là Thien, người tạo ra blog này. Ban ngày làm marketing, ban đêm cày tiền online và chơi với AI. Blog này là nơi mình ghi lại những gì mình thử qua — tool nào xịn, chiến thuật nào chạy được, cái gì thất bại. Mình không giỏi nhất, nhưng mình thích chia sẻ thật. Chill với một ly cafe đá là lý tưởng nhất.

Xem tất cả bài viết →