Chuyển đến nội dung chính

Cách chạy GLM-4.7 cục bộ với llama.cpp: Hướng dẫn hiệu năng cao

Thiết lập llama.cpp để chạy mô hình GLM-4.7 trên một NVIDIA H100 80GB, đạt tới 20 token/giây nhờ offload GPU, Flash Attention, kích thước ngữ cảnh tối ưu, batching hiệu quả và điều chỉnh luồng CPU.
· 10 phút đọc

Khám phá cùng AI

GLM-4.7 là cộng sự viết mã mới của bạn, được thiết kế để hoạt động tốt hơn trong quy trình phát triển thực tế. So với GLM-4.6, phiên bản này thể hiện mức cải thiện rõ rệt ở khả năng lập trình đa ngôn ngữ và dạng tác tử, các tác vụ dựa trên terminal, và sử dụng công cụ, với kết quả mạnh mẽ trên SWE-bench, SWE-bench Multilingual, và Terminal Bench 2.0. Mô hình cũng hỗ trợ tư duy trước khi hành động, giúp đáng tin cậy hơn cho các nhiệm vụ phức tạp trong những khung tác tử hiện đại.

Trong hướng dẫn này, chúng ta sẽ đi thẳng vào việc thiết lập môi trường Runpod, cài đặt mọi phụ thuộc cần thiết và sao chép llama.cpp với đầy đủ hỗ trợ CUDA. Sau đó, chúng ta tải xuống mô hình GLM-4.7 2-bit từ Hugging Face, chạy bằng cả chế độ CLI và server, và cuối cùng kiểm thử server đang chạy bằng OpenAI SDK.

Bạn cũng có thể xem hướng dẫn chạy GLM 4.7 Flash cục bộ.

Yêu cầu hệ thống và điều kiện phần cứng cho GLM-4.7

Trước khi chạy GLM-4.7 cục bộ, hãy đảm bảo hệ thống của bạn đáp ứng các yêu cầu dưới đây.

GPU NVIDIA và trình điều khiển

Cần có GPU NVIDIA để có hiệu năng sử dụng được.

Cài đặt trình điều khiển NVIDIA mới nhất và xác minh cài đặt bằng:

nvidia-smi

Nếu lệnh này chạy và hiển thị GPU của bạn, việc cài đặt trình điều khiển là chính xác.

Hỗ trợ CUDA

CUDA là bắt buộc để tăng tốc GPU khi chạy GLM-4.7. Nếu bạn xây dựng llama.cpp từ mã nguồn, CUDA phải được phát hiện chính xác tại thời điểm build. 

Khi dùng các bản nhị phân dựng sẵn có hỗ trợ CUDA, môi trường runtime CUDA phải được cài sẵn trên hệ thống. Nếu không có CUDA, GLM-4.7 sẽ chạy bằng CPU, quá chậm để sử dụng thực tế.

Yêu cầu bộ nhớ (rất quan trọng)

GLM-4.7 cực kỳ lớn, ngay cả khi đã lượng tử hoá. Việc mô hình có chạy được hay không, và chạy nhanh đến mức nào, phụ thuộc vào tổng bộ nhớ kết hợp, không chỉ riêng VRAM của GPU.

Hãy nghĩ theo hướng VRAM GPU + RAM hệ thống cộng lại.

Lượng tử hoá động 2-bit (UD-Q2_K_XL)

  • Dùng khoảng 135 GB dung lượng đĩa
  • Có thể chạy trên một GPU 24 GB với khoảng 128 GB RAM hệ thống
  • Phụ thuộc vào việc offload các lớp MoE sang RAM
  • Cân bằng tốt giữa chất lượng và tính khả thi

Lượng tử hoá 1-bit (UD-TQ1)

  • Nhỏ hơn và nhanh hơn 2-bit
  • Tương thích tự nhiên với Ollama
  • Dấu chân bộ nhớ thấp nhất
  • Giảm chất lượng có thể nhận thấy

Lượng tử hoá 4-bit

  • Cần ít nhất một GPU 40 GB
  • Các lớp MoE vẫn phải offload sang RAM
  • Kỳ vọng khoảng 5 token mỗi giây với khoảng 165 GB RAM hệ thống
  • Khuyến nghị tổng VRAM + RAM là 205 GB để hiệu năng ổn định và ngữ cảnh dài hơn

Điểm mấu chốt

Với GLM-4.7, chỉ kích thước GPU H100 là chưa đủ. Suy luận ổn định và nhanh phụ thuộc vào tổng bộ nhớ sẵn có, kết hợp cả VRAM GPU và RAM hệ thống.

Thiết lập môi trường GPU trên RunPod

Trong hướng dẫn này, chúng ta sẽ dùng RunPod vì thiết lập nhanh và có nhiều loại GPU sẵn sàng theo nhu cầu.

Bắt đầu bằng cách tạo một pod mới. Chọn ảnh PyTorch mới nhất, rồi nhấp Edit trong phần cài đặt mẫu. Tăng dung lượng ổ đĩa volume lên 200 GB vì mô hình GLM-4.7 rất lớn, ngay cả ở dạng lượng tử 2-bit.

Tiếp theo, mở các cổng cần thiết. Giữ mặc định cổng 8080 cho JupyterLab, và thêm một cổng bổ sung sẽ dùng cho server llama.cpp sau này.

Setting up runpod containerSau khi cấu hình, phần tóm tắt giá và tóm tắt pod sẽ hiển thị rõ ràng rằng mẫu mặc định đã được ghi đè với dung lượng volume lớn hơn.

runpod pod summary

Khi pod khởi động, nhấp vào liên kết Jupyter Notebook để mở JupyterLab. Tạo một notebook mới và chạy đoạn mã thiết lập sau.

import os

WORKDIR = "/workspace"
LLAMA_DIR = f"{WORKDIR}/llama.cpp"
MODEL_DIR = f"{WORKDIR}/models/unsloth/GLM-4.7-GGUF"

os.makedirs(MODEL_DIR, exist_ok=True)

# Put Hugging Face cache on /workspace (big speed win on RunPod)
os.environ["HF_HOME"] = f"{WORKDIR}/.cache/huggingface"
os.environ["HUGGINGFACE_HUB_CACHE"] = f"{WORKDIR}/.cache/huggingface/hub"
os.environ["HF_HUB_CACHE"] = f"{WORKDIR}/.cache/huggingface/hub"
os.environ["HF_HUB_DISABLE_SYMLINKS_WARNING"] = "1"

# Enable HF Xet high performance (Xet backend)
os.environ["HF_XET_HIGH_PERFORMANCE"] = "1"

print("WORKDIR:", WORKDIR)
print("LLAMA_DIR:", LLAMA_DIR)
print("MODEL_DIR:", MODEL_DIR)
print("HF_HOME:", os.environ["HF_HOME"])
print("HF_HUB_CACHE:", os.environ["HF_HUB_CACHE"])
print("HF_XET_HIGH_PERFORMANCE:", os.environ["HF_XET_HIGH_PERFORMANCE"])

Đoạn mã này sẽ:

  1. Đặt /workspace làm thư mục làm việc chính trên RunPod.
  2. Xác định nơi llama.cpp sẽ được clone và build.
  3. Xác định nơi lưu các tệp mô hình GLM-4.7 GGUF.
  4. Tạo thư mục mô hình nếu chưa tồn tại.
  5. Di chuyển bộ nhớ đệm Hugging Face sang /workspace để tải nhanh hơn và có thêm dung lượng đĩa.
  6. Tắt cảnh báo symlink của Hugging Face trong môi trường container.
  7. Bật backend hiệu năng cao Xet của Hugging Face để tải tệp lớn.
  8. In đường dẫn và biến môi trường để xác minh thiết lập.

Bạn sẽ thấy kết quả đầu ra tương tự như sau:

WORKDIR: /workspace
LLAMA_DIR: /workspace/llama.cpp
MODEL_DIR: /workspace/models/unsloth/GLM-4.7-GGUF
HF_HOME: /workspace/.cache/huggingface
HF_HUB_CACHE: /workspace/.cache/huggingface/hub
HF_XET_HIGH_PERFORMANCE: 1

Tiếp theo, xác minh trình điều khiển NVIDIA đã được cài đúng và GPU hiển thị.

!nvidia-smi

Bạn sẽ thấy GPU H100 với 80 GB VRAM khả dụng, xác nhận môi trường sẵn sàng tăng tốc GPU.

GPU statistics

Cuối cùng, cài đặt các phụ thuộc hệ thống cần để build llama.cpp từ mã nguồn.

%%capture
!apt-get update -y
!apt-get install -y build-essential cmake curl libcurl4-openssl-dev git pciutils

Lưu ý: Chúng tôi dùng %%capture để ẩn log cài đặt dài dòng trong Jupyter nhưng vẫn thực thi lệnh.

Cài đặt llama.cpp với hỗ trợ CUDA

Bước này, chúng ta clone và build llama.cpp từ nguồn với CUDA bật để đảm bảo hiệu năng GPU tối ưu.

Đầu tiên, clone kho chính thức vào workspace.

!git clone https://github.com/ggml-org/llama.cpp /workspace/llama.cpp

Tiếp theo, cấu hình build với CUDA bật và tắt thư viện dùng chung.

%%capture
!cmake /workspace/llama.cpp -B /workspace/llama.cpp/build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON

Sau đó build các binary cần thiết ở chế độ release.

%%capture
!cmake --build /workspace/llama.cpp/build --config Release -j --clean-first --target llama-cli llama-server

Khi build xong, sao chép các binary sang thư mục chính và xác minh đầu ra.

%%capture
!cp /workspace/llama.cpp/build/bin/llama-* /workspace/llama.cpp/
!ls -la /workspace/llama.cpp | sed -n '1,60p'

Đến đây, llama.cpp đã sẵn sàng với đầy đủ hỗ trợ CUDA và có thể dùng để chạy GLM-4.7 qua CLI hoặc server.

Tải mô hình GLM 4.7 với hỗ trợ Xet

Bước này, chúng ta cài đặt các thư viện Hugging Face với hỗ trợ Xet và HF Transfer để tăng tốc đáng kể việc tải các mô hình lớn. Xet cung cấp hiệu năng nhanh hơn nhiều so với Git LFS, rất quan trọng để tải GLM-4.7 hiệu quả.

Đầu tiên, cài đặt các phụ thuộc Hugging Face cần thiết và bật HF Transfer.

!pip -q install -U "huggingface_hub[hf_xet]" hf-xet
!pip -q install -U hf_transfer

Bật HF Transfer bằng cách đặt biến môi trường.

import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"

Sau khi cài các gói này, hãy khởi động lại kernel Jupyter để thiết lập mới có hiệu lực.

Tiếp theo, tải mô hình GLM-4.7 GGUF từ Hugging Face bằng snapshot_download. Chúng ta giới hạn tải xuống ở lượng tử hoá động 2-bit được khuyến nghị để giảm lưu trữ và sử dụng bộ nhớ.

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="unsloth/GLM-4.7-GGUF",
    local_dir=MODEL_DIR,
    allow_patterns=["*UD-Q2_K_XL*"],  # recommended dynamic 2-bit
)
print("Downloaded into:", MODEL_DIR)

Khi bật Xet và HF Transfer, tốc độ tải có thể đạt tới 726 MB mỗi giây và sau đó tăng lên 1.2 GB mỗi giây. Không có thiết lập này, tốc độ thường khoảng 50 MB mỗi giây, có thể mất gần cả ngày để tải một mô hình kích thước như vậy.

Downloading the Model form Hugging face Hub

Khi tải xong, mô hình GLM-4.7 sẽ có sẵn cục bộ trong thư mục mô hình của workspace, sẵn sàng để suy luận với llama.cpp.

Downloaded the GLM-4.7 2-bit Model form Hugging face Hub

Chạy GLM 4.7 ở chế độ tương tác

Giờ chúng ta sẽ chạy GLM-4.7 ở chế độ tương tác bằng CLI của llama.cpp.

Bắt đầu bằng cách mở một terminal trong JupyterLab. Nhấp nút Dấu cộng (+) trong JupyterLab, cuộn xuống và chọn Terminal. Thao tác này sẽ mở một phiên shell mới trong môi trường RunPod.

Trong terminal, chạy lệnh sau để khởi chạy CLI tương tác.

 /workspace/llama.cpp/llama-cli \
  --model "/workspace/models/unsloth/GLM-4.7-GGUF/UD-Q2_K_XL/GLM-4.7-UD-Q2_K_XL-00001-of-00003.gguf" \
  --jinja \
  --threads -1 \
  --ctx-size 16384 \
  --temp 1.0 \
  --top-p 0.95 \
  --seed 3407 \
  --fit on

Lệnh này tải mô hình GLM-4.7 lượng tử động 2-bit và bắt đầu phiên trò chuyện tương tác. Cờ --fit on cho phép llama.cpp tự động offload tối đa số lớp và khối bộ nhớ đệm KV lên GPU, đồng thời đẩy an toàn phần còn lại sang RAM hệ thống. Điều này loại bỏ nhu cầu tinh chỉnh lớp thủ công và giúp tránh lỗi tràn bộ nhớ.

running the GLM 4.7 using the llama-cli

Khi mô hình tải xong, bạn sẽ thấy banner của llama.cpp kèm lời nhắc tương tác. Bạn có thể nhập một tin nhắn, như lời chào đơn giản, và mô hình sẽ bắt đầu phản hồi.

llama.cpp CLI interface in the terminal

Cuối mỗi phản hồi, llama.cpp in thống kê hiệu năng, gồm tốc độ sinh token. Ở giai đoạn này, mô hình chạy khoảng 2,2 token mỗi giây, xác nhận mô hình hoạt động đúng trên một GPU H100.

GLM 4.7 response generation using the llama.cpp CLI

Ở các bước tiếp theo, chúng ta sẽ áp dụng thêm tối ưu để tăng thông lượng và tiến gần mục tiêu 20 token mỗi giây.

Chạy máy chủ suy luận GLM 4.7

Bước này, chúng ta chạy GLM-4.7 như một máy chủ suy luận thường trực bằng llama.cpp, được tối ưu cho một GPU H100 PCIe. Các thiết lập này được tinh chỉnh để cải thiện thông lượng, độ ổn định và hiệu quả bộ nhớ khi phục vụ yêu cầu.

Để đạt hiệu năng ổn định và hiệu quả, sử dụng các tối ưu sau:

  1. Offload lên GPU (--fit on): Tự động offload tối đa mô hình và bộ nhớ đệm KV lên GPU, đẩy phần còn lại sang RAM hệ thống. Tránh cần tinh chỉnh lớp thủ công và ngăn lỗi tràn bộ nhớ.
  2. Flash Attention (--flash-attn auto): Bật kernel attention tối ưu trên các GPU được hỗ trợ như H100, cải thiện đáng kể tốc độ sinh token và giảm chi phí bộ nhớ.
  3. Điều chỉnh kích thước ngữ cảnh (--ctx-size 8192): Cửa sổ ngữ cảnh lớn làm chậm dần quá trình giải mã. Giảm từ 16k xuống 8k mang lại thông lượng token ổn định hơn cho đa số khối lượng công việc.
  4. Batching (--batch-size, --ubatch-size): Cải thiện mức sử dụng GPU và tổng thông lượng bằng cách xử lý token theo lô lớn, hiệu quả hơn.
  5. Kiểm soát luồng CPU (--threads 32): Tránh over-subscription CPU và giảm chi phí lập lịch trong môi trường đám mây như RunPod.

Chạy lệnh sau trong terminal để khởi động máy chủ suy luận GLM-4.7.

/workspace/llama.cpp/llama-server \
  --model "/workspace/models/unsloth/GLM-4.7-GGUF/UD-Q2_K_XL/GLM-4.7-UD-Q2_K_XL-00001-of-00003.gguf" \
  --alias "GLM-4.7" \
  --threads 32 \
  --host 0.0.0.0 \
  --ctx-size 8192 \
  --temp 1.0 \
  --top-p 0.95 \
  --port 8080 \
  --fit on \
  --prio 3 \
  --jinja \
  --flash-attn auto \
  --batch-size 1024 \
  --ubatch-size 256

Khi mô hình tải xong, server sẽ lắng nghe trên cổng 8080 và sẵn sàng nhận yêu cầu suy luận. Lúc này, GLM-4.7 đang chạy như một dịch vụ suy luận hiệu năng cao trên một GPU H100.

GLM 4.7 llama.cpp server is running

Ở bước tiếp theo, chúng ta sẽ kiểm thử server bằng giao diện web tích hợp đi kèm server llama.cpp.

Kiểm thử GLM 4.7 bằng giao diện web llama.cpp

Để kiểm thử máy chủ suy luận đang chạy, mở bảng điều khiển RunPod và tìm dịch vụ HTTP mở trên cổng 8080. Nhấp vào liên kết để mở giao diện web llama.cpp trên trình duyệt.

Runpod dashboard for currently running pod.

Giao diện web llama.cpp tương tự ChatGPT. Bạn có thể nhập prompt, đính kèm tệp, điều chỉnh cài đặt và chọn mô hình khả dụng ngay trên giao diện.

llama.cpp webUI web application

Sau khi chọn mô hình GLM-4.7, bạn sẽ thấy thông tin chi tiết về mô hình đã tải, gồm đường dẫn tệp, kích thước ngữ cảnh, kích thước mô hình, số tham số, kích thước embedding và các chi tiết runtime khác. Điều này xác nhận mô hình và cấu hình đúng đang hoạt động.

GLM 4.7 2-bit model information

Bây giờ hãy nhập prompt đầu tiên. Chỉ trong tích tắc, mô hình sẽ bắt đầu sinh phản hồi trực tiếp trên giao diện web.

using the GLM 4.7 modle win in the llama.cpp webUI

Với các thiết lập server tối ưu đã áp dụng trước đó, mô hình đạt khoảng 19 token mỗi giây, xác nhận pipeline suy luận hoạt động hiệu quả. Phản hồi chính xác và mạch lạc.

check the stats of the GLM 4.7 2bit model running on the single H100 GPU

Bạn có thể hỏi tiếp một câu, như truy vấn kiến thức chung. Trong kiểm thử, GLM-4.7 ổn định ở mức khoảng 20 token mỗi giây, gồm cả token suy luận và phản hồi, thể hiện hiệu năng cao ổn định trên một GPU H100.

generating the response and achieving the 20 token per second using the llama.cpp webUI

Kiểm thử GLM 4.7 bằng OpenAI Python SDK

Phần này, chúng ta sẽ kiểm thử máy chủ suy luận llama.cpp đang chạy bằng Python SDK tương thích OpenAI (Python SDK). Điều này xác nhận server hoạt động đúng cho truy cập lập trình và có thể tích hợp vào ứng dụng thực tế.

Đầu tiên, quay lại Jupyter Notebook. Đảm bảo tiến trình llama-server vẫn chạy trong terminal và không dừng hay khởi động lại.

Để xác minh server đang hoạt động và lắng nghe trên cổng 8080, chạy lệnh sau:

!ss -lntp | grep 8080 || true

Bạn sẽ thấy đầu ra tương tự như sau, xác nhận llama-server đang lắng nghe:

LISTEN 0      512          0.0.0.0:8080       0.0.0.0:*    users:(("llama-server",pid=1108,fd=15))

Tiếp theo, cài đặt OpenAI Python SDK, chúng ta sẽ dùng để gửi yêu cầu đến server cục bộ.

!pip -q install openai

Bây giờ, tạo một client OpenAI trỏ tới server llama.cpp cục bộ. Giá trị API key không bắt buộc, nhưng cần cung cấp để tương thích.

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8080/v1",
    api_key="sk-no-key-required",
)

Gửi một yêu cầu chat completion đơn giản để kiểm thử khả năng đa ngôn ngữ.

resp = client.chat.completions.create(
    model="GLM-4.7",
    messages=[{"role": "user", "content": "Say hello in Urdu and explain what you said."}],
    temperature=0.7,
)

print(resp.choices[0].message.content)

Mô hình phản hồi bằng tiếng Urdu và giải thích rõ từng từ, thể hiện khả năng hiểu đa ngôn ngữ và suy luận.

Generated GLM 4.7 response

Tiếp theo, kiểm thử suy luận streaming, rất quan trọng cho ứng dụng thời gian thực như giao diện chat.

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8080/v1",
    api_key="sk-no-key-required",
)

stream = client.chat.completions.create(
    model="GLM-4.7",
    messages=[
        {
            "role": "user",
            "content": "What makes ChatGPT so successful and popular, given that it's "just" a chatbot?"
        }
    ],
    temperature=0.7,
    stream=True,
)

for event in stream:
    choice = event.choices[0]
    if getattr(choice, "delta", None) and getattr(choice.delta, "content", None):
        text = choice.delta.content
        print(text, end="", flush=True)
        full_text.append(text)

Phản hồi được stream mượt mà, từng token, xác nhận rằng streaming của llama.cpp hoạt động ổn định với GLM-4.7. Câu trả lời tạo ra mạch lạc, cấu trúc tốt và chính xác, phù hợp cho khối lượng công việc kiểu sản xuất.

Generated GLM 4.7 response

Đến thời điểm này, GLM-4.7 đã hoạt động đầy đủ qua cả giao diện web và API tương thích OpenAI, chạy hiệu quả trên một GPU H100 với các thiết lập tối ưu.

Tổng kết

Trong vài tháng qua, llama.cpp đã trưởng thành nhanh chóng, đến mức có thể thay thế hoàn toàn các công cụ như Ollama và các ứng dụng chat cục bộ khác để chạy mô hình ngôn ngữ lớn. 

Nó cung cấp một động cơ suy luận nhanh, có khả năng cấu hình cao, CLI dựa trên terminal cho sử dụng tương tác, và giao diện web tích hợp rất giống trải nghiệm ChatGPT. 

Bạn cũng có được quyền kiểm soát chi tiết hành vi mô hình thông qua các cờ runtime và cài đặt UI, cho phép tinh chỉnh hiệu năng và chất lượng dựa trên phần cứng của bạn.

Một điểm rút ra quan trọng là bạn không cần phần cứng doanh nghiệp để chạy GLM-4.7. Với đủ RAM hệ thống và một GPU như RTX 3090, mô hình GLM-4.7 2-bit có thể chạy cục bộ bằng cách dùng --fit on và áp dụng các tối ưu của llama.cpp phù hợp. 

Hệ sinh thái llama.cpp có cộng đồng lớn và năng động, giúp bạn dễ dàng tìm được cấu hình tối ưu và hỗ trợ khi tinh chỉnh cho GPU hoặc khối lượng công việc cụ thể.

Trong hướng dẫn này, chúng ta đã thiết lập môi trường RunPod, build llama.cpp với hỗ trợ CUDA, tải mô hình GLM-4.7 bằng chuyển dữ liệu tốc độ cao của Hugging Face, và chạy mô hình ở chế độ tương tác. Sau đó, chúng ta khởi chạy máy chủ suy luận tối ưu, kiểm thử qua giao diện web và xác thực bằng API tương thích OpenAI.

Kết quả là một triển khai GLM-4.7 cục bộ, hiệu năng cao mang lại độ chính xác mạnh mẽ và suy luận gần thời gian thực trên một GPU duy nhất. Thiết lập này phù hợp cho thử nghiệm, nghiên cứu, và thậm chí các khối lượng công việc kiểu sản xuất nơi kiểm soát, hiệu năng và tính minh bạch là quan trọng.

GLM-4.7 FAQs

GLM-4.7 là gì?

GLM-4.7 là một mô hình ngôn ngữ mã nguồn mở cực lớn, thế hệ mới, được thiết kế đặc biệt như một cộng sự viết mã và bộ suy luận dạng tác tử. Mô hình sử dụng kiến trúc Mixture of Experts (MoE) vượt trội trong quy trình phát triển thực tế, vượt qua phiên bản tiền nhiệm (GLM-4.6) ở lập trình đa ngôn ngữ, tác vụ dựa trên terminal và sử dụng công cụ phức tạp. Khác với các mô hình chat tiêu chuẩn, GLM-4.7 hỗ trợ "tư duy trước khi hành động", giúp mô hình rất đáng tin cậy cho các tác vụ tự động trên các benchmark như SWE-bench và Terminal Bench 2.0.

Yêu cầu phần cứng tối thiểu để chạy GLM-4.7 cục bộ là gì?

Mô hình GLM-4.7 đầy đủ rất lớn (355B tham số với 32B đang hoạt động). Để chạy hiệu quả phiên bản lượng tử 2-bit, bạn cần hệ thống có ít nhất 135GB bộ nhớ kết hợp (VRAM + RAM hệ thống). Một NVIDIA H100 (80GB) đơn lẻ là đủ để xử lý, nhưng bạn phải offload đáng kể sang RAM hệ thống. Với hiệu năng FP16 không lượng tử, bạn sẽ cần cụm nhiều GPU H100 hoặc A100.

Tôi có thể dùng GLM-4.7 cho ứng dụng thương mại không?

Có, GLM-4.7 là mô hình open-weights phát hành dưới giấy phép cho phép (thường là MIT hoặc Apache 2.0 tuỳ kho phát hành cụ thể), cho phép sử dụng thương mại, sửa đổi và phân phối. Điều này làm nó trở thành lựa chọn tiết kiệm chi phí so với các API độc quyền như GPT-4 hoặc Claude 3.5 Sonnet khi xây dựng tác tử lập trình nội bộ hoặc pipeline xử lý dữ liệu.

Vì sao GLM-4.7 chạy chậm trên máy tôi dù có GPU?

Nếu bạn thấy tốc độ dưới 5 token mỗi giây, hệ thống của bạn nhiều khả năng đang offload quá nhiều lớp sang RAM CPU. Dù llama.cpp cho phép chạy mô hình lớn hơn VRAM GPU, việc truyền dữ liệu giữa CPU và GPU (qua PCIe) tạo ra nút cổ chai. Để cải thiện tốc độ, hãy tăng mức độ mạnh của offload bằng --fit hoặc giảm kích thước cửa sổ ngữ cảnh (--ctx-size) để giải phóng VRAM cho các lớp mô hình.

Sự khác nhau giữa GLM-4.7 và GLM-4.7 Flash là gì?

GLM-4.7 là mô hình "frontier" kích thước đầy đủ với khả năng suy luận tối đa, đòi hỏi phần cứng rất lớn. GLM-4.7 Flash là phiên bản distilled, nhẹ hơn, thiết kế cho tốc độ và độ trễ thấp. Nếu bạn có phần cứng hạn chế (như một RTX 3090 hoặc 4090 với 24GB VRAM), GLM-4.7 Flash là lựa chọn tốt hơn, vì có thể chạy hoàn toàn trên GPU mà không chịu phạt hiệu năng do offload sang CPU.

Abid Ali Awan

Tác giả

Abid Ali Awan

Là một nhà khoa học dữ liệu được chứng nhận, tôi đam mê tận dụng công nghệ tiên tiến để tạo ra các ứng dụng học máy đổi mới. Với nền tảng vững chắc về nhận dạng giọng nói, phân tích và báo cáo dữ liệu, MLOps, AI hội thoại và NLP, tôi đã rèn giũa kỹ năng phát triển các hệ thống thông minh có thể tạo ra tác động thực sự. Bên cạnh chuyên môn kỹ thuật, tôi cũng là một người truyền đạt tốt, có khả năng chắt lọc các khái niệm phức tạp thành ngôn ngữ rõ ràng, súc tích. Nhờ đó, tôi trở thành một blogger được nhiều người quan tâm trong lĩnh vực khoa học dữ liệu, chia sẻ góc nhìn và kinh nghiệm với cộng đồng các chuyên gia dữ liệu ngày càng lớn. Hiện tại, tôi tập trung vào sáng tạo và biên tập nội dung, làm việc với các mô hình ngôn ngữ lớn để phát triển nội dung mạnh mẽ và hấp dẫn, giúp doanh nghiệp và cá nhân tận dụng tối đa dữ liệu của mình.

Chủ đề

Liên quan