推薦系統

從食品訂購到影片點播,從音訊流媒體到時尚電商,推薦系統為當今許多最熱門的應用提供了核心動力。探索如何利用 TensorFlow 生態系統中的開源庫和工具構建生產就緒的推薦系統。

推薦系統透過提供使用者最感興趣的內容,不僅能提升應用內的使用者互動度,還能改善使用者體驗。現代推薦系統架構複雜,通常被拆分為多個階段,以在生產環境中實現低延遲。透過召回、排序以及潛在的後排序階段,無關項會從海量候選項中被逐步過濾,最終呈現給使用者的是他們最可能互動的選項列表。

立即開始使用 TensorFlow Recommenders 構建您的系統,這是一個易於使用的框架,涵蓋了從資料準備到部署的推薦系統構建全流程。

模型訓練完成後,將其部署到生產環境中,為終端使用者提供推薦服務。TensorFlow Serving 可將您的模型產品化,實現高效能推理。它旨在最大限度地提高機器學習模型的吞吐量,並支援需要分散式服務的大型推薦模型。

# Deploy the retrieval model with TensorFlow Serving
docker run -t --rm -p 8501:8501 \
  -v "RETRIEVAL/MODEL/PATH:/models/retrieval" \
  -e MODEL_NAME=retrieval tensorflow/serving &

# Retrieve top movies that user 42 may like
curl -X POST -H "Content-Type: application/json" \
  -d '{"instances":["42"]}'  \
  https://:8501/v1/models/retrieval:predict

# Output
# {
#    "predictions":[
#       {
#          "output_1": [2.032, 1.969, 1.813],
#          "output_2": ["movie1”, “movie2”, “movie3”]
#       }
#    ]
# }

# Deploy the ranking model with TensorFlow Serving
docker run -t --rm -p 8501:8501 \
  -v "RANKING/MODEL/PATH:/models/ranking" \
  -e MODEL_NAME=ranking tensorflow/serving &

# Get the prediction score for user 42 and movie 3
curl -X POST -H "Content-Type: application/json" \
  -d '{"instances":[{"user_id":"42", "movie_title":"movie3"}]}' \
  https://:8501/v1/models/ranking:predict

# Output:
# {"predictions": [[3.66357923]]}
程式碼塊
學習如何使用 TensorFlow 構建和部署全棧推薦系統

改進推薦引擎的召回與排序階段

大規模推薦系統需要透過召回和排序階段,從數百萬候選物件中以高效且有效的方式確定最相關的專案。利用最先進的近似最近鄰 (ANN) 搜尋演算法和學習排序 (LTR) 技術補充 TensorFlow Recommenders,從而改進推薦效果。

Google ScaNN

ScaNN 是一個用於大規模向量相似度搜索的庫。它利用非對稱雜湊和各向異性量化等最先進的 ANN 技術,加速頂級候選物件的檢索。

TensorFlow Ranking

TensorFlow Ranking 是一個用於開發可擴充套件神經 LTR 模型的庫。它提供了額外的功能來對候選專案進行排序,從而最大化排序效用。

最佳化大規模嵌入以用於模型訓練和推理

嵌入查詢操作是大規模推薦系統的關鍵元件。利用硬體加速和動態嵌入技術,克服大型嵌入表中常見的效能瓶頸。

TensorFlow TPUEmbedding

TPUEmbedding 層 API 促進了在張量處理單元 (TPU) 上訓練和提供大型嵌入表的服務。

TensorFlow Recommenders Addons

TensorFlow Recommenders Addons 是一個社群貢獻的專案,它利用動態嵌入技術,對於線上學習特別有用。

保護使用者隱私

傳統的推薦引擎依賴於收集使用者互動日誌並基於原始使用者活動訓練推薦模型。透過整合 負責任的 AI 開發實踐,確保使用者資料保持私密。

TensorFlow Lite 端側推薦

TensorFlow Lite 提供了一種端側推薦解決方案,可在將所有使用者資料保留在移動裝置上的同時,實現低延遲、高質量的推薦。

使用 TensorFlow Federated 進行聯邦重構

TensorFlow Federated 是一個用於聯邦學習和分散資料上其他計算的框架。聯邦重構將矩陣分解引入聯邦學習場景,從而更好地保護用於推薦的使用者隱私。

使用高階技術構建更復雜的推薦系統

雖然經典的協同過濾模型在行業中得到了廣泛應用,但採用強化學習和圖神經網路 (GNN) 等高階技術來構建推薦系統已成為一種日益增長的趨勢。

TensorFlow Agents Bandits

TensorFlow Agents Bandits 是一個全面的老虎機演算法庫,可以在推薦引擎設定中有效地進行探索和利用。

TensorFlow GNN

TensorFlow GNN 是一個能夠高效促進基於網路結構的推薦,並可與召回和排序模型結合使用的庫。

生成式 AI

學習如何使用像 PaLM API 這樣的大型語言模型 (LLM) 來增強您的推薦系統。

參考最先進的推薦模型

若要評估知名模型的效能或構建您自己的推薦模型,請檢視官方 TensorFlow 實現的流行模型(如 NCF、DLRM 和 DCN v2)以獲取最佳實踐。

教育資源

透過分步課程和影片瞭解更多關於構建推薦系統的知識。

現實世界中的推薦系統

探索各行各業應用中驅動推薦系統的示例和案例研究。

線上影片

瞭解 YouTube 如何以負責任的方式構建其強大的推薦系統。

電子商務

閱讀 Digitec Galaxus 如何使用 TFX 和 TensorFlow Agents 每週訓練並提供數百萬份個性化通訊。

雜貨店

瞭解 HarperDB 如何使用 TensorFlow Recommenders 和 TensorFlow.js 為雜貨店商品構建基於協同過濾的推薦系統。

音訊流媒體

瞭解 Spotify 如何利用 TensorFlow 生態系統設計可擴充套件的離線模擬器,並訓練強化學習智慧體來生成播放列表推薦。