精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

通過(guò)Netflix案例研究和NVIDIA深度學(xué)習(xí)技術(shù)深入了解推薦算法

譯文 精選
人工智能 深度學(xué)習(xí)
本文介紹了推薦系統(tǒng)已從簡(jiǎn)單的統(tǒng)計(jì)建模、基于內(nèi)容的篩選和協(xié)作篩選,發(fā)展到了我們現(xiàn)在常見(jiàn)的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)、HPC 節(jié)點(diǎn)、矩陣分解,并通過(guò)Netflix案例研究NVIDIA Merlin框架。

譯者 | 陳峻

審校 | 重樓

你知道什么是推薦引擎嗎?它是每一筆互聯(lián)網(wǎng)交易背后的算法,無(wú)論是亞馬遜、NetflixYouTubeTikTok,甚至是 LinkedInFacebookXTwitter)、以及Snapchat,所有這些網(wǎng)站、以及互聯(lián)網(wǎng)上幾乎所有的內(nèi)容策劃、或產(chǎn)品市場(chǎng)應(yīng)用,都從推薦算法中獲利頗豐。

簡(jiǎn)單來(lái)說(shuō),推薦算法會(huì)建立一套模型,包括你的喜好、憎惡、收藏的物品、類(lèi)型和項(xiàng)目等。當(dāng)你在網(wǎng)上進(jìn)行一筆交易時(shí),它們幾乎會(huì)讀懂你的想法,并預(yù)測(cè)你最有可能購(gòu)買(mǎi)的下一個(gè)產(chǎn)品。目前,YouTube TikTok 上所使用的推薦算法已非常準(zhǔn)確,以至于它們可以讓用戶(hù)沉迷數(shù)小時(shí)。下面展示了YouTubeTikTokInstagram Facebook 的月訪問(wèn)量足以證明這一點(diǎn)。

  • Facebook29
  • YouTube22
  • Instagram14
  • TikTok10

顯然,此類(lèi)算法會(huì)帶來(lái)更好的客戶(hù)參與度、更好的客戶(hù)體驗(yàn)、以及平臺(tái)收入的提升。可以說(shuō),成癮就建立在這些超優(yōu)化算法的準(zhǔn)確性和令人生畏的性能之上,而它們成功的秘訣就依賴(lài)于出色的推薦算法。

一、推薦算法的類(lèi)型

1.協(xié)作篩選(基于用戶(hù))

基于用戶(hù)的協(xié)作篩選是一種推薦技術(shù),它假設(shè)具有相似偏好的用戶(hù)將具有相似的品味。它利用用戶(hù)-項(xiàng)目(user-item)的交互數(shù)據(jù),來(lái)識(shí)別用戶(hù)之間的相似性,且通常采用余弦相似性或Pearson 相關(guān)性等來(lái)度量。該方法根據(jù)類(lèi)似用戶(hù)給出的評(píng)級(jí),來(lái)預(yù)測(cè)其他用戶(hù)的評(píng)級(jí)或偏好。

但是,此方法可能會(huì)面臨一些挑戰(zhàn),例如:尚未與系統(tǒng)交互的新用戶(hù),會(huì)出現(xiàn)“冷啟動(dòng)問(wèn)題”,并且在處理大量用戶(hù)時(shí),也可能會(huì)出現(xiàn)可擴(kuò)展性問(wèn)題。

Python
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

def user_based_cf(ratings_matrix, user_id, k=5):
 similarities = cosine_similarity(ratings_matrix)
 user_similarities = similarities[user_id]
 similar_users = np.argsort(user_similarities)[::-1][1:k+1]

 recommendations = np.zeros(ratings_matrix.shape[1])
 for similar_user in similar_users:
 recommendations += ratings_matrix[similar_user]

return recommendations / k

上述代碼展示了:

  • 使用余弦相似度來(lái)計(jì)算用戶(hù)的相似度
  • 查找與目標(biāo)用戶(hù)最相似的用戶(hù)k
  • 匯總類(lèi)似用戶(hù)的評(píng)分以生成推薦
  • 返回類(lèi)似用戶(hù)對(duì)每個(gè)項(xiàng)目的平均評(píng)分而且,它實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單,易于修改或擴(kuò)展。

2.協(xié)作篩選(基于項(xiàng)目)

基于項(xiàng)目的協(xié)作篩選假定用戶(hù)會(huì)更喜歡與他們過(guò)去喜歡的項(xiàng)目相類(lèi)似的項(xiàng)目。它根據(jù)用戶(hù)評(píng)分或交互來(lái)計(jì)算項(xiàng)目之間的相似性。這種方法通常比基于用戶(hù)的協(xié)作篩選更具可擴(kuò)展性,尤其是在用戶(hù)眾多而項(xiàng)目較少的情況下。它允許通過(guò)預(yù)先計(jì)算項(xiàng)目的相似性,以更快地進(jìn)行實(shí)時(shí)推薦。

雖然此方法能比基于用戶(hù)的方法更好地處理新用戶(hù),但它對(duì)缺乏足夠評(píng)級(jí)的新項(xiàng)目不一定奏效。隨著時(shí)間的推移,它受到用戶(hù)偏好變化的影響也較小。

Python
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

def item_based_cf(ratings_matrix, item_id, k=5):
    similarities = cosine_similarity(ratings_matrix.T)
    item_similarities = similarities[item_id]
    similar_items = np.argsort(item_similarities)[::-1][1:k+1]
    
    recommendations = np.zeros(ratings_matrix.shape[0])
    for similar_item in similar_items:
        recommendations += ratings_matrix[:, similar_item]
    
return recommendations / k

上述代碼展示了:

  • 通過(guò)轉(zhuǎn)置評(píng)級(jí)矩陣以計(jì)算項(xiàng)目之間的相似性
  • 查找與目標(biāo)項(xiàng)目最相似的k
  • 匯總類(lèi)似商品的用戶(hù)評(píng)分
  • 返回基于相似項(xiàng)目的每個(gè)用戶(hù)的平均評(píng)分而且,它對(duì)于用戶(hù)多于項(xiàng)目的系統(tǒng)非常有效。

3.矩陣分解

矩陣分解會(huì)將用戶(hù)-項(xiàng)目交互矩陣分解為低維度矩陣,并假設(shè)用戶(hù)偏好和項(xiàng)目特征可以由潛在的因素所表示。奇異值分解 (Singular Value Decomposition,SVD 或交替最小二乘法 (Alternating Least Squares,ALS 等技術(shù)通常被用于此目的。

與基于上述記憶的協(xié)作篩選方法相比,這種方法可以有效地處理大型稀疏數(shù)據(jù)集,而且通常能夠提供更高的準(zhǔn)確性。此外,它還可以結(jié)合正則化技術(shù),來(lái)防止過(guò)度擬合,從而增強(qiáng)模型對(duì)不可見(jiàn)的數(shù)據(jù)的泛化。

Python
import numpy as np

def matrix_factorization(R, P, Q, K, steps=5000, alpha=0.0002, beta=0.02):
    Q = Q.T
    for step in range(steps):
        for i in range(len(R)):
            for j in range(len(R[i])):
                if R[i][j] > 0:
                    eij = R[i][j] - np.dot(P[i,:], Q[:,j])
                    for k in range(K):
                        P[i][k] += alpha * (2 * eij * Q[k][j] - beta * P[i][k])
                        Q[k][j] += alpha * (2 * eij * P[i][k] - beta * Q[k][j])
        
        e = 0
        for i in range(len(R)):
            for j in range(len(R[i])):
                if R[i][j] > 0:
                    e += pow(R[i][j] - np.dot(P[i,:], Q[:,j]), 2)
                    for k in range(K):
                        e += (beta/2) * (pow(P[i][k], 2) + pow(Q[k][j], 2))
        if e < 0.001:
            break
return P, Q.T

上述代碼展示了:

  • 實(shí)現(xiàn)基本的矩陣分解算法
  • 使用梯度下降,來(lái)最小化預(yù)測(cè)評(píng)級(jí)和實(shí)際評(píng)級(jí)之間的誤差
  • 結(jié)合正則化以防止過(guò)擬合
  • 迭代更新用戶(hù)和項(xiàng)目的潛在因素
  • 當(dāng)誤差低于閾值或達(dá)到最大步長(zhǎng)時(shí)停止

4.基于內(nèi)容的篩選

基于內(nèi)容的篩選根據(jù)項(xiàng)目的功能和用戶(hù)的偏好來(lái)推薦項(xiàng)目。它根據(jù)每個(gè)用戶(hù)和項(xiàng)目的特征,為每個(gè)用戶(hù)和項(xiàng)目構(gòu)建一個(gè)配置文件。
通常此方法采用諸如 TF-IDF(術(shù)語(yǔ)頻率-逆文檔頻率)和余弦相似度等技術(shù),進(jìn)行文本分析和余弦相似度進(jìn)行匹配。由于該方法并不依賴(lài)于先前的用戶(hù)交互,因此有效地解決了新項(xiàng)目的問(wèn)題。

然而,它也可能受到過(guò)度專(zhuān)業(yè)化(overspecialization)的影響,并導(dǎo)致給出的建議缺乏多樣性。此外,其有效的實(shí)施往往需要良好的特征工程,以確保能準(zhǔn)確地捕獲項(xiàng)目的相關(guān)特征。

Python
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

def content_based_filtering(item_descriptions, user_profile, k=5):
    vectorizer = TfidfVectorizer()
    item_vectors = vectorizer.fit_transform(item_descriptions)
    user_vector = vectorizer.transform([user_profile])
    
    similarities = cosine_similarity(user_vector, item_vectors)
    top_items = np.argsort(similarities[0])[::-1][:k]
    
return top_items

上述代碼展示了:

  • 使用 TF-IDF 將文本描述轉(zhuǎn)換為數(shù)值向量
  • 計(jì)算用戶(hù)配置文件和項(xiàng)目描述之間的余弦相似度
  • 返回與用戶(hù)配置文件最相似的項(xiàng)目k此方法不但對(duì)于具有明確定義的物料特征的系統(tǒng)非常高效,而且可以通過(guò)輕松的擴(kuò)展,來(lái)包含多種功能類(lèi)型。

5.混合推薦系統(tǒng)

混合推薦系統(tǒng)結(jié)合了兩種或多種推薦技術(shù),以利用它們各自的優(yōu)勢(shì)。通過(guò)集成多種方法,混合系統(tǒng)可以減輕例如:冷啟動(dòng)問(wèn)題等,單一方法的弱點(diǎn)。常見(jiàn)的方法組合包括協(xié)作篩選和基于內(nèi)容的篩選。其涉及到的技術(shù)包括:加權(quán)、切換、混合或meta-level方法。

與單一方法系統(tǒng)相比,混合系統(tǒng)通常可以提供更強(qiáng)大、更準(zhǔn)確的建議。當(dāng)然,有效的實(shí)施也離不開(kāi)仔細(xì)的調(diào)整,以平衡不同的組件,并確保其最佳性能。

Python
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

def hybrid_recommender(ratings_matrix, content_matrix, user_id, alpha=0.5, k=5):
    cf_similarities = cosine_similarity(ratings_matrix)
    content_similarities = cosine_similarity(content_matrix)
    
    hybrid_similarities = alpha * cf_similarities + (1 - alpha) * content_similarities
    user_similarities = hybrid_similarities[user_id]
    
    similar_users = np.argsort(user_similarities)[::-1][1:k+1]
    
    recommendations = np.zeros(ratings_matrix.shape[1])
    for similar_user in similar_users:
        recommendations += ratings_matrix[similar_user]
    
return recommendations / k

上述代碼展示了:

  • 將協(xié)作篩選和基于內(nèi)容的相似性相結(jié)合
  • 使用帶有參數(shù) alpha 的加權(quán)求和方法
  • 根據(jù)混合相似度查找相似用戶(hù)
  • 根據(jù)類(lèi)似用戶(hù)的評(píng)分生成推薦而且,它還允許輕松調(diào)整 CF 和基于內(nèi)容的方法之間的平衡

6.奇異值分解 (SVD)

奇異值分解是一種矩陣分解技術(shù),它將矩陣分解為三個(gè)分量:U、Σ V^T。在此分解中,U V 分別表示左奇異向量和右奇異向量,而 Σ 包含了奇異值。SVD 通過(guò)僅保留頂部的奇異值k來(lái)降低維度。這有助于揭示用戶(hù)與項(xiàng)目交互中的潛在因素。

此方法對(duì)于處理推薦系統(tǒng)中常見(jiàn)的大型稀疏矩陣非常有效。此外,SVD 在準(zhǔn)確性和計(jì)算效率之間提供了良好的平衡,使其成為生成推薦的熱門(mén)選擇。

Python
import numpy as np
from scipy.sparse.linalg import svds

def svd_recommender(ratings_matrix, k=5):
    U, s, Vt = svds(ratings_matrix, k=k)
    
    sigma = np.diag(s)
    predicted_ratings = np.dot(np.dot(U, sigma), Vt)
    
return predicted_ratings

上述代碼展示了:

  • 使用 scipy svd函數(shù)來(lái)執(zhí)行截短了的 SVD
  • 僅使用頂部奇異值k重建評(píng)級(jí)矩陣
  • 返回所有“用戶(hù)-項(xiàng)目”對(duì)的預(yù)測(cè)評(píng)級(jí)的密集矩陣由于適用于大型稀疏評(píng)級(jí)矩陣,它還可以很容易地集成到一個(gè)更大的推薦系統(tǒng)中。

7.張量分解

張量分解技術(shù)會(huì)將傳統(tǒng)的矩陣分解擴(kuò)展為多維數(shù)據(jù),并允許將時(shí)間和位置等上下文信息合并到推薦中。它利用 CP 分解等方法,將張量分解為各個(gè)分量張量之和,以捕獲多個(gè)因素之間的復(fù)雜交互。與二維方法相比,由于處理的是更高維的數(shù)組,因此該方法需要更多的數(shù)據(jù)和計(jì)算資源。

同時(shí),此方法可以通過(guò)利用數(shù)據(jù)的其他維度,來(lái)提供高度個(gè)性化和上下文感知的建議。數(shù)據(jù)結(jié)構(gòu)復(fù)雜性的增加,會(huì)使得在各種上下文中,對(duì)用戶(hù)偏好的理解更加細(xì)致入微,整體推薦的準(zhǔn)確性也就相應(yīng)提高了。

Python
import numpy as np
import tensorly as tl
from tensorly.decomposition import parafac

def tensor_factorization_recommender(tensor, rank=10):
    factors = parafac(tensor, rank=rank)
    reconstructed_tensor = tl.kruskal_to_tensor(factors)
return reconstructed_tensor

上述代碼展示了:

  • 使用 TensorLy 庫(kù)進(jìn)行張量運(yùn)算和分解
  • PARAFAC 分解應(yīng)用于輸入張量
  • 從分解因子中重建張量
  • 將重建的張量作為建議返回而且,它還可以處理多維數(shù)據(jù)(例如,用戶(hù)-項(xiàng)目-上下文)。

8.神經(jīng)協(xié)作篩選

基于深度學(xué)習(xí)的推薦系統(tǒng)會(huì)將協(xié)作篩選技術(shù)與神經(jīng)網(wǎng)絡(luò)相結(jié)合。這種方法能夠?qū)W到非線性用戶(hù)-項(xiàng)目的交互,而傳統(tǒng)的矩陣分解方法則可能難以解決。深度學(xué)習(xí)推薦器通常使用嵌入層,來(lái)表示密集的低維空間中的用戶(hù)和項(xiàng)目。據(jù)此,它可以輕松地集成各種附加功能或附帶信息,包括用戶(hù)人口統(tǒng)計(jì)或項(xiàng)目描述等,從而提高推薦的效果。

在大型數(shù)據(jù)集上進(jìn)行訓(xùn)練時(shí),基于深度學(xué)習(xí)的系統(tǒng)在準(zhǔn)確性方面,通常會(huì)優(yōu)于傳統(tǒng)的矩陣分解方法。當(dāng)然,這一優(yōu)勢(shì)是以計(jì)算復(fù)雜性的增加和對(duì)大數(shù)據(jù)的需求為代價(jià)的。

此外,深度學(xué)習(xí)推薦器還需要仔細(xì)的超參數(shù)調(diào)優(yōu),才能獲得最佳結(jié)果。與更簡(jiǎn)單的協(xié)作篩選方法相比,深度學(xué)習(xí)推薦器的實(shí)施和維護(hù)更具挑戰(zhàn)性。

Python
import tensorflow as tf
from tensorflow.keras.layers import Input, Embedding, Flatten, Dense, Concatenate
from tensorflow.keras.models import Model

def neural_collaborative_filtering(num_users, num_items, embedding_size=100):
    user_input = Input(shape=(1,), dtype='int32', name='user_input')
    item_input = Input(shape=(1,), dtype='int32', name='item_input')

    user_embedding = Embedding(num_users, embedding_size, name='user_embedding')(user_input)
    item_embedding = Embedding(num_items, embedding_size, name='item_embedding')(item_input)

    user_vecs = Flatten()(user_embedding)
    item_vecs = Flatten()(item_embedding)

    concat = Concatenate()([user_vecs, item_vecs])
    dense1 = Dense(128, activation='relu')(concat)
    dense2 = Dense(64, activation='relu')(dense1)
    output = Dense(1, activation='sigmoid')(dense2)

    model = Model(inputs=[user_input, item_input], outputs=output)
    model.compile(optimizer='adam', loss='binary_crossentropy')

上述代碼展示了:

  • 使用 TensorFlow Keras 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型
  • 為用戶(hù)和項(xiàng)目創(chuàng)建嵌入層
  • 連接用戶(hù)和項(xiàng)目嵌入
  • 添加密集層以學(xué)習(xí)非線性交互
  • 返回一個(gè)已編譯的模型,以便進(jìn)行訓(xùn)練

二、Netflix 案例研究

作為一種協(xié)作篩選算法,Netflix 的推薦系統(tǒng)源于 2000 年的 CineMatch。它使用會(huì)員評(píng)分來(lái)估計(jì)用戶(hù)對(duì)于電影的喜愛(ài)程度。2006 年,Netflix 發(fā)起了 100 萬(wàn)美元的獎(jiǎng)金池,旨在創(chuàng)建一個(gè)能夠勝過(guò) CineMatch 10% 的模型,進(jìn)而讓獲勝的算法被應(yīng)用到Netflix的內(nèi)部數(shù)據(jù)中。

Netflix很快以此開(kāi)始積累用戶(hù),并在2007年轉(zhuǎn)向流媒體數(shù)據(jù),讓觀眾接觸到了實(shí)時(shí)生成建議的強(qiáng)化學(xué)習(xí)算法和聚類(lèi)算法。隨著推薦算法在有效性上的改進(jìn),越來(lái)越多的用戶(hù)開(kāi)始轉(zhuǎn)用Netflix。他們?cè)?/span>Netflix上觀看的內(nèi)容中,幾乎有80%是由推薦算法所建議的。

說(shuō)到Netflix 先進(jìn)的機(jī)器學(xué)習(xí)技術(shù)和聚類(lèi)技術(shù),該系統(tǒng)是基于用戶(hù)觀看的電影相關(guān)元數(shù)據(jù),由 1300 多個(gè)聚類(lèi)組成。這使得他們能夠向用戶(hù)提供高度優(yōu)化的建議。不過(guò),Netflix很快就遇到了一個(gè)新的問(wèn)題--用戶(hù)規(guī)模。隨著月用戶(hù)數(shù)達(dá)到數(shù)億級(jí),Netflix需要全力投入云計(jì)算。

簡(jiǎn)而言之,Netflix 2008 年開(kāi)始將所有數(shù)據(jù)遷移到 Amazon Web Services AWS)上。 他們充分利用了AWS 內(nèi)置的對(duì)于機(jī)器學(xué)習(xí)的支持。據(jù)報(bào)道,Netflix 早在 2022 年就為其全球觀眾使用了超過(guò) 100,000 臺(tái) AWS 服務(wù)器和 1,000 個(gè) Kinesis 分片。而且,Netflix的推薦器算法是高度自動(dòng)化的,每天都能為用戶(hù)執(zhí)行數(shù)千次 A/B 測(cè)試。截止去年,Netflix已獲得了高達(dá)310億美元的收入。

目前,Netflix推薦系統(tǒng)的主要部分包括:

  • 強(qiáng)化學(xué)習(xí):根據(jù)用戶(hù)行為,Netflix 會(huì)實(shí)時(shí)更改屏幕上的內(nèi)容。系統(tǒng)處于不斷變化的狀態(tài),會(huì)根據(jù)用戶(hù)的交互而變化。
  • 深度神經(jīng)網(wǎng)絡(luò):鑒于數(shù)據(jù)規(guī)模相當(dāng)龐大(超過(guò) 15,000 個(gè)節(jié)目和近 3 億用戶(hù)),深度學(xué)習(xí)和NVIDIA技術(shù)(請(qǐng)參閱下文,以了解使用 NVIDIA 最新的 Merlin 深度學(xué)習(xí)技術(shù))得到了廣泛的使用。
  • 矩陣分解:通過(guò)在高度稀疏和龐大的矩陣上有效地執(zhí)行奇異值分解 SVD),Netflix 可以估計(jì)某些類(lèi)型的節(jié)目對(duì)于用戶(hù)的重要性和吸引力。
  • 集成學(xué)習(xí):上面列出的算法的組合可以動(dòng)態(tài)調(diào)整推薦,實(shí)現(xiàn)了沒(méi)有兩個(gè)用戶(hù)會(huì)看到相同的屏幕。這種個(gè)性化是獲取大筆資金,并使得 Netflix 在所有 OTT 平臺(tái)上處于領(lǐng)先地位的根本原因。Netflix的上述所有這些模型和優(yōu)化,每天都會(huì)為數(shù)十萬(wàn)用戶(hù)運(yùn)行數(shù)十萬(wàn)次。

三、現(xiàn)代化深度學(xué)習(xí)技術(shù)

針對(duì)大規(guī)模用戶(hù),任何一臺(tái)計(jì)算機(jī)都無(wú)法單獨(dú)地運(yùn)行機(jī)器學(xué)習(xí)模型。這就是 AWS 在數(shù)千臺(tái)機(jī)器上,以分布式方式運(yùn)行 ML 算法的原因。

現(xiàn)代化推薦系統(tǒng)已廣泛地使用到了深度學(xué)習(xí)。作為深度學(xué)習(xí)的一部分,GPU/TPU 計(jì)算系統(tǒng)被廣泛用于加速計(jì)算。例如,NVIDIA GPU 集群在 ML 算法的執(zhí)行中,發(fā)揮著重要的作用。其新近發(fā)布的Merlin,就是一種高性能推薦算法。經(jīng)過(guò)優(yōu)化,它可以在數(shù)千臺(tái)機(jī)器上運(yùn)行,并提供卓越的計(jì)算結(jié)果。

1.NVIDIA 推薦系統(tǒng)

NVIDIA Merlin官宣的深度推薦系統(tǒng)應(yīng)用框架包括:

NVTabular(https://github.com/NVIDIA/nvTabular)

NVTabular 是一個(gè)特征工程和預(yù)處理庫(kù),旨在快速便捷地操作 TB 級(jí)數(shù)據(jù)集。它特別適用于推薦系統(tǒng),這些系統(tǒng)需要一種可擴(kuò)展的方式,來(lái)處理諸如用戶(hù)-項(xiàng)目元數(shù)據(jù)、以及上下文信息等。它提供了一種高級(jí)抽象來(lái)簡(jiǎn)化代碼,并使用 RAPIDS cuDF 庫(kù)來(lái)加速 GPU 上的計(jì)算。使用 NVTabular,你只需 10-20 行高級(jí) API 代碼,就可以設(shè)置好數(shù)據(jù)工程管道。與基于 CPU 的優(yōu)化方法相比,NVTabular 實(shí)現(xiàn)了高達(dá) 10 倍的加速,而且無(wú)論 GPU/CPU 及內(nèi)存的配置如何,都不會(huì)受到數(shù)據(jù)集大小的限制。

HugeCTR(https://github.com/NVIDIA/HugeCTR)

HugeCTR 是一個(gè)高效的 GPU 框架,專(zhuān)為推薦模型訓(xùn)練而設(shè)計(jì),旨在實(shí)現(xiàn)高性能和易用性。它既支持簡(jiǎn)單的深度模型,也支持最先進(jìn)的混合模型,如W&DDeep Cross NetworkDeepFM。而HugeCTR DLRM模型的詳細(xì)信息和超參數(shù),則可以很容易地以JSON格式被指定,并允許開(kāi)發(fā)者從一系列常見(jiàn)的模型中進(jìn)行快速選擇。

TensorRT (https://developer.nvidia.com/tensorrt)和Triton 推理服務(wù)器(https://developer.nvidia.com/nvidia-triton-inference-server)

NVIDIA TensorRT 是一個(gè)用于高性能深度學(xué)習(xí)推理的 SDK 。它包括了一個(gè)深度學(xué)習(xí)推理優(yōu)化器和運(yùn)行時(shí),可以為推理應(yīng)用程序提供低延遲和高吞吐量的服務(wù)。TensorRT 可以使用通用接口,即開(kāi)放神經(jīng)網(wǎng)絡(luò)交換格式ONNX,接入來(lái)自所有深度學(xué)習(xí)框架的訓(xùn)練神經(jīng)網(wǎng)絡(luò)。

NVIDIA Triton 推理服務(wù)器提供了針對(duì) NVIDIA GPU 優(yōu)化的云推理解決方案。該服務(wù)器通過(guò) HTTP gRPC 端點(diǎn)提供推理服務(wù),允許遠(yuǎn)程客戶(hù)端請(qǐng)求對(duì)服務(wù)器管理的任何模型進(jìn)行推理。目前,Triton Server 可以使用包括 TensorFlowPyTorch TorchScript)、ONNX 運(yùn)行時(shí)和 TensorRT 運(yùn)行時(shí)等多個(gè)后端,來(lái)提供深度學(xué)習(xí)推薦器模型。

代碼示例

以下代碼示例展示了轉(zhuǎn)換 1 TB Criteo Ads 數(shù)據(jù)集所需的實(shí)際預(yù)處理工作流。該工作流僅使用 NVTabular 通過(guò)十幾行代碼指定的數(shù)值列和分類(lèi)列。據(jù)此,我們可以定義一個(gè) NVTabular 工作流,并提供一組訓(xùn)練和驗(yàn)證文件。然后,我們?cè)賹㈩A(yù)處理操作添加到工作流中,并將數(shù)據(jù)保存到磁盤(pán)上。相比之下,那些自定義構(gòu)建的處理代碼,例如:由Facebook DLRM 實(shí)現(xiàn)的基于 NumPy 的數(shù)據(jù)工具,對(duì)于同一管道,則需要 500-1000 行代碼才能實(shí)現(xiàn)。

Python
import nvtabular as nvt
import glob
 
cont_names = ["I"+str(x) for x in range(1, 14)] # specify continuous feature names
cat_names = ["C"+str(x) for x in range(1, 27)] # specify categorical feature names
label_names = ["label"] # specify target feature
columns = label_names + cat_names + cont_names # all feature names
 
# initialize Workflow
proc = nvt.Worfklow(cat_names=cat_names, cont_names=cont_names, label_name=label_names)
 
# create datsets from input files
train_files = glob.glob("./dataset/train/*.parquet")
valid_files = glob.glob("./dataset/valid/*.parquet")
 
train_dataset = nvt.dataset(train_files, gpu_memory_frac=0.1)
valid_dataset = nvt.dataset(valid_files, gpu_memory_frac=0.1)
 
# add feature engineering and preprocessing ops to Workflow
proc.add_cont_feature([nvt.ops.ZeroFill(), nvt.ops.LogOp()])
proc.add_cont_preprocess(nvt.ops.Normalize())
proc.add_cat_preprocess(nvt.ops.Categorify(use_frequency=True, freq_threshold=15))
 
# compute statistics, transform data, export to disk
proc.apply(train_dataset, shuffle=True, output_path="./processed_data/train", num_out_files=len(train_files))
proc.apply(valid_dataset, shuffle=False, output_path="./processed_data/valid", num_out_files=len(valid_files))

你可以通過(guò)鏈接--https://github.com/NVIDIA-Merlin,在GitHub 存儲(chǔ)庫(kù)中找到整個(gè)技術(shù)棧。

小結(jié)

綜上所述,推薦系統(tǒng)已從簡(jiǎn)單的統(tǒng)計(jì)建模、基于內(nèi)容的篩選和協(xié)作篩選,發(fā)展到了我們現(xiàn)在常見(jiàn)的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)、HPC 節(jié)點(diǎn)、矩陣分解,并正在向更大維度的擴(kuò)展。推薦系統(tǒng)可謂無(wú)處不在,從Google到Microsoft,從Amazon到Flipkart。它已是現(xiàn)代企業(yè)的重要組成部分。希望如下參考能夠幫助你對(duì)推薦系統(tǒng)有進(jìn)一步的了解。

譯者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對(duì)內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專(zhuān)注傳播網(wǎng)絡(luò)與信息安全知識(shí)與經(jīng)驗(yàn)。

原文標(biāo)題:A Deep Dive Into Recommendation Algorithms With Netflix Case Study and NVIDIA Deep Learning Technology,作者:Sagar Sidana

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2020-09-21 05:58:40

深度學(xué)習(xí)算法目標(biāo)檢測(cè)

2010-11-19 16:22:14

Oracle事務(wù)

2020-09-21 09:53:04

FlexCSS開(kāi)發(fā)

2009-08-25 16:27:10

Mscomm控件

2010-07-13 09:36:25

2010-06-23 20:31:54

2022-08-26 13:48:40

EPUBLinux

2020-07-20 06:35:55

BashLinux

2023-10-06 00:04:02

2024-08-21 08:00:00

2010-05-18 10:39:22

2024-08-19 08:07:52

2010-11-15 11:40:44

Oracle表空間

2011-07-18 15:08:34

2022-06-03 10:09:32

威脅檢測(cè)軟件

2012-02-16 11:35:34

ibmdw

2010-11-08 13:54:49

Sqlserver運(yùn)行

2018-06-22 13:05:02

前端JavaScript引擎

2021-04-28 10:13:58

zookeeperZNode核心原理

2013-04-16 10:20:21

云存儲(chǔ)服務(wù)云存儲(chǔ)SLA服務(wù)水平協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

免费看国产黄色片| 自拍偷拍亚洲欧美日韩| 久久久免费电影| 欧美图片自拍偷拍| 热色播在线视频| 日本一区二区三区高清不卡| 日韩视频在线观看免费| 欧美成人黑人猛交| 日本免费视频在线观看| 国产福利一区二区三区| 欧美激情图片区| 老熟妇一区二区| 日韩三级网址| 国产精品久久久久久久第一福利| 91视频免费进入| 久久精品视频5| 亚洲精品在线观看91| 亚洲国产成人精品电影| 黄大色黄女片18第一次| 国产在线日韩在线| 精品处破女学生| 久久无码人妻精品一区二区三区 | 国产第一页在线视频| 性xx色xx综合久久久xx| 日韩视频永久免费| 日本一本二本在线观看| 亚洲七七久久综合桃花剧情介绍| 久久久亚洲午夜电影| 午夜精品久久久久久久久久久久久| 日本乱子伦xxxx| 极品尤物一区| 日韩精品专区在线影院观看| 一级做a免费视频| 高清不卡亚洲| 午夜精品影院在线观看| 国内外成人激情免费视频| 国产精品久久久久一区二区国产| 视频在线观看国产精品| 欧美精品第一页在线播放| 天天操夜夜操av| 国产一区二区亚洲| 日韩精品欧美激情| 三级视频网站在线观看| 成人av动漫| 欧美美女直播网站| 久久视频免费在线| 天天影视久久综合| 日本一二三四高清不卡| 欧美一区二区综合| 免费一级在线观看| 久久免费国产精品| 国产精品专区第二| 黄色污污视频软件| 久久亚洲色图| 国产91在线播放| 免费污污视频在线观看| 免费在线播放第一区高清av| 2024亚洲男人天堂| 成人午夜淫片100集| 国产亚洲毛片| 国产成人激情小视频| 黄色av一级片| 日本不卡免费在线视频| 国产精品99蜜臀久久不卡二区| 国产精品视频一区在线观看| 久久先锋资源| 国产美女精彩久久| 国产又黄又粗又长| 伊人久久大香线蕉综合热线| 久久久久久91| 亚洲男人第一av| 噜噜噜久久亚洲精品国产品小说| 日本成人在线视频网址| 最新中文字幕第一页| 精品在线播放午夜| 成人av男人的天堂| 深夜影院在线观看| 精品亚洲成a人在线观看| 国产精品亚洲第一区| 国产又黄又粗又硬| 成人免费毛片a| 久久综合中文色婷婷| 国产www.大片在线| 亚洲同性gay激情无套| 成人国产在线看| 91欧美在线视频| 亚洲人成小说网站色在线| 妞干网在线播放| 毛片免费看不卡网站| 欧美日韩国产在线播放网站| 少妇丰满尤物大尺度写真| 欧美影院天天5g天天爽| 在线免费观看羞羞视频一区二区| av天堂一区二区| 亚洲尤物av| 欧美电影在线免费观看| 91人妻一区二区| 国产欧美日韩视频在线| 欧美成人一二三| 久久不卡免费视频| 国产在线精品免费av| 久久福利电影| 久久亚洲天堂| 欧美视频13p| 黄大色黄女片18第一次| 极品国产人妖chinesets亚洲人妖| 综合国产在线观看| 日韩精品一区二区在线播放| 久久黄色级2电影| 久久久久久一区| 91一区二区三区在线| 日韩欧美有码在线| 国产老头和老头xxxx×| blacked蜜桃精品一区| 欧美激情中文字幕在线| 亚洲一区二区人妻| 久久久久久久久久看片| www.好吊操| 57pao成人永久免费| 亚洲无限av看| 97人人澡人人爽人人模亚洲| 国产乱淫av一区二区三区| 欧美成人第一区| 久草免费在线色站| 欧美精品成人一区二区三区四区| 国产色视频一区二区三区qq号| 韩国在线一区| 91影院在线免费观看视频| 岛国在线大片| 欧美性极品少妇精品网站| 91亚洲一线产区二线产区| 日韩av片子| 日本最新高清不卡中文字幕| 欧美一级特黄aaaaaa| 亚洲精品综合在线| 在线看免费毛片| 日韩欧美高清在线播放| 国产第一区电影| 欧美成人免费| 欧美日韩在线影院| 亚洲综合自拍网| 亚洲啪啪91| 国产精品久久久久久久小唯西川| 伊人在我在线看导航| 日韩一区二区不卡| 91视频综合网| 国产精品一区不卡| 亚洲国产一二三精品无码| 懂色av色香蕉一区二区蜜桃| 久久天天躁夜夜躁狠狠躁2022| 亚洲一级片免费看| 一区精品在线播放| 91蝌蚪视频在线| 欧美aⅴ99久久黑人专区| 91视频免费在线| 日韩激情av| 亚洲成色777777女色窝| 国产精品xxxx喷水欧美| 91视视频在线直接观看在线看网页在线看 | 精品人妻一区二区三区蜜桃| 亚洲免费观看高清在线观看| 国产精品19p| 亚洲国产美女| 欧美连裤袜在线视频| 91av一区| 麻豆成人在线看| 三级在线观看网站| 欧美特级www| 日韩毛片无码永久免费看| 蜜臀av一区二区在线观看 | 亚洲综合五月天婷婷丁香| 中文字幕日本不卡| 久久久国产精品久久久| 亚洲福利一区| 日本午夜一区二区三区| 伦一区二区三区中文字幕v亚洲| 麻豆国产精品va在线观看不卡 | 国产黄人亚洲片| 免费在线观看亚洲视频| 国产精品片aa在线观看| 91精品在线看| 欧美另类老肥妇| 色妞欧美日韩在线| av大全在线观看| 中文字幕精品在线不卡| 免费看的av网站| 国产亚洲在线观看| 爱爱爱视频网站| 国产伦精品一区二区三区免费优势| 热久久这里只有精品| 麻豆最新免费在线视频| 亚洲国产三级网| 亚洲一线在线观看| 天天综合网天天综合色| 亚洲一级理论片| 成人97人人超碰人人99| 免费看污污网站| 亚洲欧洲综合| 久久av喷吹av高潮av| 妖精视频一区二区三区免费观看| 91久久久久久久久久| 国产日韩电影| 欧美激情伊人电影| 嫩草香蕉在线91一二三区| 亚洲国产古装精品网站| 国产精品免费无遮挡| 欧美视频二区36p| 国产亚洲精品码| 亚洲欧洲日韩一区二区三区| 九色porny自拍视频| 国产福利一区二区| 色乱码一区二区三区在线| 99在线|亚洲一区二区| 国产精品一区二区三区免费观看| 欧美在线va视频| 在线观看免费高清视频97| 亚洲黄色片视频| 欧美日韩免费一区二区三区视频| av资源免费观看| 一区二区三区欧美激情| 欧日韩不卡视频| 久久久精品综合| a天堂视频在线观看| 国产河南妇女毛片精品久久久| 在线看的黄色网址| 久久精品123| 欧美网站免费观看| 影音先锋亚洲一区| 蜜桃视频一区二区在线观看| 色777狠狠狠综合伊人| 日韩成人在线资源| 天天躁日日躁狠狠躁欧美| 国产伦精品一区二区三区| 欧美特黄不卡| 亚洲一区二区三区香蕉| 亚洲欧洲二区| 国产在线观看不卡| 成人亚洲免费| 国产精品亚洲一区二区三区| 电影在线观看一区二区| 香蕉久久夜色精品国产更新时间| 日韩激情在线视频| 午夜精品久久久久久久爽| 91超碰这里只有精品国产| 国产欧美亚洲日本| 欧美风情在线视频| 国产精品一二区| 欧美大陆国产| 91在线中文字幕| 国产一区二区久久久久| 天天操天天摸天天干| 麻豆91小视频| 欧美成人黄色网址| 青娱乐精品视频| 一级在线免费视频| 男女激情视频一区| 黄色手机在线视频| 久久精品国内一区二区三区 | 国产亚洲毛片| 91好吊色国产欧美日韩在线| 国产又爽又黄又嫩又猛又粗| 欧美在线影院一区二区| 91porny九色| 精品视频在线免费| 中文在线资源天堂| 欧美精品高清视频| 亚洲AV无码一区二区三区性| 亚洲国产成人av在线| 美州a亚洲一视本频v色道| 一本一道久久a久久精品逆3p| 在线免费看黄| 久久91亚洲精品中文字幕| 黄色片中文字幕| 懂色av影视一区二区三区| 日韩特级黄色片| 91久久精品一区二区二区| 亚洲精品无码久久久久| 欧美视频完全免费看| 日本中文字幕影院| 污网站在线免费看| 欧美高跟鞋交xxxxhd| a毛片不卡免费看片| 热久久美女精品天天吊色| 日本一区二区三区中文字幕| 1卡2卡3卡精品视频| 牛牛影视一区二区三区免费看| 欧美极品一区二区| 欧美独立站高清久久| 人人妻人人澡人人爽欧美一区| 亚洲一区观看| 超碰成人在线播放| 成人高清免费观看| 国产三级av在线播放| 亚洲色图在线看| 亚洲综合一二三| 欧美性猛交xxxxxx富婆| www.黄色国产| 亚洲性xxxx| 牛牛电影国产一区二区| 国产成人精品电影久久久| 成人亚洲精品| 欧美成人蜜桃| 国自产拍偷拍福利精品免费一| 黄色三级视频片| 国产成人av电影免费在线观看| 中文字幕免费高| 亚洲美女一区| 午夜大片在线观看| 久久亚洲精精品中文字幕早川悠里 | 日本亚洲三级在线| 国产chinese中国hdxxxx| 中文字幕av一区二区三区免费看| 国产精品suv一区二区69| 欧美精品免费视频| 免费在线黄色网址| 久久久免费精品| 久久久久九九精品影院| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 久久精品成人av| 亚洲一区二区欧美日韩| 91国产精品一区| 伊人激情综合网| 亚洲一区站长工具| 国产精品一区二区三区在线观| 91精品啪在线观看国产18| 韩国视频一区二区三区| www激情久久| 中文字幕亚洲精品在线| 日韩美女主播在线视频一区二区三区| av黄色一级片| 91av在线免费| 欧美激情综合在线| 国产精品老女人| 日韩视频免费直播| 免费黄色网页在线观看| 国产精品xxxxx| 青草影视电视剧免费播放在线观看| 国产精品对白刺激| 日韩精品免费一区二区夜夜嗨| bt天堂新版中文在线地址| 国产一区二区成人久久免费影院| 亚洲色图日韩精品| 欧美综合色免费| 国产成人天天5g影院在线观看| 国产成人精品电影| 国产剧情在线观看一区| 久章草在线视频| 国产丝袜美腿一区二区三区| 一二三区免费视频| 亚洲天堂第二页| 日韩和的一区二在线| 日韩福利视频| 青青草97国产精品免费观看| 日本乱子伦xxxx| 欧美色图在线观看| 婷婷在线视频| 成人性生交大片免费看小说 | 国内精品嫩模av私拍在线观看| 伊人国产精品视频| 一区二区三区日韩欧美精品 | 国产香蕉97碰碰久久人人| 欧洲av不卡| 亚洲不卡一卡2卡三卡4卡5卡精品| 成人av资源电影网站| 中文字幕日韩一区二区三区 | 国产日韩欧美在线看| 五月精品视频| 国产乱淫av麻豆国产免费| 午夜视频在线观看一区二区三区 | 视频国产精品| 黄色大片中文字幕| 久久久久国色av免费看影院| 在线观看中文字幕码| 欧美成人精品在线视频| 九九热播视频在线精品6| 熟妇人妻va精品中文字幕| 国产精品国产三级国产有无不卡| 国产av无码专区亚洲av| 97在线视频一区| 色中色综合网| 日批免费观看视频| 欧洲一区在线电影| www.久久ai| 麻豆传媒一区| 精品一区二区三区视频| 国产精品不卡av| 中文字幕日韩在线播放| 香蕉大人久久国产成人av| 精品国产免费av| 国产91丝袜在线观看| 国产高潮久久久| 日韩中文字幕视频在线| 国产成人高清精品免费5388| 国产精品天天av精麻传媒| 亚洲精品成人少妇| 黄色av免费在线看| 91成人理论电影| 青青草成人在线观看| 国产污视频在线观看| 日韩中文字幕在线看|