Giới thiệu Hypura
Hypura là một công cụ dành cho Apple Silicon, giúp chạy các mô hình AI lớn không vừa bộ nhớ vật lý của máy. Nó phân bổ tensors của mô hình trên GPU, RAM, và NVMe dựa trên mô hình truy cập, chi phí băng thông, và khả năng phần cứng.
Tại sao Hypura quan trọng?
Máy Mac tiêu chuẩn thường có bộ nhớ nhỏ so với kích thước mô hình AI. Hypura giải quyết vấn đề này bằng cách thông minh phân bổ tài nguyên:
- Norms và embeddings: nổi bật nhưng nhỏ gọn, luôn nằm trên GPU.
- MoE expert routing: chỉ hoạt động với 2 trong số 8 experts mỗi token và sử dụng cache neuron để giảm tải I/O.
- Dense FFN weights: truyền từ NVMe qua RAM.
Cách hoạt động
Hypura đọc file GGUF, tối ưu hóa sự phân bổ cho từng tensor, tự động chọn chế độ suy diễn tốt nhất:
- Full-resident: Nếu mô hình vừa trong GPU+RAM.
- Expert-streaming: Giữ chỉ tensors không phải expert trên GPU.
- Dense FFN-streaming: Chạy các mô hình quá lớn.
Hiệu suất
Trên máy M1 Max với 32 GB bộ nhớ:
- Qwen 2.5 14B Q4_K_M: 21 tok/s.
- Mixtral 8x7B Q5_K_M: 2.2 tok/s.
- Llama 3.3 70B Q4_K_M: 0.3 tok/s.
Cài đặt
Cài từ source với Cargo (cần Rust 1.75+ và CMake).
git clone --recurse-submodules https://github.com/hypura/hypura.git
cd hypura
cargo build --release
Khởi đầu nhanh
hypura profile # Chỉ chạy một lần
hypura run ./model.gguf --prompt "Hello, world"
hypura run ./model.gguf --interactive
API tương thích Ollama
Hypura hỗ trợ API HTTP chuẩn Ollama, tiện cho các công cụ tương tác như OpenClaw.
hypura serve ./model.gguf
Kiến trúc
Hypura tổ chức thành workspace Cargo với hai phần chính:
- hypura: Tệp nhị phân chính và thư viện.
- hypura-sys: FFI bindings đến llama.cpp.
FAQ
Hypura có gây hỏng SSD?
Không, Hypura chỉ đọc từ SSD trong quá trình suy diễn, không ghi dữ liệu.
Giấy phép
Hypura được phát hành theo giấy phép MIT.