根植於工業級大規模深度學習應用場景的PaddlePaddle

2020-12-15 donews

2018年11月,英特爾人工智慧大會(AIDC 2018)在北京國貿酒店舉行,這也是英特爾首次專門面向開發者和和技術社區的人工智慧大會。PaddlePaddle總架構師於佃海應邀在大會主論壇做了主題演講,介紹了百度開源深度學習框架PaddlePaddle的最新進展以及百度實際業務中的大規模深度學習應用實踐,特別強調了PaddlePaddle在海量數據超大規模稀疏特徵場景下的高效分布式訓練特色。

於佃海表示,百度很早就開始擁抱機器學習技術,對於深度學習,百度一開始就把握住了先機。早在2012年,百度就成功將DNN模型應用於語音識別和光學字符識別(OCR)任務;而緊接著在2013年,鳳巢廣告和搜索排序也先後上線深度學習模型,這些都屬於業內首次,也奠定了百度在世界範圍內深度學習研究和應用的領先優勢。從此百度逐步全面進入深度學習時代,在深度學習框架研發、平臺建設和技術創新應用等方面都一直走在前沿。

作為國內唯一的開源深度學習框架,PaddlePaddle承載了百度多年以來在深度學習領域的深厚積累。於佃海介紹,PaddlePaddle的原型來自於百度從2013年開始研發的深度學習框架Paddle項目,Paddle的得名就是並行分布式學習(Parallel Distributed Deep Learning)。這個項目是非常有遠見和前瞻性的。首先,在當時還沒有什麼工業界的深度學習框架,也就是百度在深度學習應用剛起步時就意識到了建設通用框架的重要性;另一個是並行分布式,深度學習的威力依賴大數據,工業級的深度學習必須有大規模訓練的支持,百度在深度學習框架構建之初就定位了它的分布式訓練能力。

而對於百度而言,深度學習的應用確實和大數據、強算力下的大規模訓練密切相關。除了大家熟知的語音、視覺、自然語言處理等AI基礎方向外,於佃海特別介紹了在搜索、廣告、信息流推薦等產品線的核心系統中超大規模深度學習的應用,這些應用除了數據規模大之外,還有高維度稀疏特徵的典型特性。

例如在網頁搜索中,百度將深度學習技術用於語義匹配特徵計算。自2013年初次上線以來,持續優化迭代,目前深度學習語義特徵已是百度這個最大中文搜尋引擎上的最關鍵的排序特徵,極大破除了搜索排序依賴關鍵詞匹配的弊端,有效改善了長尾和冷門Query的搜索效果,也建立了百度搜索的技術領先優勢。對應的網絡模型是百度自主研發的深度語義匹配網絡SimNet系列模型,輸入是Query和網頁的各個信息域,利用用戶行為數據來進行大規模訓練。這個任務的數據規模達到了千億級別以上,而文本任務的詞嵌入(Word Embedding)向量表示特點,也使得參數規模達到了數億。在實際業務中,每一個語義匹配特徵對應的模型,都是使用幾十個高性能計算結點多機多線程分布式訓練來完成。

而對於廣告和信息流推薦業務上的深度學習應用,還有更特別的挑戰。這些場景上,深度學習用來構建系統最核心的點擊率預估模型,使用了比語義匹配更多的離散特徵,包括一些ID特徵和組合特徵。特別是在信息流業務上,內容端信息更加豐富,展現序列更長,瀏覽和點擊的歷史信息也更多,整體特徵空間變得更大。結果就是特徵規模最終可達百億級別以上,在Embedding表示下,參數規模能達到千億甚至萬億,模型大小超過TB。但對每條樣本來講,其對特徵的命中又是稀疏的,可能只有數十個到數千個有效特徵被激活。這就形成了超高維度加稀疏的特性,給訓練和在線部署都帶來了極大挑戰。一方面,全局參數已經多到單機無法加載,另一方面仍然是海量數據的超大規模訓練。還有就是這些場景的時效性非常強,新的訓練數據也在不斷產生。在實際業務中,百度對於此類任務使用百結點以上的集群來在線訓練,每個小時可以完成數億樣本的充分增量訓練,並在線實時提供預測服務。

基於這些實際業務中大規模深度學習應用的介紹,於佃海指出,不同場景的深度學習的特點及規模化的難度存在極大差異。圖像類任務,往往網絡的深度和計算的密集型比較突出。但對於文本任務而言,一個尤其重要的特點是詞語的向量表示,每個詞的Embedding向量的維度是幾十到上千,而詞表往往會從幾萬到百萬的規模,這使得詞語的參數Embedding就非常巨大,但實際每個句子中詞語出現又是很稀疏的,這給計算和並行訓練都帶來了新的挑戰。而在很多實際網際網路應用中,往往又廣泛引入大量稀疏特徵,這使得高維稀疏特徵的參數真的變成了一個超級大表,整個分布式並行模式都需要有針對性的設計。

可以看到,深度學習的大規模,不只是大數據和大網絡,我們同時要關注其特徵量和計算特異性。這些都給通用的高性能深度學習編程框架的設計和實現帶來了困難。對於百度當前各產品線上的海量數據超大規模稀疏特徵的深度學習任務,當今市面上的大部分開源框架是很難支撐起來的,當然其中一些在設計層面就沒有特別考慮工業級的大規模訓練問題。而對於PaddlePaddle,是一直伴隨著百度的產品業務應用需求成長起來的。百度各產品線和業務平臺上大規模訓練的場景經驗和技術積累也持續集成到PaddlePaddle中。於佃海表示,在設計和實現上,除了保持深度學習框架自身的通用性和靈活性之外,PaddlePaddle一直同步強化其大規模並行訓練的能力。對大規模高維稀疏數據並行訓練的強有力支持是PaddlePaddle的核心關鍵特色。例如在百度信息流推薦場景下,PaddlePaddle十小時內可輕鬆完成千億規模參數模型在百億日誌數據上在線訓練,完美支持信息流推薦排序任務。我們注意到,在今年7月的百度開發者大會的深度學習公開課上,百度曾專題介紹過大規模稀疏訓練的的相關技術,而在剛剛過去的百度世界大會上的AI論壇上,也特別強調過PaddlePaddle的這一特色。

此外,於佃海還介紹了最近剛剛發布的PaddlePaddle Suite,由核心框架、服務平臺、模塊組件三大部分組成。除了多平臺支持的高性能訓練和預測框架外,特別介紹了以AutoDL和PARL為代表的強大的平臺層和豐富的組件層。PARL是基於PaddlePaddle的深度強化學習(Reinforcement Learning)框架。在剛剛結束的在NeurIPS 2018的強化學習AI挑戰賽中,面對400多隻強手如林的參數隊伍,百度的PARL研發團隊以絕對領先優勢獲得第一名。而PARL的高效分布式訓練能力,也是其奪冠的重要因素之一。

最後於佃海介紹了PaddlePaddle與英特爾在底層性能優化上開展的包括nGraph在內的廣泛而深入的合作,並表示PaddlePaddle對性能優化的追求永無止境,除了大規模分布式訓練能力外,對於深度學習框架的各個環節都會持續優化,發揮深度學習框架和大規模分布式訓練完美結合的優勢,矢志打造能支撐工業級應用的高性能AI框架。


相關焦點

  • 深度學習與PaddlePaddle的應用-個性化推薦
    作者:沈克強 來源:人工智慧學習圈I 研究背景推薦系統(Recommender System)是向用戶建議有用物品的軟體工具和技術,它運用數據分析、數據挖掘等技術,實現對用戶瀏覽信息或商品進行智能推薦,是機器學習,尤其是深度學習算法的重要應用場景。
  • PaddlePaddle深度學習開源平臺:等待眾人划槳的中國AI大船
    一、 PaddlePaddle是什麼 我們說了很多歷史,也提到了一些舞臺上正興的機器學習平臺,而這篇文字,是想介紹一下一個新的選擇:來自百度的paddlepaddle。Paddle(Parallel Distributed Deep Learning,並行分布式深度學習)。
  • 【深度學習系列】關於PaddlePaddle的一些避「坑」技巧
    ,熟悉Tensorflow,PaddlePaddle等深度學習框架,負責過多個機器學習落地項目,如垃圾評論自動過濾,用戶分級精準營銷,分布式深度學習平臺搭建等,都取了的不錯的效果。博客專欄:https://www.cnblogs.com/charlotte77/前文傳送門:【好書推薦&學習階段】三個月教你從零入門深度學習【深度學習系列】PaddlePaddle之手寫數字識別【深度學習系列】卷積神經網絡CNN原理詳解(一)——基本原理【深度學習系列】PaddlePaddle之數據預處理
  • 深度學習系列:PaddlePaddle之手寫數字識別
    上周在搜索關於深度學習分布式運行方式的資料時,無意間搜到了paddlepaddle,發現這個框架的分布式訓練方案做的還挺不錯的,想跟大家分享一下。不過呢,這塊內容太複雜了,所以就簡單的介紹一下paddlepaddle的第一個「hello word」程序----mnist手寫數字識別。下一次再介紹用PaddlePaddle做分布式訓練的方案。
  • 深度學習CPU加速方案,飛槳全流程開發工具PaddleX 打通OpenVINO...
    首先,飛槳(PaddlePaddle)以百度多年的深度學習技術研究和業務應用為基礎,是中國首個開源開放、技術領先、功能完備的產業級深度學習平臺,集深度學習核心訓練和推理框架、基礎模型庫、端到端開發套件和豐富的工具組件於一體。目前,飛槳已凝聚超230萬開發者,服務企業9萬家,基於飛槳開源深度學習平臺產生了31萬個模型 。
  • PaddlePaddle升級解讀 | PaddleHub輕鬆完成遷移學習
    遷移學習(Transfer Learning)是屬於深度學習的一個子研究領域,該研究領域的目標在於利用數據、任務、或模型之間的相似性,將在舊領域學習過的知識,遷移應用於新領域中。遷移學習吸引了很多研究者投身其中,因為它能夠很好的解決深度學習中的以下幾個問題:為了讓開發者更便捷地應用遷移學習,百度PaddlePaddle開源了預訓練模型管理工具PaddleHub。開發者用使用僅僅十餘行的代碼,就能完成遷移學習。本文將為讀者全面介紹PaddleHub並介紹其應用方法。
  • 【深度學習系列】用PaddlePaddle和Tensorflow實現經典CNN網絡GoogLeNet
    點擊上圖,立即開啟AI急速修煉作者:Charlotte    高級算法工程師 ,博客專家;擅長用通俗易懂的方式講解深度學習和機器學習算法
  • 教程| 如何用百度深度學習框架PaddlePaddle做數據預處理
    機器之心經授權轉載 作者:胡曉曼 本文主要介紹了百度的深度學習開源框架PaddlePaddle的數據預處理過程,創建一個reader讀取數據,一行代碼搞定數據的輸入、混洗和批量讀取。本文作者胡曉曼是一名高級算法工程師,熱衷寫通俗易懂的深度學習入門文章。
  • 【深度學習系列】用PaddlePaddle和Tensorflow實現經典CNN網絡AlexNet
    ,熟悉Tensorflow,PaddlePaddle等深度學習框架,負責過多個機器學習落地項目,如垃圾評論自動過濾,用戶分級精準營銷,分布式深度學習平臺搭建等,都取了的不錯的效果。博客專欄:https://www.cnblogs.com/charlotte77/前文傳送門:【好書推薦&學習階段】三個月教你從零入門深度學習【深度學習系列】PaddlePaddle之手寫數字識別【深度學習系列】卷積神經網絡CNN原理詳解(一)——基本原理【深度學習系列】PaddlePaddle之數據預處理
  • 教程 | 如何用百度深度學習框架PaddlePaddle做數據預處理
    本文主要介紹了百度的深度學習開源框架PaddlePaddle的數據預處理過程,創建一個reader讀取數據,一行代碼搞定數據的輸入、混洗和批量讀取
  • PaddlePaddle入門:從對話系統中的情感分析談起
    但無論學習什麼框架或者工具,如果不了解它是如何解決某個具體問題進而幫助提高業務,那無異於捨本逐末。本文將從智能對話系統中一個基礎的問題——情感分析(Sentiment Analysis)——談起,詳細闡述如何「step-by-step」地運用百度開源的深度學習框架(PaddlePaddle)來解決情感分析,並最終如何提升整個對話系統的質量。
  • 乘風破浪的Paddle之LSTM
    作者:劉凱旋 來源:人工智慧學習圈本文未經授權,嚴禁轉載,轉載請聯繫作者本人。自然語言處理(NLP)主要是研究實現人與計算機之間用自然語言進行有效通信的各種理論和方法。基於神經網絡的深度學習技術具有強大的表達能力、端到端解決問題的能力,因而在NLP任務的應用上越來越廣泛和有效。
  • 雲腦科技-實習僧文本匹配模型及基於百度PaddlePaddle的應用
    在深度學習中,基於詞向量和循環神經網絡 (RNN) 的語言模型很好的解決了這些問題。但普通的 RNN,受限於梯度消失和梯度飽和,在訓練時更新信息可能傳播不到序列所有的位置上。因此對於較長的語句,RNN 並不能很好的整合上文信息。GRU 和 LSTM 這兩種特殊的 RNN,在每一個循環單元內引入了「門」的結構,如輸入門,輸出門,遺忘門,等等。
  • 全面支持三大主流環境 |百度PaddlePaddle新增Windows環境支持
    引言:PaddlePaddle作為國內首個深度學習框架,最近發布了更加強大的Fluid1.2版本, 增加了對windows環境的支持,全面支持了Linux、Mac、 windows三大環境。一、安裝在深度學習框架上, python語言由於本身的易用性和豐富的類庫,被眾多深度學習框架作為了應用方面的首選,PaddlePaddle也將python語言作為了自己的應用語言,如下介紹在python下怎麼安裝PaddlePaddle。1.
  • Linux編譯安裝PaddlePaddle
    docker run --name paddle-test -v $PWD:/paddle --network=host -it docker.paddlepaddlehub.com/paddle:latest-dev /bin/bash進入docker編譯GPU版本的PaddlePaddle,執行命令如下:mkdir build && cd build
  • 520禮包 | 情感分析算法從原理到PaddlePaddle實戰全解
    情感分析的應用場景十分廣泛,如把用戶在購物網站(亞馬遜、天貓、淘寶等)、旅遊網站、電影評論網站上發表的評論分成正面評論和負面評論;或為了分析用戶對於某一產品的整體使用感受,抓取產品的用戶評論並進行情感分析等等。今天是5月20日,PaddlePaddle教你用情感分析算法體會女神心意。
  • 基於PaddlePaddle的詞向量實戰 | 深度學習基礎任務教程系列
    項目地址:http://paddlepaddle.org/documentation/docs/zh/1.3/beginners_guide/basics/word2vec/index.html  基於 PaddlePaddle 訓練一個詞向量模型操作詳情請參照 Github:  https://github.com/PaddlePaddle/book/
  • 基於PaddlePaddle的詞向量實戰 | 深度學習基礎任務教程系列(二)
    而基於神經網絡的模型不需要計算和存儲一個在全語料上統計產生的大表,是通過學習語義信息得到詞向量,因此能很好地解決以上問題。本教程旨在展示神經網絡訓練詞向量的細節,以及如何用PaddlePaddle訓練一個詞向量模型。
  • 23個系列分類網絡,10萬分類預訓練模型,這是飛槳PaddleClas百寶箱
    飛槳圖像分類套件 PaddleClas 是飛槳為工業界和學術界所準備的一個圖像分類任務的工具集,助力使用者訓練出更好的視覺模型和應用落地。PaddleClas 具備以下 4 大特色,豐富的模型庫、高階優化支持、特色拓展應用、以及工業級部署工具。下面將為大家詳細分解。
  • PaddlePaddle實戰 | 情感分析算法從原理到實戰全解
    情感分析的應用場景十分廣泛,如把用戶在購物網站(亞馬遜、天貓、淘寶等)、旅遊網站、電影評論網站上發表的評論分成正面評論和負面評論;或為了分析用戶對於某一產品的整體使用感受,抓取產品的用戶評論並進行情感分析等等。今天是5月20日,PaddlePaddle教你用情感分析算法體會女神心意。