AI 與 LLM機器學習Performance 與 Scale 方案

即時機器學習特徵庫

針對使用者、項目與工作階段的具型別特徵,由您的管線寫入,並由您的模型在推論時讀取,同時附帶其新舊程度。

種特徵類型
3
隨每次讀取傳回
新舊
讀取多個實體
批次
步驟 1 / 5
定義結構描述

具型別的群組。型別錯誤的寫入會在寫入時被拒絕。

範例工作階段playing
# 定義結構描述
hotkv> FEATURE.CREATE user_features "Signals for scoring" SCHEMA age int64 ctr double country string
OK

以真實 HotKV 指令與範例回覆呈現的動畫導覽。點擊任一步驟即可跳到該步驟。 指令與回覆維持英文,與您在 HotKV 中輸入及看到的完全一致。

問題

正式環境中的模型,表現取決於它在推論時看到的特徵。離線資料倉儲太慢,無法針對每個請求查詢,而單純的鍵值儲存沒有結構描述,所以管線錯誤把文字寫進數值特徵時,是模型先發現,而不是儲存系統。

HotKV 如何處理

HotKV 中的特徵群組具有具型別的結構描述。串流作業寫入最新的值,批次作業以自己的時間戳記回填,模型伺服器則在單次呼叫中讀取單一實體或一整批實體。每次讀取都會傳回實體上次更新的時間與已過了多久,因此可以偵測過期的特徵。

逐步說明

逐個指令看看發生了什麼事

  1. 01

    定義結構描述

    具型別的群組。型別錯誤的寫入會在寫入時被拒絕。

    FEATURE.CREATE user_features "Signals for scoring" SCHEMA age int64 ctr double country string
  2. 02

    串流寫入最新的值

    串流作業在事件到來時更新特徵。

    FEATURE.SET user_features user:42 ctr 0.051 country DE
  3. 03

    以正確的時間回填

    批次作業為實體標上值為真的時間,而不是載入的時間。

    FEATURE.SETAT user_features user:42 1790985600123 age 31
  4. 04

    為結帳評分

    模型伺服器讀取使用者的特徵,並附上更新時間與以毫秒計的存續時間。

    FEATURE.GET user_features user:42
  5. 05

    批次處理多個實體

    一次呼叫就能為一頁候選項目排序。

    FEATURE.BATCH user_features user:42 user:77 user:91 FEATURES ctr
適用之處

真實世界的情境

詐欺與風險評分

結帳時、在請求路徑中、付款核准之前,讀取信用卡的交易速度、裝置使用時間與帳戶歷史。

排序與廣告

以單次批次呼叫,讀取頁面上每個候選項目的點擊率與近期興趣。

動態定價

需求與庫存特徵持續以串流寫入,並由定價模型在每次報價時讀取。

內建

您能獲得什麼

具型別的結構描述

int64、double 與 string 特徵。型別錯誤的寫入會被拒絕。

FEATURE.CREATEFEATURE.SCHEMA

串流與回填

可以用目前的時間寫入,也可以用值為真的時間寫入。

FEATURE.SETFEATURE.SETAT

每次讀取都附帶新鮮度

每次讀取都會傳回實體的更新時間與存續時間。

FEATURE.GET

批次提供

多個實體、選定的特徵,一次呼叫。

FEATURE.BATCHFEATURE.STATS

常見問題

這會取代我的離線特徵庫嗎?

它是線上的那一端,負責推論時的低延遲讀取。訓練資料仍可來自您的資料倉儲,回填資料則以 FEATURE.SETAT 寫入 HotKV。

如何偵測過期的特徵?

每次 FEATURE.GET 都會傳回上次更新的時間與以毫秒計的存續時間,因此模型伺服器可以拒絕或標記舊的值。

哪些方案包含它?

特徵庫屬於 Performance 與 Scale 方案。

相關使用情境

在您自己的工作負載上試試看

HotKV 支援 Redis 協定,因此您可以將現有的用戶端指向它,並執行這些相同的指令。