停止與銷毀
這是產品中最重要的區別,也是最常造成意外帳單的一個。請認真讀一次。
簡短版本
| 停止 | 銷毀 | |
|---|---|---|
| 容器 | 關閉 | 移除 |
| 你的硬碟與其內容 | 保留 | 永久刪除 |
| GPU 插槽 | 為你保留,除非平台將它釋放(見下文) | 釋回市集 |
| GPU 費用 | 停止 | 停止 |
| 儲存費用 | 持續累計 | 停止 |
| 可以再繼續用嗎? | 可以,就地繼續 | 不行 |
停止是仍然要花錢的暫停。銷毀是不可逆的,之後不會再產生任何費用。
為什麼停止仍然會對你計費
當你停止執行個體時,你的硬碟仍留在那台實體機器上,而那台機器沒辦法把這塊空間讓給別人。只要執行個體以停止狀態存在,你就得依儲存費率 — 以每 GB 每小時報價 — 為這份佔用付費。
GPU 本身不再計費,為你保留它也不額外收費:已停止的執行個體只收取儲存費。你付的錢是為了保住你的資料,以及你對那個切片的所有權。這裡沒有排隊佔位這回事 — 只要你的停止還占著這些 GPU,別人就租不走它們。
這表示一顆被你遺忘的大硬碟就是一條緩慢又安靜的漏財管道。一個 500 GB 的磁碟區停著放一個月,即使什麼都沒跑,也會實實在在地花掉錢。
如果工作已經做完,就銷毀它。停止是給「我下午就回來」用的,不是給「我做完了」用的。
為什麼 GPU 插槽很重要
停止會保留你在那台特定機器上的位置。當你再次啟動時,你會回到同樣的硬體、同樣的硬碟上 — 不用重新下載、不用重新設定,也不會有你離開期間報價被別人租走的風險 — 除非平台釋放了這些 GPU(你的餘額到了零,或一筆付款爭議凍結了付款;見下文)。
銷毀會立刻釋出這個位置。報價回到市集上,別人可能在幾秒內就把它拿走。你沒有辦法把它要回來。
平台何時釋放 GPU
在機器支援的情況下,有兩種情況會在不銷毀任何東西的前提下結束這份保留:
- 你的餘額到達零。 執行中的執行個體會被停止,組織裡每個已停止的執行個體 — 包括你自己停止的那些 — 其 GPU 都會被釋回機器。
- 一筆付款爭議凍結了組織的付款。 在爭議結束之前,啟動會被拒絕,所以替你保留 GPU 沒有任何意義:已停止執行個體的 GPU 會被釋放,即使餘額為正也一樣;在付款被凍結期間你按下的停止,會立刻釋放 GPU。主控台會在你確認之前說明這一點。執行中的執行個體繼續執行。
釋放會把容器和硬碟留在機器上,執行個體仍然只收取儲存費。改變的是啟動。啟動必須在同一台機器上重新取回同樣的 GPU,因為容器是為它們建立的。如果另一位租用者正在使用其中任何一張,或其中一張已停止服務,啟動會以 409 CAPACITY_UNAVAILABLE 被拒絕,執行個體連同硬碟維持 stopped。請稍後再試,或先把資料複製出來再銷毀它。
在無法釋放 GPU 的機器上,或執行個體執行的是 vm 範本時,它們會像你自己停止之後一樣繼續保留,你仍然只付儲存費。
GPU 回到機器之後,執行個體頁面會顯示 GPU 已釋放,API 的 gpus_released 與 gpu_release 欄位也會說明同樣的情況。請參閱執行個體。
你該用哪一個?
當下列條件全部成立時,選停止:
- 你會在幾小時或一兩天內回來。
- 硬碟上有你不想重建的狀態 — 資料集、conda 環境、檢查點。
- 硬碟夠小,儲存費用比重建所花的時間更划算。
當下列任一條件成立時,選銷毀:
- 工作已經結束。
- 所有有價值的東西都已經推到別的地方 — 物件儲存、git 遠端、模型登錄庫。
- 硬碟很大,重新下載比放著佔位便宜。
銷毀之前
銷毀會刪除硬碟。沒有快照、沒有資源回收筒,也沒有復原。請先把你在意的東西從執行個體上複製出來:
# from your own machine — port, user and host are the ones in the
# connect command on the instance's Connect tab
scp -P <port> -r <user>@<host>:/workspace/checkpoints ./checkpoints
或者把它推到該去的地方 — S3、Hugging Face 儲存庫、git 遠端。
系統自己會做的事
有兩個自動動作套用同樣的區別,用來避免被遺忘的執行個體把帳號掏空:
- 當你的餘額到達零時,執行中的執行個體會被停止,已停止執行個體的 GPU 會在機器支援的情況下被釋放。你的資料還在;儲存費用會繼續記在一個已經見底的餘額上。
- 如果餘額之後在零或以下持續 24 小時,並且在 −$5 或以下,已停止的執行個體會被銷毀。到那個時候資料就沒了。
在那之前儲值。請參閱計費如何運作。