序
網際網路技術的發展催生了巨量資料平台,尤其公司巨量資料部門基本是以Hadoop巨量資料平台為基礎,在這之上透過機器學習建模、演算法工程落地成產品,透過資料分析進行巨量資料視覺化展示來影響管理層決策。另外,以資料和機器學習來科學地驅動產品設計也成為主流。隨著巨量使用者資料的累積,傳統單機版機器學習框架已經不能滿足資料日益增長的需求,於是分散式機器學習應運而生。本書以分散式機器學習為主線,對目前主流的分散式機器學習框架和演算法進行重點講解,偏重實戰,最後是幾個工業級的系統實戰專案。
全書共分為8章,分別介紹網際網路公司巨量資料和人工智慧、巨量資料演算法系統架構、巨量資料基礎、Docker容器、Mahout分散式機器學習平台、Spark分散式機器學習平台、分散式深度學習實戰、完整工業級系統實戰(推薦演算法系統實戰、人臉辨識實戰、對話機器人實戰)等內容。
第1章介紹了巨量資料常用框架及人工智慧的常用演算法,並且對公司實際的巨量資料部門組織架構,以及每個職務的技能要求、發展方向、市場薪資水準等都做了介紹,這一章可以幫助讀者從整體上認識巨量資料和人工智慧的常用技術框架和演算法,以及公司的實際工作場景。第2章介紹應用場景,並且對個性化推薦系統、個性化搜索、人物誌系統的架構原理做了深入的講解,方便從整體上把握一個完整的系統,提高系統架構設計能力,並指導讀者針對某個系統模組應該掌握哪些核心技術。第3章講解巨量資料基礎,為後面的分散式機器學習平台打基礎。第4章講解Docker容器,可以幫讀者快速建構標準化運行環境,以便節省時間和簡化部署。第5章講解的Mahout分散式機器學習是基於Hadoop的MapReduce計算引擎來分散式訓練的。第6章介紹Spark如何讀取Hadoop分散式儲存檔案系統HDFS上的資料在記憶體裡做疊代計算,以此提高訓練性能。第7章介紹基於TensorFlow和MXNet框架基礎上的神經網路演算法如何讀取Hadoop的HDFS資料,如何使用Kubernetes管理叢集進行分散式訓練。第5~7章是本書分散式機器學習的主線。第8章突出本書的實戰性,尤其是推薦系統的實戰,能讓讀者完整地認識實際工作中的系統產品是怎樣來做的,以便快速地投入到實際工作中去。
陳敬雷