ChatGPT 生成遊戲故事:AI 遊戲開發第 5 篇
《AI for Game Development》第 5 篇示範以 ChatGPT 為農場遊戲生成故事摘要、遊戲內故事及商店物品描述,並透過多輪對話修訂內容。初稿與 Stardew Valley 的故事極為相似,長篇生成亦出現質素下降和重複。文章提醒直接採用生成內容可能帶來法律、倫理及商業風險,建議以 AI 協助構思,並由人手撰寫定稿。
《AI for Game Development》第 5 篇示範以 ChatGPT 為農場遊戲生成故事摘要、遊戲內故事及商店物品描述,並透過多輪對話修訂內容。初稿與 Stardew Valley 的故事極為相似,長篇生成亦出現質素下降和重複。文章提醒直接採用生成內容可能帶來法律、倫理及商業風險,建議以 AI 協助構思,並由人手撰寫定稿。
Hugging Face Hub 已收錄超過 3000 個電腦視覺模型和超過 100 個資料集,並支援 8 項核心電腦視覺任務。
這篇教程示範如何把 Stable Diffusion 的 Image2Image 納入 2D 遊戲素材製作流程,從手繪草圖迭代生成素材。作者以玉米圖示説明先用 denoising strength 0.8 生成,再手動修改並以 0.6 重新生成,不到 10 分鐘便完成可直接用於遊戲的圖示。
Hugging Face Blog 梳理對話智能體的訓練方法,涵蓋 IFT、SFT、RLHF 和 CoT。文中指出,IFT 所需指令數據僅為數百例量級,SFT 以人工標註改善有用性和安全性,RLHF 則根據人類偏好訓練獎勵模型,再用強化學習訓練對話智能體。
推薦理由:文章把 IFT、SFT、RLHF 與 CoT 放在對話智能體訓練脈絡中梳理,並比較多個系統的訓練資料和評估方向,呈現各方法的分工。
Hugging Face Blog 示範如何使用 Transformers 和 Datasets 建立影像相似度檢索系統,透過模型產生嵌入向量並按餘弦相似度排序候選影像。
Hugging Face Blog 概述圖機器學習基礎,涵蓋圖的結構、應用任務、表示方式與圖上學習方法。內容説明節點、邊及同質/異質、有向/無向圖等概念,並介紹圖層級、節點、邊與子圖任務,以及邊集合和鄰接矩陣等表示方式。文章亦簡述前神經網絡方法、Graph Neural Networks 和用於圖的 Transformers。
Hugging Face Blog 的系列教程示範以 AI 工具在 5 天內製作完整農場遊戲,第一部分用 Stable Diffusion 1.5 設定美術風格,並以 Unity 搭建場景。
Hugging Face Blog 示範如何透過 Transformers 使用 CLIPSeg,以文字或參考圖像作為提示,為圖像生成零樣本分割遮罩。CLIPSeg 使用 352 x 352 像素圖像,輸出遮罩分辨率較低;文章示範將預測作為 Segments.ai 的粗略預標註,再人工修正以供後續模型訓練。
Hugging Face 的 Ethics and Society 團隊在第 2 期電子報中,探討機器學習偏見如何隨部署情境轉化為風險,並整理團隊用於不同開發階段的工具與建議。
推薦理由:文章把機器偏見連結至具體部署情境,並按任務定義、資料整理與模型開發階段整理評估及記錄做法,讓風險辨識不只停留在模型輸出檢查。
Hugging Face 示範如何透過 🤗 Datasets 一行 Python 程式碼載入音訊資料集,並以 GigaSpeech 説明重採樣、預處理和篩選流程。
Hugging Face Blog 梳理 RLHF 的三階段訓練流程,包括預訓練語言模型、收集偏好數據並訓練獎勵模型,以及以強化學習微調模型。人類標註者透過比較並排序同一提示下生成的文本來建立偏好數據;PPO 微調時,KL 懲罰用於限制策略偏離初始模型。
推薦理由:文章拆解 RLHF 的三階段訓練流程,並説明偏好排序如何訓練獎勵模型,以及 KL 懲罰如何約束後續策略更新。
Hugging Face Blog 説明如何將語言模型的遷移學習應用於蛋白質序列,先以大量蛋白質序列預訓練,再遷移至摺疊和分類等任務。文章指出,ESMFold 類似 AlphaFold2,但執行時毋須外部資料庫或搜尋步驟。文中亦提供 PyTorch 和 TensorFlow 的蛋白質模型微調範例,以及目前僅支援 PyTorch 的 ESMFold 筆記本。
推薦理由:文章以語言模型遷移學習作類比,説明蛋白質序列預訓練如何延伸至摺疊及分類任務,並提供微調筆記本作實作起點。
Hugging Face Blog 介紹如何在 Apple Silicon 上透過 Core ML 運行 Stable Diffusion,並提供自行轉換後上載至 Hugging Face Hub 的模型權重。
推薦理由:文章交代 Python 與 Swift 所需的模型封裝、attention 變體及運算單元差異,能幫助開發者按硬件和使用方式選擇 Core ML 推理配置。
Hugging Face 將於 11 月 30 日舉辦擴散模型社羣活動,並於 11 月 28 日推出與 Jonathan Whitaker 合作的免費 Diffusion Models Class。課程涵蓋擴散模型理論與應用;活動講者包括 Stable Diffusion 創作者、Stability AI 與 Meta 研究人員等,分享擴散模型及其應用工具。
Hugging Face 介紹如何以開源模型建立 Document AI 方案,並按任務梳理文件分類、版面分析、文件解析、表格處理及文件問答。文中以 RVL-CDIP 為例,列出 BERT-base、DiT、LayoutLMv3 和 Donut 的文件分類準確率分別為 89%、92% 及 95%,並討論授權、數據準備、微調與評估等實作考量。
推薦理由:文章按文件類型與任務梳理 Document AI 模型選擇,並串連授權、數據準備和評估考量,提供從小規模微調起步的實作思路。
Hugging Face Blog 示範以 Concrete-ML 建立同態加密情感分析流程,讓伺服器可在不解密資料的情況下預測加密文本表徵。流程由客户端以 Transformer 產生文本表徵,再交由 XGBoost 分類;文章報告模型準確率為 85%,高於 Transformer 本身的 80%,FHE 推理在 16 核 CPU 上每例需 4.4 秒。
Hugging Face 團隊以 Diffusers 的 `train_dreambooth.py` 對 Stable Diffusion 進行 Dreambooth 微調實驗,整理降低過擬合及改善生成品質的設定建議。
推薦理由:文中以不同主體的對照實驗梳理學習率、訓練步數與 prior preservation 對過擬合的影響,為 Dreambooth 微調提供具體設定參照。
Hugging Face Blog 提供使用 🤗 Transformers 為多語言 ASR 資料集微調 Whisper 的逐步指南,涵蓋資料準備、訓練與評估。
推薦理由:文章將 Whisper 多語言微調拆解為資料準備、特徵處理、訓練評估與示範流程,並以印地語資料展示從預處理到模型分享的可複用實作路徑。
Hugging Face 團隊在 🤗 Evaluate 加入多項偏差評估指標,並示範如何檢視因果語言模型根據提示詞生成的文本。示例使用 Toxicity、Regard 和 HONEST 評估文本毒性、不同羣體的語言極性差異,以及有害句子完成中的性別刻板印象。文章提醒,現有資料集涵蓋的身份特徵有限,這些指標只能呈現偏差的不同面向,建議結合多種指標使用。
Hugging Face Blog 以 MNIST 示例講解 PyTorch DDP、Accelerate 與 Transformers Trainer 如何用於多 GPU 或多機分散式訓練。
Hugging Face 團隊記錄了為 BLOOM 建置推理伺服器的優化過程,稱數週內將延遲降低 5x、吞吐量提升 50x。改用 Tensor Parallelism 後,延遲由 300ms/token 降至 91ms/token,吞吐量升至 10RPS;其後透過 torch.jit.script 和自訂 kernel 將延遲再降至 71ms/token。
推薦理由:文章以 BLOOM 的實測串連並行策略、算子融合和批次服務的取捨,呈現大型模型推理優化中如何平衡延遲與吞吐量。
Hugging Face 示範如何使用離線強化學習資料,從零訓練 Decision Transformer,使其學習 Gym HalfCheetah 環境中的奔跑行為。
Megatron-LM 可在 NVIDIA GPU 上用於訓練 GPT2,並可將訓練後的模型轉換為 Transformers 支援的格式。教程以 110M 參數的 CodeParrot 為例,涵蓋資料預處理、8 張 GPU 訓練(約需 12 小時)及權重轉換。文章指出額外的預處理和轉換會增加時間開銷,建議將 Megatron-LM 用於預訓練或較長時間微調,而非中型模型的短期微調。
這篇教程示範如何在 Hugging Face Spaces 中使用 3Dmol.js 和 Gradio HTML 區塊呈現蛋白質結構。示例應用接受 4 位 PDB code 或上傳的 PDB 檔案,並透過 iframe 顯示結構。2024 年 5 月更新建議使用 Molecule3D Gradio Custom Component,讓用户可即時修改蛋白質可視化,亦更容易設定預設可視化。
Hugging Face 文章示範如何用 Diffusers 的 StableDiffusionPipeline 執行 Stable Diffusion 文生圖,並介紹模型原理及自訂推理流程。
推薦理由:文章從 Stable Diffusion 的基礎生成示例延伸至參數設定與自訂推理流程,並解釋 VAE、U-Net 和文字編碼器在潛在空間生成中的分工,提供拆解 Diffusers pipeline 的實用脈絡。
Hugging Face Blog 示範將 🤗 Transformers 中以 TensorFlow 實作的 ViT B/16 部署至 Vertex AI,並透過 Python SDK 建立端點及發送預測請求。文章説明模型版本管理、流量分配、監控與資源設定,並記錄 Locust 本機負載測試約發出 17230 次請求,平均延遲為 646 Milliseconds。
Hugging Face 將 LLM.int8() 整合至 Transformers 與 Accelerate,透過混合 INT8/FP16 矩陣乘法降低大型語言模型推理所需的記憶體。
推薦理由:文章串連 LLM.int8() 的離羣特徵處理、效能比較與 Transformers 整合細節,呈現 8-bit 量化降低大型模型記憶體需求的實作脈絡。
Hugging Face 説明 Transformers 的 TensorFlow 設計取向,將模型和層設為 Keras Model 與 Keras Layer,讓使用者可直接調用 fit()、compile() 和 predict()。
推薦理由:文章梳理 Hugging Face Transformers 對 TensorFlow 的六項設計取向,並以 Keras 訓練、資料管線、XLA 與部署示例,呈現這些取捨如何落實到模型訓練和部署流程。
Hugging Face Blog 示範如何以 Docker 和 TensorFlow Serving,將 🤗 Transformers 的 Vision Transformer(ViT)部署至 Kubernetes。
Hugging Face 深度強化學習課程第 8 單元講解 PPO(近端策略優化),説明其透過裁剪策略概率比限制更新幅度,以提升訓練穩定性。文章介紹裁剪替代目標函數,並以 PyTorch 從零實作 PPO,在 CartPole-v1 和 LunarLander-v2 測試;示例裁剪範圍為 [0.8,1.2](ϵ=0.2)。
Hugging Face 為 🤗 Datasets 新增音訊與圖像資料集文件,並更新 Quickstart,提供使用 PyTorch 或 TensorFlow 載入及處理資料集的端到端示例。
Hugging Face Transformers 的 Vision Transformer(ViT)圖像分類模型,可使用 TensorFlow Serving 在本機部署並透過 REST 或 gRPC 提供服務。教程將圖像解碼、縮放至 224×224、正規化及分類後處理整合至 SavedModel,使其接收 base64 編碼圖像並輸出分類標籤和信心度。
Hugging Face 深度強化學習課程第 7 單元講解 Advantage Actor Critic(A2C),以 Actor 和 Critic 結合政策式與價值式方法,降低 Reinforce 策略梯度估計的方差並穩定訓練。課程使用 Stable-Baselines3,在 PyBullet 機械人模擬環境訓練雙足步行者和蜘蛛智能體。
Hugging Face 的教學以 MNIST 手寫數字識別示範,如何動態收集人類生成的對抗樣本並用於模型訓練。示範模型訓練 20 epochs 後,在測試集準確率為 89%;用户可在 Spaces 畫布書寫 0-9,並標記能騙過模型的樣本。樣本累積至門檻後會用來再訓練模型,並重複多輪,以提高模型穩健性。
作者以 Sentence Transformers 和 Gradio 構建歌單生成器,透過對歌詞嵌入向量進行語義搜索,按文字提示找出相關歌曲。由於所選模型的最大序列長度為 512 word pieces,歌曲歌詞先按 verse 切分並逐段嵌入;設置 top_k=20 時,作者實測幾乎總能得到至少 9 首不同歌曲。
Hugging Face 提供 Twitter 情感分析入門指南,示範適用於程式開發者與非程式開發者的操作流程。程式開發者可用 Tweepy 收集推文,透過 Inference API 分析正面、負面或中性情緒,並將結果視覺化;非程式開發者則可用 Zapier 分析推文,並將結果傳送至 Google Sheets。
Hugging Face 深度強化學習課程第 5 單元以 PyTorch 從零實作 REINFORCE,並在 CartPole-v1、PixelCopter 和 Pong 測試其穩健性。策略梯度以梯度上升直接最佳化策略,毋須先學習價值函數;隨機策略可促進探索,在高維及連續動作空間中亦較有效。其限制包括可能收斂至局部極值、訓練時間較長及高方差。
這篇入門指南以 Sentence Transformers 為例,介紹初學者如何理解文本嵌入向量與語義搜尋,並規劃首個自主機器學習項目。文章建議先盤點工具能力、挑選感興趣的資料集,再配合一項熟悉的輔助工具構思項目。
Hugging Face Blog 以 Medicare FAQ 示範語義搜尋流程,使用 Inference API 生成嵌入向量,再以使用者查詢比對相似 FAQ。示範選用 sentence-transformers/all-MiniLM-L6-v2 將 13 條 FAQ 編碼為 384 維向量,並把向量資料集上載至 Hub,以餘弦相似度找出最相近的 5 條 FAQ。
Hugging Face 示範了將 Transformers 模型匯出為 ONNX 的三種方法,涵蓋低階 `torch.onnx`、中階 `transformers.onnx` 和高階 Optimum。