~/LLAMA CPP/llama-cpp-release-b11475-fixes-metal-backend-operator-fusion-bug

llama.cpp Phát Hành Bản b11475 Sửa Lỗi Fusion Operator Trên Metal Backend

Phiên bản b11475 của llama.cpp khắc phục lỗi trong logic gộp toán cục (operator fusion) của Metal backend, nơi việc kết hợp phép nhân ma trận (MUL_MAT) và phép cộng (ADD) bị sai khi cả hai toán hạng của phép cộng đều là kết quả nhân ma trận. Bản cập nhật đồng bộ logic của trình mã hóa tính toán với việc xác định toán hạng và bổ sung kịch bản kiểm thử trong test-backend-ops.cpp. Bản sửa lỗi này giải quyết tình trạng sai lệch kết quả đầu ra trên GPU Apple Silicon đối với các kiến trúc mô hình cụ thể như Clef, nơi các xác suất đầu ra trước đây bị suy giảm về phân phối đều. Người dùng thiết bị Apple sử dụng tăng tốc Metal giờ đây sẽ nhận được kết quả chính xác tương đương với CPU backend mà không cần tắt tối ưu hóa gộp toán cục. Khi tính toán các biểu thức như x = W1 @ u + W2 @ v, kernel Metal đã xác định sai bộ đệm dư và đọc vùng bộ nhớ chưa ghi, khiến 27 trên 28 trường hợp kiểm thử đơn vị thất bại trước bản sửa lỗi này. Mặc dù việc thiết lập GGML_METAL_FUSION_DISABLE=1 từng là giải pháp tạm thời, bản phát hành b11475 đã xử lý triệt để vấn đề ngay trong trình mã hóa kernel Metal.

## KIẾN THỨC NỀN

Gộp toán cục (operator fusion) là một kỹ thuật tối ưu hóa trong trình biên dịch máy học giúp hợp nhất nhiều thao tác liên tiếp thành một lần thực thi kernel GPU duy nhất nhằm giảm lưu lượng bộ nhớ và độ trễ. Khung làm việc GGML cung cấp Metal backend để chạy các thao tác tensor được tăng tốc phần cứng trên các thiết bị Apple.

## TÀI LIỆU THAM KHẢO

## TỪ KHÓA

#llama.cpp#AI/ML Infrastructure#Metal#Bug Fix

$ subscribe --daily

llama.cpp Phát Hành Bản b11475 Sửa Lỗi Fusion Operator Trên Metal Backend | Daily News