Giao diện
Đại số tuyến tính của LoRA và Tối ưu hóa ma trận hạng thấp trong LLM
Trong kỷ nguyên của các mô hình ngôn ngữ lớn (Large Language Models - LLM), việc tinh chỉnh (fine-tuning) một mô hình có hàng chục tỷ tham số (như LLaMA, Mistral, GPT) đặt ra thách thức khổng lồ về mặt tài nguyên tính toán. Một mô hình
Năm 2021, kỹ thuật LoRA (Low-Rank Adaptation) ra đời và tạo nên một cuộc cách mạng trong việc tinh chỉnh mô hình. Thay vì cập nhật toàn bộ ma trận trọng số, LoRA đóng băng trọng số gốc và chỉ tối ưu hóa hai ma trận nhỏ có hạng cực thấp.
Bản chất của LoRA không phải là một mẹo lập trình ngẫu nhiên, mà bắt nguồn sâu sắc từ các nguyên lý đại số tuyến tính cổ điển: Định lý xấp xỉ hạng thấp Eckart–Young–Mirsky, chiều nội tại (intrinsic dimension) và tối ưu hóa ma trận.
1. Chiều nội tại và Giả thuyết hạng thấp
Giả sử ma trận trọng số trong một tầng biến đổi tuyến tính (chẳng hạn như tầng chiếu Query hoặc Value trong cơ chế Self-Attention) có kích thước:
với
Khi tinh chỉnh mô hình cho một tác vụ chuyên biệt (chẳng hạn như tóm tắt văn bản y khoa hoặc trích xuất dữ liệu có cấu trúc), trọng số cần cập nhật là:
trong đó
Các nghiên cứu thực nghiệm tiên phong của Aghajanyan và cộng sự (2020) đã phát hiện ra một tính chất toán học nền tảng: Mặc dù không gian tham số của mạng nơ-ron có chiều cực lớn (
2. Định lý Eckart–Young–Mirsky: Xấp xỉ hạng thấp tối ưu
Để hiểu tại sao một ma trận lớn có thể thay thế bằng một ma trận hạng thấp, ta quay về định lý nền tảng của đại số tuyến tính số trị: Phân tích giá trị kỳ dị (Singular Value Decomposition - SVD).
Mọi ma trận
trong đó
Định lý Eckart–Young–Mirsky
Nếu ta muốn tìm một ma trận hạng thấp
thì nghiệm tối ưu duy nhất chính là việc cắt ngắn phân tích SVD lấy
Sai số xấp xỉ nhỏ nhất đạt được chính xác bằng tổng bình phương của các giá trị kỳ dị bị bỏ qua:
Nếu phổ giá trị kỳ dị của một ma trận suy giảm nhanh (các giá trị kỳ dị đầu tiên rất lớn và các giá trị phía sau tiệm cận về 0), thì ma trận hạng
3. Cơ chế phân rã LoRA
Dựa trên trực giác hạng thấp, LoRA giả định rằng ma trận biến thiên
Bất kỳ ma trận nào có hạng tối đa
trong đó:
(ma trận chiếu lên không gian gốc). (ma trận nén xuống không gian hạng thấp).
Khi truyền xuôi (Forward Pass), với vector đầu vào
trong đó:
được đóng băng hoàn toàn (frozen), không cần tính đạo hàm hay cập nhật. - Phép nhân được thực hiện theo thứ tự từ phải sang trái: Đầu tiên tính
(chi phí ), sau đó tính (chi phí ). Vì rất nhỏ, tổng chi phí tính toán nhỏ hơn nhiều so với phép nhân ma trận đầy đủ . là hằng số tỷ lệ (scaling factor). Tỷ số giúp ổn định quá trình tối ưu khi ta thay đổi siêu tham số hạng .
4. Kỹ thuật khởi tạo tham số: Tại sao bắt đầu với ?
Một chi tiết kỹ thuật tinh tế nhưng có ý nghĩa quyết định trong LoRA nằm ở cách khởi tạo hai ma trận
- Ma trận
được khởi tạo ngẫu nhiên theo phân phối chuẩn Gaussian: . - Ma trận
được khởi tạo hoàn toàn bằng 0: .
Tại sao lại chọn
- Bảo toàn trạng thái ban đầu: Khi bắt đầu quá trình huấn luyện (
), ta có: Do đó, tại bước lặp đầu tiên:Mô hình khởi đầu chính xác bằng trạng thái của mô hình gốc đã được tiền huấn luyện kỹ lưỡng, hoàn toàn không bị "sốc phân phối" hay suy giảm hiệu năng đột ngột. - Phá vỡ tính đối xứng (Symmetry Breaking): Mặc dù
, nhưng . Khi lan truyền ngược, gradient của phụ thuộc vào : Do đó, ma trậnngay lập tức nhận được gradient khác 0 và bắt đầu di chuyển khỏi điểm 0 theo hướng tối ưu, trong khi tính đối xứng giữa các kênh đã bị ma trận ngẫu nhiên phá vỡ hoàn toàn.
5. So sánh hiệu quả tài nguyên tính toán
Xét một mô hình ngôn ngữ với kích thước ẩn
- Số tham số của ma trận đầy đủ
: Đúng tham số ( triệu). - Số tham số của LoRA (
và ): Đúng tham số ( nghìn). - Tỷ lệ giảm tham số:
Số lượng tham số cần tối ưu hóa và lưu trữ gradient giảm tới hơn 250 lần! Điều này cho phép tinh chỉnh các mô hình khổng lồ trên các GPU thông dụng dành cho người tiêu dùng cá nhân.
Hơn nữa, khi triển khai phục vụ (inference), ta có thể gộp trực tiếp trọng số đã học vào mô hình gốc:
Sau khi cộng ma trận, mô hình phục vụ có đúng kích thước ban đầu, không làm tăng thêm bất kỳ một mili-giây độ trễ nào trong quá trình sinh văn bản!
6. Mở rộng: Chuẩn hạt nhân (Nuclear Norm) và Hoàn thiện ma trận
Trong bài toán xấp xỉ ma trận tổng quát có nhiễu hoặc thiếu dữ liệu (chẳng hạn như bài toán gợi ý phim ảnh Netflix Prize, nơi
Vì hàm đếm hạng
Chuẩn hạt nhân của ma trận
Nới lỏng bài toán đếm hạng sang chuẩn hạt nhân:
Đây là một bài toán tối ưu lồi giải được chính xác bằng Quy hoạch nửa xác định (SDP). Tương tự như chuẩn
Tóm tắt
LoRA là cầu nối mẫu mực giữa lý thuyết đại số tuyến tính cổ điển và kỹ thuật học sâu hiện đại:
- Bắt nguồn từ giả thuyết chiều nội tại thấp của các tác vụ chuyên biệt.
- Vận dụng trực tiếp định lý Eckart–Young–Mirsky để nén biểu diễn biến thiên qua tích hai ma trận gầy
. - Tiết kiệm hơn
bộ nhớ huấn luyện và cho phép hòa tan không tốn kém vào mô hình gốc khi triển khai thực tế.
Tài liệu tham khảo
- Edward J. Hu, et al., LoRA: Low-Rank Adaptation of Large Language Models, ICLR 2022.
- Armen Aghajanyan, Luke Zettlemoyer, Sonal Gupta, Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning, ACL 2021.
- Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press.