Phần cập nhật trọng số LoRA hạng 1
LoRA (Low-Rank Adaptation) đóng băng trọng số gốc và học thêm một phần cập nhật hạng thấp
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, numpy-matrix-multiplication.
Nội dung đề bài
Mô tả bài toán
LoRA (Low-Rank Adaptation) đóng băng trọng số gốc và học thêm một phần cập nhật hạng thấp delta = (alpha / r) * B AT. Với r = 1, B là một vector cột và A là một vector hàng, nên B AT là tích ngoài của hai vector.
Yêu cầu
Viết hàm lora_rank1_delta(b, a, alpha, r) trả về ma trận cập nhật delta dưới dạng danh sách các danh sách số thực.
Quy ước nộp bài
Nộp hàm lora_rank1_delta trong solution.py. Hệ thống gọi hàm trực tiếp và so giá trị với sai số 1e-6; không đọc stdin và không in ra stdout.
Input
- b: vector cột B (danh sách d số thực).
- a: vector hàng A (danh sách k số thực).
- alpha: hệ số tỉ lệ của LoRA.
- r: hạng của adapter.
Output
Ma trận d x k với delta[i][j] = (alpha / r) * b[i] * a[j].
Ràng buộc
- r phải dương; nếu r <= 0 thì ném ValueError.
- Hai vector phải khác rỗng; nếu không thì ném ValueError.
- Chỉ dùng NumPy cho tích ngoài.
Ví dụ 1
Input
lora_rank1_delta(b=[1, -1], a=[2, 3], alpha=2, r=1)
Output
[[4, 6], [-4, -6]]
Ví dụ 2
Input
lora_rank1_delta(b=[1, 1], a=[1, 1], alpha=1, r=1)
Output
[[1, 1], [1, 1]]
Giải thích
Với b = [1, -1], a = [2, 3], alpha = 2 và r = 1: tích ngoài là [[2, 3], [-2, -3]], hệ số alpha / r = 2, nên delta = [[4, 6], [-4, -6]].
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
