對於尋求整合 AI 功能的應用程式開發人員,Microsoft Windows 提供一個全面且靈活的平臺,同時支援本機、裝置上的處理和可調整的雲端式解決方案。
在雲端式和本機 AI 模型之間選擇,取決於您的特定需求和優先順序。 許多生產應用程式採用混合策略:先嘗試本地 Windows AI API 或本地模型,然後在模型未安裝、裝置不支援、使用者未同意模型下載,或任務需要更大模型時,再回退到雲端端點。
考量因素包括:
- 資料隱私權、合規性和安全性
- 資源可用性
- 無障礙使用與協作
- 費用
- 維護和更新
- 效能與延遲
- 延展性
- 連線需求
- 模型大小和複雜度
- 工具和相關聯的生態系統
- 自定義和控制
應用程式開發人員的重要決策因素
數據隱私權、合規性和安全性
本機、內部部署: 由於數據會保留在裝置上,因此在本機執行模型可以提供有關安全性和隱私權的優點,並負責維護使用者的數據安全性。 開發人員負責管理更新、確保相容性,以及監視安全性弱點。
雲端: 雲端提供者提供強大的安全性措施,但數據必須傳輸到雲端,在某些情況下可能會引發商務或 App Service 維護者的數據隱私權考慮。 傳送數據至雲端也必須符合數據保護法規,例如 GDPR 或 HIPAA,視應用程式運作的數據本質和區域而定。 雲端提供者通常會處理安全性更新和維護,但使用者必須確定他們使用的是安全的 API,並遵循數據處理的最佳做法。
資源可用性
本機、內部部署: 執行模型取決於所使用的裝置上可用的資源,包括 CPU、GPU、NPU、記憶體和記憶體容量。 如果裝置沒有高計算能力或足夠的記憶體,這可能會受到限制。 小型語言模型(SLM) Phi和 ,更適合在裝置上本地使用。 Copilot+ PC 提供內建模型,並支援 即用 AI 功能 Microsoft Foundry on Windows。
雲: 雲端平臺,例如 Azure AI 服務,可提供可調整的資源。 您可以視需要使用計算能力或記憶體,並只支付您所使用的費用。 大型語言模型(LLM),如 OpenAI 語言模型,需要更多的資源,但也更強大。
輔助功能與共同作業
本機、內部部署: 除非手動共用,否則模型和數據只能在裝置上存取。 這有可能讓模型數據的共同作業更具挑戰性。
雲端: 模型和數據可以透過因特網連線從任何地方存取。 這在共同作業案例中可能更好。
成本
本機、內部部署: 除了在裝置硬體的初始投資之外,沒有額外的成本。
雲端: 雖然雲端平臺是以隨用隨付模型運作,但成本可以根據使用的資源和使用量持續時間來累積。
維護和更新
本機、內部部署: 使用者負責維護系統及安裝更新。
雲端: 雲端服務提供者會處理維護、系統更新和新功能更新,減少使用者的維護額外負荷。
效能和延遲
本機、內部部署: 在本機執行模型可以減少延遲,因為不需要透過網路傳送數據。 不過,效能會受限於裝置的硬體功能。
雲: 雲端式模型可以利用功能強大的硬體,但可能會因為網路通訊而造成延遲。 效能可能會根據使用者的因特網連線和雲端服務的回應時間而有所不同。
延展性
本機、內部部署: 在本機裝置上調整模型可能需要顯著的硬體升級或新增更多裝置,這可能是昂貴且耗時的。
雲: 雲端平臺提供簡單的延展性,可讓您根據需求快速調整資源,而不需要進行實體硬體變更。
連線能力需求
本機、內部部署: 本機裝置不需要因特網連線才能執行模型,這在連線能力有限的環境中很有用。
雲: 雲端式模型需要穩定的因特網連線才能存取,而且可能會受到網路問題的影響。
執行時可用性與備援
本地、本地部署: 本地 AI 功能會依硬體、 Windows 版本、 Windows App SDK 版本、地區,以及是否安裝可選模型而有所不同。 在啟動本地 AI 功能前,請檢查其準備狀態,並引導使用者完成所需的模型下載或同意流程。 對於 Windows AI API,請使用《 開始使用 Windows AI API》 及個別 API 頁面中所記錄的 API 專屬準備模式。
克勞德: 當本地模型尚未準備好或尚未支援現有裝置時,雲端端點可以提供備用方案。 決定備援是自動的、使用者控制的,還是在隱私敏感情境下停用。 確保介面說明資料何時離開裝置。
模型大小和複雜度
本機、內部部署: 本機裝置可能會有因硬體限制而執行之模型大小和複雜度的限制。 較小的模型,例如 Phi,更適合本機執行。
雲: 雲端平臺可以處理較大型且更複雜的模型,例如 OpenAI 所提供的模型,因為其可調整基礎結構。
工具和相關聯的生態系統
本地、本地部署: 本地 AI 解決方案,如 Microsoft FoundryMicrosoft Foundry on Windows、 和 WindowsFoundry Local,與 Windows App SDK 及 ONNX Runtime 整合,讓開發者能以最小的外部依賴直接將模型嵌入桌面或邊緣應用中。
雲: 雲端 AI 解決方案,例如 Microsoft Foundry、 Azure AI 服務和 Azure OpenAI 服務,提供一組完整的 API 和 SDK 來建置 AI 應用程式。 這些服務的設計目的是要無縫整合 DevOps、GitHub、語意核心 和其他服務,以支援大規模的端對端協作、模型部署及監控。
自定義和控制
本機、內部部署: 本機模型可以直接使用,不需要高深的專業知識。 Microsoft Foundry on Windows 提供這類 Phi Silica 已準備好使用的模型。 或者, Windows ML 可讓開發人員直接在裝置上 Windows 執行自定義模型,例如使用 ONNX 運行時間定型的模型。 這會提供模型及其行為的高階控制,允許根據特定使用案例微調和優化。 Foundry Local 也允許開發人員在裝置上本機執行 Windows 模型,以提供對模型及其行為的高階控制。
雲: 雲端式模型也提供現成可用的和可自定義的選項,讓開發人員能夠運用預先定型的功能,同時仍根據其特定需求量身打造模型。 Microsoft Foundry 是企業 AI 作業、模型產生器和應用程式開發的整合 Azure 平臺即服務供應專案。 此基礎將生產級基礎設施與友善的介面相結合,使開發人員能夠專注於建立應用程式而不是管理基礎設施。
雲端 AI 範例
如果雲端式解決方案適用於您的應用程式 Windows 案例,您可能會對下列一些教學課程感興趣。
許多 API 都可用來存取雲端式模型,以在應用程式中提供 AI 功能 Windows ,不論這些模型是自定義還是可供使用。 使用雲端式模型可讓應用程式透過將資源密集型工作委派給雲端,以保持簡化。 幾個資源可協助您新增 Microsoft 或 OpenAI 所提供的雲端式 AI 支援的 API,包括:
將 OpenAI 聊天完成新增至您的 WinUI 3 / Windows App SDK 傳統型應用程式:如何將雲端式 OpenAI ChatGPT 完成功能整合到 WinUI 3 / Windows App SDK 傳統型應用程式的教學課程。
將 DALL-E 新增至您的 WinUI 3 / Windows App SDK 傳統型應用程式:如何將雲端式 OpenAI DALL-E 映射產生功能整合到 WinUI 3 / Windows App SDK 傳統型應用程式的教學課程。
Azure OpenAI 服務:如果您想要讓 Windows 應用程式存取 OpenAI 模型,例如 GPT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo、DALLE-3 或 Embeddings 模型系列,並新增的安全性和企業功能 Azure,您可以在此 Azure OpenAI 檔中找到指引。
Azure AI 服務: Azure 提供一套完整的 AI 服務,可透過 REST API 和熱門開發語言的用戶端連結庫 SDK 來使用。 如需詳細資訊,請參閱每個服務的文件。 這些雲端服務協助開發人員和組織快速創建智慧、尖端、市場就緒且具責任感的應用程式,使用現成、預建及可自訂的 API 和模型。 範例應用程式包含適用於對話、搜尋、監視、翻譯、語音、視覺和決策制定的自然語言處理。
設計混合本地/雲端路徑
當你的應用程式應該利用本地推論時,使用混合路徑,同時在不支援的裝置上或本地模型尚未準備好前,仍能提供有用的體驗。
- 先選擇當地能力。 當它符合你的情境時,可以先用 Windows AI API,或者在需要執行特定模型時使用 Windows 機器學習 Foundry Local 。
- 使用前檢查準備狀況。 在啟動時或功能顯示前,查詢本地功能的準備狀態。 如果 API 顯示該功能未被支援、未安裝或需要下載,不要盲目地呼叫它。
- 當必須下載本地模型時,請先徵求同意。 部分本地機型為選配,容量可達數 GB。 說明下載容量、為何需要這個模型,以及應用程式是否能在沒有它的情況下繼續使用。
- 定義雲端備援。 如果本地模型尚未準備好,只有當使用者和組織允許資料離開裝置時,才呼叫雲端端點。 把本地和雲端路徑放在同一個應用程式層級抽象後面,這樣應用程式的其他部分就不會依賴推論的執行位置。
- 讓行為可觀測。 記錄所使用的路徑、準備失敗、模型下載結果及雲端備援錯誤,除非您的組織已核准該資料處理,否則不要記錄提示、令牌或敏感內容。
混合回退決策流程
以這個流程作為起點:
- 當使用者啟動 AI 功能時,請檢查本地 AI 功能是否符合該任務。
- 如果沒有本地功能適合這個任務,就用雲端 AI 或其他服務。
- 如果本地功能符合任務需求,請檢查該功能是否已在當前裝置上準備好。
- 如果本地特徵準備好了,就執行局部推論。
- 若本地功能需要模型下載,請在開始下載前徵求使用者同意。
- 若使用者同意,請下載或準備模型,然後重新嘗試本地推論。
- 如果使用者不同意,或本地功能不支援,請檢查該情境是否允許雲端備援。
- 如果允許雲端備援,就使用雲端路徑。
- 如果不允許雲端備援,說明裝置、型號或政策的需求,並停用或隱藏該功能。
有關本地準備度的詳細資訊,請參見 Windows AI API、開始使用 Windows AI API 以及Foundry LocalWindows機器學習。