1. 事前準備
大型語言模型 (LLM) 是近年來最令人期待的機器學習重大突破。能用來生成文字、翻譯語言,以及透過詳盡且豐富的資訊回答問題。Google LaMDA 和 PaLM 等 LLM 是以大量文字資料訓練而成,因此能學習字詞和詞組之間的統計模式和關聯。如此一來,生成式 AI 就能生成與人工撰寫內容相似的文字,並精確翻譯語言。
LLM 的容量很大,一般會耗用大量運算能力。因此,大型語言模型通常會部署於雲端,而且行動裝置的運算能力有限,因此對裝置端機器學習 (ODML) 而言相當困難。不過,您可以在新型 Android 裝置上執行較小規模的 LLM (例如 GPT-2),仍可獲得出色的成果。
以下示範如何在 Google Pixel 7 Pro 上執行 Google PaLM 模型的版本,參數上限為 15 億個參數,但又不會加快播放速度。
在本程式碼研究室中,您將學到一些技巧和工具,瞭解如何建構採用 LLM 技術的應用程式 (以 GPT-2 做為範例模型),包括:
- KerasNLP 要載入預先訓練的 LLM
- 使用 KerasNLP
- 運用 TensorFlow Lite 在 Android 上轉換、最佳化及部署 LLM
必要條件
- 具備 Keras 和 TensorFlow Lite 的中級知識
- 對 Android 開發作業有基本瞭解
課程內容
- 如何使用 KerasNLP 載入預先訓練的 LLM 並進行微調
- 如何量化 LLM 並轉換為 TensorFlow Lite
- 如何對轉換後的 TensorFlow Lite 模型執行推論
軟硬體需求
- 存取 Colab
- 最新版 Android Studio
- 搭載超過 4G RAM 的新式 Android 裝置
2. 做好準備
如要下載本程式碼研究室的程式碼:
- 前往本程式碼研究室的 GitHub 存放區。
- 按一下「程式碼」>下載 ZIP 檔案即可下載這個程式碼研究室的所有程式碼。
- 解壓縮下載的 ZIP 檔案,將含有所有必要資源的
examples
根資料夾解壓縮。
3. 執行範例應用程式
- 將
examples/lite/examples/generative_ai/android
資料夾匯入 Android Studio。 - 啟動 Android Emulator,然後按一下導覽選單中的 「Run」。
執行並探索應用程式
應用程式應該會在您的 Android 裝置上啟動。這個應用程式稱為「自動完成」。使用者介面非常簡單:您可以在文字方塊中輸入一些字根,然後輕觸「產生」;之後,應用程式就會透過 LLM 執行推論,並根據你的輸入內容生成其他文字。
目前,如果您在輸入一些字詞後輕觸「產生」,系統不會執行任何動作。因為尚未執行 LLM。
4. 準備用於裝置端部署的 LLM
- 開啟 Colab 並透過筆記本執行 (該筆記本託管於 TensorFlow Codelabs GitHub 存放區)。
5. 完成 Android 應用程式
您已將 GPT-2 模型轉換為 TensorFlow Lite,最後可以在應用程式中部署。
執行應用程式
- 將從最後一個步驟下載的
autocomplete.tflite
模型檔案拖曳至 Android Studio 中的app/src/main/assets/
資料夾。
- 按一下導覽選單中的「」,然後等待應用程式載入。
- 在文字欄位中輸入一些字根,然後輕觸「產生」。
6. 負責任的 AI 技術注意事項
如同先前的 OpenAI GPT-2 公告所述,GPT-2 模型有值得注意的注意事項和限制。事實上,現今大型語言模型 (LLM) 通常有一些眾所周知的難題,例如幻覺、令人反感的輸出內容、公平性和偏誤。這是因為這些模型是根據實際資料進行訓練,因此能反映實際問題。
本程式碼研究室僅用於示範如何使用 TensorFlow 工具,建立採用 LLM 技術的應用程式。本程式碼研究室中產生的模型僅供教育用途,不得用於正式環境。
使用大型語言模型製作大型語言模型時,必須謹慎選擇訓練資料集,並採取完善的安全防護措施。如要進一步瞭解如何搭配大型語言模型使用負責任的 AI 技術,請務必觀看 2023 年 Google I/O 大會的安全與負責任開發語言模型技術講座,以及瞭解 Responsible AI 工具包。
7. 結語
恭喜!您建構了一個應用程式,透過純粹的裝置上執行預先訓練的大型語言模型,根據使用者輸入內容產生一致性文字!