Bản phát hành llama.cpp b10188 khắc phục lỗi rò rỉ bộ nhớ Metal trên macOS
Dự án llama.cpp đã phát hành bản dựng b10188, giải quyết lỗi rò rỉ bộ nhớ trong backend Metal. Lỗi rò rỉ này xảy ra khi một mô hình được tải và sau đó giải phóng mà không thực hiện bất kỳ hoạt động GPU nào. Bản sửa lỗi này cải thiện tính ổn định trong quản lý bộ nhớ cho người dùng macOS và iOS chạy các LLM cục bộ, ngăn chặn sự tích tụ bộ nhớ wired trên toàn hệ thống trong các chu kỳ khởi tạo hoặc hủy mô hình. Nó đảm bảo các ứng dụng sử dụng llama.cpp làm backend không lãng phí tài nguyên hệ thống khi các mô hình được tải nhưng không chạy ngay lập tức. Bản cập nhật giải quyết vấn đề bằng cách chỉ chạy tác vụ giả (dummy work) khi các tập lưu trú (residency sets) được sử dụng và bao bọc hàm liên quan trong các macro biên dịch có điều kiện. Ngoài ra, bản phát hành này giới thiệu một bài kiểm tra hồi quy đo lường bộ nhớ wired trên toàn hệ thống để ngăn chặn lỗi tái diễn trong tương lai.
## KIẾN THỨC NỀN
llama.cpp là một thư viện C/C++ mã nguồn mở phổ biến được thiết kế để suy luận hiệu quả các mô hình ngôn ngữ lớn cục bộ, đóng vai trò là backend cho các công cụ như Ollama và LM Studio. Trên phần cứng Apple, nó sử dụng API Metal của Apple để tăng tốc tính toán trên GPU. Các tập lưu trú (residency sets) của Metal được sử dụng để quản lý việc phân bổ và lưu trú tài nguyên trong bộ nhớ GPU, nhưng việc xử lý không đúng cách có thể khiến bộ nhớ bị giữ lại ở trạng thái "wired" hoặc bị khóa trong RAM hệ thống.