TIỀN MÃ HÓA KHÔNG KYCThuê GPU · 3, 7 hoặc 30 ngày
Capordia
Ngôn ngữ: Tiếng Việt
Menu
Ghi chú phương pháp

Di trú một tiến trình mà không mất hay nhân đôi các lô

Để di chuyển một tiến trình, trước tiên hãy xác định ranh giới giữa các kết quả được chấp nhận và công việc cần làm lại. Sau đó dừng nhà sản xuất cũ, chuyển giao một trạng thái có thể kiểm chứng và chỉ cho phép mục tiêu công bố sau khi kiểm tra. Phương pháp này có thể hạn chế mất mát và trùng lặp; nó bao gồm một gián đoạn cần tổ chức. Hồ sơ Capordia cung cấp một sổ đăng ký, một quy trình quyết định và một bài tập trên tám lô tệp, cần thực thi trên CPU trước khi điều chỉnh cách làm cho ứng dụng GPU của bạn.

01

Phân định những gì di trú và những gì phải chờ

Hướng dẫn này dành cho người điều phối tính toán, dữ liệu và vận hành. Ở đây một lô chỉ một gói công việc được nhận diện, khác với một lô card GPU trong danh mục. Phương pháp này phù hợp trước hết với các đầu ra có thể được kiểm tra trước khi chấp nhận. Với một dịch vụ nhận yêu cầu không ngừng, hãy dự liệu nơi các đầu vào mới sẽ chờ, thời gian chờ này có thể chấp nhận bao lâu và cách chúng sẽ gia nhập mục tiêu. Một hồ sơ được sao chép không tự nó định nghĩa chính sách tiếp nhận này.

Bài tập đề xuất làm việc trên một tập hợp khép kín gồm tám lô tổng hợp. Nó không gửi bất kỳ yêu cầu mạng nào và không gọi GPU hay tài khoản Capordia. Nó dạy một logic khôi phục trên một máy đơn và một tiến trình công việc duy nhất. Nó không xác nhận một hàng đợi phân tán, tính liên tục của một dịch vụ được công khai hay việc di chuyển nóng một phép tính. Trước một cuộc di trú thực sự, đội của bạn phải đánh giá các yếu tố này với ứng dụng và phần cứng đã chọn.

02

Lập một bản kiểm kê cho phép tái tạo

Tập hợp mã và phiên bản của nó, các phụ thuộc, tham số, mô hình, đầu vào, tác vụ theo lịch và đích đầu ra. Với mỗi mục, nêu rõ chủ sở hữu, phương pháp tái tạo và kiểm tra mong đợi trên mục tiêu. Ghi tên các bí mật và cách cung cấp chúng, mà không đặt giá trị của chúng vào sổ đăng ký chia sẻ. Một bản cài đặt thủ công hay một tác vụ kích hoạt khi khởi động có thể bị thiếu trong một bản sao đơn giản của thư mục dự án.

Tách riêng các tệp đầu vào, các kết quả được chấp nhận và trạng thái cần thiết để khởi động lại. Với một quá trình huấn luyện, trạng thái này có thể vượt quá trọng số của mô hình: hướng dẫn PyTorch về lưu một checkpoint tổng quát bao gồm đặc biệt trạng thái của bộ tối ưu và tiến độ. Nội dung cần thiết phụ thuộc vào mã của bạn. Hãy khôi phục nó trong một tiến trình mới, rồi so sánh các đầu ra theo một dung sai đã quyết định trước thử nghiệm; đừng suy ra một sự đồng nhất số học phổ quát từ một lần khởi động lại thành công duy nhất.

03

Phân công quyết định, chuyển giao và chấp nhận

Chỉ định vai trò trước khi ấn định khung thời gian. Trong một nhóm nhỏ, một người có thể đảm nhận nhiều vai trò, nhưng các quyết định vẫn tách biệt. Người phụ trách chuyển đổi xác nhận dừng nhà sản xuất cũ và cho phép khởi động mục tiêu. Người phụ trách dữ liệu kiểm soát kiểm kê, dấu vân tay và đầu ra. Chủ sở hữu quy trình đánh giá chất lượng chức năng. Bộ phận vận hành lưu nhật ký thay đổi và chuẩn bị bàn giao.

Phiếu chuyển đổi phải trả lời bốn câu hỏi cụ thể: ai có thể dừng đầu vào, ai xác nhận quy trình cũ không còn phát hành, ai chấp nhận các kết quả đầu tiên và ai quyết định quay lui. Hãy ghi cả giờ giới hạn quyết định và cách liên hệ những người này. «Quay lui nếu cần» không đủ khi mục tiêu đã tạo ra kết quả mà sổ đăng ký cũ không biết.

04

Duy trì sổ đăng ký phân biệt đã bắt đầu và đã chấp nhận

Gán một mã định danh ổn định cho mỗi lô và gắn nó với một phiên bản dữ liệu chính xác. Lưu trạng thái, số lần thử, vị trí kết quả và kiểm tra cho phép chấp nhận nó. Một lô đang chạy không phải đã hoàn tất chỉ vì có tệp đầu ra: tệp đó có thể chưa đầy đủ hoặc đến từ lần thử trước. Quy trình phải nêu rõ những gì sẽ được giữ lại, những gì sẽ được tính lại và những gì sẽ nằm trong cách ly để xem xét.

Trong bài thực hành, một sổ đăng ký SQLite cục bộ giữ trạng thái và việc chấp nhận kết quả trong cùng một giao dịch. Các trạng thái là termine, en_cours và a_reprendre; trạng thái cuối cũng bao gồm một lô chưa khởi động. Mục tiêu tiếp nhận các lô chưa được xác nhận thay vì chạy lại không phân biệt cả tám đầu vào. Các bản xuất JSON và CSV giúp việc theo dõi dễ đọc. Tệp CSV trống đi kèm quá trình chuẩn bị và đánh giá thủ công của bạn; nó không thay thế cơ chế phối hợp của một ứng dụng thực tế.

Ranh giới của bài thực hành Capordia tại thời điểm dừng mô phỏng
Các lôTrạng thái tại ranh giớiQuyết định trước khi tiếp tục
LOT-001 đến LOT-003termineGiữ kết quả và xác minh tính toàn vẹn
LOT-004en_cours, kết quả chưa được chấp nhậnChuẩn bị rõ ràng một lần thử mới
LOT-005 đến LOT-008a_reprendre, không có lần thử nàoKhởi chạy trên mục tiêu sau khi được cho phép
05

Tải và chạy bài thực hành ngắt và tiếp tục

Cần Python 3.10 trở lên với mô-đun sqlite3, và một thư mục cục bộ có quyền ghi. Tải toàn bộ tệp nén và giải nén giữ nguyên script, thư mục dữ liệu và bản kê cùng nhau. Tệp README trình bày chi tiết các lệnh có sẵn. Không cần cài đặt trình điều khiển, gói tính toán hay mô hình nào. Hãy đọc script trước khi chạy, sau đó dùng một thư mục đầu ra mới để bằng chứng của nhiều lần thử không bị lẫn lộn.

Từ thư mục chứa exercice.py, lệnh dưới đây tạo một tham chiếu liên tục, một quy trình bị ngắt, một bản sao chuyển đổi và một lần tiếp tục được so sánh với tham chiếu. Tám tệp CSV chứa 48 số đo kích thước hư cấu của các mẫu, tính bằng micromet nguyên và được tạo cho hồ sơ này. Không có kiểm tra công nghiệp thực tế nào được mô phỏng. Việc tính toán trên CPU dùng để xem xét quản lý lô, không phải để ước tính thông lượng GPU hay thời gian di chuyển dữ liệu của bạn.

Chạy bản minh họa từ thư mục đã giải nén
python exercice.py demonstration --dossier essai-capordia
06

Đọc bằng chứng của lần tiếp tục, theo từng lô

Ví dụ Capordia: một nhóm chuẩn bị tám gói tệp cần xử lý. Tham chiếu xử lý chúng không bị ngắt. Ở luồng còn lại, việc dừng để lại ba lô đã hoàn tất, LOT-004 đang chạy và bốn lô cần tiếp tục mà chưa thử lần nào. Người phụ trách chuyển đổi không yêu cầu «tiếp tục từ giữa chừng»: họ chỉ định LOT-004. Việc chuẩn bị tiếp tục đưa nó về trạng thái a_reprendre: khi đó ba lô đã hoàn tất và năm lô cần chạy. Các lô đã được chấp nhận không được tính lại.

Hãy xem etat.json để biết mã định danh, trạng thái và số lần thử, registre-lots.csv để xem xét, resultats.json để xem kết quả đầu ra, sau đó rapport-verification.json để xem các kiểm tra. Trong lần chạy cục bộ ngày 24 tháng 9 năm 2026 trên Windows AMD64, Python 3.14.6 và SQLite 3.50.4, 16 kiểm tra từ 37 lần chạy script đã thành công: tám kết quả được lấy lại khớp với tham chiếu, các lô đã hoàn thành không được tính lại và một lần chấp nhận mới cho cùng lô đó bị từ chối. Các mục bị thay đổi, mã định danh trùng lặp và kết quả đầu ra bị hỏng cũng được phát hiện.

07

Sao chép một trạng thái nhất quán, rồi kiểm tra tính toàn vẹn của nó

Trong một lần chuyển đổi thực tế, hãy dừng việc tiếp nhận hoặc đưa các mục mới vào một hàng đợi được dự trù rõ ràng. Chờ công việc đang chạy kết thúc, hoặc ghi lại các lô bị gián đoạn theo quy tắc khôi phục của bạn. Sau đó xác nhận rằng phiên bản cũ không thể công bố thêm. Việc niêm phong nguồn trong bài tập này ngăn script dùng lại nó như một bên sản xuất. Đây vẫn chỉ là một biện pháp bảo vệ cục bộ cho kịch bản, không phải loại trừ lẫn nhau giữa nhiều máy mà mỗi máy đều sở hữu một bản sao của trạng thái.

Để sao chép một cơ sở dữ liệu SQLite đang được một ứng dụng sử dụng, tài liệu của nó đề xuất một API sao lưu tạo ra ảnh chụp nhất quán. Vì vậy, việc sao chép thông thường một tệp cơ sở dữ liệu đang được ghi không phải là thao tác nên làm tùy tiện. Hãy kiểm tra cả bảng kê của các tệp đã truyền. Các mã băm SHA-256, có sẵn trong hashlib, giúp phát hiện sự khác biệt về nội dung; chúng không cho biết kết quả có đúng với nghiệp vụ của bạn hay không, cũng không cho biết bảng kê tham chiếu có đáng tin cậy hay không.

08

Quyết định khi nào khôi phục và khi nào quay lại

Chỉ cho phép mục tiêu khi các mục, sổ đăng ký và kết quả được giữ lại khớp với nhau, khi bên sản xuất cũ đã dừng và các điều kiện tiên quyết về phần mềm đã được đáp ứng. Trước tiên hãy chạy một phạm vi mà kết quả đầu ra có thể được đọc lại. Chủ sở hữu quy trình chấp nhận chất lượng; người phụ trách dữ liệu kiểm tra các mã định danh, các mục thiếu và trùng lặp. Khởi động không lỗi là chưa đủ nếu kết quả hữu ích còn thiếu.

Nếu lỗi xuất hiện trước mọi công bố mới, hãy giữ mục tiêu ở trạng thái dừng và bắt đầu lại từ trạng thái nguồn đã kiểm soát theo quy trình đã định. Sau một lần công bố, trước tiên hãy bảo toàn các kết quả và sổ đăng ký của mục tiêu. Đối chiếu các lô mà mục tiêu đã hoàn tất với các lô của nguồn, rồi chọn một phương án khôi phục duy nhất được phép. Kích hoạt lại cả hai bên để tiết kiệm thời gian có thể chính xác tạo ra những trùng lặp mà việc di chuyển phải tránh.

Các quyết định cần ghi vào phiếu chuyển đổi của bạn trước khi can thiệp
Quan sátQuyết định tức thờiĐiều kiện để tiếp tục
Mục bị thiếu hoặc mã băm khácTạm dừng truyền và cô lập bản saoLấy lại một mục khớp với bảng kê tham chiếu
Mã định danh trùng lặp hoặc kết quả đầu ra bất thườngKhông công bố lô liên quanHiểu rõ xung đột và chỉ giữ một phiên bản được chấp nhận
Trạng thái khôi phục không dùng đượcDừng mục tiêu và giữ lại bằng chứngKhôi phục một trạng thái đã biết hoặc áp dụng phương án quay lại đã chuẩn bị
Kết quả nằm ngoài tiêu chí nghiệp vụDừng việc mở rộng phạm vi khôi phụcSửa lỗi rồi làm lại việc kiểm tra chức năng
Đã đến giờ giới hạn quyết địnhKích hoạt quyết định quay lại hoặc hoãnSự đồng ý rõ ràng của người phụ trách và khả năng hoàn tất việc xuất
09

Đo toàn bộ khoảng thời gian và chuẩn bị bàn giao

Lặp lại việc cài đặt, sao chép, kiểm tra, khôi phục và xuất theo đúng thứ tự thực tế của chúng. Ghi lại thời gian của từng giai đoạn và các can thiệp của con người, với một mẫu mà việc truyền được cho phép. Để ước tính khoảng thời gian của bạn, hãy tính đến các mục mới sẽ phải chờ và khả năng xử lý hết lượng tồn đọng đó. Thời gian tốt nhất quan sát được trên một thư mục nhỏ không phải là cam kết cho một khối lượng lớn hơn.

Khoảng thời gian đã chọn phải bao quát giai đoạn chuẩn bị, diễn tập, chuyển đổi, theo dõi và thu hồi kết quả. Các gói Capordia 3, 7 hoặc 30 ngày vẫn là những khoảng thời gian cần tổ chức; hướng dẫn này không suy ra bất kỳ thời gian tính toán nào từ đó. Trước khi kết thúc, một người thứ hai phải tìm lại được sổ đăng ký, mở các kết quả đầu ra từ đích đến của chúng và biết cách chạy lại quy trình xử lý. Hãy lưu trữ quyết định kết thúc phương án dự phòng, các sai lệch được chấp nhận và những việc còn lại trước khi thu hồi các quyền truy cập không còn cần thiết.

10

Bài thực hành kiểm chứng điều gì và điều gì còn cần xác định rõ

Đóng góp của hồ sơ này là một quy trình rõ ràng và một trải nghiệm khôi phục có thể tái lập trên các tệp tổng hợp. Cùng một lô phải có thể nhận diện được trước khi dừng, trong lúc chuyển đổi và sau khi khôi phục. Sổ đăng ký, việc so sánh với một tham chiếu và các trường hợp từ chối được tạo ra giúp quy tắc này có thể quan sát được. Việc gián đoạn được kích hoạt bằng một ngoại lệ có kiểm soát trong script: không có thử nghiệm mất điện nào được thực hiện. Tài liệu kỹ thuật được dẫn ra giải thích các cơ chế được sử dụng; tài liệu đó không chứng nhận môi trường vận hành thực tế trong tương lai của bạn.

Chỉ một tiến trình làm việc tại một thời điểm trong kịch bản. Việc niêm phong cục bộ không phải là một khóa phân tán; một dấu vân tay không phải là một kiểm định chất lượng; một kết quả CPU không phải là một chứng nhận CUDA, ROCm hay đa GPU. Một ứng dụng cũng ghi vào cơ sở dữ liệu bên ngoài, vùng lưu trữ chia sẻ hoặc hàng đợi cần một quy tắc nhất quán trên toàn bộ các đích đến đó. Hãy để quy tắc này và kế hoạch quay lui của bạn được thẩm định trước khi chuyển quy trình xử lý thực tế.

Để chuẩn bị cho bước tiếp theo

Mở thư viện vận hành
TIẾP TỤC HỒ SƠXem các cấu hìnhXem câu hỏi thường gặp