
iOS 應用程式的 AI:CoreML、雲端 API 與裝置端 LLM 比較
iOS 應用程式的三條 AI 路徑。CoreML 用於 Apple 生態系統,雲端 API 用於能力,裝置端 LLM 透過 llama.cpp 實現成本與隱私。為 Swift 開發者提供的實用比較。
作為 iOS 開發者,你有三條截然不同的路徑為應用程式加入 AI 功能。每條路徑使用不同的技術,有不同的成本特性,適合不同的任務。選錯路徑會浪費金錢或時間。
本指南從 Swift 開發者的角度比較三種方法:每種能做 什麼、費用多少,以及何時使用。
路徑 1:CoreML
Apple 的原生機器學習框架。CoreML 使用 Apple 的 Neural Engine、GPU 和 CPU 直接在裝置上執行模型。它與 Apple 生態系統深度整合,並針對 Apple 晶片進行最佳化。
CoreML 能做什麼
CoreML 擅長 Apple 已特別最佳化的視覺和傳統 NLP 任務:
- 影像分類和物件偵測 透過 Vision 框架
- 文字分類和情緒分析 透過 Natural Language 框架
- 聲音分類 透過 SoundAnalysis 框架
- 手部姿勢、身體姿勢和面部偵測
- 裝置端翻譯(有限的語言對)
Apple 透過 Create ML 和 Apple 開發者文件提供預訓練模型。你也可以使用 coremltools 從 PyTorch 或 TensorFlow 轉換模型。
CoreML 不能做什麼
CoreML 不支援執行大型語言模型進行文字生成、聊天或複雜推理。沒有原生支援透過 CoreML 執行 GPT 風格的模型來產生對話回應。Apple 的裝置端語言功能僅限於特定的窄領域任務。
整合模式
import CoreML
import Vision
// 影像分類範例
let model = try VNCoreMLModel(for: MobileNetV2().model)
let request = VNCoreMLRequest(model: model) { request, error in
guard let results = request.results as? [VNClassificationObservation],
let topResult = results.first else { return }
print("\(topResult.identifier): \(topResult.confidence)")
}
let handler = VNImageRequestHandler(cgImage: image)
try handler.perform([request])
費用
零。CoreML 推論在裝置上本地端執行,沒有 API 呼叫,沒有每次請求的費用。
最適用於
視覺任務(照片分類、條碼掃描、面部偵測)、文字分類、聲音分析。Apple 提供最佳化模型的任務,或你可以用 Create ML 訓練自訂分類器的任務。
路徑 2:雲端 API
從你的 iOS 應用程式呼叫外部 API(OpenAI、Anthropic、Google)。模型在供應商的伺服器上執行。你的應用程式傳送請求並接收回應。
雲端 API 能做什麼
所有事情。前沿模型如 GPT-4o、Claude 3.5 Sonnet 和 Gemini 可以處理複雜推理、創意生成、多輪對話、程式碼生成,以及需要廣泛世界知識的任務。