Adam và Trình tối ưu hóa thích ứng
Adam là trình tối ưu hóa đặc biệt đằng sau hầu hết các mạng thần kinh hiện đại, tự động điều chỉnh tốc độ học tập riêng biệt cho mọi tham số.
Tổng quan
Điều này quan trọng vì nó giúp huấn luyện các mô hình sâu nhanh hơn và ít khó chịu hơn nhiều so với việc hạ độ dốc thông thường.
Lặn sâu
Adam (Ước tính thời điểm thích ứng), được Kingma và Ba giới thiệu vào năm 2014, kết hợp hai ý tưởng. Đầu tiên, động lượng: nó giữ mức trung bình giảm dần theo cấp số nhân của độ dốc trong quá khứ (thời điểm đầu tiên) để cập nhật tốc độ xây dựng theo các hướng nhất quán. Thứ hai, chia tỷ lệ theo từng tham số: nó theo dõi mức trung bình của các gradient bình phương (thời điểm thứ hai) và chia mỗi bước cho căn bậc hai của giá trị đó, do đó, các tham số có độ dốc lớn, nhiễu sẽ thực hiện các bước nhỏ hơn và các tham số hiếm khi được cập nhật sẽ thực hiện các bước lớn hơn. Khả năng thích ứng này có nghĩa là bạn có thể thường xuyên sử dụng một tốc độ học tập trên toàn bộ mạng. Một biến thể, AdamW, tách riêng sự suy giảm trọng lượng khỏi bản cập nhật độ dốc và đã trở thành mặc định để đào tạo các mô hình ngôn ngữ và máy biến áp lớn.
Hiểu biết kỹ thuật
Adam duy trì hai mức trung bình chạy cho mỗi tham số: m (độ dốc) và v (độ dốc bình phương), được cập nhật với tốc độ phân rã beta1 (thường là 0,9) và beta2 (thường là 0,999). Vì cả hai đều bắt đầu từ 0 nên chúng được hiệu chỉnh sai lệch bằng cách chia cho (1 - beta^t). Bản cập nhật là theta = theta - lr * m_hat / (sqrt(v_hat) + epsilon), trong đó epsilon (khoảng 1e-8) ngăn việc chia cho 0. Đây là lý do tại sao Adam cần ít điều chỉnh tốc độ học tập so với SGD đơn giản.
Tác động chiến lược
Chi phí và ngân sách
Các quyết định về kiến trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.
Quyết định rõ ràng hơn
Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.
Kiểm soát chất lượng
Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.
Tương lai của Adam và Trình tối ưu hóa thích ứng
Adam và AdamW vẫn chiếm ưu thế, nhưng nghiên cứu đang nâng cao hiệu quả cho các mô hình nghìn tỷ tham số, trong đó việc lưu trữ thêm hai giá trị cho mỗi trọng lượng là rất tốn kém. Các biến thể ánh sáng bộ nhớ như Adafactor, Adam 8 bit và các trình tối ưu hóa mới hơn như Lion (chỉ sử dụng động lượng dựa trên dấu hiệu) và Sophia nhằm mục đích phù hợp với chất lượng của Adam với ít bộ nhớ hơn hoặc hội tụ nhanh hơn. Mong đợi các trình tối ưu hóa thích ứng được điều chỉnh riêng cho hoạt động đào tạo phân tán, có độ chính xác thấp để tiếp tục phát triển.
Triển khai trong thế giới thực
Đào tạo các mô hình ngôn ngữ lớn như GPT và Llama, sử dụng AdamW làm trình tối ưu hóa tiêu chuẩn.
Tinh chỉnh trình phân loại hình ảnh được huấn luyện trước (ví dụ: ResNet) trên tập dữ liệu tùy chỉnh chỉ với tốc độ học Adam mặc định.
Đào tạo các mô hình khuếch tán đằng sau các trình tạo hình ảnh như Khuếch tán ổn định.
Chạy Adam 8 bit trong các thư viện như bitandbyte để phù hợp với trạng thái tối ưu hóa trong bộ nhớ GPU hạn chế.
Rủi ro & lan can
Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.
Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.
Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.
Lộ trình thực hiện
Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.
Tiếp tục khám phá
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Adam and Adaptive Optimizers quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Hướng dẫn tiếp theo
Trình tối ưu hóa Zero và Sharded
Câu hỏi thường gặp
Adam và Adaptive Optimizer là gì?
Adam là trình tối ưu hóa đặc biệt đằng sau hầu hết các mạng thần kinh hiện đại, tự động điều chỉnh tốc độ học tập riêng biệt cho mọi tham số. Điều này quan trọng vì nó giúp việc đào tạo các mô hình sâu nhanh hơn và ít phức tạp hơn so với việc giảm độ dốc đơn giản.
Adam theo dõi hai đại lượng nào cho mỗi tham số?
Adam giữ mức trung bình giảm dần theo cấp số nhân của độ dốc (thời điểm đầu tiên) và độ dốc bình phương (thời điểm thứ hai) cho mọi tham số.
Tại sao Adam áp dụng hiệu chỉnh sai lệch cho ước tính thời điểm của nó?
Cả m và v đều được khởi tạo bằng 0, do đó các ước tính ban đầu có độ lệch thấp; chia cho (1 - beta^t) sẽ sửa lỗi này.
Sự khác biệt chính giữa Adam và AdamW là gì?
AdamW áp dụng sự suy giảm trọng số trực tiếp cho các trọng số thay vì trộn nó vào thuật ngữ gradient thích ứng, giúp cải thiện khả năng khái quát hóa trong máy biến áp.
Thuật ngữ epsilon nhỏ đóng vai trò gì trong quy tắc cập nhật của Adam?
Epsilon (khoảng 1e-8) được thêm vào mẫu số để các tham số có độ dốc trung bình bình phương gần bằng 0 không gây ra vụ nổ.
Tại sao Adam thường được mô tả là “có khả năng thích ứng”?
Bằng cách chia cho căn bậc hai của mức trung bình gradient bình phương của mỗi tham số, Adam chia tỷ lệ kích thước bước cho mỗi tham số thay vì sử dụng một giá trị chung.