Trí tuệ nhân tạo
MoRA: Cập nhật hạng cao cho PEFT
Nhờ hiệu suất mạnh mẽ và tính ứng dụng rộng rãi so với các phương pháp khác, LoRA hoặc Low-Rank Adaption là một trong những phương pháp PEFT hoặc Parameter Efficient Fine-Tuning phổ biến nhất để tinh chỉnh mô hình ngôn ngữ lớn. Khung LoRA sử dụng hai ma trận hạng thấp để phân tích và xấp xỉ các trọng số cập nhật trong FFT hoặc Full Fine Tuning, và khung LoRA sửa đổi các tham số có thể đào tạo này bằng cách điều chỉnh hạng của các ma trận. Lợi ích chính của việc thực hiện quá trình này là nó cho phép khung LoRA hợp nhất các ma trận này mà không có độ trễ suy luận sau khi tinh chỉnh. Hơn nữa, mặc dù các mô hình ngôn ngữ lớn gần đây cung cấp hiệu suất đáng chú ý trên các nhiệm vụ học trong ngữ cảnh, một số tình huống vẫn yêu cầu tinh chỉnh và có thể được phân loại rộng rãi thành ba loại. Loại đầu tiên, tinh chỉnh hướng dẫn, nhằm căn chỉnh các mô hình ngôn ngữ lớn tốt hơn với các nhiệm vụ cuối và sở thích người dùng mà không tăng cường kiến thức và khả năng của mô hình ngôn ngữ lớn, một cách tiếp cận đơn giản hóa quá trình xử lý các nhiệm vụ khác nhau và hướng dẫn phức tạp. Loại thứ hai bao gồm các nhiệm vụ lý luận phức tạp như giải toán. Cuối cùng, loại thứ ba là tiền đào tạo liên tục, một cách tiếp cận nhằm tăng cường khả năng chung của mô hình ngôn ngữ lớn.
Trong bài viết này, chúng tôi sẽ thảo luận về việc liệu cập nhật hạng thấp có ảnh hưởng đến hiệu suất của khung LoRA hay không, vì cơ chế cập nhật hạng thấp có thể cản trở khả năng của mô hình ngôn ngữ lớn trong việc học và ghi nhớ kiến thức mới. Dựa trên điều này, trong bài viết này, chúng tôi sẽ thảo luận về MoRA, một phương pháp mới đạt được cập nhật hạng cao trong khi duy trì số lượng tham số có thể đào tạo, bằng cách sử dụng một ma trận vuông. Để đạt được điều này, khung MoRA giảm chiều đầu vào và tăng chiều đầu ra cho ma trận vuông bằng cách giới thiệu các toán tử không tham số tương ứng. Hơn nữa, các toán tử này đảm bảo rằng trọng số có thể được hợp nhất trở lại vào mô hình ngôn ngữ lớn, điều này làm cho khung MoRA có thể triển khai như LoRA.
Bài viết này nhằm mục đích bao quát khung MoRA một cách sâu sắc, và chúng tôi khám phá cơ chế, phương pháp luận, kiến trúc của khung cùng với so sánh với các khung hiện đại. Vậy hãy bắt đầu.
MoRA: Cập nhật hạng cao cho PEFT
Khi kích thước và khả năng của các mô hình ngôn ngữ tăng lên, PEFT hoặc Parameter Efficient Fine-Tuning đang nổi lên như một trong những phương pháp hiệu quả nhất để thích nghi mô hình ngôn ngữ lớn với các nhiệm vụ cụ thể. So với FFT hoặc Full Fine Tuning, PEFT chỉ sửa đổi một phần nhỏ của tổng số tham số, vì trên một số nhiệm vụ, nó có thể đạt được hiệu suất tương tự như FFT bằng cách cập nhật ít hơn 1% tổng số tham số, do đó giảm yêu cầu bộ nhớ cho trình tối ưu hóa đáng kể trong khi tạo điều kiện cho việc lưu trữ và triển khai mô hình. Hơn nữa, trong số tất cả các phương pháp PEFT hiện có, LoRA là phương pháp phổ biến nhất ngày nay, đặc biệt là đối với mô hình ngôn ngữ lớn. Một trong những lý do chính tại sao các phương pháp LoRA cung cấp hiệu suất tốt hơn so với các phương pháp PEFT như adapter hoặc prompt tuning là LoRA sử dụng các ma trận hạng thấp để cập nhật tham số, với khung có khả năng hợp nhất các ma trận này vào các tham số mô hình ban đầu, mà không tăng thêm yêu cầu tính toán trong quá trình suy luận. Mặc dù có nhiều phương pháp nhằm cải thiện LoRA cho mô hình ngôn ngữ lớn, nhưng hầu hết các mô hình này đều dựa trên GLUE để xác thực hiệu quả của chúng, hoặc bằng cách yêu cầu số tham số có thể đào tạo ít hơn, hoặc bằng cách đạt được hiệu suất tốt hơn.
Hơn nữa, các thí nghiệm được thực hiện trên LoRA trên một loạt các nhiệm vụ, bao gồm cả tiền đào tạo liên tục, lý luận toán học và tinh chỉnh hướng dẫn, cho thấy rằng mặc dù các khung LoRA dựa trên mô hình ngôn ngữ lớn thể hiện hiệu suất tương tự trên các nhiệm vụ này, và cung cấp hiệu suất trên các nhiệm vụ tinh chỉnh hướng dẫn tương đương với các phương pháp dựa trên FFT. Tuy nhiên, các mô hình LoRA dựa trên không thể tái tạo hiệu suất trên các nhiệm vụ tiền đào tạo liên tục và lý luận toán học. Một lời giải thích có thể cho sự thiếu hiệu suất này là sự phụ thuộc của LoRA vào cập nhật ma trận hạng thấp, vì ma trận cập nhật hạng thấp có thể gặp khó khăn trong việc ước tính các cập nhật hạng đầy đủ trong FFT, đặc biệt là trong các nhiệm vụ đòi hỏi trí nhớ cao như tiền đào tạo liên tục. Vì hạng của ma trận cập nhật hạng thấp nhỏ hơn hạng đầy đủ, nó giới hạn khả năng lưu trữ thông tin mới bằng cách tinh chỉnh. Dựa trên những quan sát này, MoRA cố gắng tối đa hóa hạng trong ma trận cập nhật hạng thấp trong khi duy trì số lượng tham số có thể đào tạo, bằng cách sử dụng một ma trận vuông so với việc sử dụng các ma trận hạng thấp trong các mô hình LoRA truyền thống. Hình ảnh sau so sánh khung MoRA với LoRA dưới cùng số tham số có thể đào tạo.

Trong hình ảnh trên, (a) đại diện cho LoRA, và (b) đại diện cho MoRA. W là trọng số bị đóng băng từ mô hình, M là ma trận có thể đào tạo trong MoRA, A và B là các ma trận hạng thấp có thể đào tạo trong LoRA, và r đại diện cho hạng trong LoRA và MoRA. Như có thể quan sát được, khung MoRA thể hiện khả năng lớn hơn so với các mô hình LoRA dựa trên với hạng lớn. Hơn nữa, khung MoRA phát triển các toán tử không tham số tương ứng để giảm chiều đầu vào và tăng chiều đầu ra cho ma trận có thể đào tạo M. Hơn nữa, khung MoRA cung cấp sự linh hoạt để sử dụng một ma trận cập nhật hạng thấp để thay thế ma trận có thể đào tạo M và các toán tử, đảm bảo phương pháp MoRA có thể được hợp nhất trở lại vào mô hình ngôn ngữ lớn như LoRA. Bảng sau so sánh hiệu suất của FFT, LoRA, các biến thể của LoRA và phương pháp của chúng trên các nhiệm vụ tinh chỉnh hướng dẫn, lý luận toán học và tiền đào tạo liên tục.

MoRA: Phương pháp luận và Kiến trúc
Tác động của Cập nhật hạng thấp
Nguyên tắc chính của các mô hình LoRA dựa trên là ước tính các cập nhật hạng đầy đủ trong FFT bằng cách sử dụng cập nhật hạng thấp. Thông thường, đối với một ma trận tham số được đào tạo trước, LoRA sử dụng hai ma trận hạng thấp để tính toán cập nhật trọng số. Để đảm bảo cập nhật trọng số là 0 khi đào tạo bắt đầu, khung LoRA khởi tạo một trong các ma trận hạng thấp với phân phối Gaussian trong khi khởi tạo ma trận còn lại với 0. Cập nhật trọng số tổng thể trong LoRA thể hiện hạng thấp khi so sánh với tinh chỉnh trong FFT, mặc dù cập nhật hạng thấp trong LoRA cung cấp hiệu suất tương đương với cập nhật hạng đầy đủ trên các nhiệm vụ cụ thể bao gồm tinh chỉnh hướng dẫn và phân loại văn bản. Tuy nhiên, hiệu suất của khung LoRA bắt đầu suy giảm đối với các nhiệm vụ như tiền đào tạo liên tục và lý luận phức tạp. Dựa trên những quan sát này, MoRA đề xuất rằng nó dễ dàng hơn để tận dụng khả năng và kiến thức ban đầu của mô hình ngôn ngữ lớn để giải quyết các nhiệm vụ bằng cách sử dụng cập nhật hạng thấp, nhưng mô hình gặp khó khăn trong việc thực hiện các nhiệm vụ đòi hỏi tăng cường khả năng và kiến thức của mô hình ngôn ngữ lớn.
Phương pháp luận
Mặc dù các mô hình ngôn ngữ lớn với học trong ngữ cảnh là một cải tiến đáng kể so với các phương pháp trước đây, vẫn còn các ngữ cảnh phụ thuộc vào tinh chỉnh, bao gồm ba loại chính. Có các mô hình ngôn ngữ lớn được tinh chỉnh cho hướng dẫn, bằng cách căn chỉnh với các nhiệm vụ và sở thích người dùng mà không tăng cường kiến thức và khả năng của mô hình ngôn ngữ lớn, một cách tiếp cận làm cho việc xử lý các nhiệm vụ khác nhau và hướng dẫn phức tạp trở nên dễ dàng hơn. Loại thứ hai liên quan đến các nhiệm vụ lý luận phức tạp như giải toán. Loại thứ ba là tiền đào tạo liên tục, một cách tiếp cận nhằm tăng cường khả năng chung của mô hình ngôn ngữ lớn.
Tuy nhiên, hầu hết các biến thể của LoRA gần như chỉ sử dụng GLUE để đánh giá hiệu quả của chúng trong ngữ cảnh của mô hình ngôn ngữ lớn. Vì tinh chỉnh cho hướng dẫn đòi hỏi ít tài nguyên nhất so với các loại khác, nó có thể không đại diện cho sự so sánh chính xác giữa các biến thể của LoRA. Thêm các nhiệm vụ lý luận vào đánh giá phương pháp của chúng đã trở thành một thực hành phổ biến trong các công việc gần đây. Tuy nhiên, chúng tôi thường sử dụng các tập dữ liệu đào tạo nhỏ (ngay cả với 1 triệu ví dụ, điều này khá lớn). Các mô hình ngôn ngữ lớn gặp khó khăn trong việc học lý luận đúng từ các ví dụ có kích thước này. Ví dụ, một số phương pháp sử dụng GSM8K với chỉ 7,5 nghìn tập dữ liệu đào tạo. Tuy nhiên, những con số này không đủ so với phương pháp SOTA được đào tạo trên 395 nghìn mẫu và chúng làm cho việc đánh giá khả năng học lý luận của NLP trở nên khó khăn.
Dựa trên những quan sát từ tác động của cập nhật hạng thấp, khung MoRA đề xuất một phương pháp mới để giảm thiểu tác động tiêu cực của cập nhật hạng thấp. Nguyên tắc cơ bản của khung MoRA là sử dụng cùng số tham số có thể đào tạo để đạt được hạng cao hơn trong ma trận cập nhật hạng thấp. Sau khi tính đến các trọng số được đào tạo trước, khung LoRA sử dụng hai ma trận hạng thấp A và B với tổng số tham số có thể đào tạo cho hạng r. Tuy nhiên, với cùng số tham số có thể đào tạo, một ma trận vuông có thể đạt được hạng cao nhất, và khung MoRA đạt được điều này bằng cách giảm chiều đầu vào và tăng chiều đầu ra cho ma trận vuông có thể đào tạo. Hơn nữa, hai hàm này nên là các toán tử không tham số và dự kiến sẽ thực hiện trong thời gian tuyến tính tương ứng với chiều.
MoRA: Thí nghiệm và Kết quả
Để đánh giá hiệu suất của nó, khung MoRA được đánh giá trên một loạt các nhiệm vụ để hiểu tác động của cập nhật hạng cao trên ba nhiệm vụ: ghi nhớ các cặp UUID, tinh chỉnh và tiền đào tạo.
Ghi nhớ các cặp UUID
Để chứng minh sự cải thiện trong hiệu suất, khung MoRA được so sánh với FFT và LoRA trên nhiệm vụ ghi nhớ các cặp UUID. Sự mất mát trong quá trình đào tạo từ thí nghiệm được phản ánh trong hình ảnh sau.

Điều đáng chú ý là với cùng số tham số có thể đào tạo, khung MoRA có thể vượt qua các mô hình LoRA hiện có, cho thấy nó được hưởng lợi từ chiến lược cập nhật hạng cao. Báo cáo độ chính xác đào tạo ở cấp độ ký tự tại các bước đào tạo khác nhau được tóm tắt trong bảng sau. 
Như có thể quan sát được, so với LoRA, khung MoRA mất ít bước đào tạo hơn để ghi nhớ các cặp UUID.
Nhiệm vụ tinh chỉnh
Để đánh giá hiệu suất của nó trên các nhiệm vụ tinh chỉnh, khung MoRA được đánh giá trên ba nhiệm vụ tinh chỉnh: tinh chỉnh hướng dẫn, lý luận toán học và tiền đào tạo liên tục, được thiết kế cho các mô hình ngôn ngữ lớn, cùng với một tập dữ liệu chất lượng cao tương ứng cho cả mô hình MoRA và LoRA. Kết quả của các nhiệm vụ tinh chỉnh được trình bày trong bảng sau.

Như có thể quan sát được, trên các nhiệm vụ lý luận toán học và tinh chỉnh hướng dẫn, cả mô hình LoRA và MoRA cung cấp hiệu suất tương tự. Tuy nhiên, mô hình MoRA vượt qua khung LoRA trên các nhiệm vụ tiền đào tạo liên tục cho cả lĩnh vực y sinh và tài chính, được hưởng lợi từ cách tiếp cận cập nhật hạng cao để ghi nhớ kiến thức mới. Hơn nữa, điều quan trọng là phải hiểu rằng ba nhiệm vụ này khác nhau và có các yêu cầu khác nhau, cũng như các khả năng tinh chỉnh khác nhau.
Tiền đào tạo
Để đánh giá tác động của cập nhật hạng cao trên hiệu suất tổng thể, biến thể chuyển đổi trong khung MoRA được đào tạo từ đầu trên tập dữ liệu C4, và hiệu suất được so sánh với các mô hình LoRA và ReLoRA. Sự mất mát trong quá trình tiền đào tạo cùng với sự phức tạp tương ứng trên tập dữ liệu C4 được trình bày trong các hình sau.


Như có thể quan sát được, mô hình MoRA cung cấp hiệu suất tốt hơn trên các nhiệm vụ tiền đào tạo khi so sánh với các mô hình LoRA và ReLoRA với cùng số tham số có thể đào tạo.
Hơn nữa, để chứng minh tác động của cập nhật hạng cao trên hạng của ma trận cập nhật hạng thấp, khung MoRA phân tích phổ của các giá trị đơn nhất cho ma trận cập nhật hạng thấp được học bằng cách đào tạo mô hình 250M, và kết quả được chứa trong hình sau.

Lời kết
Trong bài viết này, chúng tôi đã thảo luận về việc liệu cập nhật hạng thấp có ảnh hưởng đến hiệu suất của khung LoRA hay không, vì cơ chế cập nhật hạng thấp có thể cản trở khả năng của mô hình ngôn ngữ lớn trong việc học và ghi nhớ kiến thức mới. Dựa trên điều này, trong bài viết này, chúng tôi sẽ thảo luận về MoRA, một phương pháp mới đạt được cập nhật hạng cao trong khi duy trì số lượng tham số có thể đào tạo, bằng cách sử dụng một ma trận vuông. Để đạt được điều này, khung MoRA giảm chiều đầu vào và tăng chiều đầu ra cho ma trận vuông bằng cách giới thiệu các toán tử không tham số tương ứng. Hơn nữa, các toán tử này đảm bảo rằng trọng số có thể được hợp nhất trở lại vào mô hình ngôn ngữ lớn, điều này làm cho khung MoRA có thể triển khai như LoRA.












