推薦系統
從食物訂購到隨選視訊和音訊串流,再到時尚,推薦系統為現今一些最熱門的應用程式提供支援。探索如何使用 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://127.0.0.1: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://127.0.0.1:8501/v1/models/ranking:predict # Output: # {"predictions": [[3.66357923]]}
改善推薦引擎的擷取和排名階段
大規模推薦系統需要透過擷取和排名階段,以有效率且有效的方式,從數百萬個候選項目中判斷最相關的項目。使用最先進的近似最近鄰 (ANN) 搜尋演算法和學習排名 (LTR) 技術來補充 TensorFlow Recommenders,以改善推薦結果。
TensorFlow Ranking 是一個用於開發可擴充神經 LTR 模型的程式庫。它提供其他功能來排列候選項目的順序,以盡可能提高排名效用。
最佳化大型嵌入,以進行模型訓練和推論
嵌入查詢作業是大規模推薦系統的關鍵元件。運用硬體加速和動態嵌入技術來克服大型嵌入表常見的效能瓶頸。
TensorFlow Recommenders Addons 是一個社群貢獻專案,它運用動態嵌入技術,對於線上學習特別有用。
保護使用者隱私
傳統推薦引擎仰賴收集使用者互動記錄,並根據原始使用者活動訓練推薦模型。納入負責任的 AI 開發實務,確保使用者資料保持私密。
TensorFlow Federated 是一個用於聯邦式學習和分散式資料上其他運算的架構。聯邦重建將矩陣分解引入聯邦式學習設定,並為推薦提供更完善的使用者隱私保護。
使用進階技術來開發更精密的推薦工具
雖然傳統協同篩選模型在業界廣泛使用,但採用進階技術 (例如強化學習和圖神經網路 (GNN)) 來建構推薦系統已成為日益普及的趨勢。
TensorFlow Agents Bandits 是一個全面的 Bandit 演算法程式庫,可以在推薦引擎設定中有效探索和利用。

參考最先進的推薦模型
如要評估知名模型的效能,或建構您自己的推薦模型,請查看熱門模型 (例如 NCF、DLRM 和 DCN v2) 的官方 TensorFlow 實作,以取得最佳實務做法。

真實世界的推薦系統
探索推薦系統在各行各業的應用程式中提供支援的範例和個案研究。