Phương pháp hạ dốc tự nhiên nhiệt động lực học
(arxiv.org)- TNGD là một phương pháp huấn luyện mạng nơ-ron nhằm giảm gánh nặng tính toán của tối ưu hóa bậc hai bằng cách thực thi natural gradient descent (NGD) trong một vòng lặp lai giữa máy tính nhiệt động lực học tương tự và GPU
- Các phương pháp huấn luyện bậc hai có đặc tính hội tụ tốt nhờ tận dụng thông tin độ cong của bề mặt mất mát, nhưng trên phần cứng số, chúng khó dùng cho huấn luyện quy mô lớn do chi phí tính ma trận thông tin Fisher và giải hệ tuyến tính
- Phương pháp này triển khai quy tắc cập nhật tham số của NGD bằng cách dùng tính chất nhiệt động lực học của hệ tương tự ở trạng thái cân bằng và quá trình Ornstein–Uhlenbeck vật lý
- Người dùng vẫn giữ nguyên kiến trúc mô hình và máy tính tương tự chỉ tăng tốc quá trình huấn luyện, nên khác với một số cách tăng tốc suy luận tương tự vốn cố định mô hình vào phần cứng
- Trong các thí nghiệm số, phương pháp này cho kết quả tốt hơn các phương pháp huấn luyện số bậc một và bậc hai hiện đại trong phân loại và fine-tuning mô hình ngôn ngữ; nếu song song hóa đủ tốt, thời gian chạy mỗi vòng lặp có thể đạt mức gần Adam và SGD
Bài toán chi phí huấn luyện mà TNGD nhắm tới
- Khi chi phí huấn luyện các mô hình AI tiên tiến ngày càng tăng, những mô hình hàng đầu thế giới hiện đã ở mức cần hàng trăm triệu USD để huấn luyện
- Trên phần cứng số, sự chấm dứt của Moore’s Law và Dennard’s Law đang ảnh hưởng đến thời gian thực thi và hiệu quả năng lượng
- Những ràng buộc này làm gia tăng nhu cầu về phần cứng phi truyền thống chuyên dụng để nâng cao hiệu quả huấn luyện mô hình AI
- Phần cứng số cũng thu hẹp phạm vi thuật toán huấn luyện mà người dùng có thể lựa chọn
- SGD, Adam và các biến thể của chúng được dùng rộng rãi để huấn luyện DNN và các mô hình AI lớn
- Các optimizer tinh vi hơn hiếm khi được dùng trên phần cứng số vì chi phí tính toán quá lớn
Ưu điểm và nút thắt của tối ưu hóa bậc hai
- Các phương pháp bậc hai nắm bắt thông tin độ cong của bề mặt mất mát nên về lý thuyết có đặc tính hội tụ mạnh hơn
- Natural gradient descent (NGD) cần ước lượng các đại lượng bậc hai như ma trận thông tin Fisher và phải thực hiện giải hệ tuyến tính tốn kém ở mỗi epoch
- Các cách xấp xỉ NGD như K-FAC đã cho thấy tiềm năng và thậm chí hiệu quả tốt hơn Adam, nhưng vẫn khó áp dụng cho các kiến trúc mạng nơ-ron tùy ý
Vòng lặp huấn luyện lai số - tương tự
- TNGD hoạt động như một vòng lặp lai số - tương tự trong đó GPU giao tiếp với máy tính nhiệt động lực học tương tự
- Trong quá trình huấn luyện, theo các khoảng thời gian nhất định, hệ thống tính gradient và ma trận thông tin Fisher hoặc ma trận độ cong nửa xác định dương khác; giữa các lần đó, động lực học tương tự sẽ diễn ra
- Tính chất nhiệt động lực học xuất hiện ở trạng thái cân bằng của hệ tương tự được dùng như một tài nguyên tính toán
- Người dùng cung cấp kiến trúc mô hình, còn máy tính tương tự chỉ tăng tốc quá trình huấn luyện
- Điều này đối lập với một số đề xuất tăng tốc suy luận AI tương tự, nơi mô hình bị cố định vào phần cứng khiến người dùng khó thay đổi kiến trúc một cách tự do
Độ phức tạp tính toán và kết quả thực nghiệm
- TNGD tương đương với NGD trong một số vùng tham số nhất định, nhưng tránh được bước giải hệ tuyến tính có chi phí quá cao
- Phương pháp này triển khai quy tắc cập nhật tham số của NGD bằng cách tận dụng quá trình Ornstein–Uhlenbeck vật lý
- Thời gian chạy mỗi vòng lặp tăng tuyến tính theo số lượng tham số
- Nếu được song song hóa phù hợp, thời gian chạy có thể gần với các optimizer bậc một như Adam và SGD
- Trong các thí nghiệm số, TNGD cho kết quả vượt trội hơn các phương pháp huấn luyện số bậc một và bậc hai hiện đại trong các tác vụ phân loại và fine-tuning mô hình ngôn ngữ, bao gồm cả hỏi đáp trích xuất
1 bình luận
Các ý kiến trên Hacker News
∇̃L(θ) = F⁻¹∇L(θ), và nó đòi hỏi phải giải một hệ tuyến tínhCó thể dùng phương pháp trong bài báo trước đó của tác giả, Thermodynamic Linear Algebra. Vì khó triển khai cả một mạng nơ-ron hoàn chỉnh trên máy tính nhiệt động lực học, bài báo đề xuất cách chạy song song với GPU thông thường. Cấu trúc là GPU tính
Fvà∇L(θ), còn hệ tuyến tính được chuyển sang máy tính nhiệt động lực học chạy song song với hệ thống số (Hình 1). Tuy nhiên, điều quan trọng là biểu đồ “Runtime vs Accuracy” ở Hình 3 dùng mô hình thời gian của thuật toán TNGD, vì chiếc máy tính cần thiết vẫn chưa tồn tạiNếu có thể để các định luật nhiệt động lực học làm thay công việc huấn luyện mô hình AI, vượt qua các giới hạn mở rộng và bài toán khó của phần cứng số cũng như phương pháp huấn luyện hiện nay, thì tôi ủng hộ việc tìm kiếm hướng đi như vậy
Tôi đã tìm trên website xem có API hoặc thông tin công khai về stack phần mềm để mô hình hóa các bài toán tối ưu hóa ngoài mạng nơ-ron hay không, nhưng có vẻ vẫn chưa được công bố. Vẫn còn rất nhiều bài toán tối ưu hóa tổ hợp NP-khó hoặc tối ưu hóa giải tích quy mô lớn rất đáng giải, và cá nhân tôi quan tâm đến các bài toán EDA và thiết kế bán dẫn. Tính toán lượng tử đoạn nhiệt cũng từng là công nghệ hứa hẹn giải các bài toán tối ưu hóa, còn điện toán lượng tử hiện vẫn chủ yếu tiến triển quanh các lời giải quy mô nhỏ. Tôi hy vọng các startup “tính toán nhiệt động lực học” mới này cũng sẽ cung cấp những công nghệ tuyệt vời để khám phá các bài toán như vậy
Đã có các phương pháp bậc hai[1] chạy rất hiệu quả trên phần cứng cổ điển, nhưng trong thực tế hầu như không được dùng và bị các phương pháp bậc nhất như ADAM lấn át. Lý do là để tối ưu các hàm mất mát cực kỳ phi tuyến như trong mô hình học sâu, dù bậc nhất hay bậc hai thì cuối cùng vẫn cần learning rate rất thấp. Vì vậy, phương pháp bậc hai có thể cho cập nhật tham số tốt hơn một chút ở mỗi bước, nhưng chi phí thường tăng nhiều hơn thế, nên nhìn chung ít đáng giá
[1] https://andrew.gibiansky.com/blog/machine-learning/hessian-f...
Việc ước lượng thông tin bậc hai hữu ích trên toàn bộ tập dữ liệu còn khó hơn, đặc biệt khi nghĩ đến việc lý do dùng mini-batch ngay từ đầu chính là để có thể tính toán được
Nếu xét việc các mô hình lớn và dư tham số ngày nay có nhiều cực trị khá giống nhau, tôi cũng không chắc liệu điều này có thật sự cần thiết không. Nếu không phải gần tuyến tính, thậm chí không phải dưới tuyến tính, thì tôi không thấy lý do gì để quan tâm
https://en.wikipedia.org/wiki/Simulated_annealing
Có lẽ thay vào đó có thể làm điều gì đó với trường điện từ hoặc sự giao thoa của chúng, thậm chí có thể là cấu trúc 3D
Vì vậy đây là sự kết hợp giữa tính toán tương tự kiểu cũ và mã hiện đại dựa trên GPU. Trên thực tế, do overhead của giao tiếp phần cứng và thời gian chờ bộ tích phân ổn định, nó sẽ mất lâu hơn, nhưng tôi hiểu lập luận là một triển khai được tối ưu hóa có thể tăng tốc hội tụ và tốt hơn lời giải thuần số. Ý tưởng cốt lõi là gradient descent truyền thống về bản chất là phép toán tuyến tính, trong khi gradient thực sự cần đi theo lại nằm trên một mặt cong, nên nếu chỉ xử lý trong miền số thì phải đi qua nhiều bước xấp xỉ không cần thiết. Vấn đề là, như nhiều người đã vất vả học được kể từ thời Seymour Cray, cuối cùng thì CMOS luôn thắng. Bởi nguồn lực tài chính của cả một ngành được đổ vào tối ưu hóa CMOS