• 文件 >
  • ExecuTorch Llama iOS 範例應用程式
捷徑

ExecuTorch Llama iOS 範例應用程式

[更新 - 10/24] 我們已新增對在 XNNPACK 後端上的範例應用程式中執行量化 Llama 3.2 1B/3B 模型的支援。 我們目前支援使用 SpinQuant 和 QAT+LoRA 量化方法進行推論。

我們很高興地宣布,全新改版的 iOS 示範應用程式已上線,其中包含許多新更新,旨在透過聊天使用案例提供更直觀、更流暢的使用者體驗!此應用程式的主要目標是展示 ExecuTorch 如何輕鬆整合到 iOS 示範應用程式中,以及如何運用 ExecuTorch 和 Llama 模型提供的眾多功能。

此應用程式是一個寶貴的資源,可以激發您的創造力,並提供您可以自訂和調整以滿足您特定使用案例的基本程式碼。

請立即深入探索我們的示範應用程式!我們期待收到您的任何回饋,並期待看到您的創新想法。

主要概念

從這個示範應用程式中,您將學習到許多關鍵概念,例如

  • 如何準備 Llama 模型、建置 ExecuTorch 函式庫,以及在不同委派之間執行模型推論

  • 透過 Swift Package Manager 公開 ExecuTorch 函式庫

  • 熟悉目前 ExecuTorch 面向應用程式的功能

我們的目標是讓您了解 ExecuTorch 提供的支援類型,並放心地將其用於您的使用案例。

支援的模型

總體而言,此應用程式支援的模型有(因委派而異)

  • Llama 3.2 量化 1B/3B

  • BF16 中的 Llama 3.2 1B/3B

  • Llama 3.1 8B

  • Llama 3 8B

  • Llama 2 7B

  • Llava 1.5 (僅限 XNNPACK)

建置應用程式

首先,重要的是要注意,目前 ExecuTorch 支援多個委派。一旦您確定了您選擇的委派,請選擇 README 連結,以取得完整的端到端說明,了解環境設定、匯出模型以建置 ExecuTorch 函式庫和在裝置上執行的應用程式

委派

資源

XNNPACK (基於 CPU 的函式庫)

連結

MPS (Metal Performance Shader)

連結

如何使用 App

本節將提供使用該App的主要步驟,以及ExecuTorch API的程式碼片段。

Swift Package Manager

ExecuTorch 執行階段以 Swift 套件形式分發,提供一些預先建置的二進位目標的 .xcframework。 Xcode 將在首次執行時下載並快取套件,這需要一些時間。

注意:如果您遇到與套件相依性相關的任何問題,請完全退出 Xcode,刪除整個 executorch 儲存庫,透過在終端機中執行以下命令清除快取,然後重新複製儲存庫。

rm -rf \
  ~/Library/org.swift.swiftpm \
  ~/Library/Caches/org.swift.swiftpm \
  ~/Library/Caches/com.apple.dt.Xcode \
  ~/Library/Developer/Xcode/DerivedData

將您的二進位檔與 ExecuTorch 執行階段以及匯出的 ML 模型使用的任何後端或核心連結。建議將核心執行階段連結到直接使用 ExecuTorch 的元件,並將核心和後端連結到主要的應用程式目標。

注意:要存取日誌,請連結到 ExecuTorch 執行階段的 Debug 建置版本,即 executorch_debug framework。為了獲得最佳效能,始終連結到交付成果的 Release 版本(那些沒有 _debug 字尾的版本),這些版本已移除所有日誌記錄的開銷。

有關在 Apple 平台上整合和執行 ExecuTorch 的更多詳細資訊,請查看此連結

XCode

  • 打開 XCode 並選擇 “Open an existing project” 來打開 examples/demo-apps/apple_ios/LLama

  • 確保正確安裝了 ExecuTorch 套件依賴項,然後選擇哪個 ExecuTorch framework 應連結到哪個目標。

iOS LLaMA App Swift PM

iOS LLaMA App Choosing package

  • 執行應用程式。這會在手機上建置並啟動應用程式。

  • 在應用程式 UI 中選擇要使用的模型和 tokenizer,輸入提示並點擊箭頭按鈕

將模型複製到模擬器

  • 將模型和 tokenizer 檔案拖放到模擬器視窗上,並將它們儲存在 iLLaMA 資料夾中的某個位置。

  • 在應用程式對話方塊中選擇檔案,輸入提示並點擊向上箭頭按鈕。

將模型複製到裝置

  • 用電線連接裝置並在 Finder 中打開內容。

  • 導航到 Files 標籤,並將模型和 tokenizer 檔案拖放到 iLLaMA 資料夾上。

  • 等待直到檔案被複製。

如果應用程式在您的裝置上成功運行,您應該會看到類似以下內容

iOS LLaMA App

對於 Llava 1.5 模型,您可以在輸入提示和發送按鈕之前選擇圖像(透過圖像/相機選擇器按鈕)。

iOS LLaMA App

回報問題

如果您在遵循本教學時遇到任何錯誤或問題,請在此處的 Github 上提交錯誤/問題。

文件

Access comprehensive developer documentation for PyTorch

View Docs

教學課程

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources