Chuyển đến nội dung chính
Giảm 50% tất cả các gói, có thời hạn. Khởi điểm từ $2.48/mo
11 min left
AI và Machine Learning

Bộ nhớ hợp nhất là gì và tại sao nó cho phép một mini PC chạy được mô hình 235B?

B Bởi Brian 11 phút đọc Đã cập nhật today
Unified memory explained: discrete GPU memory requires a copy across PCIe between system RAM and VRAM, while unified memory is one shared pool the CPU and GPU both access directly

Một mini PC bộ nhớ hợp nhất giá khoảng 2.000 đến 3.000 đô la có thể nạp một số mô hình cỡ 235B được lượng tử hóa mạnh mà không thể chứa trên một GPU đơn lẻ cỡ H100.

Nghe có vẻ ngược đời, nên hãy so sánh cho chính xác. Card đắt tiền nhanh hơn nhiều, nhưng bộ nhớ GPU cục bộ của nó lại nhỏ hơn. Chiếc hộp nhỏ trên bàn có thể có bể bộ nhớ chia sẻ lớn hơn, nên mô hình vẫn nạp được dù việc sinh văn bản chậm.

Câu trả lời một từ cho câu hỏi bằng cách nào là "bộ nhớ hợp nhất". Nó được in trên bảng thông số của nhiều mini PC AI và Mac đời mới như một con số nổi bật ("128 GB bộ nhớ hợp nhất"), và hầu như không ai giải thích nó thực sự làm gì. Đó chính là nhiệm vụ ở đây. Đến cuối bài, bạn sẽ biết bộ nhớ hợp nhất là gì, vì sao nó cho phép một cỗ máy nhỏ chạy chạy được một mô hình từng cần cả một tủ rack máy chủ, và cái bẫy mà không ai nói ra ở tiêu đề: nó chạy mô hình đó chậm.

TL;DR

  • Bộ nhớ hợp nhất là một bể bộ nhớ vật lý duy nhất mà CPU và GPU tích hợp của chip cùng chia sẻ, thay vì bộ nhớ VRAM nhỏ, riêng biệt của một card đồ họa rời nằm bên cạnh RAM hệ thống riêng của bạn.
  • Bể bộ nhớ chia sẻ này lớn, và GPU thường có thể truy cập nhiều bộ nhớ hơn hẳn so với giới hạn VRAM cố định của một card rời, mặc dù lượng thực sự khả dụng còn tùy vào nền tảng, cài đặt firmware, hệ điều hành và runtime. Vậy câu hỏi đầu tiên trở thành: bản lượng tử hóa này có vừa với bộ nhớ khả dụng không? Một bể 128GB có thể chứa những mô hình mà card đồ họa 24GB hay 32GB không bao giờ chứa nổi.
  • Cái bẫy nằm ở tốc độ, không phải kích thước. Bộ nhớ hợp nhất truyền dữ liệu chậm hơn nhiều so với VRAM của một card rời. Mô hình lớn vẫn chạy. Chỉ là nó sinh token chậm. Bộ nhớ hợp nhất cho phép bạn chạy được mô hình lớn, chứ không phải chạy nó nhanh.
  • "Hợp nhất" không phải là một thứ duy nhất. Phiên bản của Apple hầu như vô hình với người dùng; phiên bản của AMD phơi bày nhiều nút chỉnh hơn, vì cài đặt firmware và driver có thể ảnh hưởng đến lượng bộ nhớ được dành riêng cho, hoặc thực tế khả dụng với, GPU. Và nhiều bộ nhớ hơn không có nghĩa là nhanh hơn.

Bộ nhớ hợp nhất là gì?

Hãy hình dung hai cách bố trí. Một card đồ họa rời có bộ nhớ riêng (VRAM) gắn ngay sát bộ xử lý, nhanh nhưng nhỏ. RAM hệ thống của bạn là một bể riêng thứ hai mà CPU sử dụng. Để chạy một mô hình trên GPU, dữ liệu trước tiên phải được sao chép từ RAM hệ thống qua bus PCIe vào VRAM. Hai bể, một bước sao chép.

Bộ nhớ hợp nhất xóa bỏ sự phân chia đó. Đó là một bể bộ nhớ vật lý duy nhất mà CPU và GPU tích hợp của chip cùng chia sẻ, cho phép GPU làm việc trực tiếp từ bể chia sẻ đó thay vì phụ thuộc vào một khối VRAM nhỏ riêng biệt. Trên các nền tảng như Apple Silicon, điều này còn tránh được bước sao chép qua PCIe cũ. Bài trình bày kiến trúc chính thức của Apple mô tả điều này là CPU và GPU "làm việc trên cùng một bộ nhớ" mà không cần sao chép dữ liệu qua bus PCIe. Một bể. Không sao chép.

Bể chia sẻ này thường là bộ nhớ LPDDR5X được hàn trực tiếp lên gói chip, đó là điều giúp nó vừa lớn vừa gần bộ xử lý. Những ví dụ nổi bật hiện nay là Mac dùng Apple Silicon, hệ thống Strix Halo của AMD xây dựng quanh các chip như Ryzen AI Max+ 395, và Nvidia DGX Spark. Nền tảng phát triển AMD Ryzen AI Halo liệt kê 128GB bộ nhớ LPDDR5x với tốc độ 256GB/s, trong khi Nvidia DGX Spark liệt kê 128GB bộ nhớ hệ thống hợp nhất LPDDR5x với tốc độ 273GB/s.

Bộ nhớ chia sẻ giữa CPU và GPU tích hợp không phải điều mới. Laptop đã làm điều này nhiều năm rồi, và đó thường là một sự thỏa hiệp: bộ nhớ chậm, và không nhiều lắm. Điều thay đổi là dung lượng ở mức băng thông khả dụng. Khi bể chia sẻ đủ lớn, cỡ khoảng 128GB, trong khi vẫn đủ nhanh để đáng dùng, nó đã vượt qua ranh giới mà các mô hình trọng số mở rất lớn có thể chứa vừa ở máy cục bộ. Đó là toàn bộ câu chuyện. Kiến trúc thì cũ; kích thước mới là điều mới.

Một lưu ý về "so với VRAM": Mọi người thường hỏi bộ nhớ hợp nhất có phải là VRAM không. Không hẳn. VRAM là bộ nhớ đồ họa chuyên dụng trên một card rời, nhanh và tách biệt. Bộ nhớ hợp nhất là một bể chia sẻ duy nhất đảm nhận cả vai trò của VRAM lẫn RAM hệ thống. Nó đánh đổi tốc độ thuần túy của card rời để lấy kích thước và khả năng bỏ qua bước sao chép.

Vì sao mô hình cần vừa với bộ nhớ?

Comparison showing a 235B-class model failing to fit in 24GB GPU VRAM or 80-94GB H100-class GPU memory, but fitting in a 128GB unified memory pool

Với suy luận trong bộ nhớ thông thường, trọng số của mô hình cần nằm trong bộ nhớ mà bộ xử lý có thể định địa chỉ tới. Nếu bộ nhớ khả dụng quá nhỏ, mô hình sẽ không nạp được gọn gàng trên thiết bị đó. Một số công cụ có thể đẩy một phần mô hình sang bộ nhớ CPU hoặc bộ nhớ lưu trữ, nhưng điều đó thay đổi mạnh hồ sơ hiệu năng và không giống như việc mô hình vừa vặn thoải mái trong bộ nhớ mà GPU định địa chỉ được. Dung lượng là rào cản cứng, đến trước bất kỳ câu hỏi nào về tốc độ.

Đây chính là đòn bẩy mà bộ nhớ hợp nhất khai thác. Nhiều card đồ họa tiêu dùng có VRAM 24GB hoặc ít hơn, và ngay cả những card tiêu dùng đơn cao cấp nhất cũng chỉ khoảng 32GB. Một mô hình 70 tỷ hoặc 235 tỷ tham số quá lớn so với con số đó. Phép tính thô 4-bit cho 235B tham số bắt đầu ở khoảng 118GB, trước cả chi phí phụ của định dạng, bộ đệm runtime, và bộ nhớ ngữ cảnh. Trong thực tế, các bản có thể tải về thực sự khác nhau rất nhiều: chẳng hạn, bản build Qwen3-235B-A22B Q4_K_M của Ollama được ghi là 142GB, trong khi các bản lượng tử hóa bit thấp hơn mạnh mẽ hơn có thể tiệm cận mức mà một máy bộ nhớ hợp nhất 128GB có thể xử lý. Vậy nên chiếc card được chế tạo cho công việc này hết chỗ trước khi kịp bắt đầu. (Cách tính những con số bộ nhớ đó, tham số nhân với byte trên mỗi trọng số cộng thêm chi phí phụ mà kích thước file che giấu, là một chủ đề riêng, và bài viết đồng hành về toán học lượng tử hóa sẽ thực hiện phép tính đó.)

Một bể hợp nhất 128GB thay đổi câu trả lời cho một câu hỏi: liệu bản lượng tử hóa cụ thể này có vừa sau khi hệ điều hành, runtime, KV cache, và giới hạn cấp phát GPU đã lấy phần của mình? Với một số bản lượng tử hóa mạnh cỡ 235B, câu trả lời là có. Đó là lý do vì sao một chiếc hộp bộ nhớ hợp nhất nhỏ gọn đôi khi có thể nạp được một mô hình mà một GPU VRAM nhỏ hơn không thể. Nó không mạnh hơn. Nó chỉ có nhiều không gian hơn để đặt mô hình vào.

Đó là điều đầu tiên mà các tiêu đề nói đúng nhưng để lại không giải thích. Kích thước bể, chứ không phải sức mạnh thô, mới là thứ quyết định liệu mô hình có chạy được hay không.

Vì sao bộ nhớ hợp nhất chậm hơn card đồ họa?

Diagram showing a 235B-class model failing to fit in 24GB GPU VRAM or 80-94GB H100-class GPU memory, but fitting in a 128GB unified memory pool at the cost of speed

Việc sinh văn bản từng token một bị giới hạn bởi bộ nhớ băng thông, chứ không phải bởi tốc độ tính toán của bộ xử lý. Mỗi token bạn tạo ra đòi hỏi phải truyền các trọng số đang hoạt động của mô hình qua bộ xử lý, nên trần tốc độ chính là tốc độ bộ nhớ có thể cung cấp dữ liệu cho chip. Đây là đặc điểm bản chất "giới hạn bởi bộ nhớ" của việc giải mã đơn luồng, chip dành phần lớn thời gian chờ bộ nhớ, chứ không phải tính toán.

Và băng thông chính là nơi bộ nhớ hợp nhất chịu thua. Bể của AMD Strix Halo trên giấy tờ chạy ở 256GB/s, và thử nghiệm độc lập tại llm-tracker.info đo được khoảng 212GB/s trong thực tế. DGX Spark đạt 273GB/s. Ngược lại, một card đồ họa rời cao cấp truyền dữ liệu nhanh hơn nhiều lần, VRAM chuyên dụng của nó được chế tạo cho việc đó. Vậy nên khi một mô hình vừa với cả hai cả hộp bộ nhớ hợp nhất lẫn card rời, thì card rời sinh token nhanh hơn thấy rõ. Cùng một mô hình, cùng một kết quả, nhưng tốc độ rất khác nhau.

Đối với các mô hình dense, một quy tắc ước lượng hữu ích là:

token mỗi giây ≈ băng thông bộ nhớ ÷ kích thước mô hình trong bộ nhớ.

Đây chỉ là chỉ dấu định hướng, không phải một benchmark, nhưng nó giải thích sự đánh đổi: trọng số thường trú nhỏ hơn hoặc băng thông cao hơn thường có nghĩa là giải mã nhanh hơn. Với các mô hình MoE, đừng áp dụng quy tắc này trực tiếp lên tổng số tham số. Dung lượng vẫn phụ thuộc vào tổng trọng số được lưu trữ, nhưng tốc độ trên mỗi token phụ thuộc nhiều hơn vào đường dẫn được kích hoạt, chi phí phụ định tuyến, hành vi cache, và cách triển khai.

Một sắc thái nữa, rồi tôi sẽ để yên: một yêu cầu có hai giai đoạn. Đọc prompt của bạn (prefill) dựa vào khả năng tính toán. Sinh ra câu trả lời (decode) dựa vào băng thông. Phần chậm mà bạn cảm nhận được, những từ xuất hiện từng chữ một, chính là phần bị giới hạn bởi băng thông.

Vậy đây là bài học mà bảng thông số bỏ qua: bộ nhớ hợp nhất cho bạn chạy được mô hình lớn, chứ không phải chạy nó nhanh. Nó thắng ở tranh luận về dung lượng và thua ở tranh luận về băng thông. Sự đánh đổi đó có đáng hay không hoàn toàn tùy vào việc bạn đang làm gì, và đó là một sự đánh đổi công bằng khi được thực hiện có chủ đích, chứ không phải một bất ngờ phát hiện ra sau khi mua.

Mọi bộ nhớ hợp nhất có giống nhau không?

Không. "Hợp nhất" mô tả một hạng mục, không phải một cách triển khai duy nhất, và các phiên bản khác nhau theo những cách quan trọng. Phiên bản của Apple hầu như vô hình với người dùng: bộ nhớ được chia sẻ theo mặc định. Strix Halo của AMD đòi hỏi can thiệp nhiều hơn: cài đặt firmware và driver có thể ảnh hưởng đến lượng bộ nhớ được dành riêng cho, hoặc thực tế khả dụng với, GPU. Cả hai đều là bộ nhớ hợp nhất. Nhưng trải nghiệm không giống nhau.

Hãy để tôi gọi tên ngộ nhận mà toàn bộ chủ đề này tạo ra, vì đó là ngộ nhận phổ biến nhất: nhiều bộ nhớ hơn không có nghĩa là suy luận nhanh hơn. Nó có nghĩa là một mô hình lớn hơn lớn hơn có thể chạy được. Ai đó mua một chiếc hộp 128GB kỳ vọng tốc độ, nạp một mô hình cũng vừa với card rời 24GB, và thất vọng khi nó chạy chậm hơn card nhỏ hơn kia. Cả hai điều đều đúng cùng lúc: bể lớn chứa được nhiều hơn, còn card nhỏ nhanh lại chạy nhanh hơn với những gì cả hai cùng chứa được. Kích thước và tốc độ là hai trục khác nhau. Bộ nhớ hợp nhất mua cho bạn trục đầu tiên.

Một điểm phức tạp thực tế ở phía AMD: bao nhiêu phần của bể thực sự khả dụng cho một mô hình tùy thuộc vào cài đặt firmware và hệ điều hành. FAQ về Variable Graphics Memory của AMD giải thích cách phân bổ đó hoạt động; nói ngắn gọn thì một chiếc hộp 128GB không trao toàn bộ 128GB cho GPU, và lượng khả dụng tùy vào cài đặt VGM, bộ nhớ hệ thống được dành riêng, hệ điều hành, và runtime. Hãy lập kế hoạch dựa trên bộ nhớ khả dụng, không phải con số ghi trên nhãn.

Mẹo hay: Khi chọn kích cỡ máy cho các mô hình cục bộ, hãy đọc bảng thông số như hai con số, không phải một. Dung lượng cho bạn biết mô hình nào vừa. Băng thông cho bạn biết chúng sẽ chạy nhanh đến đâu một khi đã vừa. Một chiếc hộp có bể khổng lồ nhưng băng thông khiêm tốn là một chiếc hộp chạy các mô hình lớn một cách chậm chạp, điều đó có thể chính xác là những gì bạn muốn, miễn là bạn biết trước điều đó.

Còn một trường hợp nữa đáng lưu ý, vì nó khiến nhiều người vấp phải trên những cỗ máy có bể lớn này: các mô hình Mixture-of-Experts. Một mô hình như Qwen3-235B-A22B có tổng cộng 235 tỷ tham số nhưng chỉ kích hoạt khoảng 22 tỷ trong số đó cho mỗi token. Thật hấp dẫn khi cho rằng điều đó có nghĩa là nó chỉ cần bộ nhớ cho phần đang hoạt động. Với suy luận trong bộ nhớ thông thường, không phải vậy. Toàn bộ 235 tỷ trọng số vẫn cần thường trú ở đâu đó mà runtime có thể sử dụng được, vì bất kỳ token nào cũng có thể được định tuyến đến bất kỳ chuyên gia nào: chỉ có phép tính trên mỗi token giảm đi, chứ không phải yêu cầu về dung lượng. Sự khác biệt đó chính xác là nơi bể lớn của bộ nhớ hợp nhất phát huy giá trị, và bài viết đồng hành về toán học lượng tử hóa sẽ tính toán cụ thể những con số đó ra sao.

Câu hỏi thường gặp

Bộ nhớ hợp nhất có giống VRAM không?

Không. VRAM là bộ nhớ chuyên dụng, tốc độ cao được tích hợp vào một card đồ họa rời, tách biệt với RAM hệ thống của bạn. Bộ nhớ hợp nhất là một bể chia sẻ duy nhất mà cả CPU và GPU đều sử dụng, đảm nhận vai trò của cả VRAM lẫn RAM hệ thống cùng lúc. Bộ nhớ hợp nhất thường lớn hơn nhưng chậm hơn VRAM của một card rời, và nó bỏ qua bước sao chép dữ liệu giữa hai bể.

Vì sao mô hình cục bộ của tôi chạy chậm dù nó vừa với bộ nhớ?

Vì việc vừa vặn và chạy nhanh là hai chuyện khác nhau. Việc một mô hình có nạp được hay không phụ thuộc vào dung lượng bộ nhớ; tốc độ nó sinh văn bản nhanh đến đâu phụ thuộc vào băng thông bộ nhớ. Bộ nhớ hợp nhất có nhiều dung lượng nhưng băng thông thấp hơn nhiều so với card đồ họa rời, nên một mô hình vừa vặn thoải mái vẫn có thể sinh token chậm. Với các mô hình dense, quan hệ ước lượng là token mỗi giây ≈ băng thông ÷ kích thước mô hình. Với các mô hình MoE, dung lượng vẫn phụ thuộc vào tổng trọng số được lưu trữ, nhưng tốc độ phụ thuộc nhiều hơn vào đường dẫn được kích hoạt và cách triển khai runtime.

Bạn có còn cần GPU nếu đã có bộ nhớ hợp nhất không?

GPU tích hợp đã là một phần của chip bộ nhớ hợp nhất rồi, đó chính là thứ chạy mô hình. Câu hỏi thực sự là bạn có muốn thêm một GPU rời hay không. Nhiều card rời cho băng thông cao hơn nhiều, nghĩa là sinh văn bản nhanh hơn, nhưng ít bộ nhớ cục bộ hơn so với một hệ thống bộ nhớ hợp nhất lớn, nên tự thân chúng có thể không chứa nổi những mô hình lớn nhất. Bộ nhớ hợp nhất cho bạn một bể lớn có thể chứa các mô hình lớn với tốc độ thấp hơn. Bạn muốn cái nào tùy vào việc bạn ưu tiên kích thước mô hình hay tốc độ.

Vì sao một mini PC có thể chạy một mô hình cần đến GPU trung tâm dữ liệu?

Vì nút thắt cổ chai khi nạp một mô hình chính là dung lượng bộ nhớ, và một mini PC với bể hợp nhất lớn có thể có nhiều bộ nhớ mô hình khả dụng hơn nhiều cấu hình GPU đơn. Một GPU tiêu dùng có thể có 24 đến 32GB VRAM, còn một GPU trung tâm dữ liệu đơn cỡ H100 có 80 đến 94GB, trong khi một số hệ thống bộ nhớ hợp nhất quảng cáo bể chia sẻ 128GB. Toàn bộ trọng số của mô hình phải vừa ở đâu đó mà bộ xử lý có thể chạm tới; bể chia sẻ lớn chứa được chúng, còn VRAM nhỏ nhanh thì không. Mini PC không mạnh hơn. Nó chỉ có nhiều không gian hơn.

Vừa vặn đã là chiến thắng: cần bao nhiêu là câu hỏi tiếp theo

Đóng góp của bộ nhớ hợp nhất chỉ là một điều rõ ràng: một bể lớn, chia sẻ, có thể định địa chỉ, cho phép một cỗ máy nhỏ chứa vừa chứa được các mô hình từng đòi hỏi cả một máy chủ. Đó là chiến thắng về dung lượng. Cái bẫy băng thông là cái giá phải trả, và giờ bạn có thể đọc một bảng thông số mà biết con số nào chi phối hành vi nào.

Câu hỏi tiếp theo tự nhiên chính là câu hỏi mà bài viết này cứ liên tục né tránh: một mô hình cụ thể thực sự cần bao nhiêu bộ nhớ? Đó là phép toán: tham số, byte trên mỗi trọng số, mức nén bạn chọn, và khoản "thuế" ngữ cảnh mà kích thước file che giấu. bài viết đồng hành về lượng tử hóa GGUF, GPTQ, AWQ, và EXL2 sẽ tính toán chính xác phép toán đó, và đáng để làm điều này trước khi bạn chọn kích cỡ máy hay chọn mô hình.

Share

Thêm bài viết từ blog

Tiếp tục đọc.

Sẵn sàng triển khai? Từ $2.48/tháng.

Cloud độc lập, từ 2008. AMD EPYC, NVMe, 40 Gbps. Hoàn tiền trong 14 ngày.