Mô hình nằm trên SSD, chạy trong bộ nhớ

Mô hình được lưu và nạp vào đâu?

Máy dùng GPU rời

  1. Ổ SSD
  2. CPU và RAM hệ thống
  3. Card GPU
  4. VRAM trên card

Ổ SSD đến CPU và RAM hệ thống. CPU và RAM hệ thống đến Card GPU. Card GPU đến VRAM trên card

Mô hình được đọc từ SSD qua hệ thống rồi nạp vào VRAM để GPU xử lý.

CPU và GPU dùng chung bộ nhớ

  1. Ổ lưu mô hình
  2. Bộ xử lý CPU
  3. Bộ xử lý GPU
  4. Vùng bộ nhớ chung

Ổ lưu mô hình đến Vùng bộ nhớ chung. Bộ xử lý CPU đến Vùng bộ nhớ chung. Bộ xử lý GPU đến Vùng bộ nhớ chung

CPU và GPU truy cập vùng bộ nhớ hợp nhất, cùng chia dung lượng với hệ điều hành và ứng dụng.

Trong thiết bị dùng bộ nhớ hợp nhất, CPU và GPU truy cập cùng vùng nhớ. Băng thông và phần bộ nhớ dành cho hệ thống ảnh hưởng tới khả năng chạy mô hình.

Bạn tải mô hình về SSD để lưu lâu dài. Khi chạy, phần mềm nạp trọng số, tức các tham số của mô hình, vào bộ nhớ phục vụ tính toán. GPU rời dùng VRAM riêng; hệ điều hành và ứng dụng dùng RAM hệ thống. Vì vậy, thêm SSD giúp chứa nhiều tệp, còn thêm RAM giúp các công việc dùng bộ nhớ hệ thống.

Bộ nhớ hợp nhất cho CPU và GPU sử dụng chung một vùng nhớ. DGX Spark có 128GB LPDDR5x hợp nhất; hệ điều hành và ứng dụng cũng lấy dung lượng từ vùng này. Khi so với GPU rời, hãy xem cả dung lượng khả dụng và băng thông, tức tốc độ trao đổi dữ liệu với bộ nhớ.

Vì sao hỏi dài làm tăng bộ nhớ?

Tính bộ nhớ cho mô hình và người dùng

Cộng các phần bộ nhớ đang dùng

  1. Trọng số mô hình
  2. Bộ nhớ hội thoại
  3. Vùng làm việc của phần mềm
  4. Tổng bộ nhớ cần dùng

Trọng số mô hình đến Tổng bộ nhớ cần dùng. Bộ nhớ hội thoại đến Tổng bộ nhớ cần dùng. Vùng làm việc của phần mềm đến Tổng bộ nhớ cần dùng

Bộ nhớ cần tính gồm trọng số, KV cache theo ngữ cảnh và số phiên, vùng làm việc và phần dự phòng.

  • Dung lượng thay đổi theo mô hình và định dạng lượng tử hóa.
  • KV cache tăng theo độ dài ngữ cảnh và số phiên đồng thời.
  • Dành bộ nhớ cho phép tính, bộ đệm và tiến trình hệ thống.
  • Cộng các phần đang dùng và chừa dung lượng cho tải tăng thêm.
Lượng tử hóa giảm dung lượng mô hình và có thể thay đổi chất lượng câu trả lời. Khi dùng thêm RAM hệ thống, quá trình trao đổi dữ liệu có thể làm thời gian chờ dài hơn.

Ký hiệu B trong tên mô hình biểu thị hàng tỷ tham số. Dung lượng trọng số phụ thuộc cách lưu từng tham số. Lượng tử hóa dùng cách biểu diễn gọn hơn để giảm bộ nhớ, đồng thời có thể làm thay đổi chất lượng trả lời. Hãy đối chiếu bản gọn trên câu hỏi chuyên môn của bạn.

Ngữ cảnh gồm câu hỏi, tài liệu và lịch sử được đưa vào một lượt xử lý. Khi sinh câu trả lời, mô hình ngôn ngữ thường giữ bộ nhớ đệm KV để tái sử dụng thông tin tính toán. Ngữ cảnh dài và nhiều phiên đồng thời làm phần này tăng lên. Một bản mô hình chạy vừa khi hỏi ngắn có thể hết bộ nhớ khi cả nhóm gửi tài liệu dài.

Thêm GPU phục vụ hai cách chia việc

Phân việc cho hai card GPU

Mỗi GPU chạy một việc

  1. Phần mềm giao việc
  2. GPU thứ nhất
  3. GPU thứ hai

Phần mềm giao việc đến GPU thứ nhất. Phần mềm giao việc đến GPU thứ hai

Bộ điều phối giao các tác vụ độc lập cho hai GPU, mỗi card dùng VRAM của mình.

Hai GPU chạy chung mô hình

  1. Phần mềm chia mô hình
  2. GPU thứ nhất và VRAM
  3. Kết nối giữa hai GPU
  4. GPU thứ hai và VRAM

Phần mềm chia mô hình đến GPU thứ nhất và VRAM. Phần mềm chia mô hình đến GPU thứ hai và VRAM. GPU thứ nhất và VRAM đến Kết nối giữa hai GPU. Kết nối giữa hai GPU đến GPU thứ hai và VRAM

Phần mềm chia mô hình cho hai GPU và truyền dữ liệu giữa các phần qua đường kết nối của máy.

Hai GPU có hai vùng VRAM riêng. Phần mềm phân chia mô hình hoặc tác vụ; khe PCIe, nguồn và tản nhiệt quyết định cách lắp hai card trong máy.

Nếu hai nhân viên tạo ảnh độc lập, phần mềm có thể giao mỗi tác vụ cho một GPU. Nếu một mô hình vượt dung lượng của một card, phần mềm phải hỗ trợ chia mô hình qua các card. Mỗi GPU vẫn giữ VRAM riêng; dữ liệu trao đổi giữa chúng tốn thời gian.

GPU kết nối với hệ thống qua PCIe. Số đường truyền, cách bo mạch chia khe và hỗ trợ truyền trực tiếp giữa GPU ảnh hưởng hiệu quả phối hợp. Offload là chuyển bớt phần xử lý hoặc dữ liệu sang CPU và RAM; cách này có thể giúp chạy vừa, nhưng việc truyền dữ liệu thường kéo dài phản hồi.

  • Đối chiếu kích thước card, khoảng cách khe, nguồn và luồng gió.
  • Thử nhiều lượt liên tiếp để thấy nhiệt và bộ nhớ khi tải kéo dài.
  • Chừa dung lượng cho ngữ cảnh và số phiên dự kiến sử dụng.

Chọn nâng cấp từ kết quả đo

Đo tác vụ trước khi mua thêm GPU

Tìm phần đang làm chậm

  1. Bài thử lặp lại
  2. GPU chạy thử
  3. Bảng số đo
  4. Phương án nâng cấp

Bài thử lặp lại đến GPU chạy thử. GPU chạy thử đến Bảng số đo. Bảng số đo đến Phương án nâng cấp

Bộ thử cố định giúp xác định nên tăng bộ nhớ, năng lực tính toán hay tốc độ truyền dữ liệu.

  • Giữ cố định mô hình, đầu vào và tham số xử lý.
  • Chạy liên tục với số phiên dự kiến sử dụng.
  • Ghi bộ nhớ, thời gian tới kết quả đầu tiên và thời gian hoàn thành.
  • Chọn linh kiện theo phần đang giới hạn tác vụ.
Với sinh ảnh, độ phân giải, số bước xử lý và mô hình phụ đều ảnh hưởng thời gian tạo ảnh. Giữ cùng bộ thiết lập khi so sánh hai cấu hình.

Khi trao đổi với MYGEAR, gửi phiên bản mô hình, định dạng trọng số, mẫu đầu vào và số phiên đồng thời. Với tạo ảnh, ghi độ phân giải, số bước và thành phần bổ sung. Đo bộ nhớ sử dụng, thời gian xuất hiện phần trả lời đầu tiên và thời gian hoàn thành trên cùng bộ mẫu.

Nếu hết bộ nhớ, so sánh bản lượng tử hóa, ngữ cảnh ngắn hơn hoặc phần cứng nhiều bộ nhớ hơn. Nếu chạy vừa nhưng chậm, tìm phần chờ ở tính toán hay truyền dữ liệu. Chọn phương án giữ được chất lượng cần dùng; mua thêm GPU hợp lý khi phần mềm đã tận dụng được chúng.

Tài liệu tham khảo

Các nguồn dưới đây cung cấp thông số thiết bị và hướng dẫn phần mềm được dùng trong bài. Khi cài đặt, hãy đối chiếu đúng mã máy và phiên bản đang sử dụng.