事件驅動架構EDA能清除機器學習中標籤干擾噪音

banq發表於2021-05-21

事件驅動的設計是一種可以實際解決機器學習中標籤噪音問題的解決方案:
首先,我們需要定義與標籤相關的所有資料。我們甚至新增了仍在研究中的資料點,但將來可能與我們的標籤相關。
這部分內容有點探索性,因為我們在多個資料庫中擁有大量資料,而沒有一個人能完全瞭解這一切。作為一名架構師,我必須與多個團隊進行研究,最終遇到了40多個不同事件,這些事件起源於系統的不同部分,對於我們的模型訓練非常重要。
這些事件我們該怎麼辦?選擇我們的事件訊息傳遞技術(Kafka)之後,我們確保所有事件都將從每個微服務流到相同的位置(主題topic)。
這些主題中的每個主題均按訂單ID進行分割槽。這樣,將新事件釋出到主題時,實際上會將其附加到主題的一個分割槽中。具有相同順序ID的事件將寫入同一分割槽,並且Kafka保證,給定主題分割槽的任何使用者都將始終以與寫入時完全相同的順序讀取該分割槽的事件。此功能對於專案的成功至關重要。
標籤消費使用的是Kafka Streams的消費者,允許開發有狀態流處理。您可以對不同的DSL進行程式設計以計算您的狀態。我們可以過濾,對映,分組,聚合和加入不同的主題,並計算標籤(狀態)。
在釋出最終結果(標籤)之後,我們最終得到了應用程式本身的消費者(實時流)和另一個用於離線目的的消費者。
請注意,這是使用Kafka的特定解決方案,但是也可以使用其他流式解決方案。
確保我們的事件驅動設計確實解決了這個問題:
  • 可變欄位:-現在我們的資料科學家將能夠隨時訪問資料,而不用擔心所做的更改。
  • 多個欄位:我們現在有了一個單一的事實來源,可以解決多個資料庫中多個員工的多個欄位的問題。消費者將資料儲存在哪裡都沒有關係

點選標題

相關文章