1 điểm bởi GN⁺ 2024-05-26 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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

 
GN⁺ 2024-05-26
Các ý kiến trên Hacker News
  • Điểm cốt lõi là natural gradient descent là một phương pháp bậc hai. Công thức cập nhật chính là ∇̃L(θ) = F⁻¹∇L(θ), và nó đòi hỏi phải giải một hệ tuyến tính
    Có 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 F∇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ại
  • Rất hay và thú vị. Các tác giả đề xuất một vòng lặp huấn luyện số-tương tự lai, phản ánh độ cong của địa hình hàm mất mát, tức đạo hàm bậc hai, và bằng mô phỏng số cho thấy nếu cách này được triển khai bằng hệ vật lý thì chi phí tính toán cho mỗi vòng lặp huấn luyện tăng tuyến tính theo số tham số
    Nế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
  • Bài báo chủ yếu bàn về học sâu/huấn luyện mạng nơ-ron và kết quả tối ưu hóa, nhưng tôi tò mò không biết cùng khung tối ưu hóa này có thể được áp dụng dễ dàng đến đâu cho các dạng bài toán tối ưu hóa khó hoặc quy mô lớn khác. Khi lần đầu đọc các bài viết liên quan đến Extropic(https://www.extropic.ai/), tôi cũng đã nghĩ 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
  • Việc tận dụng nhiệt động lực học để tính cập nhật bậc hai hiệu quả hơn rõ ràng là rất hay và đáng khám phá, nhưng trong bối cảnh học sâu thì tôi vẫn hoài nghi về tính hữu dụng thực tế
    Đã 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...
    • Tôi đồng ý là nó hay, và cũng đồng ý rằng rất khó làm cho phương pháp bậc hai trở nên đáng giá. Có lúc tập dữ liệu lớn đến mức ngay cả gradient của mini-batch cũng khó ước lượng cho ra hồn
      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
  • Tôi chưa đọc kỹ bài báo, nhưng ai có thể cho biết điểm hấp dẫn là gì không? Nhìn Bảng 1 thì có vẻ nó có độ phức tạp tiệm cận giống SGD theo kích thước mẫu
    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
  • Làm tôi nhớ đến simulated annealing học trong lớp AI khoảng 10 năm trước
    https://en.wikipedia.org/wiki/Simulated_annealing
  • Ước đoán tốt nhất hiện nay về cách nơ-ron động vật học là gì?
  • Geoffrey Hinton chẳng phải đã nói chuyện kiểu này khoảng một năm trước sao?
  • Tôi không hiểu. Việc tính gradient descent diễn ra rất thường xuyên và trạng thái/đầu vào liên tục thay đổi, vậy thì chẳng phải phải khởi tạo lại địa hình nhiệt cực kỳ thường xuyên sao; như thế có ý nghĩa gì? Tôi không thấy có khả năng tăng tốc nào ở đây
    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
  • “Cần một máy tính nhiệt động lực học tương tự” — đến đây thì nghe có vẻ ổn, nhưng khoan đã, gì cơ? Ước gì có ai học vật lý bài bản giải thích giúp
    • Phụ lục C của bài báo giải thích khá rõ. Họ tạo một ma trận bộ tích phân gồm nhiều op-amp, hằng số thời gian RC (có lẽ dùng chiết áp số), và giao diện ADC/DAC đa kênh kết nối với PC. Về bản chất, đó là một thiết bị chuyên dụng để giải phương trình vi phân
      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
    • Theo tôi hiểu thì https://extropic.ai đang làm đúng điều này, và công ty của các tác giả bài báo, https://normalcomputing.ai/, nhiều khả năng cũng vậy
    • Cốt lõi là tận dụng các định luật tự nhiên để huấn luyện mô hình AI, vượt qua các giới hạn và vấn đề mở rộng của phần cứng số cùng các phương pháp huấn luyện hiện có
    • Một ví dụ có thể là quantum annealer. Ở đây “lập trình” gần với việc đặt các điều kiện ban đầu phù hợp và để quá trình thư giãn nhiệt động lực học đưa hệ đến điểm tối ưu
    • Nếu có thể tạo ra sản phẩm như vậy thì sẽ rất hấp dẫn. Trên toàn cầu, mỗi năm hàng chục tỷ đô la, thậm chí có thể hơn, được chi cho tối ưu hóa số, và nếu có thể tăng tốc đáng kể việc này thì tiềm năng lợi nhuận sẽ rất lớn