從蘋果智能看端上大模型應用
原創將生成式人工智能集成到邊緣設備本身就是一個重大挑戰,我們需要在智能手機和計算機有限的計算能力和內存范圍內高效地運行高級模型。確保這些模型運行迅速,而不會耗盡電池壽命或使設備過熱,端上的局限增加了大模型應用的復雜性。此外,保護用戶隱私至關重要,需要 AI 在不依賴云服務器的情況下在本地處理數據。
今年,蘋果已經通過引入蘋果智能來應對這些挑戰。這個新系統將復雜的人工智能直接帶到設備上,同時保持高隱私標準。透過蘋果智能, 我們或許可以進一步探索端上大模型應用的實現路徑。
1.蘋果智能的核心特征
蘋果智能的核心特征是為蘋果設備賦能了高生產力的能力工具,并且提升了Siri 的AI 能力。
1.1 提高生產力的人工智能工具
像 iPhone、 iPad 和 Mac 這樣的蘋果設備現在配備了一系列以人工智能為動力的工具,旨在提高生產力和創造力。例如:
- 寫作與溝通: 蘋果的預測性文本功能已經進化到可以更好地理解上下文,并提供更準確的建議。這使得寫電子郵件或信息更快,更直觀。此外,人工智能與通信應用程序集成,根據收到的信息建議回應,節省時間,并提高了溝通的質量。
- 圖像創建和編輯: 照片應用程序使用先進的機器學習來智能組織照片和建議編輯。對于創作者來說,像照片和視頻中的實時文本這樣的功能使用人工智能來檢測圖像中的文本,允許用戶像輸入文本一樣與文本進行交互。這對于快速提取信息而無需手動輸入數據特別有用。
1.2 讓 Siri 具備先進的人工智能能力
Siri 的人工智能能力得到了重大提升,使其比以往更加智能化和多功能化。這些改進旨在使 Siri 成為各種蘋果設備上更積極主動、更有幫助的助手。
- 豐富的語言理解能力: Siri 理解和處理自然語言的能力得到了顯著的提高。這種改進使 Siri 能夠處理更復雜的查詢,并提供更準確的響應,模仿用戶之間更自然的對話流程。
- 屏幕感知: Siri 現在能夠根據屏幕上顯示的內容來理解上下文。這個特性允許用戶提出與當前正在查看的內容相關的請求,而無需過于具體,從而使交互更加順暢和直觀。
- 跨應用程序行動: 也許最重要的更新之一是 Siri 增強了在多個應用程序間執行操作的能力。例如,可以讓 Siri 通過一個拼車應用程序預訂車程,然后通過一個消息應用程序將預計到達時間發送給一個朋友,所有這些都是通過語音命令。
這種跨不同平臺和服務的集成水平簡化了復雜的任務,使 Siri 成為多任務處理的強大工具。
2. 蘋果智能背后的技術創新
蘋果在其設備上對人工智能能力的戰略部署,得到了確保性能和用戶隱私得到優化的重大技術創新的支持。這些進步在其雙模型結構、新的后訓練算法的應用以及提高效率和準確性的各種優化技術方面尤為明顯。
2.1 雙模型架構: 平衡在設備和基于服務器的處理
蘋果采用了一種稱為雙模型架構的復雜方法,以最大限度地提高人工智能應用的性能和效率。這個架構巧妙地將任務劃分為設備上處理和基于服務器的資源,利用每個環境的優勢:
- 端上處理: 這是為需要立即響應或涉及必須保留在設備上的敏感數據的任務設計的。設備上的模型是一個約30億參數的語言模型,經過微調可以有效地執行任務。這個模型擅長于書寫和提煉文本,匯總通知,創建圖像,以及其他任務,確保快速和負責任的人工智能交互
- 基于服務器的處理: 更復雜或者時間敏感性更低的任務在云中處理,蘋果可以在云中使用更強大的計算資源。這種設置用于 Siri 基于深度學習的語音識別等任務,在這些任務中,可以快速分析大量數據集,以便更有效地理解和預測用戶查詢。
這兩個處理之間的協同作用使蘋果能夠優化性能和電池壽命,同時保持強大的數據隱私保護。
2.2 新穎的后訓練算法
在最初的模型訓練之后,蘋果已經實施了后訓練算法,以增強其 AI 模型的指令跟蹤能力。這些算法提高了模型更精確地理解和執行用戶命令的能力,顯著改善了用戶體驗。
Teacher Committee拒絕抽樣微調算法(Rejection Sampling Fine-Tuning Algorithm )
在后訓練階段采用的創新算法之一是拒絕采樣微調算法,這種技術利用多個專家模型(Teacher)的見解來監督人工智能的微調。這個committee 確保人工智能只采用最有效的行為和反應,提高了它準確和有效地遵循指令的能力。這導致了一個完善的學習過程,通過強化預期的結果來提高性能。
人工反饋的強化學習算法(RLHF)
另一個基石來自RLHF。這種技術將人類的洞察力集成到人工智能訓練循環中,利用最小下降策略優化并采用留一法優勢估計器。通過這種方法,人工智能直接從人工反饋中學習,不斷地調整和完善自己的響應。這不僅提高了人工智能的準確性,而且確保其產出具有上下文相關性并真正有用。RLHF 算法有助于人工智能的輸出與人類偏好保持一致,使每個交互更加直觀和有效。
糾錯算法
這些算法的目的是從識別部署后的錯誤中學習。通過不斷分析交互,模型自我改進,隨著時間的推移,對用戶查詢提供越來越準確的響應。
2.3 邊緣器件的優化技術
為了確保人工智能模型在硬件有限的邊緣設備上表現良好,蘋果開發了幾種優化技術,提高了效率和準確性:
- Low-Bit Palletization: 這項技術包括減少人工智能模型所使用的數據的位寬度。通過將數據轉換成低位格式,所需的內存量減少,從而顯著加快計算速度,同時保持準確性。這對于處理能力或電池壽命有限的設備尤其重要。
- 共享嵌入張量: 蘋果使用共享嵌入張量來減少人工智能模型不同部分相似數據的重復。通過共享嵌入,模型可以通過重用相似類型數據的學習表示來更有效地運行。這不僅減少了模型的內存占用,而且加快了邊緣設備上的處理時間。
這些技術策略是蘋果致力于平衡性能、效率和隱私的更廣泛承諾的一部分。通過不斷推進這些領域,蘋果確保其設備不僅功能強大、智能化,而且在數據完整性和安全性方面得到用戶的信任。
此外,蘋果還特別強調了用戶隱私。蘋果的方法圍繞著專利技術展開,這些技術可以在不損害隱私的前提下增強用戶體驗。通過采用雙模型架構,蘋果公司利用其 M 系列芯片的功能,確保面部識別和個人數據處理等敏感操作完全在設備上進行。這種方法不僅可以通過減少延遲來提高性能,而且還可以通過最小化數據公開來增強用戶的信任。
蘋果的戰略還包括與其他合作伙伴整合,例如 OpenAI, 允許用戶直接從他們的設備訪問 ChatGPT。這種集成可以作為第三方設備上的AI應用生態,增強用戶體驗,并擴大蘋果的生態系統。這個策略不僅僅是為了提高蘋果設備的性能,也是為了確保你對你的數據處理方式感到安全和自信。
通過蘋果智能可以看到,在智能手機、物聯網設備和嵌入式系統等邊緣設備上部署 LLM 應用程序可以帶來顯著的好處,包括減少延遲、增強隱私和離線功能等。那么, 在端設備上部署大模型應用有什么一般方法么?
3. 端設備的AI 應用考量
端設備是在生成數據的位置執行數據處理的硬件設備,例如智能手機、物聯網設備和嵌入式系統。與云計算相比,邊緣計算提供了幾個優勢,例如減少延遲、增強隱私以及離線操作的能力。然而,在邊緣設備上部署應用程序存在挑戰,包括有限的計算資源和功耗限制。
在部署設備上的 AI 應用程序之前,可能需要考慮以下兩個因素:
- 應用用例和需求: 理解 LLM 應用的特定用例及其性能需求。這有助于選擇合適的模型和優化技術。
- 數據隱私和安全: 確保部署符合數據隱私和安全規則,特別是在處理邊緣設備上的敏感信息時。
為邊緣部署選擇正確的語言模型需要平衡性能和資源限制,以下是需要考慮的關鍵因素:
- 模型大小和復雜度: 較小的模型通常更適合于邊緣設備。這些設備的計算能力有限,所以一個更輕的模型確保更順利的操作。選擇那些在尺寸和性能之間取得平衡的型號,使它們在不犧牲太多精確性的情況下有效率。
- 性能要求: 選擇的模型必須滿足應用程序的準確性和響應性需求,這意味著它應該能夠迅速交付精確的結果。雖然邊緣設備可能無法處理最大的模型,但是要確保所選的 LLM 足夠有效,以便在目標設備上有效運行。優先考慮為速度和資源使用而優化的模型,同時不影響產出質量。
總之,用于設備上 AI 部署的正確語言模型應該緊湊而強大,并且適合應用程序的特定性能需求。平衡這些因素是成功部署的關鍵。
4. 端設備上的模型優化技術
對有效地在端上部署大模型應用而言,大模型優化技術舉足輕重。
1. 量化
量化降低了模型權重的精度。通過使用較低的精度(例如,將32位浮點數轉換為8位整數) ,內存使用和計算需求顯著降低。這種減少導致了更快的推斷和更低的功耗,使量子化成為在邊緣設備上部署 LLM 的流行技術。
2. 裁剪
裁剪涉及刪除模型中多余或不太重要的神經元和連接。通過消除這些部分,模型的大小減少,導致更快的推理時間和更低的資源消耗。修剪有助于維護模型性能,同時提高邊緣部署的效率和可管理性。
3. 知識蒸餾
在這種技術中,一個較小的模型(學生)被訓練來模仿一個更大、更復雜的模型(老師)的行為。學生模型學習復制教師模型的輸出,保留大部分原始的準確性,同時更有效率。這種方法允許在邊緣設備上部署緊湊、高性能的模型。
4. LoRA和 QLoRA
LoRA(解讀LoRA)及其變體 QLoRA 是為了在保持性能的同時對模型進行自適應和壓縮而設計的技術。LoRA 包括將模型的權矩陣分解為低維矩陣,減少參數的數量而不顯著影響精度。QLoRA 進一步量化這些低維矩陣,提高效率。這些方法支持在資源受限的邊緣設備上部署健壯的模型。
圖片
5. 端設備的軟硬件要求
端上的大模型應用需要特定的硬件和軟件能力,以確保順利和有效的操作。
5.1 硬件要求
要順利地在設備上運行 AI 應用程序,需要確保硬件符合某些標準:
- 計算能力: 設備應該有一個強大的處理器,有多個核,以處理 LLM 推理的需求。具有專門 AI 加速器的設備,如 GPU 或 NPU,是非常有益的。
- 內存: 足夠的 RAM 是至關重要的,因為 LLM 需要大量的內存來加載和處理數據。內存有限的設備可能很難運行更大的模型。
- 存儲: 需要足夠的存儲容量來存儲模型和任何相關數據。閃存或 SSD 更適合于更快的讀寫速度。
5.2 軟件工具和框架
正確的軟件工具和框架對于在設備上部署 AI 至關重要。這些工具有助于模型優化、部署和推理。主要工具和框架包括:
- TensorFlow Lite: 為移動和邊緣設備設計的 TensorFlow 的輕量級版本。它對模型的大小和延遲進行了優化,使其適合于資源受限的環境。
- ONNX 運行時: 一個開源運行時,允許在多個平臺上有效地運行在各種框架中訓練的模型。它支持廣泛地優化,以提高邊緣設備的性能。
- PyTorch Mobile: 專為移動和嵌入式設備定制的 PyTorch 版本。它提供了優化和部署模型的工具,確保它們在邊緣高效運行。
- AI SDK: 許多硬件制造商提供專門的 SDK 用于在他們的設備上部署人工智能模型。這些 SDK 針對硬件進行了優化,并為模型部署和管理提供了額外的工具。
6. 端上的大模型應用部署策略
從AI工程師的角度來看,在端設備上部署大模型帶來了獨特的挑戰和機遇。有效的部署策略對于確保最佳性能、資源管理和用戶體驗至關重要,可能有三種主要策略: 端上推理、混合推理和模型分區。
6.1 端上推理
端上推理涉及到直接在邊緣設備上運行整個 LLM。這種方法提供了幾個重要的優勢,特別是在 LLM 應用程序的延遲、隱私和脫機能力方面。
端上推理消除了與遠程服務器交互所需要的響應時間。這對于諸如語音助手和交互式用戶界面等實時應用程序至關重要。通過在本地運行模型,應用程序可以在沒有 Internet 連接的情況下運行。這對于遠程地區或連接不可靠的場景非常重要。同時,減少了傳輸過程中數據泄露的風險。這對于醫療保健或金融服務等敏感應用程序尤其重要。
與云服務相比,端設備通常具有有限的計算能力、內存和存儲空間。工程師必須優化模型以適應這些約束條件,同時不顯著影響性能。密集的計算可以快速耗盡電池壽命,特別是在便攜式設備上。
平衡性能和能源效率至關重要,諸如量化、裁剪和蒸餾等技術對于減少模型的大小和計算需求是必不可少的。利用類似 TensorFlow Lite 或 PyTorch Mobile 這樣的框架,這些框架針對移動和嵌入式設備進行了優化,可以顯著提高性能。
6.2 混合推理
混合推理利用端資源和云資源來平衡性能和資源約束。該策略包括在邊緣設備上運行模型的一部分,以及在云服務器上運行模型的一部分。通過將資源密集型計算卸載到云中,混合推理減輕了邊緣設備的負擔,從而能夠部署更復雜的模型。可以根據需求動態擴展云資源,為不同的工作負載提供靈活性和健壯性。即時的、對延遲敏感的任務可以在本地處理,而更復雜的處理可以由云處理。
混合推理的性能取決于網絡連接的質量和可靠性。網絡延遲或中斷會影響用戶體驗。把數據傳送到云端會構成私隱風險,要確保數據傳輸和儲存的安全。
工程師需要從策略上對模型進行分割,確定哪些部分應該在邊緣運行,哪些部分應該在云中運行。最小化邊緣和云之間傳輸的數據量,以減少延遲和帶寬使用。數據壓縮和智能緩存等技術可能是有益的。需要實現降級機制,以優雅地處理網絡故障,確保應用程序在連接丟失時仍能正常工作。
6.3 模型分區
模型分區涉及到將 LLM 分割成更小的、可管理的段,這些段可以分布在多個設備或環境中。這種方法可以提高效率和可伸縮性。通過將模型分布在不同的設備上,平衡了計算負載,使得在資源受限的邊緣設備上運行更復雜的模型成為可能。模型的不同部分可以獨立優化,允許基于每個設備的能力進行定制優化。模型分區促進了可伸縮性,支持跨不同硬件配置部署大型模型。
對模型進行分區需要仔細的規劃和工程設計,以確保各部分之間的無縫集成和通信。不同模型段之間的通信會引入延遲。工程師必須優化段間通信以盡量減少這種開銷。確保模型段之間的一致性和同步對于維護整個模型的性能和準確性變得非常重要。
一般地,需要確定模型中的邏輯點,在這些邏輯點中可以對模型進行分區,而不會造成顯著的性能損失。這可能涉及根據計算需求分離不同的層或組件。使用有效的通信協議,以盡量減少延遲,并確保可靠的數據傳輸之間的模型段。根據每個設備的能力優化資源分配,確保每個段有效運行。
6.4 實現端上大模型的一般步驟
在端設備上部署大模型應用的一般步驟如下:
- 準備開發環境: 為開發建立必要的工具和框架。
- 優化模型: 應用優化技術使模型適合邊緣部署。
- 與邊緣設備軟件集成: 確保模型可以與設備的軟件和硬件交互。
- 測試和驗證: 在邊緣設備上對模型進行徹底測試,以確保其滿足性能和準確性要求。
- 部署和監視: 將模型部署到端設備并監視其性能,根據需要進行調整。
7. 一句話小結
端上的 AI 應用可以通過提供快速、高效和私有 AI 功能來顯著提高用戶體驗,利用優化技術和部署策略,我們可以嘗試在端上成功地實現大模型應用,蘋果智能為我們提供了有益的參考。