程式碼研究室簡介
1. 事前準備
最近最令人振奮的機器學習突破之一,就是大型語言模型 (LLM)。可用於生成文字、翻譯語言,以及提供實用解答。Google LaMDA 和 PaLM 等大型語言模型 (LLM) 經過大量文字資料訓練,可學習字詞和片語之間的統計模式和關係。因此能夠生成類似人類撰寫的文字,並準確翻譯語言。
LLM 儲存空間非常龐大,執行時通常會耗用大量運算效能,因此通常會部署在雲端,且由於行動裝置的運算效能有限,因此很難用於裝置端機器學習 (ODML)。不過,您可以在現代 Android 裝置上執行較小規模的 LLM (例如 GPT-2),並獲得令人驚豔的結果。
以下是 Google Pixel 7 Pro 執行 15 億個參數的 Google PaLM 模型版本示範,未加快播放速度。
在本程式碼研究室中,您將學習相關技術和工具,使用以下項目建構 LLM 輔助應用程式 (以 GPT-2 做為範例模型):
- KerasNLP 載入預先訓練的 LLM
- 使用 KerasNLP 微調 LLM
- TensorFlow Lite,用於在 Android 上轉換、最佳化及部署大型語言模型
必要條件
- 具備 Keras 和 TensorFlow Lite 的中階知識
- 具備 Android 開發的基本知識
課程內容
- 如何使用 KerasNLP 載入預先訓練的 LLM 並微調
- 如何量化 LLM 並轉換為 TensorFlow Lite
- 如何對轉換後的 TensorFlow Lite 模型執行推論
軟硬體需求
- 存取 Colab
- 最新版 Android Studio
- 搭載 Android 且 RAM 大於 4 GB 的裝置
2. 做好準備
如要下載本程式碼研究室的程式碼,請按照下列步驟操作:
- 前往本程式碼研究室的 GitHub 存放區。
- 依序點選「Code」>「Download zip」,下載這個程式碼研究室的所有程式碼。
- 將下載的 ZIP 檔案解壓縮,解壓縮後會產生
examples
根資料夾,內含所有需要的資源。
3. 執行範例應用程式
- 將
examples/lite/examples/generative_ai/android
資料夾匯入 Android Studio。 - 啟動 Android 模擬器,然後按一下導覽選單中的「執行」
。
執行並探索應用程式
Android 裝置上應會啟動應用程式。這個應用程式名為「Auto-complete」。使用者介面相當簡單:在文字方塊中輸入一些種子字詞,然後輕觸「生成」,應用程式就會對 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 為基礎的應用程式。本程式碼研究室產生的模型僅供教學之用,不適用於實際工作環境。
如要在實際工作環境中使用 LLM,必須慎選訓練資料集,並採取全面的安全防護措施。如要進一步瞭解 LLM 領域的負責任 AI,請務必觀看 2023 年 Google I/O 大會的安全且負責任的生成式語言模型開發技術研討會,並參閱負責任的 AI 工具包。