top of page

SageMaker AI SOCI 索引將映像下載移出啟動路徑

3 小時前
讀畢需時 13 分鐘

Amazon 推出適用於訓練及處理工作的 SageMaker AI SOCI 索引,讓容器毋須等待完整映像下載完成便可啟動。該功能於 10 月 27 日公布,針對一項常見困擾:在有用的運算開始前,先要等待基礎設施就緒。SOCI 即 Seekable OCI,提供中繼資料,讓容器可按需要擷取映像內容。

核心改變在於操作次序。作業所需的封裝軟件環境,即容器映像,毋須完整傳送到位才可開始執行。這項改變挑戰了傳統的先下載、後執行模式,同時毋須團隊重新設計其機器學習實驗。

這種做法已有先例,包括 Amazon 的受管容器運算服務 AWS Fargate。其意義在於,這項方法現被帶入受管訓練及處理環境。對平台工程師而言,問題在於提早執行能否為其實際工作負載帶來更早的結果。

SageMaker AI SOCI 索引改變工作可開始的時機

這項公布改變的是啟動依賴關係,而非模型的底層運算。

根據 AWS 的 SOCI 索引映像公布,此功能支援 AWS 區域內的訓練及處理工作。合資格映像必須存放於 Amazon ECR 私有儲存庫,即 Amazon 的容器登錄檔服務。私有 Docker 登錄檔存取模式不包括在內。SageMaker 會檢查是否存在索引,並在需要時回復採用傳統下載方式。

這個範圍相當重要,因為「更快的工作」可指多種不同改善。更快的處理器可縮短運算時間;更佳的演算法可減少所需工作量;而提早執行容器,則處理該工作開始前的等待時間。

這些改善屬於不同的工程討論。評估模型質素的團隊,不應將基礎設施優化視作預測結果更佳的證據。然而,平台團隊則有理由研究任何可消除重複延遲的改變。

試想一個示例性的開發流程。工程師提交實驗、等待初始化、發現設定錯誤,然後提交已修正的運行。模型本不需要那次失敗嘗試,但工程師仍須承受其啟動延遲。

即使最終訓練運行維持不變,縮短這種延遲也能改善回饋循環。這是營運層面的推論,而非 AWS 報告的客戶成果。其價值取決於團隊重複這個流程的頻率。

這項公布亦改變了值得量度的項目。只顯示應用程式執行時間的儀表板,會忽略應用程式碼可用之前的時段;只顯示容器就緒狀態的儀表板,則會漏掉其後發生的一切。

因此,有效的評估需要清晰劃分不同界線。團隊應分別量度提交、基礎設施準備、應用程式初始化、有用運算及完成。即使服務將它們一併呈現,這些標籤仍描述使用者等待時間的不同部分。

這種劃分可避免一個常見誤解。工作跨越容器啟動界線後,並不代表它必然從作業中消失。有些工作可與執行重疊;另一些工作在被要求時仍會阻塞應用程式。

因此,相關比較是先下載後執行,與映像僅部分可用時便開始執行的差異。這並非機器學習框架之間的競賽,亦不是包裝工作已不再重要的說法。

SageMaker 容器啟動值得關注,因為它位於工程師作出決定與取得下一項決定所需證據之間。當這段時間反覆打斷進行中的工作時,其實際好處便會增加。

這項功能亦為基礎設施負責人提供更具體的優化目標。他們毋須再只問整個環境是否感覺緩慢,而可檢視有多少等待時間來自準備其軟件套件。

這個較聚焦的問題讓公布內容更具可行性。它指出一種可在不改變實驗科學目的下,被分離、量度及比較的延遲。

短期實驗令啟動開銷備受檢視

最強的營運理據來自反覆等待,尤其是每項工作只進行相對少量有用運算時。

節省固定時段的優化措施,對不同工作負載具有不同意義。對耗時甚長的訓練運行而言,該時段佔完成時間的比例較小;對簡短的驗證工作而言,它卻可能主宰整個使用體驗。

這項差異說明平台團隊應分別評估不同工作類別。全機構平均值可能掩蓋初始化佔等待時間最大比例的工作流程,也可能誇大以運算為主的工作負載的相關性。

壓力首先落在負責共享執行環境的工程師身上。他們選擇封裝慣例、維護受支援映像,並調查有關實驗緩慢的投訴。提早執行為這項責任增加了另一個選項。

應用程式開發人員亦面對相關問題:其程式在有用工作開始前必須讀取甚麼?當啟動行為變得可見時,在已準備妥當的環境中看似無害的依賴項目,便值得更仔細審視。

處理工作流程提供了一個示例。假設某項工作載入環境、轉換少量輸入,然後寫出結果。它的業務價值取決於完成的輸出,而非只取決於轉換本身所需時間。

若環境準備佔去大部分經過時間,優化轉換過程可能針對了錯誤的瓶頸。首要調查應是比較準備時間與有用執行時間。

同樣的推理亦適用於實驗。更快的回饋不會自動改善模型,但會改變開發人員淘汰失敗設定的速度。這可令工作時段更有效率,而毋須改變模型數學原理。

財務解讀同樣需要審慎。較短的經過執行時間可支持效率論點,但機構應根據自身的計費記錄計算節省金額。單憑容器就緒狀態比較,無法證實機構最終可減少多少開支。

團隊亦應區分總體資源時間與經過的專案時間。平行工作可減少合計資源時間,卻未必縮短專案中最長依賴關係的時間;串行實驗則可將較早得到的結果,直接轉化為較早的下一步。

兩種結果本身並無高下之分。它們為不同負責人回答不同問題。財務團隊關心可量度的資源消耗,而研究人員通常關心從提交構想到看見證據之間所需時間。

這正是為何評估 SageMaker 容器啟動時,應將其與完成時間並列,而非取而代之。這些量度之間的關係,可揭示優化是否真正有助使用者實際經歷的工作流程。

這亦帶來優先次序上的影響。團隊應先調查反覆出現的延遲,而非追求宣傳中最大的加速比例。在常用工作流程中的小幅改善,可能比罕見工作中的戲劇性結果更重要。

這項判斷需要實際工作清單。識別哪些工作流程會重複、哪些等待會中斷進行中的工作,以及哪些任務本已將大部分時間花在運算上。

這項公布促使團隊更精確地提出這些問題。它並不證實每條既有管線均需立即遷移,亦不代表映像傳送是每個團隊最大的瓶頸。

延遲載入重新排序傳送,而非將其消除

這項機制讓指定映像內容可在整個套件傳送完成前提供使用。

AWS 對 容器映像延遲載入 的說明描述了其底層方法。負責管理容器檔案系統的元件 snapshotter,會使用已索引的中繼資料定位所需內容。在背景活動將更多映像資料帶入本機儲存空間的同時,它會擷取相關的壓縮部分。

AWS 在 2023 年 7 月記錄了 Fargate 對 SOCI 的支援。這段歷史證實該機制的較早應用,而非對新 SageMaker 結果的獨立驗證。

重要含意是,傳送與執行可以重疊。系統毋須在允許應用程式開始前,先完成準備所有可能的依賴項目。

這可比喻為直接打開參考書的相關章節,而非閱讀之前的每一頁。所需資訊仍存在於其他地方;優勢在於按配合眼前任務的次序存取資訊。

軟件帶來了這個比喻未能涵蓋的複雜性。應用程式可能要求意料之外的依賴項目、匯入另一個程式庫,或在初始化期間檢查檔案。每個要求都會改變下一步必須可用的內容。

這使啟動行為同時成為映像及應用程式的特性。單憑套件大小,無法說明執行時會立即需要哪些內容。兩個大小相若的環境,可能具有不同的初始存取模式。

這亦是為何不應將提早執行與減少總資料傳輸混為一談。即使大量資料仍會在其後傳送,傳送策略仍可透過改變時機來改善回應速度。

這項區別對工程決策相當重要。試圖減少儲存消耗的團隊,所需量度方法與試圖減少啟動延遲,即有用執行開始前延誤的團隊不同。

Google 透過 GKE 映像串流 提供相關比較。Google Kubernetes Engine 會在應用程式要求時串流合資格映像資料,並於背景下載映像。其文件亦警告,大量初始化讀取可能削弱好處。

這些服務處理不同的操作環境,因此這些文件並不支持直接的效能排名。不過,它們展示了共同的架構回應:避免將完整映像傳送作為執行的普遍先決條件。

這個業界背景支持的結論,比雲端服務供應商競賽更為聚焦。選擇性傳送是成熟的基礎設施技術,而其效能取決於工作負載的存取模式。

對採購者而言,有用的比較在於營運配合程度。哪個環境已承載該工作負載?適用哪些登錄檔及執行環境要求?甚麼證據顯示提早執行最終確實帶來較早完成?

因此,SageMaker 延遲載入應作為映像傳送中的排程改變,納入架構討論。它改變依賴項目相對於應用程式活動到達的時機。

它並不能取代維護依賴項目、檢視軟件內容或理解初始化流程的需要。事實上,當團隊希望解釋為何某個應用程式比另一個受益更多時,這些做法會變得更有用。

這個機制獎勵對執行所需條件的清晰理解。這讓平台工程師有具體依據,可從標題所示的映像檔大小以外解讀結果。

基準測試區分更早啟動與更快訓練

AWS 報告的結果支持縮短準備等候時間,但整體工作持續時間的改善較小。

AWS 測試了八個壓縮後大小介乎 1.8–35.4 GB 的映像檔。其最大的範例在容器就緒前所需時間,由 7 分 17 秒降至 3–11 秒。在完整訓練測試中,第一個 epoch,即對訓練資料的一次遍歷,則長了 3–16 秒。其後各個 epoch 的結果在執行變異範圍內相符,而工作完成時間則早了 1–6 分鐘。

這些是公司報告的測量結果,並非獨立重現的結果。其適用範圍與數值本身同樣重要。準備時間大幅減少,並不代表完整訓練會有同等比例的縮短。

結果顯示,部分等候時間轉移至早期執行階段,同時執行前的等候時間有更大幅度減少。這與該機制一致。應用程式較早啟動,然後遇到一些仍需送達的內容。

讀者不應將這種關係視為普遍承諾。基準測試只會為其測試條件建立行為證據。要擴大採用,必須有證據顯示相同模式能在不同環境和應用程式初始化順序中維持。

一個有用的質疑問題是:首個有用結果是否更早出現。容器就緒固然有價值,但使用者最終需要的是完成的轉換、訓練檢查點或其他有意義的輸出。

答案可因工作流程而異。一個應用程式可能看似有回應,卻在初始化上花費額外時間。另一個可能幾乎立即開始進行有效運算,並讓大部分餘下的傳送工作與該運算重疊。

因此,評估應保留完整順序。記錄容器何時可用、有用工作何時開始,以及工作何時完成。應在等效條件下比較這些界線。

等效條件尤其值得注意。若比較時更改了應用程式程式碼、映像檔內容或輸入資料,便無法清晰地分離傳送策略的影響。它仍可能提供資訊,但解讀會較不確定。

重複測量亦比挑選一次異常有利的執行結果更可取。基礎設施效能會波動,而可靠的改善在營運上比孤立的最佳個案更重要。

團隊應同時檢視較慢結果與典型結果。一項策略若改善了通常的體驗,卻引入不可預測的等候時間,其推出決策便應與同時改善兩者的策略有所不同。

正確性也應納入同一評估。若應用程式產生不完整的成品或改變預期行為,較早完成的價值便不大。效能驗收應配合現有的成功輸出檢查。

此處審閱的來源證據並未證實效能適用於每種處理工作負載。訓練測量不應僅因兩者皆可使用容器,便被延伸為對無關應用程式的一概說法。

SageMaker lazy loading 最適合在保留這個區分的前提下評估。所報告的基準測試提供了測試某個工作負載的理由,而該工作負載則提供部署所需的證據。

因此,最有力的結論是具體的:AWS 報告指出,準備時間顯著縮短,並反映為更短的完整訓練工作時間。這項效益的程度仍是應用程式層面的問題。

採用將焦點轉向映像檔發佈管理

一個簡單的工作參照,可能掩蓋了為準備和驗證該映像檔而需承擔的更大責任。

AWS 的 索引容器指引 指出,受支援的 Deep Learning Containers,即由 AWS 維護的機器學習環境,會使用 -soci 標籤後綴。當中列出 PyTorch Training、TensorFlow Training、vLLM 和 SGLang 選項。該指引亦區分索引 manifest 版本,即描述索引如何與其映像檔關聯的中繼資料結構。

就採用而言,AWS 提供預先建立索引的容器,或為自訂映像檔建立索引。工作介面維持熟悉,儘管映像檔參照有所改變。由已建立索引的基底衍生出的最終映像檔,需要其本身的索引。

這個區分應塑造對「無需變更」的預期。避免採用新工作介面,並不代表可以避免發佈工作。仍然需要有人選擇映像檔、驗證其適用性,以及決定如何推廣使用。

對於使用既有受支援環境的團隊,評估可集中於高度匹配的映像檔變體。對於維護自有環境的團隊,索引則成為另一個需要追蹤的發佈成品。

發佈成品是供部署使用的封裝輸出。如此看待索引,便能為它指定負責人並納入驗證流程,而非把它留作可選的人手步驟。

單憑命名慣例不足以證明已準備就緒。標籤向人傳達意圖,而登錄庫內容決定執行環境實際可使用甚麼。發佈審查應顧及這項差異。

固定發佈版本與自動更新參照之間的選擇,同樣值得注意。可重現性與快速維護雖有關聯,卻是不同的優先事項。團隊應有意識地作出這項決定,而非從範例中沿用。

本機驗證提供另一個有用界線。Finch 是一個開源容器開發用戶端,其文件說明如何透過 SOCI 進行本機 lazy loading。其指示要求啟用相關 snapshotter,並在執行容器時明確選用它。

這項本機檢查可協助在受管工作執行前研究應用程式行為。它無法證明在不同環境中會有完全相同的效能。雲端工作負載仍需要本身的完成時間比較。

相容性審查仍然必要。AWS 提醒,已建立索引的 SageMaker 路徑使用 containerd,即一種容器執行環境,而依賴 Docker 特定行為的指令碼需要檢查。

實際回應應是針對性審查,而非假設每個容器都不相容。檢視初始化指令碼及其依賴項目,然後在預期的執行環境下測試應用程式路徑。

工程文件可令這個程序更容易重複。記錄確切映像檔參照、驗證條件、觀察到的時間,以及推出決定。這些細節讓另一位工程師無需重建實驗,亦能理解有何改變。

整理這些記錄的團隊可使用可搜尋的工程知識庫。有用的連結在於保留技術證據,特別是在日後映像檔發佈需要重新驗證時。

SageMaker AI SOCI indexing 應作為可量度的基礎設施選項,融入發佈流程。其營運質素既取決於可重現的準備和審查,也取決於最初的標籤變更。

這種框架使採用保持相稱。先從具代表性的工作負載開始,建立驗收準則,並在所得證據支持時擴大使用。

留意完成時間、發佈覆蓋率和啟動行為

下一項有用證據,是改善是否能在實際發佈和具代表性的工作負載中持續存在。

在未來數個月,首項值得留意的訊號是對完整工作持續時間的獨立報告。應優先考慮披露映像檔、工作負載、比較條件和測量界線的說法。

持續較早完成會加強擴大使用的理據。若報告只顯示容器較早就緒,所能證實的較少,尤其是在應用程式初始化吸收了差異的情況下。

一份有用的報告亦應區分成功執行與成功優化。工作可以產生正確輸出,卻未必顯示經過時間有任何有意義的減少。兩項發現都值得保持可見。

第二項訊號是覆蓋團隊實際部署環境的程度。受支援的框架版本和獲維護的自訂映像檔,比存在一個令人印象深刻的示範映像檔更重要。

若能在日常發佈中可靠地建立索引,將加強營運理據。一項優化若在一般維護期間反覆消失,便需要額外的發佈工程工作,才適合廣泛採用。

這個訊號關乎流程連續性,而非承諾的產品期限。AWS 並未就每個機構偏好的映像檔提供通用時間表。買家在評估自身環境時應檢查目前供應情況。

第三項訊號,是把啟動存取模式與測量結果連結起來的證據。團隊需要了解哪些應用程式可在依賴項目有限時開始有用工作,哪些則需要大量準備。

能解釋這些差異的結果,會令 SageMaker AI SOCI indexing 更容易在全面推出前作出評估。無法解釋的變異,會令廣泛的效能承諾較不實用。

這些訊號亦釐清平台負責人應向內部評估要求甚麼。聲稱啟動更快,需要有明確界線。聲稱資源消耗較低,需要有測量的消耗數據。聲稱開發人員體驗更佳,需要與工作流程建立關聯。

最後一點很容易被忽略。無人看管的工作與互動式實驗,在技術時間上可以相近,卻會對一個人的一天帶來不同影響。評估應反映誰在等候,以及為何等候。

因此,SageMaker 容器啟動是一項有用測量,但它屬於對有效執行的更廣泛描述之一部分。它應有助解釋使用者體驗,而不是取代它。

無需把這項公告變成即時遷移要求。它的價值在於提供一個具體機會,以不同傳送策略檢視反覆出現的延誤來源。

選擇一項其初始化反覆中斷有用工作的工作負載,然後將其目前映像檔路徑與合資格的已建立索引替代方案比較。保持應用程式程式碼和輸入一致。記錄就緒、有用執行、完成和輸出正確性,讓比較能回答實際問題。把映像檔參照和條件與結果一併保留,並在環境改變時重複評估。若較早啟動同時帶來較早可用的輸出,可考慮將 SageMaker AI SOCI indexing 延伸至相似工作。若非如此,應在擴大採用前調查等候時間移往何處。哪一項重複工作最能為你的團隊提供有關更早啟動價值的清晰證據?

 
 

為每個智能代理提供更完整的背景,提升工作表現

讓智能代理連接 remio 已整理好的知識、決策和歷史紀錄。

remio 目前支援 Windows 10+(x64) 及配備 Apple 晶片的 Mac。

你的 AI 工作夥伴
和 remio 一起高效工作

規劃、創作、交付
一站式完成

bottom of page