作為最初被設計為支持谷歌系統規模伸縮的技術方案,TensorFlow目前已經可為每位用戶也享受。
作為谷歌公司專門為應用智能化目標打造的開源機器學習項目,每個人都能輕松選擇TensorFlow,而它也會根據各類頭條消息預測用戶的行為與喜好。
不過除此之外,該項目還擁有更加野心勃勃的目標,即隨著數據規模的持續增長成為開源機器學習系統日漸龐大的生態系統整體的重要組成部分。
以下為四項TensorFlow值得技術從業者加以關注的重要理由。
1.它將成為谷歌內部機器學習系統的下一代方案
根據谷歌公司CEO Sundar Pichai在博文當中所指出,TensforFlow的構建目的與谷歌此前發布的眾多其它開源解決方案相同:旨在解決谷歌公司內部機器學習解決方案在面對規模化數據時所遭遇的實際難題。
而在另一篇博文當中,谷歌公司研究員Jeff Dean(曾參與BigTable與MapReduce項目)提到了谷歌早期深度學習系統DistBelief的大量細節,包括其在運行當中面臨的諸多局限。除了與谷歌的內部基礎設施的關聯過于緊密之外,其設計目標還專門用于處理神經網絡侮。Dean在一段YouTube視頻當中進一步對此進行了解釋,包括DistBelief在可擴展性與生產培訓方面的出色表現,但他同時提到其在研究工作方面顯得不夠靈活。
相比之下,TesorFlow能夠與任意基于梯度的機器學習算法相協作,這就為其開辟了更為廣闊的適用范圍。出于運行速度考量而以C++編寫的TensorFlow不需要開發人員對底層承載硬件具備任何了解。其同時能夠運行在多種設備及架構之上,因此其適應平臺從手機等系統芯片設備到配備數十塊GPU的分布式系統皆可涵蓋。
考慮到硬件設備的發展速度之快以及抽象層的快速普及——事實上,即使是像C++這樣的語言也會與其運行所在的設備之間存在抽象層,這種設計方式具有重大意義。這是一種前瞻性設計策略,允許谷歌公司以性價比極高的方式利用先進硬件構建規模化體系,同時保證TensorFlow始終能夠與之順暢對接。
TensorFlow是谷歌公司所發布的公共使用基礎設施當中的最新組成部分。原先,谷歌曾經大規模推廣過容器編排工具Kubernetes,而如今其已經被廣泛視為容器生態系統當中的重要成員之一。
2. 來自谷歌的支持令TensorFlow擁有更多深層含義
如果能夠得到像谷歌這類巨頭級企業的支持,特別是對于技術概念極為復雜的機器學習這類方案,開源項目將能夠迎來更為可觀的發展潛力以及來自開發者群體的支持熱情。
因為這種來自巨頭的支持往往意味著這些方案已經在這些老牌企業當中進行了內部使用——谷歌公布TensorFlow時也正好符合這種情況。在這種情況下,開源項目當中那些影響最大、最為嚴重的漏洞早已在其內部使用過程當中得到了解決。另外,當背后支持方擁有像谷歌這樣可觀的規模,那么該開源項目往往已經被應用在了相當廣泛的場景之下。
對該項目進行開源意味著將有更多用戶得以為其貢獻力量,并成為其發展背后的有力推手。幾乎沒有幾家貢獻方能夠擁有像谷歌這樣的業務規模,但他們仍然有機會想到并設計出谷歌單憑自身力量根本無法想到的可能性用例。
3. 易用性出眾——這一點非常重要
在利用任何框架處理數學、統計或者機器學習任務時,我們面臨的首要難題就是易用性。Apache Spark之所以吸引到了眾多支持者,除了其極具吸引力的內存內處理速度優勢之外,它所采用的相對簡單的編程接口同樣功不可沒。IBM公司曾經利用Spark編寫出其重要數據處理產品DataWorks,而且藍色巨人強調稱這一選擇將其原本設想的4000萬行代碼順利削減到了500萬行。
同樣的,TensorFlow的一大固有優勢也正在于易用性。除了能夠由其它C++應用程序直接實現接入之外,它還提供面向Python的接口——其中包括支持Ipython/Jupyter筆記本/這就使得使用感受更為直觀而且易于理解。目前開發團隊還在為打造更為強大的其它語言前端,包括谷歌Go。另外,Python 3支持問題已經被標記為需要盡快解決的缺陷。雖然TensorFlow的構建元素尚未完全齊備,但目前的儲備及陣容已經相當可觀。
4.施壓壓力令機器學習默認選擇開源路線
谷歌公司的Mtt Cutts提出了這一觀點,并指出以Hadoop為代表的“整個山寨行業”都在努力對谷歌發布的MapReduce技術論文進行重構。“但結果卻很難稱得上理想,”他寫道,“因為外部代碼當中往往存在著一系列我們已經在谷歌內部解決過了的問題。”
以專有方式開發算法代碼的優勢正在逐步減少。算法目前已經不再是機器學習方案當中最為重要的組成部分——特別是在將機器學習部署在云環境當中的情況下。相反,算法用于培訓自身所導入的數據以及需要與之對接的真實世界數據源才是最重要的元素。考慮到IBM最近剛剛收購了Weather Company,很明顯可以看到藍色巨人想要的不僅僅是實時、真實世界數據流,而更多地是用于生成這些數據的傳感器陣列。
而只有當相關算法與框架的開發工作擁有足夠充裕的人手介入,其處理數據的實際效果才能真正達到頂峰。