AI ToolsDoc trong 13 phut

Có thể dừng notebook dùng GPU rồi quay lại đúng thí nghiệm đang làm không?

GKE Workspaces tự lưu trữ của Google kết hợp tệp lưu bền, phiên tăng tốc có thể khôi phục và IDE trên trình duyệt. Mỗi lớp phát sinh một loại chi phí khác nhau.

K
Ken Jo

Đã 6 giờ chiều. Notebook cuối cùng cũng nạp xong mô hình và cho kết quả đáng xem kỹ. Nếu dừng phiên, ngày mai bạn có thể mất một phần thời gian để dựng lại môi trường và nạp lại mô hình. Nếu để phiên chạy, một bộ tăng tốc khan hiếm có thể nằm không cả đêm.

Google công bố GKE Workspaces ngày 4 tháng 11. Môi trường phát triển mã nguồn mở này chạy trong cụm Google Kubernetes Engine của nhóm. Bảng điều khiển trên trình duyệt có thể mở JupyterLab hoặc VS Code với tài nguyên đã cấu hình. Dự án xây trên Kubeflow Workspaces và hướng dẫn cách tạm dừng, tiếp tục các phiên được hỗ trợ. Nhóm cần xác định ngày mai mình sẽ cần loại trạng thái nào và phải giữ tài nguyên nào để bảo toàn nó.

Tạm dừng không gian JupyterLab dùng GPU trong ví dụ GKE Workspaces

Ảnh cắt từ video minh họa khôi phục notebook của GKE Workspaces, Apache 2.0. Nguồn ảnh · Giấy phép.

Tệp notebook và phiên đang chạy giữ lại những thứ khác nhau

Tạm dừng notebook dùng GPU: notebook đang chạy, lưu trạng thái, giải phóng pod, tiếp tục trên GPU

Tạm dừng notebook dùng GPU. Minh họa do Telli.sh thực hiện.

Lưu notebook giữ lại các ô đã viết và kết quả nào đã được ghi. Ổ đĩa có thể giữ tập dữ liệu và điểm kiểm tra cho một tiến trình mới. Cả hai đều không tự lưu mọi thứ trong phiên đang chạy. Thí nghiệm có thể chứa biến đã khởi tạo, mô hình nằm trên bộ tăng tốc và trạng thái trung gian cần nhiều thời gian để tạo lại.

Google mô tả cách dùng GKE Pod Snapshots để giữ trạng thái đang chạy được hỗ trợ khi giải phóng tài nguyên tính toán. Tệp của không gian làm việc nằm trên bộ lưu trữ bền vững. Để tiếp tục, cần có tài nguyên tương thích và ảnh chụp trạng thái. Vì vậy, tạm dừng gần với việc tiếp tục một thí nghiệm hơn là chỉ mở lại tệp, đồng thời phụ thuộc vào môi trường bên dưới.

LớpVí dụCâu hỏi cần đặt ra
Tệp lưu bềnNotebook, trọng số lưu đệm, kết quả và phụ thuộcTệp có còn sau khi khởi động mới không?
Điểm kiểm tra ứng dụngĐiểm kiểm tra huấn luyện hoặc trạng thái lượt chạy đã lưuCó thể tiếp tục mà không cần tiến trình cũ không?
Ảnh chụp không gian làm việcTiến trình đang chạy hoặc trạng thái bộ tăng tốc được hỗ trợPhần cứng và môi trường có khôi phục được không?
Tài nguyên cụmNút, hạn mức bộ tăng tốc hoặc tài nguyên đặt trướcTài nguyên tính toán có thật sự được giải phóng và có sẵn sau đó không?

Khả năng tái lập và sự tiện lợi cải thiện hai phần khác nhau của quy trình. Ảnh chụp giúp người muốn tiếp tục phiên sớm. Notebook có thể chạy lại và điểm kiểm tra ứng dụng giúp người khác tái lập công việc hoặc chuyển sang môi trường khác. Với thí nghiệm quan trọng, hãy giữ cả hai.

Nhóm nghiên cứu có thể tạm dừng phiên GPU giữa các cuộc họp, đồng thời đưa mã vào kho và lưu các tệp của mô hình ở nơi bền vững. Nếu về sau không khôi phục được ảnh chụp, nhóm đã có phương án thay thế. Tác vụ huấn luyện dài cũng có thể lưu điểm kiểm tra theo lịch dù không gian khởi chạy hỗ trợ tạm dừng.

Không gian đã dừng vẫn có thể phát sinh chi phí

Theo dõi hóa đơn thực tế: thời gian nút GPU, dung lượng ảnh chụp, thời gian khôi phục, so sánh tổng

Theo dõi hóa đơn thực tế. Minh họa do Telli.sh thực hiện.

Lợi ích kinh tế trước mắt là tránh giữ tài nguyên tính toán khi không ai làm việc. Hóa đơn thực tế phụ thuộc vào cách cụm vận hành sau khi phiên dừng. Nút có thể tiếp tục chạy vì pod khác đang dùng. Việc đặt trước tài nguyên vẫn có thể đi kèm chi phí hoặc cam kết. Ổ đĩa bền vững và các ảnh chụp đã lưu vẫn còn trong hệ thống.

Lấy một ví dụ giả định. Nếu nhà nghiên cứu giữ một bộ tăng tốc đã cấp nhưng không dùng trong 12 giờ sau khi tan làm, tạm dừng cho nền tảng cơ hội giải phóng 12 giờ tài nguyên đó. Đây là khả năng lấy lại công suất. Kết quả tài chính phụ thuộc vào cách cấp và tính phí nút cùng bộ tăng tốc. Nếu nút phải chạy cho công việc khác, thay đổi có thể giúp xếp lịch nhiều hơn là giảm hóa đơn ngay.

Một phép so sánh công bằng cũng tính thời gian. Tạo ảnh chụp cần tài nguyên, khôi phục trạng thái lớn cần thời gian và bộ tăng tốc mong muốn có thể chưa có ngay. Trong cụm đông người dùng, chuyển thiết bị cho người khác có thể vẫn hữu ích dù nhóm đã cam kết thuê sẵn một lượng tài nguyên.

Ghi lúc kết thúc làm việc, lúc không gian dừng và lúc nút có thể được dùng tiếp. Sau đó đo khi nào người tiếp tục phiên có thể chạy ô kế tiếp. Những mốc đó giúp nhóm nền tảng biết chính sách tạm dừng có trả lại công suất đáng kể mà vẫn cho người dùng bắt đầu ngày mới không phải xếp hàng hay không.

Nhóm nền tảng vẫn quyết định cách không gian làm việc vận hành

Tự phục vụ thay đổi người bấm nút. Quản trị viên vẫn quyết định ảnh hệ thống nào được chạy, bộ tăng tốc nào được yêu cầu và cách cụm áp dụng hạn mức và cô lập. Kho mã GKE Workspaces cho biết dự án phát hành theo Apache 2.0 và không phải sản phẩm được Google hỗ trợ chính thức. Khi đánh giá để dùng cho nhóm, hãy tính cả trách nhiệm kỹ thuật khi cài đặt và vận hành.

Kỹ sư ML có thể cần IDE quen thuộc, đủ bộ nhớ và quyền xem tập dữ liệu thí nghiệm. Người phụ trách nền tảng còn phải nghĩ đến danh tính mặc định, quyền bộ lưu trữ, cách dừng tác vụ và ảnh hệ thống nào có thể nhận bản cập nhật. Có thể đáp ứng cả hai nếu mỗi loại không gian nêu rõ những điều phải đánh đổi. Notebook CPU nhỏ và phiên thử nghiệm GPU có thể dùng mặc định khác nhau.

Thông báo cũng mô tả lựa chọn bộ tăng tốc và các kết nối cho công cụ hoặc tác nhân cục bộ. Hãy đọc hướng dẫn cho cụm và trường hợp của bạn trước khi xem chúng là lựa chọn thay thế lẫn nhau. Khôi phục theo phần cứng, truy cập giữa các cụm và kết nối môi trường phát triển cục bộ có điều kiện riêng. Bắt đầu bằng trường hợp đơn giản, nơi thành viên nhóm có thể kiểm tra không gian và xác nhận cụm nào đang chạy nó.

Hãy thử một lần tạm dừng và khôi phục

  1. Đọc hướng dẫn triển khai của dự án và yêu cầu hiện tại về ảnh chụp và bộ tăng tốc trong môi trường GKE. Tạo không gian thử với quyền và giới hạn tài nguyên tương ứng với quy trình dự kiến.
  2. Mở một notebook có thể tái lập. Lưu đầu vào, điểm kiểm tra trung gian của ứng dụng và một tệp kết quả nhỏ. Ghi thời gian và tài nguyên được cấp trước khi tạm dừng.
  3. Tạm dừng không gian và kiểm tra tài nguyên cụm. Xem pod đã dừng chưa, bộ tăng tốc có thể được cấp cho tác vụ khác không và phần lưu trữ nào còn lại.
  4. Tiếp tục không gian. Xác nhận tệp và trạng thái đang chạy đúng như mong đợi, rồi chạy một ô dùng mô hình đã nạp. Đo thời gian từ yêu cầu tiếp tục đến khi notebook dùng được.
  5. Thử khôi phục lần nữa từ tệp đã lưu và điểm kiểm tra ứng dụng. Cách này cho bạn một phương án thay thế và mốc đối chiếu nếu khôi phục ảnh chụp chậm hoặc không dùng được.
  6. Xem lại thiết lập thời gian rảnh với nhóm. Quy định thế nào là không hoạt động và tác vụ chạy lâu có cần loại không gian riêng hay xử lý riêng không.

Hãy thử khôi phục cả khi gặp hạn mức hoặc cụm đang bận. Trình diễn thuận lợi trên cụm trống có thể che khuất khó khăn khi nhiều người trở lại cùng lúc. Mục tiêu là biết hệ thống hoạt động ra sao khi tài nguyên khan hiếm.

Tính xem thời gian GPU được dùng ở đâu

Hãy hình dung một máy trạm của lập trình viên được dùng 40 giờ mỗi tuần. Nếu máy được cấp suốt tuần, tổng cộng là 168 giờ. Nếu nền tảng có thể giải phóng nút GPU mỗi khi dừng và chỉ cấp lại trong 40 giờ làm việc, có thể bớt 128 giờ cấp nút trước khi tính chi phí tạo ảnh chụp và khôi phục. Ví dụ này không giả định giá đám mây hay mức sử dụng. Nó mô tả mức tối đa trong kiểu cấp đó, vì nút dùng chung có thể vẫn đang làm công việc khác cùng thời gian.

Nhóm có thể làm phép so sánh thực tế hơn bằng số liệu tham chiếu từ nhóm GPU của mình. Mỗi khoảng thử nghiệm, hãy ghi số giờ nút, nút có bị tác vụ khác dùng không và dung lượng dữ liệu không gian đã lưu. Ghi cả thời gian từ yêu cầu tiếp tục đến khi chạy được ô sau. Nếu nút ở lại vì tác vụ thứ hai còn chạy, notebook tạm dừng có thể nhường tài nguyên cho tác vụ đó mà hóa đơn không giảm. Đây vẫn là một kết quả hữu ích.

Thời gian tạo ảnh chụp cũng phải tính vào. Nếu tạm dừng lâu trong lúc pod cũ vẫn được cấp tài nguyên, ngưỡng rảnh quá ngắn có thể gây nhiều gián đoạn mà không tiết kiệm mấy. Nếu khôi phục mất vài phút để bộ tự co giãn tìm GPU phù hợp, lập trình viên quay lại sau nghỉ ngắn có thể đợi lâu hơn thời gian tiết kiệm. Hãy đo nhiều khoảng rảnh thay vì mặc định lần tạm dừng nào cũng có lợi.

Chọn trạng thái cần giữ trước khi bật tạm dừng

Kho mã GKE Workspaces mô tả quy trình VS Code không giữ trạng thái và một ví dụ JupyterLab giữ trạng thái riêng. Ví dụ sau minh họa khôi phục notebook dùng GPU, trong đó có mô hình Qwen2.5 3 tỷ tham số trên một T4. Ảnh chụp pod Kubernetes và ví dụ này có điều kiện tương thích cụ thể. Tài liệu GKE của Google giải thích vai trò của GKE Sandbox và cấu hình nút, ảnh hệ thống tương thích. Với GPU, hãy xác nhận nút mới có cùng mẫu GPU được hỗ trợ và môi trường tương thích trước khi dựa vào khôi phục.

Xác định người dùng trông đợi gì ở nút tạm dừng. Một số người muốn giữ tệp, kết quả và trạng thái trình soạn. Người khác muốn ô Python kế tiếp thấy đối tượng đã nằm trong RAM hoặc mô hình trong VRAM. Tập dữ liệu dùng chung có thể ở bộ lưu trữ đối tượng bên ngoài và không thuộc ảnh chụp. Ghi rõ không gian đã chọn có thể khôi phục trạng thái nào, tệp thông thường nằm ở đâu và xử lý thế nào nếu khôi phục thất bại.

Một bài thử thứ hai hữu ích là tạo tình huống thất bại trước khi tiếp tục. Trong namespace thử nghiệm, tạm thời khiến tài nguyên tương thích không sẵn có và kiểm tra xem không gian có báo trạng thái rõ ràng thay vì tạo nhiều lần khôi phục cạnh tranh không. Xem người sở hữu có thể phục hồi từ tệp hay kết quả đã lưu khi tiến trình trong bộ nhớ không thể tiếp tục. Sau đó xóa ảnh chụp thử và kiểm tra cách lưu trữ và thời hạn giữ dữ liệu hoạt động.

Đưa bức tranh chi phí về cho nhóm

Nhà nghiên cứu muốn tiếp tục công việc. Nhóm nền tảng muốn GPU khan hiếm quay lại kho tài nguyên. Người phụ trách hóa đơn muốn biết tài nguyên cấp phát đã thực sự được thu hồi chưa. Một đợt thử có thể trả lời cả ba nếu ghi riêng thời gian rảnh, việc xếp nút, kích thước ảnh chụp, số lần tiếp tục thành công và thời gian phục hồi. Viết hướng dẫn hỗ trợ cho ca thất bại và cho người dùng biết không gian đang tạm dừng, chờ tài nguyên hay sẵn sàng.

Dựa vào mốc đó, chọn chính sách rảnh theo loại tác vụ. Phiên notebook dài với mô hình nạp chậm có thể hưởng lợi từ việc giữ bộ nhớ giữa hai ca. Một thí nghiệm ngắn bắt đầu từ tập lệnh đã lưu có thể chỉ cần tệp bền vững và khởi động sạch. Cả hai có thể dùng chung kho GPU với thời gian phục hồi khác nhau.

Đưa phép thử khôi phục vào danh sách kiểm tra phát hành

Nâng cấp nền tảng có thể đổi ảnh dùng để mở không gian hoặc nhóm nút cấp GPU. Trước khi bật thay đổi cho nhóm, hãy tạo notebook thử trên cấu hình cũ và kiểm tra nó trên cấu hình mới. Phép thử cần phân biệt khôi phục thành công với mở phiên mới bằng cùng một tệp notebook. Đọc một giá trị chỉ tồn tại trong tiến trình thử đang chạy rồi xác nhận các tệp mà tiến trình đó dùng vẫn còn.

Nếu nâng cấp làm ảnh chụp cũ mất hiệu lực, hãy cho người dùng cơ hội lưu kết quả quan trọng và mô tả phương án thay thế. Kiểm tra riêng việc dọn ảnh chụp hết hạn. Kiểm tra khôi phục chỉ chứng minh một không gian cụ thể có thể quay lại. Kiểm tra dọn dẹp cho thấy còn bao nhiêu trạng thái cũ sau khi mọi người ngừng sử dụng.

Hãy giữ lại phần công việc khó tái tạo nhất

Không gian làm việc hữu ích hơn khi giúp mọi người bớt nghĩ đến vòng đời của máy mà vẫn lấy lại được công việc. Điều đó phụ thuộc vào việc tách riêng tệp, điểm kiểm tra, ảnh chụp và tài nguyên. Chọn phần trạng thái nhỏ nhất cần để tiếp tục thuận lợi và bảo đảm vẫn có thể tái lập dự án mà không cần phiên gốc.

Nếu nhóm biết cái gì nằm trên đĩa, cái gì phải khôi phục và khi nào tài nguyên tính toán được trả lại, nhóm có thể đặt chính sách rảnh mà mọi người thực sự sẽ dùng.

Nguồn


Để lưu các cuộc trao đổi và quyết định trong công việc theo cách có thể tìm lại, hãy tạo tài khoản Telli.sh.


← Quay lai blog