雷鋒網「新智造」按:人工智慧越來越熱,想要在人工智慧領域創業的人也隨之湧入,但在人工智慧領域創業,有很多需要注意的地方。近日,曾經和George Hotz一起在comma.ai研發無人駕駛汽車的Eder Santana專門撰文,給想要深耕人工智慧的創業者提出了四條寶貴建議,下面和雷鋒網一起來看看吧。新智造作為雷鋒網旗下欄目,關注智慧時代的創新與創造,目標是為創業者和投資人找到創投的機會。
機器學習實在太受歡迎,以至於它都被當做了AI本身,熱度更高的深度學習更是如此。令人高興的是,你的創業團隊已經獲得了資金,或者你的團隊預算剛剛獲得了通過,現在你即將開始進入深度學習領域。
之前,你已經從Keras, Imagenet等人工智慧技術中感受到了快樂,這很令人興奮!可是,當你真的要在商業上開始實踐人工智慧的時候,那麼有幾件事是你必須要考慮的。
接下來,我會結合幾個例子來闡述我的建議,這些例子都是我去年早些時候和George Hotz一起在comma.ai研究自動駕駛時發生的。
救命,AI!我該往哪走?
1、別讓資料和工程師脫節
深度學習是一項資料先行的科學。你的團隊或者創業存在的全部意義就是為了讓這些資料變得有意義。想想看,你只有將文字變得有意義,你才能研發你的人工智慧比特幣聊天機器人!你只有理解圖像、視頻等內容,你才能打造下一個Snapchat Stories式的自動化多媒體拼貼。
你應該把資料處理當做你工作的一個核心。一定要在這方面做好它。例如,如果你覺得“只需要15分鐘”來準備和載入資料集,那麼每次當你發現了更好的模型架構或者在你的Tensorflow代碼中發現了漏洞的時候,都必須要白白等待這15分鐘的時間。
規則很簡單。版本化你的資料集,並且預處理一次,之後反復使用。一些類似Celery、Luigi這樣的工具會是你的好幫手。
如果你是在一個大型的團隊工作,團隊中的所有任務都需要提交到一個集群,這時應該考慮一個資料解決方案,向模型訓練的員工批量提供資料。千萬千萬不要讓團隊中的成員在已經知道模型有漏洞的情況下,還必須等到整個資料集都載入完畢才能修改。
小故事:
comma.ai可能擁有世界上第二或第三大的駕駛資料集。在comma.ai 的早期歲月,為了訓練駕駛模型,需要載入時長數小時的視頻到擁有700多Gb記憶體的大型機器上。每當George需要更多資料來訓練的時候,他都會立刻增加100gb的記憶體。我加入的主要工作就是要為這個模型開發一個更好的版本,不過我並不想等15分鐘來載入資料。相反,我從一個簡單的ZMQ服務開源專案中獲得了一些內容。從此,再也沒有任何資料讓我們乾著急了,我們可以擴展我們的訓練規模,並且使用更便宜的機器。現在對模型訓練的限制,只剩下GPU和它的研發者了。
2、從你能視覺化的東西開始
對深度學習而言,我們很幸運有Tensorboard、最近推出的Visdom、以及其他的一些工具來幫我們視覺化結果。我相信資料科學一般來說是最適合視覺化驅動開發的,因為視覺化讓你在研發的每一步都能正確處理你所遇到的問題。你沒有必要非得學習d3.js來獲得有用的視覺化,除非你是JavaScript的狂熱愛好者。
小故事:
在我的離職談話中,我諮詢George的意見,希望獲得一些提升工程師效率的建議(相信我,他是我見過的人當中最有效率的,我會抓住每一個機會向他學習)。他的建議是先構建一些東西出來,讓這些東西能夠視覺化我在做的事情。George本人曾經就是這麼做的。此外,George 所有的IPython筆記本都有一個滑動小部件,可以在原型設計中迅速顯示參數如何影響結果。
3、儘早明確你的驗證/疑難案例資料集
我把充滿樂趣的視覺化內容放在第二位元,是為了讓你被“準備資料”嚇到之後,能稍作休息。可是,如果你想避免成為一隻打字機上的猴子,只會隨機往神經網路上添加更多的層,你必須要學會如何衡量進度。
問問自己哪些指標與優秀的可交付成果的相關性更好,以及你應該跟蹤哪些資料。
這或許超過了簡單的“隨機驗證10%的剩餘資料”。驗證的資料庫最好與產品擁有相同的統計屬性。同樣的產品也能被用於追蹤疑難、邊緣甚至失敗的案例,以製作未來的驗證集。因此,你的驗證集或許會不斷發展,而且應該像訓練集一樣進行版本化。
小故事:
我瞭解到,對於自動駕駛而言,那些在駕駛過程中你必須對車輛進行人為控制的時刻,就是疑難案例和驗證集。但是,最好的驗證測試是讓一名經驗豐富的控制工程師上路,以精確地判斷自動駕駛系統的品質。如果你在這個行業之中,最好去特斯拉挖工程師過來(開個玩笑)。
4、過早的擴張是早期創業公司倒閉的主要原因
聽到這個建議,你也許會說“別試著教我這些,我聽過的創業故事肯定比你多!”誠然,但這裡要告訴你的新事物是:你應該把GPU和硬體訓練當成和員工同樣的因素來考慮。一旦你雇傭/購買了超過你所需要的,你將花費很多的精力來安排多出來的資源。管理集群會很困難,而且深度學習的大規模HPC本身就是一個研究課題。
我在這裡的建議是:在你想買一個新的GPU之前,你應該保證你所有的GPU都被充分利用。你當然可以像Google一樣大手大腳,前提是你的生產力和盈利能力能像Google一樣。
如果你的團隊和公司已經足夠大,要嚴肅認真地招聘那些在基礎設施上工作的員工。如果你雇傭了10倍於硬體員工人數的研究人員,卻讓他們被迫等待,那麼最好的情況是他們自己建立適合自己的基礎設施,最壞的情況則是他們乾脆直接退出。這肯定不是你想見到的狀況。
小故事:
當我有一次離開辦公室卻沒有讓我所有的GPU運轉的時候,Niel(comma的手機APP副總裁)給了我一個非常失望的神情,這甚至都讓我有了“空閒GPU恐懼症”。在今天,這已經成為了一個非常普遍的問題。
沒錯!在人工智慧領域工作既富挑戰性,又充滿了樂趣。確保你對如何處理資源和視覺化有一定的思考,那麼你會沒事的。
VIA
medium
雷鋒網編譯