~/tools / Tệp mô hình và mẫu chat / GGUF Metadata Viewer
GGUF Metadata Viewer — Mở tệp GGUF: lượng tử hóa, ngữ cảnh, tokenizer, tensor, KV cache
Mở tệp mô hình GGUF ngay trong trình duyệt và xem bên trong có gì mà không cần nạp mô hình: kiến trúc, lượng tử hóa, số tham số, ngữ cảnh dài nhất, số lớp và attention head, tokenizer cùng các token đặc biệt, chat template, từng mục metadata và từng tensor. Công cụ cũng tính KV cache cho từng độ dài ngữ cảnh và kiểm tra tệp theo cách của llama.cpp, nên bạn có thể phát hiện một lần tải xuống chưa hoàn tất trước khi nhập vào Ollama. Chỉ phần đầu của tệp được đọc và không có gì được tải lên.
Hoặc kéo thả tệp vào đây. Chỉ phần đầu của tệp được đọc và tệp vẫn nằm trên máy tính của bạn. Trong thử nghiệm của chúng tôi, tệp trọng số mà Ollama giữ trong thư mục models/blobs cũng là một tệp GGUF.
KV cache = 2 × số lớp × số KV head × kích thước head × 2 byte (f16) × độ dài ngữ cảnh. Với qwen2.5:7b, điều này cho 224 MiB ở 4096 token, đúng kích thước trong log của Ollama trong thử nghiệm của chúng tôi.
Trọng số là dữ liệu tensor được lưu trong tệp; cùng với header, chúng tạo nên tệp. Chạy mô hình còn cần KV cache và bộ nhớ làm việc, mà công cụ ước tính bộ nhớ sẽ cộng thêm.
Đã kiểm tra vào 2026-11-08 theo đặc tả GGUF và trình đọc của llama.cpp, cũng như với tệp thật của qwen2.5:7b: metadata và 339 tensor của nó khớp với những gì Ollama 0.40.11 báo cáo. Đặc tả GGUF · Ollama: nhập một mô hình
Tệp được đọc trong trình duyệt của bạn và không được tải lên. Chỉ phần đầu của nó được đọc.
GGUF là định dạng tệp mà llama.cpp và Ollama dùng cho mô hình. Một tệp GGUF bắt đầu bằng phần header: phiên bản định dạng, danh sách các mục metadata (như general.architecture, <architecture>.context_length, tokenizer.ggml.tokens và tokenizer.chat_template) và danh sách các tensor kèm tên, hình dạng, kiểu và vị trí của chúng. Phần trọng số nằm ngay sau đó. Công cụ này chỉ đọc phần header đó, theo cấu trúc trong đặc tả GGUF ở kho ggml, nên một tệp vài gigabyte vẫn mở ra trong chớp mắt: với qwen2.5:7b, header chỉ là 5.7 MiB trong tệp 4.36 GiB. Từ header, công cụ hiển thị tên, kiến trúc và lượng tử hóa của mô hình (general.file_type), đếm số tham số từ hình dạng các tensor và cộng kích thước trọng số theo từng kiểu tensor, dùng kích thước khối trong gguf-py của llama.cpp. Công cụ cũng hiển thị hình dạng của mô hình (số lớp, attention head, KV head, kích thước head, các thiết lập RoPE, expert), tokenizer cùng token bắt đầu và kết thúc văn bản, và chat template. Từ số lớp, số KV head và kích thước head, công cụ tính KV cache ở f16, mặc định của Ollama: 2 (khóa và giá trị) × số lớp × số KV head × kích thước head × 2 byte × độ dài ngữ cảnh. Công cụ cũng kiểm tra những gì trình đọc của chính llama.cpp (gguf.cpp) kiểm tra, như phiên bản định dạng, thứ tự byte, khóa và tên tensor bị trùng, căn chỉnh, các kiểu tensor và vị trí của từng tensor, đồng thời so sánh kích thước mà header mô tả với kích thước của tệp. Chúng tôi đã kiểm tra công cụ với tệp thật của qwen2.5:7b mà Ollama 0.40.11 lưu: metadata, 339 tensor (tên, kiểu và hình dạng) và số tham số khớp với những gì /api/show của Ollama báo cáo, và kích thước tính từ header khớp với tệp đến từng byte.
Phần xử lý chính của công cụ này là mã nguồn mở theo giấy phép MIT. github.com/seigo5555/toolkitbox-lib/src/gguf.ts
Trường hợp dùng
- Kiểm tra một tệp GGUF bạn tải từ Hugging Face trước khi nhập vào Ollama: lượng tử hóa, độ dài ngữ cảnh, chat template và việc tải xuống đã hoàn tất chưa
- Xem trọng số và KV cache của một mô hình cần bao nhiêu bộ nhớ, ngay từ chính tệp
- Xem metadata và tensor của một mô hình Ollama đã có, bằng cách mở tệp của nó trong thư mục models/blobs của Ollama
Cách dùng
- Chọn một tệp .gguf hoặc kéo thả vào khung. Để xem một mô hình Ollama đang có, ollama show --modelfile <model> in ra đường dẫn của tệp sau FROM.
- Công cụ đọc phần đầu của tệp và hiển thị mô hình, hình dạng của nó, KV cache, trọng số theo kiểu và tokenizer.
- Mở "Toàn bộ metadata" hoặc "Toàn bộ tensor" để xem danh sách đầy đủ. Với tệp chưa có trong Ollama, công cụ hiển thị dòng Modelfile để nhập nó vào.
Hỏi đáp
Tệp có được tải lên không?
Không. Trình duyệt đọc tệp trên máy tính của bạn, và công cụ chỉ đọc phần đầu của nó: header chứa metadata và danh sách tensor. Trọng số không được đọc.
Tại sao công cụ báo tệp ngắn hơn những gì header nói?
Header liệt kê mọi tensor cùng kích thước và vị trí của chúng, nên nó cho biết tệp phải lớn đến mức nào. Nếu tệp ngắn hơn, một phần trọng số bị thiếu, chẳng hạn do việc tải xuống hoặc sao chép dừng sớm. llama.cpp dừng với thông báo "model is corrupted or incomplete" đối với tệp như vậy.
general.file_type khác gì với các kiểu tensor?
general.file_type nêu tên lượng tử hóa chính của tệp, chẳng hạn Q4_K_M. Một tệp trộn nhiều kiểu: trong qwen2.5:7b Q4_K_M, phần lớn tensor là Q4_K, một số là Q6_K, và các tensor nhỏ như trọng số chuẩn hóa là F32. Bảng trọng số theo kiểu cho thấy sự pha trộn đó.
Tôi có thể mở các tệp mô hình mà Ollama đã tải về không?
Có. Ollama giữ trọng số của một mô hình trong thư mục models/blobs, trong một tệp có tên sha256-…. Trong thử nghiệm của chúng tôi, ollama show --modelfile qwen2.5:7b in ra đường dẫn của tệp đó sau FROM, và đó là một tệp GGUF.
Làm thế nào để nhập một tệp GGUF vào Ollama?
Hướng dẫn nhập của Ollama dùng một Modelfile có FROM /path/to/file.gguf rồi chạy ollama create. Với mô hình bị chia thành nhiều tệp, hãy giữ nguyên tên tệp gốc và dùng ký tự đại diện khớp với mọi phần. Ollama không lượng tử hóa các mô hình GGUF khi nhập.
Kích thước KV cache chính xác đến mức nào?
Công thức khớp với log của Ollama trong thử nghiệm của chúng tôi (224 MiB cho qwen2.5:7b ở 4096 token). Nó dành cho f16, mặc định của Ollama. Các mô hình có cửa sổ trượt, KV cache dùng chung hoặc được nén, hay các lớp hồi quy dùng lượng khác; công cụ sẽ nói rõ khi metadata cho thấy điều đó.