HƯỚNG DẪN KỸ THUẬT

Trình tối ưu hóa trạng thái tải xuống CPU và NVMe

Một thủ thuật tiết kiệm bộ nhớ giúp xử lý việc ghi chép quá trình đào tạo nặng nề (trạng thái tối ưu hóa, độ dốc, đôi khi là trọng số) trong RAM CPU hoặc trên ổ SSD NVMe thay vì bộ nhớ GPU khan hiếm.

Nghe hướng dẫn nàyAI thuật lại · ~2 min

Trên trang nàyĐọc trong 2 phút
  1. Tổng quan
  2. Lặn sâu
  3. Triển khai trong thế giới thực
  4. Tương lai của việc giảm tải trạng thái tối ưu hóa cho CPU và NVMe
  5. Đưa nó vào thực tế
  6. Tiếp tục khám phá
  7. Câu hỏi thường gặp

Tổng quan

It lets people train far larger models than their GPU's memory would otherwise allow.

Lặn sâu

Khi bạn huấn luyện mạng nơ-ron bằng trình tối ưu hóa như Adam, mọi tham số đều mang theo nhiều thông tin bổ sung: hai số liệu thống kê đang chạy (động lượng và phương sai), cộng với một bản sao chính xác đầy đủ của trọng số, cộng với độ dốc của nó. Trong đào tạo có độ chính xác hỗn hợp, tổng số này có thể là khoảng 16 byte cho mỗi tham số, giảm đi 2 byte cho chính trọng số. Việc giảm tải sẽ di chuyển hành lý đó ra khỏi GPU. Việc giảm tải CPU truyền các trạng thái tối ưu hóa vào RAM hệ thống thông thường qua bus PCIe, trong khi việc giảm tải NVMe sẽ đẩy chúng xuống các ổ đĩa thể rắn có tốc độ nhanh. Được phổ biến bởi ZeRO-Infinity và ZeRO-Offload của DeepSpeed, kỹ thuật này đánh đổi tốc độ thô lấy dung lượng, cho phép một GPU hoặc cụm nhỏ tinh chỉnh các mô hình với hàng tỷ tham số.

Triển khai trong thế giới thực

DeepSpeed’s ZeRO-Offload tutorial trains a ten-billion-parameter GPT-2 configuration on a 32 GB V100, with CPU optimizer offloading and activation checkpointing.

A research team evaluates ZeRO-Infinity with CPU and NVMe tiers for a model that exceeds GPU-only capacity.

A fine-tuning team configures CPU optimizer offloading and measures host memory use and update time.

A team compares larger GPUs with offloading, accounting for CPU, storage, and transfer costs.

Tương lai của việc giảm tải trạng thái tối ưu hóa cho CPU và NVMe

Khi các mô hình tiếp tục phát triển bộ nhớ GPU, việc giảm tải theo cấp bậc đang trở thành tiêu chuẩn thay vì kỳ lạ. Mong đợi sự tích hợp chặt chẽ hơn với các kết nối nhanh hơn như nhóm bộ nhớ NVLink-C2C và CXL làm mờ ranh giới CPU-GPU, cộng với bộ lập lịch thông minh hơn có thể dự đoán trạng thái nào sẽ tìm nạp trước. Kiến trúc bộ nhớ hợp nhất như Grace Hopper giảm thiểu hình phạt PCIe và các khung công tác đang hướng tới việc giảm tải nhiều tầng gần như minh bạch để những người có sở thích có thể tinh chỉnh các mô hình lớn trên phần cứng khiêm tốn.

Đưa nó vào thực tế

Tại sao nó quan trọng

  • Chi phí và ngân sách. Các quyết định về kiến ​​trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.
  • Quyết định rõ ràng hơn. Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.
  • Kiểm soát chất lượng. Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.

coi chừng

  • Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.
  • Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.
  • Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.

Các bước tiếp theo

  1. Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
  2. Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
  3. Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
  4. Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.

Tiếp tục khám phá

Bản tin miễn phí

Nhận bản tóm tắt AI hàng ngày

Ba câu chuyện AI đã được xác minh vào mỗi buổi sáng các ngày trong tuần, được viết bằng tiếng Anh đơn giản. Miễn phí mãi mãi, không có quảng cáo.

Một email mỗi ngày trong tuần. Hủy đăng ký trong một cú nhấp chuột. Chúng tôi không bao giờ bán hoặc chia sẻ địa chỉ của bạn.

Tự kiểm tra

Take the Optimizer State Offloading to CPU and NVMe quiz

Phản hồi tức thì về mọi câu trả lời và chứng chỉ có thể chia sẻ với ID có thể xác minh sau khi bạn vượt qua khóa học.

Bắt đầu bài kiểm tra

Hỗ trợ giáo dục AI miễn phí. AI Understanding là tổ chức phi lợi nhuận 501(c)(3) — không bao giờ có quảng cáo, không có tường phí. Hãy quyên góp

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

What is Optimizer State Offloading to CPU and NVMe?

Một thủ thuật tiết kiệm bộ nhớ giúp xử lý việc ghi chép quá trình đào tạo nặng nề (trạng thái tối ưu hóa, độ dốc, đôi khi là trọng số) trong RAM CPU hoặc trên ổ SSD NVMe thay vì bộ nhớ GPU khan hiếm. Nó cho phép mọi người đào tạo các mô hình lớn hơn nhiều so với mức bộ nhớ GPU của họ cho phép.

Mục tiêu chính của việc giảm tải trạng thái tối ưu hóa cho CPU hoặc NVMe là gì?

Việc giảm tải sẽ chuyển các trạng thái tối ưu hóa nặng của GPU sang RAM CPU hoặc NVMe, giải phóng bộ nhớ GPU để các mô hình lớn hơn có thể được đào tạo trên cùng một phần cứng.

For an Adam setup with two FP32 moments and an FP32 master weight, how much memory do those three values use per parameter?

Each FP32 value uses four bytes: two moments plus one master weight total twelve. A sixteen-byte mixed-precision estimate includes other tensors as well.

Khung nào có tính năng giảm tải trình tối ưu hóa quy mô lớn phổ biến?

ZeRO-Offload và ZeRO-Infinity của DeepSpeed ​​đã giới thiệu và phổ biến các trạng thái tối ưu hóa giảm tải cho CPU và NVMe trên quy mô lớn.

Chi phí hiệu năng chính của việc giảm tải cho CPU hoặc NVMe là bao nhiêu?

Việc chuyển trạng thái ra khỏi GPU có nghĩa là truyền dữ liệu qua PCIe hoặc sang NVMe, tốc độ này chậm hơn so với bộ nhớ trên GPU, do đó thông lượng sẽ giảm trừ khi bị chồng chéo với hoạt động điện toán.

Làm thế nào để các hệ thống giảm tải che giấu phần lớn độ trễ truyền tải?

Trình lập lịch trình tìm nạp trước các phân vùng cần thiết qua PCIe trong khi GPU vẫn đang tính toán, chồng chéo giao tiếp với tính toán để che giấu độ trễ.

Tiếp tục học hỏi

Hướng dẫn liên quan

Đã chọn thêm hướng dẫn cho chủ đề này

Nhận chứng chỉ AI miễn phíMột khóa học và kỳ thi ngắn miễn phí. Không tốn phí, không cần thẻ. Khoảng 2,5 giờ.Bắt đầu miễn phí →