国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

【深度好文】聽聽阿里老哥對算法工程師技術學習路線的建議

共 16951字,需瀏覽 34分鐘

 ·

2020-09-22 20:09

↑↑↑點擊上方藍字,回復資料,10個G的驚喜
來源丨h(huán)ttps://zhuanlan.zhihu.com/p/192633890


前言


知乎看到了一篇很好的算法工程師的學習技術總結,可以很好地,為大家在技術路線的成長方面提供一些方向指引,配套一些自我考核項,可以帶著實踐進行學習,加深理解和掌握。

技術學習路線腦圖一覽(點擊圖片放大):

廢話不說,直接進入正題!

工程師能力層級概覽

對于不同級別的算法工程師技能要求,我們大致可以分成以下幾個層級:

  • 初級:可以在一些指導和協(xié)助下獨立完成開發(fā)任務。具體到算法方面,需要你對于工具框架,建模技術,業(yè)務特性等方面有一定的了解,可以獨立實現(xiàn)一些算法項目上的需求。
  • 中級:可以基本獨立完成一個項目的開發(fā)與交付。在初級工程師的基礎上,對于深入了解技術原理的要求會更高,并且能夠應對項目中各種復雜多變的挑戰(zhàn),對于已有技術和工具進行改造適配。在整體工程化交付方面,對于代碼質量,架構設計,甚至項目管理方面的要求會開始顯現(xiàn)。另外從業(yè)務出發(fā)來評估技術選型和方案也變得尤為重要。
  • 高級:可以獨立負責一條產品線的運作。在中級工程師的基礎上,需要更廣闊的技術視野與開拓創(chuàng)新能力,定義整個產品線的前進方向。解決問題已經不是關鍵,更重要的是提出和定義問題,能夠打造出在業(yè)界具有領先性和差異性的產品,為公司創(chuàng)造更大的價值。

事實上對于不同層級的工程師,非技術部分的要求都有一定占比。本文主要聚焦在技術路線圖上,對于其他方面的學習進階路線不會做覆蓋。

閱讀建議

以下內容分工程基礎,算法基礎,算法工程交叉,工程深入方向,算法深入方向幾個部分,在各個部分內部會進一步區(qū)分一些主題。在各個主題內部,也是有深入程度的區(qū)別的,不過限于篇幅沒有進行詳細的說明。建議學習路線可以先把兩個基礎部分與工作中較為相關的內容做一個整體基礎的夯實,然后可以在后續(xù)交叉和深入方向的主題中選擇感興趣的進行深入了解和學習,過程中發(fā)現(xiàn)基礎部分欠缺的,可以再回到基礎部分查漏補缺,迭代前行。


工程基礎


編程語言-Python

Python是算法工程師日常工作中最常用的語言,應該作為必須掌握的一門技術。大致的學習路線如下:

  • 學習掌握Python的基本語法,可以通過各類入門教程來看,個人推薦《Learn Python the Hard Way》。

自我考核:能夠讀懂大多數(shù)的內部項目及一些開源項目代碼的基本模塊,例如pandas, sklearn等。

  • 學習Python的編程風格,建議學習觀遠內部的Python代碼規(guī)范。

自我考核:編寫的代碼符合編碼規(guī)范,能夠通過各類lint檢查。

  • Python進階,這方面有一本非常著名的書《Fluent Python》,深入介紹了Python內部的很多工作原理,讀完之后對于各類疑難問題的理解排查,以及語言高級特性的應用方面會很有幫助。另外動態(tài)語言元編程這塊,《Ruby元編程》也是一本非常值得推薦的書。

自我考核:能夠讀懂一些復雜的Python項目,例如sqlalchemy中就大量使用了元編程技巧。在實際工程項目中,能夠找到一些應用高級技巧的點進行實踐,例如基于Cython的性能優(yōu)化等。

  • 領域應用,Python的應用相當廣泛,在各個領域深入下去都有很多可以學習的內容,比如Web開發(fā),爬蟲,運維工具,數(shù)據(jù)處理,機器學習等。這塊主要就看大家各自的興趣來做自由選擇了,個人推薦熟悉了解一下Python web開發(fā),測試開發(fā)相關的內容,開拓視野。

自我考核:以Web開發(fā)和測試開發(fā)為例,嘗試寫一個簡單的model serving http服務,并編寫相應的自動化測試。

編程語言-Scala/Java

Java目前是企業(yè)級開發(fā)中最常用的軟件,包括在大數(shù)據(jù)領域,也是應用最廣泛的語言,例如當年的Hadoop生態(tài)基本都是基于Java開發(fā)的。Scala由于其函數(shù)式編程的特性,在做數(shù)據(jù)處理方面提供了非常方便的API,也因為Spark等項目的火熱,形成了一定的流行度。在進行企業(yè)級的軟件開發(fā),高性能,大規(guī)模數(shù)據(jù)處理等方面,JVM上的這兩門語言有很大的實用價值,值得學習。

順帶一提,Scala本身是一門非常有意思的語言,其中函數(shù)式編程的思想與設計模式又是非常大的一塊內容,對于拓寬視野,陶冶情操都是挺不錯的選擇。

考慮到算法工程師的工作內容屬性,這邊給出一個Scala的學習路線:

  • 學習掌握Scala的基本語法,開發(fā)環(huán)境配置,項目編譯運行等基礎知識。這里推薦Coursera上Martin Odersky的課程,《快學Scala》或《Programming in Scala》兩本書也可以搭配著瀏覽參考。

自我考核:能使用Scala來實現(xiàn)一些簡單算法問題,例如DFS/BFS?;蛘呤褂肧cala來處理一些日常數(shù)據(jù)工作,例如讀取日志文件,提取一些關鍵信息等。

  • 學習使用Scala來開發(fā)Spark應用,推薦edX上的《Big Data Analytics Using Spark》或者Coursera上的《Big Data Analytics with Scala and Spark》,另外有些相關書籍也可以參考,比如《Spark快速大數(shù)據(jù)分析》等。

自我考核:能夠使用Spark的Scala API來進行大規(guī)模的數(shù)據(jù)分析及處理,完成lag feature之類的特征工程處理。JVM的原理學習,Scala/Java都是JVM上運行的優(yōu)秀語言,其背后是一個非常大的生態(tài),包括在Web,Android,數(shù)據(jù)基礎架構等方面有廣泛的應用。

  • JVM相比Python虛擬機,發(fā)展更加成熟,有一套非常完善的JDK工具鏈及衍生的各類項目,便于開發(fā)者debug,調優(yōu)應用。這方面推薦學習周志明的《深入理解Java虛擬機》。

自我考核:理解JVM GC原理,能通過JDK中相關工具或者優(yōu)秀的第三方工具如arthas等,排查分析Spark數(shù)據(jù)應用的資源使用情況,GC profiling,hot method profiling等,進而進行參數(shù)優(yōu)化。

  • 計算機語言理論。Programming Language作為計算機科學的一個重要分支,包含了很多值得深入研究的主題,例如類型論,程序分析,泛型,元編程,DSL,編譯原理等。這方面的很多話題,在機器學習方面也有很多實際應用,比如TVM這類工作,涉及到大量編譯原理的應用,知乎大佬“藍色”也作為這個領域的專家在從事深度學習框架相關的工作。llvm, clang作者Chris Lattner也加入Google主導了Swift for Tensorflow等工作。Scala作為一門學術范非常強的語言,擁有極佳的FP,元編程等能力支持,強大的類型系統(tǒng)包括自動推理,泛型等等高級語言特性,相對來說是一門非?!爸档谩睂W習的新語言,也是一個進入PL領域深入學習的"gateway drug" :) 對這個方面有興趣的同學,可以考慮閱讀《Scala函數(shù)式編程》,《冒號課堂》,以及Coursera上《Programming Languages》也是一門非常好的課程。另外只想做科普級了解的同學,也可以讀一讀著名的《黑客與畫家》感受一下。

編程語言-C/C++/Rust

當前流行的算法框架,例如TensorFlow, PyTorch, LightGBM等,底層都是基于C++為主要語言進行實現(xiàn)的。但是C++本身過于復雜,使用場景也比較有限制,建議只需要達到能夠讀懂一些基礎的C++代碼邏輯即可。在系統(tǒng)級開發(fā)領域,目前有一門新語言逐漸崛起,連續(xù)幾年被StackOverflow投票評選為程序員最喜愛的語言:Rust。從設計理念和一些業(yè)界應用(例如TiKV)來看還是非常不錯的,但是我也沒有深入學習了解過,就不做具體推薦了。這方面建議的學習內容包括經典的《The C Programming Language》以及Rust官方的:https://github.com/rust-lang/rustlings

自我考核:能夠讀懂LightGBM里對于tweedie loss的相關定義代碼。


操作系統(tǒng)


基本概念

我們所編寫的算法應用,都是通過操作系統(tǒng)的環(huán)境運行在物理硬件之上的。在實際運作過程中,會碰到不少相關的問題,例如為什么程序報了資源不足的錯誤,為什么notebook在瀏覽器里打不開,為什么進程hang住了沒有響應等等,都需要一些操作系統(tǒng)的知識來幫助理解和分析問題,最終排查解決。操作系統(tǒng)涵蓋的內容比較多,建議一開始只需要了解一些主要概念(例如硬件結構,CPU調度,進程,線程,內存管理,文件系統(tǒng),IO,網(wǎng)絡等),對于整體圖景有一些感覺即可。后續(xù)碰到了實際問題,可以再在各個部分深入學習展開。優(yōu)秀的學習資料也有很多,基本都是大部頭,重點推薦《深入理解計算機系統(tǒng)》,《Operating Systems: Three Easy Pieces》,以及《現(xiàn)代操作系統(tǒng)》。

自我考核:能夠基本明確運行一個模型訓練任務過程中,底層使用到的硬件,操作系統(tǒng)組件,及其交互運作的方式是如何的。

Linux基礎

平時工作中最常用的兩個操作系統(tǒng)CentOS和macOS,都是Unix/Linux系的,因此學習掌握相關的基礎知識非常重要。一些必須掌握的知識點包括:Shell與命令行工具,軟件包管理,用戶及權限,系統(tǒng)進程管理,文件系統(tǒng)基礎等。這方面的入門學習資料推薦《鳥哥的Linux私房菜》,基本涵蓋了Linux系統(tǒng)管理員需要掌握知識的方方面面。進階可以閱讀《Unix環(huán)境高級編程》,對于各種系統(tǒng)調用的講解非常深入,可以為后續(xù)性能調優(yōu)等高級應用打下基礎。

自我考核:開發(fā)一個shell小工具,實現(xiàn)一些日常工作需求,例如定時自動清理數(shù)據(jù)文件夾中超過一定年齡的數(shù)據(jù)文件,自動清理內存占用較大且運行時間較久的jupyter notebook進程等。

深入應用

工作中碰到的疑難問題排查,性能分析與優(yōu)化,系統(tǒng)運維及穩(wěn)定性工程等方面,都需要較為深入的計算機體系和操作系統(tǒng)知識,感興趣的同學可以針對性的進行深入學習。以性能優(yōu)化為例,可以學習經典的《性能之巔》,了解其中的原理及高級工具鏈。像其中的系統(tǒng)調用追蹤(strace),動態(tài)追蹤(systemtap, DTrace, perf, eBPF)等技術,對于操作系統(tǒng)相關的問題排查都會很有幫助。

自我考核:能夠分析定位出LightGBM訓練過程中的性能瓶頸,精確到函數(shù)調用甚至代碼行號的級別。


軟件工程


算法與數(shù)據(jù)結構

暫時先把這塊放到軟件工程模塊下。這里指的算法是計算機科學中的經典算法,例如遞歸,排序,搜索,動態(tài)規(guī)劃等,有別于我們常說的機器學習算法。這塊的學習資料網(wǎng)上有非常多,個人當年是通過普林斯頓的算法課(需要有Java基礎)入門,后來又上了斯坦福的算法分析與設計,開拓了一些視野。書籍方面推薦新手從《算法圖解》入門,然后可以考慮閱讀Jeff Erickson的《Algorithms》,或者選擇上面提到的網(wǎng)課。另外像《編程珠璣》,《編程之美》等也可以參閱,里面有不少問題的巧妙解法。除了從書本中學習,還可以直接去LeetCode等網(wǎng)站進行實戰(zhàn)操作進行練習提高。

自我考核:能夠設計相關的數(shù)據(jù)結構,實現(xiàn)一個類似airflow中點擊任意節(jié)點向后運行的功能。

代碼規(guī)范

從初級程序員到中高級程序員,其中比較大的一個差異就是代碼編寫習慣上,從一開始寫計算機能理解,能夠運行成功的代碼,逐漸演化到寫人能夠理解,易于修改與維護的代碼。在這條學習路徑上,首先需要建立起這方面的意識,然后需要在實戰(zhàn)中反復思考和打磨自己的代碼,評判和學習其它優(yōu)秀的項目代碼,才能逐漸精進。推薦的學習書籍有《編寫可讀代碼的藝術》,一本非常短小精悍的入門書籍,后續(xù)可以再慢慢閱讀那些經典大部頭,例如《Clean Code》,《Code Complete》,《The Pragmatic Programmer》等。這方面Python也有一本比較針對性的書籍《Effective Python》,值得一讀。

自我考核:審視自己寫的項目代碼,能發(fā)現(xiàn)并修正至少三處不符合最佳編碼實踐的問題。

設計模式

在代碼架構方面,設計模式是一個重要的話題,對于日常工作中出現(xiàn)的許多典型場景,給出了一些解決方案的“套路”。這方面最著名的書當屬GoF的《設計模式》,不過個人并不十分推薦,尤其是以Python作為主要工作語言的話,其中很大部分的設計模式可能并不需要。入門可以瀏覽一下這個網(wǎng)站掌握一些基本概念:https://refactoringguru.cn/design-patterns/python ,后續(xù)可以考慮閱讀《Clean Architecture》,《重構》等相關數(shù)據(jù),理解掌握在優(yōu)化代碼架構過程中思考的核心點,并加以運用。Python相關的設計模式應用,還可以參考《Python in Practice》。

自我考核:在項目中,找到一處可以應用設計模式的地方,進行重構改進。

質量保障

對于需要實際上線運行的軟件工程,質量保障是非常重要的一個環(huán)節(jié),能夠確保整個產品按照期望的方式進行運作。在機器學習項目中,由于引入了數(shù)據(jù)這個因素,相比傳統(tǒng)的軟件測試會有更高的難度,也是業(yè)界還在摸索前進的方向。建議可以先閱讀《單元測試的藝術》或《Google軟件測試之道》,大致理解軟件測試的一些基本概念和運作方式,在此基礎上可以進一步閱讀Martin Fowler對于機器學習領域提出的CD4ML中相關的測試環(huán)節(jié),學習sklearn,LightGBM等開源庫的測試開發(fā)方式,掌握機器學習相關的質量保障技術能力。

自我考核:在項目中,實現(xiàn)基礎的數(shù)據(jù)輸入測試,預測輸出測試。

項目管理

軟件工程推進過程中,項目管理相關的技能方法與工具運用也非常的關鍵。其中各種研發(fā)流程與規(guī)范,例如敏捷開發(fā),設計評審,代碼評審,版本管控,任務看板管理等,都是實際項目推進中非常重要的知識技能點。這方面推薦學習一本經典的軟件工程教材《構建之法》,了解軟件項目管理的方方面面。進一步來說廣義的項目管理上的很多知識點也是后續(xù)深入學習的方向,可以參考極客時間上的課程《項目管理實戰(zhàn)20講》。

自我考核:在某個負責項目中運用項目管理方法,完成一個實際的需求評估,項目規(guī)劃,設計與評審,開發(fā)執(zhí)行,項目上線,監(jiān)控維護流程,并對整個過程做復盤總結。

高級話題

軟件工程師在技能方向成長的一條路線就是成為軟件架構師,在這個方向上對于技能點會有非常高的綜合性要求,其中也有不少高級話題需要深入學習和了解,例如技術選型與系統(tǒng)架構設計,架構設計原則與模式,寬廣的研發(fā)知識視野,高性能,高可用,可擴展性,安全性等等。有興趣的同學可以了解一下極客時間的《從0開始學架構》這門課,逐漸培養(yǎng)這方面的視野與能力。另外如《微服務架構設計模式》還有領域驅動設計方面的一系列書籍也值得參考學習。

自我考核:設計一個算法項目Docker鏡像自動打包系統(tǒng)。


算法基礎


數(shù)據(jù)分析-數(shù)學基礎

在進行算法建模時,深入了解數(shù)據(jù)情況,做各類探索性分析,統(tǒng)計建模等工作非常重要,這方面對一些數(shù)學基礎知識有一定的要求,例如概率論,統(tǒng)計學等。這方面除了經典的數(shù)學教材,也可以參考更程序員向的《統(tǒng)計思維》,《貝葉斯方法》,《程序員的數(shù)學2》等書籍。

自我考核:理解實際項目中的數(shù)據(jù)分布情況,并使用統(tǒng)計建模手段,推斷預測值的置信區(qū)間。

數(shù)據(jù)分析-可視化

在進行數(shù)據(jù)分析時,可視化是一個非常重要的手段,有助于我們快速理解數(shù)據(jù)情況,發(fā)掘數(shù)據(jù)規(guī)律,并排查異常點。對于各種不同類型的數(shù)據(jù),會對應不同的可視化最佳實踐,如選擇不同的圖表類型,板式設計,分析思路編排,人機交互方式等等。另一方面,可視化與數(shù)據(jù)報告也是我們與不同角色人群溝通數(shù)據(jù)insights的一個重要途徑,需要從業(yè)務角度出發(fā)去思考可視化與溝通方式。這方面可以參考《Storytelling with Data》,《The Visual Display of Quantitative Information》等經典數(shù)據(jù),同時也需要培養(yǎng)自己的商業(yè)背景sense,提升溝通能力。

自我考核:對內溝通方面,能使用可視化技術,分析模型的bad case情況,并確定優(yōu)化改進方向。對外溝通方面,能獨立完成項目的數(shù)據(jù)分析溝通報告。

數(shù)據(jù)分析-誤差分析與調優(yōu)

在做算法模型調優(yōu)改進中,需要從數(shù)據(jù)分析的基礎上出發(fā)來決定實驗方向,這么做有幾個好處:

  • 從分析出發(fā)指導調優(yōu)更有方向性,而不是憑經驗加個特征,改個參數(shù)碰運氣。哪怕是業(yè)務方提供的信息,也最好是有數(shù)據(jù)分析為前提再做嘗試,而不是當成一個既定事實。由分析發(fā)現(xiàn)的根源問題,對于結果驗證也更有幫助。
  • 尤其在預測的數(shù)據(jù)量極大情況下,加一個單一特征很可能總體只有千分位準確率的提升,無法確定是天然波動還是真實的提升。但如果有分析的前提,那么我們可以有針對性的看對于這個已知問題,我們的調優(yōu)策略是否生效,而不是只看一個總體準確率。
  • 對于問題的徹底排查解決也更有幫助,有時候結果沒有提升,不一定是特征沒用,也可能是特征代碼有bug之類的問題。帶著數(shù)據(jù)分析的目標去看為什么這個特征沒有效果,是模型沒學到還是特征沒有區(qū)分度等,有沒有改進方案,對于我們評判調優(yōu)嘗試是否成功的原因也更能徹查到底。
  • 數(shù)據(jù)分析會幫助我們發(fā)現(xiàn)一些額外的問題點,比如銷量數(shù)據(jù)清洗處理是不是有問題,是不是業(yè)務本身有異常,需要剔除數(shù)據(jù)等。

這方面在業(yè)界有一些關于誤差分析的探索研究,不過大多數(shù)都是基于分類問題的,例如《Identifying Unknown Unknowns in the Open World》,《A Characterization of Prediction Errors》等??梢栽诹私膺@些研究的基礎上,結合具體的業(yè)務情況,深入思考總結誤差分析的思路與方法論。

自我考核:在項目中形成一套可以重復使用的誤差分析方案,能夠快速從預測輸出中定位到目前模型最重要的誤差類別,并一定程度上尋找到根本原因。

機器學習基礎-傳統(tǒng)機器學習

這塊大家應該都非常熟悉了,初階的學習路線可以參考周志華老師的《機器學習》,涵蓋了機器學習基礎,常用機器學習方法,和一些進階話題如學習理論,強化學習等。如果希望深化理論基礎,可以參考經典的《PRML》,《ESL》和《統(tǒng)計學習方法》。在實戰(zhàn)中,需要綜合業(yè)務知識,算法原理,及數(shù)據(jù)分析等手段,逐漸積累形成建模調優(yōu)的方法論,提高整體實驗迭代的效率和成功率。

自我考核:結合實際業(yè)務和機器學習理論知識,挖掘項目中算法表現(xiàn)不夠好的問題,并通過算法改造進行提升或解決。

機器學習基礎-深度學習

近些年興起的深度學習,已經成為機器學習領域一個非常重要的分支,在各個應用方向發(fā)揮了很大的作用。相對于傳統(tǒng)機器學習,對于特征工程要求的降低成了其核心優(yōu)勢。另一方面,深度學習對于大數(shù)據(jù)量,大規(guī)模算力的應用能力很強,也一定程度上提升了整體的產出效果。由于理論方面的研究稍顯落后,深度學習在實際應用中對于使用者的經驗技能要求相對比較高,需要有大量的實戰(zhàn)經驗才能達到比較理想的效果。這方面的學習資料推薦Keras作者的《Deep Learning with Python》,以及《Hands-on Machine Learning with Scikit-Learn and TensorFlow》,而在理論方面推薦著名的“花書”《Deep Learning》。在學習理論原理的基礎上,尤其要注意在實際算法應用中,能夠通過觀察各種指標與數(shù)據(jù)分析,找到提升模型的操作改進方向。

自我考核:能夠在實際項目中,使用深度學習模型,達到接近甚至超過傳統(tǒng)GBDT模型的精確度效果,或者通過ensemble,embedding特征方式,提升已有模型的精度。

機器學習基礎-領域建模

目前我們的業(yè)務領域在時間序列預測,自然語言處理,推薦等方面,其它類似圖像,搜索,廣告等領域也都有各自的一些領域建模方法。在時間序列領域,包括了傳統(tǒng)時序模型,如ARIMA, Prophet,機器學習模型,如劃動窗口特征構建方法結合LightGBM,及深度學習模型,例如LSTM,seq2seq,transformer等。這方面可以參考Kaggle上相關比賽的方案分享,以及Amazon,Uber,天貓等有類似業(yè)務場景公司的分享資料。其它領域也是類似,通過了解歷史技術演進,相關比賽,業(yè)界的方案分享與開源項目,會議論文來逐漸掌握學習建模方法,結合實際業(yè)務進行實踐嘗試,積累起更加體系性的個人知識技能。

自我考核:在項目中復現(xiàn)一個Kaggle獲勝方案,檢驗其效果,分析模型表現(xiàn)背后的原因,并嘗試進行改進。

算法框架-數(shù)據(jù)處理框架

在項目實施過程中,會需要各類復雜的數(shù)據(jù)處理操作,因此熟練掌握此類框架就顯得尤為重要。目前行業(yè)的標準基本上會參照Pandas DataFrame的定義,在數(shù)據(jù)量較大的情況下,也有許多類似的框架,如Spark,Dask,Modin,Mars等支持分布式運行的DataFrame,以及cuDF,Vaex等提升單機性能的改進實現(xiàn)。這方面經典的書籍可以參考Wes McKinney的《Python for Data Analysis》,在掌握基礎數(shù)據(jù)操作的基礎上,可以進而了解窗口函數(shù),向量化性能優(yōu)化等高級話題。另外SQL也可以做非常復雜的數(shù)據(jù)處理工作,有不少公司例如阿里會以SQL為主來構建數(shù)據(jù)處理流程,感興趣的同學也可以學習一下SQL中各種高級計算的使用及優(yōu)化方法。

自我考核:在已有項目中,能把至少三個使用apply方法的pandas處理修改成向量化運行,并測試性能提升。使用window function或其它方案來實現(xiàn)lag特征,減少join次數(shù)。

算法框架-機器學習框架

機器學習方面的新框架層出不窮,一方面我們需要掌握經典框架的使用方式,理解其模塊構成,接口規(guī)范的設計,一定程度上來說其它新框架也都需要遵循這些業(yè)界標準框架的模塊與接口定義。另一方面對于新框架或特定領域框架,我們需要掌握快速評估,上手使用,并且做一定改造適配的能力。一些比較經典的框架有:

  • 通用機器學習:scikit-learn,Spark ML,LightGBM
  • 通用深度學習:Keras/TensorFlow,PyTorch
  • 特征工程:tsfresh, Featuretools,F(xiàn)eastAutoML:hyperopt,SMAC3,nni,autogluon
  • 可解釋機器學習:shap,aix360,eli5,interpret
  • 異常檢測:pyod,egads
  • 可視化:pyecharts,seaborn
  • 數(shù)據(jù)質量:cerberus,pandas_profiling,Deequ
  • 時間序列:fbprophet,sktime,pyts
  • 大規(guī)模機器學習:Horovod,BigDL,mmlsparkPipeline:MLflow, metaflow,KubeFlow,Hopsworks

一般的學習路徑主要是閱讀這些框架的官方文檔和tutorial,在自己的項目中進行嘗試使用。對于一些核心接口,也可以閱讀一下相關的源代碼,深入理解其背后的原理。

自我考核:在LightGBM框架下,實現(xiàn)一個自定義的損失函數(shù),并跑通訓練與預測流程。

算法框架-其它框架

其它比較常見且與算法工程師日常工作會有一些聯(lián)系的有Web框架,爬蟲框架等,最具有代表性的當屬Flask和scrapy。這兩者背后各自又是很大一塊領域,尤其web開發(fā)更是保羅萬象。感興趣的同學還可以了解一下一些新興的基于Python3的框架,例如FastAPI,其背后借鑒的許多現(xiàn)代框架的思想設計,包括數(shù)據(jù)驗證,序列化,自動文檔,異步高性能等,開拓一下知識面。自我考核:實現(xiàn)一個簡單的model serving http服務。


算法工程交叉


大規(guī)模算法運行-分布式訓練

在很多項目中,數(shù)據(jù)量達到十億級以上的情況下,單機訓練會難以支撐。因此分布式訓練也是實際工程落地中非常重要的一個主題。分布式訓練涉及到多機的通訊協(xié)同方式,優(yōu)化算法的改造,數(shù)據(jù)及模型的并行與聚合,以及框架的選擇和運維等話題,具體可以參考《分布式機器學習》。另外對于分布式系統(tǒng),也可以參閱《數(shù)據(jù)密集型應用系統(tǒng)設計》這本神作,了解其背后原理。

自我考核:能夠在多機上進行億級數(shù)據(jù)的GBDT模型訓練與預測。

大規(guī)模算法運行-高性能計算

在做大規(guī)模的數(shù)據(jù)訓練與推理時,近些年涌現(xiàn)出許多高性能計算優(yōu)化的方法,例如從硬件方面,有各種超線程技術,向量化指令集,GPGPU,TPU的應用等,從軟件方面,有針對數(shù)值計算場景的OpenBLAS,有自動并行化的OpenMP,有各種codegen,JIT技術下的運行時優(yōu)化等。這方面可以學習的方向也很多,從基礎的并行編程,編譯原理及優(yōu)化的知識開始,到CUDA,OpenMP的應用(例如Nvidia的cuDNN,還有LightGBM中也用到了OpenMP),Codegen,JIT等技術在Spark,TVM等項目中的使用等,建議有深度性能優(yōu)化需求時可以往這些方向做調研和學習。

自我考核:能夠通過LLVM JIT來優(yōu)化實現(xiàn)Spark window function的執(zhí)行性能。

大規(guī)模算法運行- 模型加速領域

這個方向分兩個部分,一塊是模型訓練方面,能夠做到加速,例如使用大batch size,遷移學習,持續(xù)的在線/增量學習等手段,另一塊在模型預測方面,也有很多加速需求,比如模型參數(shù)量優(yōu)化,模型壓縮,混合精度,知識蒸餾等技術手段,都是為了做到更高性能,更低資源消耗的模型預測推理。這方面業(yè)界有各個方向的文章和技術實現(xiàn)可以參考,比如經典的《Training ImageNet in 1 Hour》,MobileNet,TensorRT,二值網(wǎng)絡等。

自我考核:在典型的銷量預測場景中實現(xiàn)增量訓練與預測。

MLOps

編排調度包含各類pipeline的編排與調度能力的支持,包括數(shù)據(jù)pipeline,訓練pipeline和serving pipeline等。這方面比較常用的框架工具有Airflow,DolphinScheduler,Cadence等,需要掌握其基本的工作原理和使用方式,并能夠應用于離線實驗與線上運行。

自我考核:使用Airflow完成一個標準的項目pipeline搭建與運行。

MLOps-數(shù)據(jù)集成

相對于傳統(tǒng)的DevOps,機器學習項目最大的區(qū)別在于數(shù)據(jù)方面的依賴會更加顯著與重要。這方面的話題包括數(shù)據(jù)血緣,數(shù)據(jù)質量保障,數(shù)據(jù)版本控制等,有各類工具可以借鑒使用,例如數(shù)據(jù)版本管理方面的DVC,數(shù)據(jù)質量方面的TFX Data Validation,Cerberus,Deequ等。在方法論層面,《The ML Test Score》中給出了不少數(shù)據(jù)相關的具體測試方法,值得參考學習。

自我考核:在項目中實現(xiàn)輸入數(shù)據(jù)的分布測試,特征工程測試及特征重要性準入測試。

MLOps-實驗管理

這部分也是ML項目的獨特之處,在開發(fā)過程中有大量的實驗及相應的結果輸出需要記錄,以指導后續(xù)調整優(yōu)化的方向,并選擇最優(yōu)結果來進行上線部署。這方面可以參考的項目有MLflow,fitlog,wandb等。當然對于單獨的項目來說,可能online Excel就能滿足需求了 :)

自我考核:在實際項目中實行一套標準的實驗記錄手段,并能從中找出各類實驗嘗試帶來的精度提升的top 5分別是哪些操作。

MLOps-Serving

目前我們的serving大多數(shù)是離線batch預計算的形式,所以主要依賴的技術手段是各類離線inference的方法,例如直接使用model predict接口,使用mmlspark等做大規(guī)模并行inference等。如果涉及到在線serving,情況會更加復雜,例如在線pipeline的運行,實時特征獲取,low latency/high throughput的serving服務等,可以參考TF Serving,MLeap,H2O,PredictionIO,PMML/PFA/ONNX等開發(fā)標準模型格式等。

自我考核:部署一個實時預測服務,能夠根據(jù)用戶輸入產生相應的預測結果。

MLOps-CI/CD

軟件工程中的持續(xù)集成,持續(xù)部署已經成為一種標準實踐,在算法項目中,額外引入了數(shù)據(jù)這個維度的復雜性,帶來了一些新的挑戰(zhàn)。在這個方向上,幾個主要話題包括自動化測試,pipeline打包部署,持續(xù)監(jiān)控運維等,可以參考Martin Fowler關于CD4ML的文章。工具系統(tǒng)層面,可以學習傳統(tǒng)的Jenkins,也有一些新選擇例如CircleCI,GoCD,VerCD(Uber)等。

自我考核:通過Jenkins實現(xiàn)pipeline自動測試,打包,上線流程。

MLOps-系統(tǒng)監(jiān)控

在整個項目上線后,需要對系統(tǒng)的各個環(huán)節(jié)進行監(jiān)控,并對各種異常情況作出響應。例如輸入數(shù)據(jù)的監(jiān)控,判別測試數(shù)據(jù)與訓練數(shù)據(jù)的分布是否有偏移,整個運行pipeline的監(jiān)控,判別是否有運行失敗拋出異常的情況,對于預測輸出的監(jiān)控,確保沒有異常的預測輸出值,也包括對于系統(tǒng)計算資源等方面的監(jiān)控,確保不會因為資源不足導致業(yè)務受到影響等。在監(jiān)控信息收集,基礎上,還需要配套一系列的自動告警通知,日志追蹤排查等。這方面的工具框架包括TF data validation這類專門針對算法項目的新產品,也有elasicsearch + kibana這類傳統(tǒng)產品。

自我考核:將三個項目中做過的問題排查改造成常規(guī)監(jiān)控手段,支持自動的問題發(fā)現(xiàn),告警通知,如有可能,提供自動化或半自動化的問題排查解決方案。

MLOps-MLOps系統(tǒng)

MLOps整體是一個比較大的話題,在這方面有很多產品和系統(tǒng)設計方面的實踐可以參考學習。例如Uber的Michelangelo系列文章,F(xiàn)acebook的FBLearner,neptune.ai,dataiku,domino等,雖然沒有開源,但是其背后的很多設計理念,演進思考,白皮書等都非常值得我們學習。在開源界也有很多可以參考的項目,例如MLflow,Kubeflow,Metaflow,TFX等,可以學習他們的設計理念,Roadmap,以及實現(xiàn)細節(jié)等。

自我考核:總結各個MLOps產品的功能模塊矩陣對比,能夠根據(jù)項目需求來進行產品選型與使用。


工程深入方向


數(shù)據(jù)庫-數(shù)據(jù)庫原理

在平時工作中,我們有大量的場景需要用到數(shù)據(jù)庫。從客戶數(shù)據(jù)的對接,數(shù)據(jù)集的管理和使用,到各種業(yè)務系統(tǒng)的數(shù)據(jù)表設計及優(yōu)化等,都需要對數(shù)據(jù)庫的運作原理,適用場景,運維使用,性能優(yōu)化等方面有一定的了解。常見的需要掌握的概念有OLTP vs OLAP,事務,索引,隔離級別,ACID與CAP理論,數(shù)據(jù)同步,數(shù)據(jù)分片,SQL語法,ORM等。從底層原理看,會涉及到數(shù)據(jù),索引,及日志等存儲引擎方面,以及各種計算查詢引擎,包括分布式系統(tǒng)的設計與實現(xiàn)。這方面推薦的學習資料有《數(shù)據(jù)庫系統(tǒng)內幕》及《數(shù)據(jù)密集型應用系統(tǒng)設計》。

自我考核:能夠理解SQL執(zhí)行計劃,并能夠根據(jù)執(zhí)行計劃來做索引或查詢調優(yōu)。

數(shù)據(jù)庫-關系型數(shù)據(jù)庫

目前常用的關系型數(shù)據(jù)庫主要是MySQL和PostgreSQL,主要需要掌握的是日常的一些SQL操作,例如DML(增刪改查),DDL(創(chuàng)建表,修改索引等),DCL(權限相關)。在此基礎上還可以進一步了解一些如數(shù)據(jù)類型,高級計算,存儲引擎,部署運維,范式概念與表結構設計等方面的話題。對于高級話題這塊,推薦《高性能MySQL》與《高可用MySQL》。

自我考核:在MySQL中設計相關表結構,存儲實際項目中的一系列中間數(shù)據(jù)集。

數(shù)據(jù)庫-NoSQL數(shù)據(jù)庫

常用的NoSQL數(shù)據(jù)庫有幾類,KV存儲(Redis),文檔數(shù)據(jù)庫(MongoDB),Wide-column存儲(Cassandra,HBase)以及圖數(shù)據(jù)庫(Neo4j)。在目前我們的算法項目中,比較有可能會用到的主要是Redis這類KV存儲(也可能把Cassandra之類當泛KV來用),或者更新一點的類似Delta Lake的存儲系統(tǒng)。建議學習了解一下這類KV存儲,以及分布式數(shù)據(jù)庫的常見操作方式,以及基礎的運維排查,性能優(yōu)化方法。

自我考核:考慮一個線上模型服務的場景,用戶輸入作為基礎特征,使用類似Redis的KV系統(tǒng),實現(xiàn)實時獲取其它特征,并進行模型預測。

云計算-基礎架構

IT系統(tǒng)總體的發(fā)展趨勢在往云計算方向演進,即使是自建的基礎設施,也會采用云計算的一套構建方式,讓開發(fā)者不用過多的關注底層計算存儲資源的部署運維。對于應用開發(fā)者來說,需要了解一些基礎架構方面的知識,例如各類虛擬化及容器技術,配置管理,容器編排等,便于在日常工作中使用相關技術來管理和發(fā)布應用。從工具層面看,Docker與k8s等技術發(fā)展速度較快,主要還是根據(jù)官方文檔來學習為主。浙大之前出版的《Docker - 容器與容器云》一書中有一些更深入的話題的探討,另外《Kubernetes in Action》中也值得一讀。從方法論層面看,《Infrastructure as Code》和《Site Reiliability Engineering》是兩本非常不錯的學習資料。與算法應用結合的虛擬化,運維,持續(xù)集成等都是比較新的領域,需要我們探索出一條可行路線。

自我考核:對于已有的算法項目,總結制定一套開發(fā),測試,發(fā)布,運維的標準流程,且盡可能自動化執(zhí)行。

云計算-分布式存儲

前些年最流行的分布式存儲是脫胎于Google經典的GFS論文實現(xiàn)的HDFS,不過隨著硬件技術的發(fā)展,計算存儲分離思想的逐漸興起,不但靈活性更高,成本更低,且各自架構的復雜度也大大降低了。因此目前更建議學習簡單的object store形式的分布式存儲,例如s3,minio等。在此基礎上的一些存儲系統(tǒng),例如Delta Lake,提供了事務,高效的upsert,time travel等功能,也值得關注與學習。原理方面,還是推薦《數(shù)據(jù)密集型應用設計》這本。

自我考核:在項目中實現(xiàn)不同機器能夠訪問同一個s3路徑的文件,并進行正常的數(shù)據(jù)讀寫,模型文件讀寫等功能。

云計算-分布式計算

大數(shù)據(jù)時代的分布式計算的鼻祖來自于Google經典的MapReduce論文,后續(xù)在Hadoop系統(tǒng)中做了開源實現(xiàn),在前幾年是非?;馃岬囊豁椉夹g。目前業(yè)界的主流是Spark和Flink,前者在批處理計算中處于霸者地位,后者是流處理領域的領先者。目前我們的業(yè)務應用中,Spark是比較常用的分布式計算引擎,其基本操作相關內容比較簡單,參考官方文檔或者《Spark快速大數(shù)據(jù)分析》即可。后續(xù)的主要難點會有大數(shù)據(jù)量下的問題排查與性能調優(yōu),執(zhí)行復雜計算或與Python相關UDF的交互配合方式等。這方面需要對Spark的系統(tǒng)架構,內部原理有一定了解,例如master,worker,driver,executor等之間的關系,lazy evaluation,DAG的lineage與stage概念,shuffle優(yōu)化,wholestage codegen等技術細節(jié)。這方面暫時沒有找到比較好的資料,主要還是依賴實際問題解決的經驗積累。

自我考核:用Spark來實現(xiàn)項目中的特征工程,并在一定數(shù)據(jù)量情況下取得比單機Pandas更好的性能效果。

云計算-其它話題

其它云服務基礎設施還包括分布式數(shù)據(jù)庫,消息隊列,zk/raft分布式協(xié)作系統(tǒng),虛擬網(wǎng)絡,負載均衡等。這些話題離算法應用方面會比較遠一些,基本上達到遇到需求時會使用的能力即可,在這里不做展開。


算法深入方向


AutoML-超參優(yōu)化

自動化機器學習中比較傳統(tǒng)的一塊是超參數(shù)優(yōu)化,進而可以推廣到整個pipeline的超參優(yōu)化,包括數(shù)據(jù)預處理,特征工程,特征選擇,模型選擇,模型調優(yōu),后處理等部分。目前業(yè)界應用比較廣泛的技術手段主要是隨機搜索,貝葉斯優(yōu)化,進化算法,Hyperband/BOHB等,在特征工程方面有Featuretools,tsfresh,AutoCrossing等自動化特征工程工具。學術界有一些進一步的探索研究,包括multi-fidelity優(yōu)化,多任務優(yōu)化,HPO結合ensemble learning,pipeline planning,data diff自動數(shù)據(jù)分布探測等方面。可以參考http://automl.org上的各類參考資料與書籍進行學習了解。主要難點包括automl算法的泛化能力,scalability,整體pipeline組合的搜索與生成,針對不同學習算法的自動優(yōu)化手段等。

自我考核:了解超參優(yōu)化的基礎概念,能夠在項目中應用框架工具來實現(xiàn)模型超參的貝葉斯優(yōu)化流程。

AutoML-元學習

Meta learning是近年來非?;钴S的一個新興領域,其主要思路是希望能通過元學習模型方法,去積累建模調優(yōu)的先驗知識,跨任務推斷模型效果并warm start新的訓練任務,或者指導學習算法來進行更高效的具體任務的訓練過程。這方面在工業(yè)界的主要應用基本上集中在建模調優(yōu)先驗知識的積累方面,比如通過一系列公開數(shù)據(jù)集搜索尋找出表現(xiàn)較好的起始參數(shù),用于指導在新任務上做超參優(yōu)化的起始搜索點。學術研究中除了configuration space的研究,還包括從learning curve中進行學習推斷,元特征提取與建模,HTN planning在pipeline構建中的應用,以及MAML等few-shot learning方向的探索。這方面推薦Lilian Weng的一系列文章(https://lilianweng.github.io/lil-log/2018/11/30/meta-learning.html),以及http://automl.org網(wǎng)站上的資料。

自我考核:設計一系列meta feature與meta learning手段,實現(xiàn)對新任務的參數(shù)選擇的初始化。

AutoML-NAS

AutoML領域比較火,但也是比較特別的一個方向,目前需要大量的計算資源投入才能做這方面的研究與嘗試,因此主要建議了解一下這個方向的一些工作即可,不做深入探索學習。

AutoML-AutoML系統(tǒng)

自動化機器學習相關的框架工具也非常多,比較有代表性的框架有auto-sklearn(來自http://automl.org團隊),nni(microsoft),auto-gluon(amazon),H2O,ray tune等,在工具級別也有如hyperopt,SMAC3,featuretools等??梢酝ㄟ^學習這些工具框架,了解AutoML系統(tǒng)的架構與實現(xiàn)方式,并應用到實際項目中。

自我考核:使用一種AutoML系統(tǒng)來進行項目的模型自動優(yōu)化,并與手工優(yōu)化的結果進行比較,看是否有所提升,及尋找背后的原因。

模型解釋-模型解釋技術

主要有三個方面,一是模型本身的解釋性,例如線性回歸,決策樹等,模型結構簡單,根據(jù)其原理,可以直接對預測結果,特征使用等方面給出解釋。另外一些復雜模型,例如EBM,神經網(wǎng)絡,Bayesian rule lists,SLIMs等,也可以利用一些本身的特性給出一些解釋,例如GradCAM方法等。二是模型無關的解釋方法,包括經典的PDP,ICE等特征圖,LIME等surrogate model方法,以及基于博弈論的Shapley方法。三是基于sample的解釋方法,例如conterfactual explanations,adversarial examples,prototypes,influential instances,kNN等,不過看起來這類方法對于計算的開銷一般都會比較大,不太容易在工程中實現(xiàn)落地。這方面的資料可以學習《Interpretable Machine Learning》和《Explainable AI》(關于深度學習的內容會更多)。另外學術界也有很多前沿探索,比如針對模型解釋的降維工作,自動的時間序列分析及報告生成,因果模型,模型公平性及社會影響等方面,可以保持關注。

自我考核:理解LIME,Shapley的運作原理,并分析其局限性,嘗試提出改進方案。

模型解釋-模型解釋應用

從工具框架方面,有許多可以使用的開源項目,例如微軟的interpret,eli5,shap,AIX360等。另外也有一些非傳統(tǒng)意義上的模型解釋,例如manifold,tensorboard這類模型debugging工具,自動化的誤差分析與模型改進方案,因果模型框架,模型公平性評估與糾正工具等,都可以涵蓋在廣義的模型解釋領域中。在工具基礎上,如何結合業(yè)務領域知識,給出更有針對性的解釋方案,也是值得思考深挖的方向。

自我考核:使用shap,eli5等工具來進行模型解釋,并在此基礎上形成面向開發(fā)者的模型debug,誤差分析及改進方案,或形成面向業(yè)務的what-if分析看板。


總結


目前機器學習應用領域還在高速發(fā)展與演進過程中,除了上述提到的技能方向,后續(xù)很可能會不斷有新的主題引入進來,需要練就快速學習并應用落地的能力。在掌握前面編程,軟件工程,機器學習的基礎上,后半部分的研究方向,大家可以根據(jù)個人興趣,選擇幾個進行深入探索與實踐。僅閱讀相關書籍和文章,只能對知識內容有一個初步的認識,必須要通過深入的動手實踐,反復試錯思考和修正,才能逐漸內化為自己的技能,并構建起較為堅實的知識體系。

我的朋友圈更精彩


推薦閱讀

(點擊標題可跳轉閱讀)

機器學習論文清單:GitHub 2300+星

Numpy核心語法和代碼整理匯總!

數(shù)學系的概率論和我們的不太一樣。。。

機器學習模型調參指南(附代碼)

老鐵,三連支持一下,好嗎?↓↓↓

瀏覽 52
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 探花在线播放| 亚洲片在线观看| 婷婷丁香五月社区亚洲| 一区二区毛片| 一区二区三区精品婷婷| 久久国产2025| 欧美激情视频一区二区| 国产一区二区三区免费播放| 国产福利在线| 麻酥酥在线视频| 国产精品视频在线免费观看| 中日韩在线视频| 成人aaa| 国产乱婬AV片免费| 无码不卡中文字幕| 日韩一级无码特黄AAA片| 少妇视频| 无码999| 99爱免费视频| 丰满人妻一区二区三区蜜桃视频| 在线观看亚洲| 日韩加勒比在线| 久久视频国产| 国精产品一二四区黑人| 91人妻人人澡人人爽人人精品| 国产一精品一aⅴ一免费| 影音先锋国产AV| 国产在线小电影| 99色播| 日本啪啪网站| 天堂网| 人人操碰人人| 国产成人黄色电影| 在线永久看片免费的视频| 国产午夜91人妻| 国产1级a毛a毛1级a毛1级| 中文字幕在线观看高清| 日本高清色清di免费观看| 日韩精品中文字幕在线观看| 国产日韩欧美视频| 国产一区二区做爱| 国产精品成人在线视频| 丁香花小说完整视频免费观看| H版视频| 狠狠干2024| 中日韩在线视频| 日韩大尺度Av| 人妻天天爽夜夜爽| 日韩激情在线| 91porn国产| x88AV吊钟奶熟女| 男女啪啪网站| 亚洲无码一区在线| 久久99深爱久久99精品| 不卡无码免费视频| 黑人大荫蒂女同互磨| 无码东京热国产| 免费无码毛片一区二区A片| 国产性爱在线观看| 久久高潮| 91丨九色丨蝌蚪丨成人| 国产AV日韩AⅤ亚洲AV中文| 成人爱爱免费视频| 亚洲AV影院| 亚洲成年人在线| 免费黄色成人视频| 夜夜嗨AV一区二区三区啊| 国产精品国产三级国产AⅤ原创| 黄色免费网站| 黄色视频免费在线观看网站| 91搞搞| 精品免费在线| 日韩AV无码电影| 91av在线电影| 亚洲性爱中文字幕| 一级片在线免费看| 成人激情综合网| 在线观看无码AV| 站街大龄熟女x| 激情一级片| 日韩一级片在线播放| 久久精彩偷拍视频| 国产熟女露脸普通话对白| 免费在线a| 蜜桃亚洲AV无码一区二区三区| 九九在线视频| 久久波多野结衣一区二区| 九九成人网站| 欧美精品A片| 高潮喷水在线观看| 天堂在线9| 怡春院免费视频| 96久久| 亚洲秘无码一区二区三区观看| 五月丁香六月激情综合| www日韩| 超碰日逼| 人人妻人人澡人人爽久久con | 嫩草A片www在线观看| 中文字幕一区二区三区四区在线视频 | 成人一区二区在线| 在线观看视频91| 欧美V亚洲| 国产乱视频| 久操免费在线观看| 操逼视频在线免费观看| 日韩成人免费在线观看| 91成人视频在线播放| 国产女人与禽zOz0性| 亚洲性爱一区| 成年人免费视频在线观看| www一个人免费观看视频www| 北条麻妃中文字幕在线观看| 亚洲人一级电影| 久久cao| 国产午夜精品视频| 成人午夜无码视频| 丰滿人妻一区二区三| 69av在线观看| 久久精品成人导航| 欧美喷水视频| 欧美在线综合| 国产精品日韩高清北条麻衣| 秋霞精品一区二区三区| 91草视频| 嫩BBB搡BBB搡BBB四川| 无码-ThePorn| 久久色播| 欧美精品国产动漫| 国产又爽又黄免费网站校园里| 日本中文无码视频| 黑人无码一二三四五区| 北条麻妃99| 爱爱视频免费网站| 五月丁香啪啪啪| 欧美日韩国产中文字幕| 亚洲无码人妻在线| 日韩一级无码| 影音先锋在线视频| 无套内射在线| 欧美人操逼一二区| 久久666| 日本黄色三级| 水果派解说A∨无码区| 又紧又嫩又爽无遮挡免费| 五月天丁香花| A片在线免费播放| 无码婷婷| 亚洲视频在线免费看| 日韩成人在线看| 亚洲精品黄色| 一级一A片一a免费看| 男人的天堂视频在线| 色色一区| 亚洲成人综合在线| 大学生一级特黄大片| 久在草| 三级片欧美| 69er小视频| 我要看黄色一级片| 天堂无线av无码av| 国产理伦| 日本精品黄色视频| 亚洲狼人久久久精品| 大香蕉网址| 岛国无码破解AV在线播放| 高清无码免费观看视频| 免费a片观看| 日本无码人妻| 日本特黄AA片免费视频| 91网站在线观看视频| 夜色321| 成人免费毛片AAAAAA片| 无码人妻精品一区二区三区蜜臀百度 | 欧美成人无码一区二区三区 | 自拍偷拍| 潮喷AV| 小泽玛利亚一区二区免费| 影音先锋成人资源站| Japanese在线观看| 亚洲免费天堂| 西西西444www无码视频| www.黄片| 成人AV毛片| 欧美夜夜骑| 成人午夜啪免费视频在线观看软件| 大香蕉婷婷五月天| 福利黄色片:片| 最新一区二区| 免费成人黄色网址| 久草性爱| 老鸭窝成人视频| 久久久精品少妇| 999日本不卡影院| 免费无码国产在线观看快色| 翔田千里无码在线| 国产久久在线观看| 亚欧精品久久久| 久久三级片电影| 男女操逼视频网站免费观看| 欧美性爱中文字幕| 黄色激情视频网站| 国产精品播放| 免费操B| 亚洲AV毛片成人精品网站| 91九色精品女同系列| 奇米影视色偷偷| 91日韩| 黄色录像一级片| 国产内射无码| 99热在线观看免费| 欧美在线无码| 免费黄色福利视频| 亚洲影音先锋在线| 动漫操逼视频| 蜜臀久久99精品久久一区二区| 黄色A片约| 性久久久久| 国产www在线观看| 91网站免费观看| 欧美一区二区三区成人片在线| 大香蕉大香蕉网| 天天干免费视频| 另类aV| 亚洲成人动漫在线| 69视频在线观看免费| 久久99精品久久久久婷婷| sesese999| 免费视频二区| 岛国无码破解AV在线播放| JULIA超乳JULIA无码| 97久久一区二区| 少妇高潮在线| 成人免费看A片| 99免费小视频| 黄色香蕉网站| 国产精品一级无码免费播放| 五月天亚洲激情| 99成人乱码一区二区三区在线 | 色婷婷一级A片AAA毛片| 丁香婷婷五月色成人网站| 国产2页| 日本国产在线| 天天日夜夜草| 亚洲专区在线播放| 小泬BBBBBB免费看| 日本A片在线播放| 懂色av蜜臀av粉嫩av分享| 日韩在线视频中文字幕码无| 无码在线观看免费视频| 伦理被部长侵犯HD中字| 天堂俺去俺来也www久久婷婷| 亚洲中文字幕免费在线观看| 色欲网| 天天摸天天日| 最近中文字幕在线| A片免费在线| 亚洲AV成人无码精品直播在线| 亚洲专区在线| 青青草超碰在线| 国产免费一区二区| 欧美精品在线视频| 大鸡巴在线观看| 亚洲人成在线观看| 中文字幕巨乱亚洲高清A片28| 国产精品内射| 国产中文字幕亚洲综合欧美 | 天天干天天添| 久久婷婷五月综合| 欧美国产在线观看综合| 性做久久久久久| 国产高清精品无码| 午夜AV大片| 色婷婷久久久久swag精品| 操比免费视频| 亚洲无码AV免费观看| 国产av日韩av| 成人91视频| 欧美肥臀| 欧美综合精品| 日韩A片免费看| 亚洲成人精品在线| 狠狠干2018| 亚洲播播| 日韩中文毛片| 国产一区在线播放| 日韩午夜在线观看| 国产色色网| 亚洲免费观看高清完整版| 日韩欧美视频在线| 91乱子伦国产乱子伦海的味道| 加勒比精品| 操噜噜噜噜噜插| 无码人妻精品一区二区50| 日韩在线综合网| 欧美h在线观看| 亚洲国产精品二二三三区| 丰满人妻一区二区三区精品高| 久草福利在线视频| 在线观看中文字幕av| 久久永久免费精品人妻专区| 无码做爰欢H肉动漫网站在线看| 啪啪网网站| 91精品国产91久久久久久吃药 | 国产精品免费观看视频| 亚洲成人网站在线| 亚洲小说图片AV在线| 色多多导航| 北条麻妃99精品青青久久| 亚洲无码精品一区二区三区| 欧美午夜三级| 国产成人精品一区二区| 免费的黄色A片| 俺来也俺去啦欧美www| 在线观看免费a片| 欧美成人高清无码| 影音先锋日韩| 中文无码日本一级A片久久影视| 51乱伦| 亚洲va欧美va天堂v国产综合| 息子交尾一区二区三区| 国产又粗又长视频| 欧美日韩成人在线视频| 看操b视频| 揄拍成人国产精品视频| 中文字幕乱码中文乱码91| 日韩无码免费看| 国产A片免费看| 特特级毛片| 午夜特级| 欧洲操逼视频| 欧美精产国品一二三产品动漫| 亚洲综合伊人无码| 亚洲青青| 嗯啊av| 99热国产| 男人的天堂视频在线| 亚洲精品69| 日韩A级毛片| 日韩黄色A级片| 青青操视频在线| 精品乱子伦一区二区三区免费播放| 青青草视频在线观看| 444444在线观看免费高清电视剧木瓜一 | 欧美韩日高清精彩视频| 最近中文字幕中文翻译歌词| 国产草草| 欧美色图88| 日本三级片中文字幕| 西西特级WWW444无码| 高清无码在线观看18| 国产欧美精品在线观看| 日韩美女久久| 中文不卡视频| 大香蕉免费中文| 五月黄色电影| 久在线观看| 亚洲婷婷小说| 亚洲乱伦小说网| 五月婷婷六月激情| 人人澡人人妻人人爽| 国产成人精品一区| 97人妻人人澡| 男人天堂亚洲| 97大香蕉视频| Av久| 国产又爽又黄视频在线看| 色婷婷激情| 成人肏逼视频在线| 国产精品不卡在线| 強姧伦一区二区三区在线播放| 99热6| 激情视频免费在线观看| 一级性爱视频| xxx一区二区| 水密桃网站| 午夜黄色影视| 久久精品苍井空免费一区二 | 蜜桃秘av一区二区三区安全| 在线观看三级网址| 亚洲在线第一页| 特一级黄色片| 一区免费在线观看| 人人妻人人色| 天堂久久av| 国产黄色免费视频| 国产不卡网| 国产主播中文字幕| 水蜜桃在线视频| 国产香蕉视频在线播放| 欧美日韩A| 免费高清无码在线| 亚洲三级电影| 中文字幕在线欧美| 国产Av高清| 黄色网址av| 黄色电影视频网站| 殴殴美日韩在线| 国内自拍偷拍视频| 黄色视频在线观看免费| 国产在线视频网站| 六月丁香五月婷婷| 91欧美亚洲| 激情五月综合| 刘玥精品国产一区二区三区| 日韩精品无码一区二区| 精品欧美成人片在线| 91麻豆成人| 丰滿人妻-区二区三区| 亚洲人BBwBBwBBWBBw| 翔田千里在线观看| 色噜噜狠狠色综无码久久合欧美| 国产高清a| yw在线观看| 亚洲欧洲日韩综合| 国产香蕉视频| 国产精品污www在线观看| 中文字幕在线看成人电影| 色综合久久久无码中文字幕999| 久久中文字幕综合| 天天干国产| 99久久综合九九| 成人h视频| 人人肏人人射| 97A片在线观看播放| 高清无码直接看| jizzjizzjizzjizz| 九九热这里有精品| 热逼视频| 一二三四区视频| 夜夜爽日日爽| 国产17c精品视频一二三区| 亚洲精品日韩综合观看成人91| 成人三级AV| 午夜成人网站在线观看| 男女日皮视频| 欧美日韩成人在线观看| 久久天堂影院| 北条麻妃人妻中文无码| 男女91视频| 狠狠干综合| 五月天亚洲色图| 欧美日韩加勒比| 思思99热| 无码a级| 全部免费黄色视频| 天天日天天干天天干| 五月婷婷视频在线观看| 久久久久久久国产| 91在线无码精品秘入口男同 | 黄色毛片网站| 国产精品免费一区二区三区都可以| 国产女人18毛片水18精品软件| 成人视频一区二区| 91欧美亚洲| 欧美aa片| 狠狠撸在线视频| 日韩性爱片| 中文字幕视频一区日日骚| 欧美成年人网站| 99久久久久久久无码| 亚洲欧美动漫| 精品乱子伦一区二区三区在线播放| 欧美成人性色欲影院| 99久久99九九99九九九| 日韩三级网| 思思热精品在线| 在线观看黄色电影| 日韩一区二区三| 苍井空在线播放| 人人妻人人干| aⅴ无码| 亚洲天堂在线免费观看视频 | 中国老女人日逼| 亚洲激情小说| 青草视频网| 大香蕉在线视频75| 一本色道久久加勒比精品| 激情成人五月天| 大肉大捧一进一出免费阅读| 殴殴美日韩在线| 91在线无码精品秘| 亚久久久| 中文字幕五月天| 国产福利视频| 国产肏逼视频| 日韩WWW| 国产一级做a爱免费视频| 欧美日韩三级| 人妻天天爽| 精品码产区一区二亚洲国产| 亚洲色婷婷五月| 欧美一区二区三区在线| 91探花视频在线观看| 99视频在线精品| 日本三级片中文字幕| 日韩成人片| 五十路av| 美女免费网站| 天天搞搞| 美女性爱3P视频| 亚洲无码福利视频| 成人久久网| www.日逼| 日韩美女性爱| 熟女人妻一区二区三区| 无码在线免费观看视频| 人人看人人草| 97中文字幕在线| 97久久综合| 亚洲国产成人无码| 丁香六月婷婷久久综合| 91性视频| 超碰人人插| 免费啪啪网| 一本一道波多野结衣潮喷视频 | 久久一级片| 欧美日韩免费在线观看| 无码人妻精品一区二区三区蜜臀百度 | 亚洲毛片在线| 3D动漫精品一区二区在线播放免费| 激情五月天亚洲| 爱爱视频日韩| 丁香婷婷男人天堂| 亚州成熟少妇视频在线观看| 激情五月天影院| WWW久久| 91久久人澡人妻人人做人人爽97| 变态另类av| 超碰97观看| AV狠狠干| 免费黄色网址啊不卡| 国产a视频| 99色热| 欧美成人网站在线| 中文字幕欧美视频| 久久大奶| 午夜天堂在线观看| 屁屁影院CCYYCOM国产| 午夜福利视频无码| 中文字幕网站在线观看| 五月天婷婷操逼视频| 操骚逼视频| 韩国无码精品| 人人艹人人摸| 人人人人操| 色婷婷色99国产综合精品| 国产精品乱子伦视频一区二区| 亚洲日韩视频在线播放| 91丨PORNY丨对白| 精品久久免费视频| 成人69AV| 免费在线观看AV片| 懂色AV无码中字幕一区| 欧美一级特黄A片免费观看| 国产毛片18水真多18精品| 看国产毛片| 欧美熟女性爱| 翔田千里高潮90分钟| 国产日韩欧美| 蜜桃传媒一区二区| 亚洲第一网站| 男女日皮视频| 就要操| 日韩高清中文字幕| 高H视频在线观看| 欧美精品第一页| 国内久久| 岛国无码破解AV在线播放| 日韩爆乳一区二区三区| 人人人爽| 青青操原| 夜夜嗨av无码一区二区三区| 久久AV电影| 青青草91| 黄色成人网站免费在线观看| 日本免费不卡| 久久久久久久久久久国产| 午夜激情国产| 免费黄色小视频在线观看| 制服丝袜无码| 欧美操逼图| 欧美日韩一二三区| 秋霞丝鲁片一区二区三区手机在绒免| 国产一级特黄| 美日韩三级| 五月丁香性爱| 亚洲电影在线| 91豆花成人社区| 欧一美一婬一伦一区?| 国产传媒av| 国产色秘乱码一区二区三区| 高清无码在线视频| 亚洲日韩一区二区| 在线观看者亚洲| 日韩无码免费播放| 久久久WWW成人免费精品| 亚洲黄色三级| 人人干人人妻| 欧美精品久久久久久久久| 无码孕妇| 一级黄色av| 一级片黄色电影| 欧美日韩免费在线播放电影在线播放电影在线播放电影免费 | 日韩在线观看一区| AV黄色网址| 一道本无码在线观看| 色婷婷播放| 一级黄色生活片| 大香蕉色视频| 成年人激情网| 91综合在线观看| 中文字幕无码精品三级在线欧美 | 亚洲欧洲久久电影| www久久久| 天天射视频| 高清无码视频免费观看| 亚州AV无码| 久久艹大香蕉| 99在线观看精品视频| 爱搞搞网| 欧美日韩在线电影| 中文字幕+乱码+中文字幕电视剧| 午夜AV电影| 五月婷婷色色色| 天堂a√在线8| 中文一线二线视频| 在线视频一区二区| 国产91久久婷婷一区二区| 欧美精品黄| 人妻一区二区在线| 天天色天天色| 亚洲videos| 免费看A片视频| 婷婷色色五月| 五月天久久久久久久| 欧美一区二区三区成人| 欧美午夜精品久久久久免费视 | 欧美精品18videosex性欧美| 最新国产第一页| 97色色得| 加勒比在线视频| 日韩另类| 黑人干亚洲人| 亚洲无码在线观看免费| 小泽玛利亚一区二区免费| 免费看AV大片| 日本无码久久嗯啊流水| 欧美激情内射| 18sav| 黄色在线网| 久久黄色视频免费看| 91av电影网| 性欧美XXXX| 亚洲俺去了| 成人香蕉| 五月丁香色色网| 性猛交AAAA片免费观看直播| 91人妻人澡| 激情五月天激情网| 亚洲瑟瑟| 十八禁网站在线播放| 无码人妻一区二区三区蜜桃视频| 男人的天堂aa| 五月天激情四射| 激情综合视频| 欧美亚洲成人电影| 少妇bbb搡bbbb搡bbbb| 午夜激情乱伦| 99Re66精品免费视频| 欧美激情另类| 欧美性综合| 伊人网大香| 婷婷五月情| 操屄视频在线观看| 性爱视频网站| www.91爱爱,com| 东京热一区二区| 青春草在线视频| 成人在线网站| 亚洲成人一区二区在线观看| 亚洲国产女人| 日产久久久久久| 国产精品2025| 色香蕉在线视频| 亚洲色图五月天| 国产精品综合| 丁香五月情| 欧美男人的天堂| 精品成人无码| 免费AV片| 成人欧美一区二区三区黑人免费 | 大鸡吧在线| 99电影网手机在线观看| 精品久久免费| 四川妇搡BBBB搡BBBB| 日本免费在线观看视频| 天天日日日干| 色呦呦视频在线观看| 成人一级a片| 青青视频网| 综合色播| 安徽妇搡BBB搡BBBB户外老太太 | 丁香花五月激情| 九九九在线视频| 亚洲精品无码视频在线观看| 亚洲啪啪| 亚洲精品久久久久久| 天天操操操| 色色色色色色网站| 99久久久久久久无码| 国产福利在线导航| 日韩一区二区三区免费视频| 国产成人免费看| 中文字幕高清无码视频| 中文字幕人成人乱码亚洲电影| 欧美黑吊大战白妞| 亚州成熟少妇视频在线观看| 日批视频| 青青啪啪啪| 精品国产久久久久| 亚洲午夜成人精品一区二区| 色噜噜一区二区三区| 东方AV在线免费观看| 久久666| 操逼一级片| 91香蕉视频在线| 国产久久免费视频| 六月婷婷七月丁香| 91久久久久久久久久久久18 | www.AV在线| 成人区人妻精品一| 亚洲欧美国产日韩字幕| 加勒比综合| 一区二区av| 亚洲婷婷小说| 天天干天天操天天拍| 欧美性爱XXXX黑人XYX性爽| 一道本无码在线观看| 欧美黄色三级片| 亚洲欧美人妻| 国产av一区二区三区| 大鸡巴视频在线| xxxxx无码| 91亚洲精品国偷拍自产在线观看 | 大鸡巴导航| 国产在线观看欧美| 五月天婷婷在线观看视频| 日本一区二区在线视频| 天天夜夜操操| 一本大道DVD中文字幕| 国产精品九九| 三级免费无限AV| 亚洲无码一卡| 亚洲AV成人片色在线观看高潮| 国产精品不卡一区二区三区| 亚洲无码电影网站| 亚洲特黄| www.在线播放| 91乱了伦国产乱子伦| 婷婷丁香色五月| 日韩亚洲欧美在线观看| H片在线免费观看| 中文字幕亚洲在线| 欧美久草蜜桃视频| 人妻丰满精品一区二区| 自拍偷拍| 小黄片免费在线观看| 特级西西444WWW大精品视频| 国产欧美日韩综合| 野花Av| 黄色片网站免费观看| 久久久久黄色| av女人天堂| 成人网一区二区| 浮力影院av| 青草久久视频| 91免费国产视频| 97超碰人人| 精品亚洲一区二区三区| 欧美亚洲视频在线观看| 最新无码在线| 成人做爰黄A片免费看直播室动漫| 中文字幕免费在线观看| 中文字幕精品久久久久人妻红杏Ⅰ| 日韩色情网| 成人久久网| 夜夜操免费视频| 四虎无码丰满人妻| 夜夜嗨av一区二区三区| 免费啪啪网| 69国产| 秋霞福利| 伊人久久久影视大全| 亚洲天堂大香蕉| 色呦呦一区二区三区| 午夜av在线| 日韩性无码| 伊人久久香蕉网| 日韩小电影免费观看高清完整版在线观| 成人在线黄色视频| 欧美区在线观看| 亚洲第一黄色视频| 99ri国产| 丁香五月在线视频| 欧美熟女一区二区| 91久久精品日日躁夜夜躁欧美| 国产美女啪啪视频| 中文亚洲字幕| 日本一级黄色电影网| 日美女网站| 99免费观看视频| 亚洲一级无码| 日韩激情视频在线观看| 7799精品视频天天看| 五月丁香婷中文| 黄片在线免费观看| 中国操B视频| 91人妻人人澡人人爽人妻| 久久久久久成人电影| 无码专区在线看v| 二区三区视频| 亚洲精品久久久久久久久豆丁网| 亚洲综合日韩在线| 九九九色视频| 高潮喷水视频| 欧美日韩无码| 免费观看色情视频| 国产又爽又黄视频| 手机在线观看AV| 五月丁香成人网| 欧美五月激情| 翔田千里一区二区| 久久视频一二| 亚洲综合视频网| 粉嫩小泬BBBBBB免费| 久久99精品国产| 欧美色图视频在线观看| 中文资源在线a中文| 日韩一级网站| 一级片黄色免费| 俺去俺来也在线www色情网| 北条麻妃网站| 午夜福利100| 亚洲熟妇AV日韩熟妇在线| 久久精品视频99| 国产成人免费视频| 人人射人人干| 精品有码| 高清无码一区| 久操免费在线观看| 婷婷三级片| 超碰人人干| 欧美a片在线看| 午夜精品视频在线观看| 国产成人在线播放| 俺去啦俺去也| 亚洲精品久久久久avwww潮水| 色五月在线| 亚洲一区无码在线观看| 欧美精品系列| 亚洲色情电影| 伊人大香蕉在线网| 97爱爱爱| 国产激情AV| 成人自拍网站| а√最新版在线中文8| 一区精品| 成人福利视频在线| 最新中文字幕免费MV第一季歌词| 日韩99| 久久青娱乐| 久久AV影院| 亚洲综合免费观看高清完整版在线 | 三级av网站| 俺去也在线视频| 美女被操网站| 大香蕉大香蕉免费网| 在线观看成年人视频| 欧美色色网| 污视频网站免费在线观看| 午夜A区| 少妇激情网站| 人妻无码久久精品| 四虎无码| 中国老熟女2老女人| 欧美夜夜骑| 最新中文字幕| 天天日天天干美女| 国产色在线| 精品一区二区三区av| 西西人体44www大胆无码| 内射学生妹| 91黄网站在线观看| 日韩AV中文字幕在线| 欧洲黑人成人A版免费视频| 无码电影免费观看| 日朝无码| 五月天激情片| 天天弄天天操|