北京在線 > 科技 > 正文

一流科技正式上線OneFlow v0.5版:四大特性實現輕快上手,高效、易用從此兼得

更新時間:2021-09-29點擊數:文字大?。?/SPAN>

9月27日,在中關村論壇國際技術交易大會上,一流科技創始人amp;CEO袁進輝宣布深度學習框架OneFlow v0.5.0正式上線GitHub,他重點介紹了OneFlow v0.5.0的四大特性。本次產品升級也是OneFlow自2020年7月31日開源以來,功能發布最重磅的版本。

image.png

高效、易用、完備是任一深度學習框架在未來競爭中勝出的必由之路。在用三年時間對最難的分布式計算和高效性問題進行攻關后,OneFlow開源以來,已歷經五次版本更迭,重點從優化編譯、API接口等層面攻關易用性體驗,同時持續優化分布式性能,保持業界領先地位。

一方面,OneFlow框架一開始就瞄準最具挑戰的高效性,攻占技術制高點,并以此成為立足業界的安身之本。另一方面,隨著OneFlow v0.5.0的發布,OneFlow將帶給開發者革命性的易用性體驗,同時,也從全局視角打破了深度學習框架易用性和高效性不可兼得的桎梏,向著全球范圍內最好用深度學習框架的目標邁出了堅實的一大步。

本次產品升級也入選了2021年度中關村論壇“百項新技術新產品榜單”。

image.png

四個“一”實現極致易用性體驗

相比此前的版本,OneFlow v0.5.0在易用性上實現了四大技術特性。

一行代碼實現OneFlow與PyTorch切換

憑借易用性,PyTorch在深度學習框架市場異軍突起,其在單卡的eager mode,pythonic,面向對象編程等使用設計上廣受認可。新發布的OneFlow v0.5.0也接收了其設計想法,使其在編程API層面和PyTorch嚴格對齊,并對齊了相關模型的200多個算子。

對喜歡使用PyTorch的eager模式的開發者來說,只需更改一行代碼,就可以讓PyTorch上寫的代碼在OneFlow中跑起來。

一段代碼實現動態圖與靜態圖轉換

在編碼調試階段,動態圖的編程模式的體驗最好,但當模型穩定后,靜態圖模式在運行效率方面更有優勢。因此,最理想的框架是同時支持二者,使用戶在一個框架上享受到最佳的動、靜態體驗,并且最好動、靜態圖可以自由轉換。

在OneFlow v0.5.0中,開發者只需把使用動態模式開發的代碼用nn.Graph封裝起來,就可以享受靜態圖的好處。當然,要想實現完全自動的動、靜態轉換,還需要進一步攻關。

一致性視角實現單機和分布式無縫切換

隨著數據和模型的規模越來越大,單卡和單機已經不能滿足開發者的需求,很多工業級的深度學習模型必須在分布式集群上訓練。

然而,由于分布式編程的門檻太高,且大部分算法科學家對分布式編程并不熟悉,這給分布式訓練帶來一定挑戰。

為了讓開發者無須關注復雜的分布式底層細節,只專注于邏輯層面的神經網絡搭建,OneFlow創造性地發明了一致性視角Consistent View的概念,把分布式的多卡模擬成一塊超大的虛擬設備,統一了單機和分布式的編程接口,從而方便讓算法工程師低成本使用分布式計算來加速。

一套系統支持各種并行模式

不同神經網絡的最優并行方法并不相同,像CNN這類大數據、小模型的神經網絡層次最好用數據并行,對超大的全連接層這種模型更大的層次最好用模型并行,對于feature map超大或者層次超深的神經網絡更適合流水并行。

但很不幸,原有主流框架僅支持常用的數據并行,要想使用模型并行或者流水并行功能,就必須借助某種插件或者做深度定制,而且這種定制系統都只能用于HugeCTR,Megatron-LM等某一種類型的神經網絡。

OneFlow在系統層面支持了數據并行、模型并行和流水并行,不需要額外的插件和定制開發,就可以以最小代碼量高效支持任何神經網絡。

“人有我優,人無我有”的高效性

要知道,原有深度學習框架都聚焦于單卡的用戶體驗,僅對適合數據并行的多機多卡場景處理的較好,但遇到Wide and Deep模型、 GPT-3等超大模型,開發者就會面臨多機多卡編程難、效率低下或無法實現等分布式深度學習的痛點。

image.png

盡管這些框架通過改進框架設計或研發NCCL、 Horovod、 HugeCTR等第三方插件的方式取得了一些進步,但受限于框架本身架構設計的不足,仍不能滿足用戶對極致性能的需求,而OneFlow在這方面的優勢可以概括為“人有我優”和“人無我有”,是所有框架中的最優解決方案。

image.png

支撐 OneFlow高效性的背后有四大關鍵技術,其中靜態調度和流式執行均為業界首創:

編譯器自動編排并行模式和流水線:編譯器自動解決從邏輯任務到硬件資源的映射,包括數據并行、模型并行、流水并行的設備分配以及數據路由方案,大大降低分布式編程的復雜度,用戶只須關心任務的邏輯結構以及本次任務可使用的硬件資源,而不用去編程實現數據在硬件資源中的流動機制。

靜態調度:把所有能在正式運行之前得到的調度策略、資源管理策略等問題都在編譯階段解決,運行時不需要在線求解最優的調度方案,從而大大降低運行時開銷。為了讓用戶在使用高度動態模型時也有良好的體驗,OneFlow內部有動靜兩套執行機制。

image.png

去中心化協議:在運行任務時,不再需要中心調度器,只需要支持上下游任務之間局部的握手信號即可,即生產者向消費者發送的請求以及消費者向生產者發送的確認,整個系統以全鏈路異步的方式運行。

流式執行引擎:區別于其它深度學習框架把數據搬運當成二等公民,OneFlow將數據搬運看作一等公民。在靜態分析階段,OneFlow就把磁盤 IO、主存和設備之間數據搬運,節點間數據搬運看作和計算同等重要的任務,在代價分析和調度策略里作為一等公民進行顯式建模,從而得到重疊傳輸和計算的最優方案。

深度學習框架的演進路線

作為新生代深度學習框架,盡管OneFlow在易用性和高效性上具有不俗實力,但它要想在未來進一步擴大在開發者社區中的競爭力,還需要在算子、模型庫等完備性上補足功課,而這需要更多社區開發者參與其中。

未來,OneFlow深度學習框架將如何發展?一流科技創始人amp;袁進輝給出了他的判斷:

框架平臺標準化:深度學習算法的標準化,帶來了軟件標準化的機會,深度學習框架正在走向標準化。

生態決定框架未來的競爭力:之江實驗室、北京智源人工智能研究院、粵港澳大灣區數字經濟研究院、中關村智用人工智能研究院等頂尖AI科研院所已使用OneFlow框架開展研究工作。同時,聯合寒武紀、燧原科技、曙光DCU等芯片、云廠商上下游企業,推進適配OneFlow框架的超大模型訓練方案。下一步,一流科技將推動與更多芯片廠商和廣大開發者的合作,打造AI平臺的繁榮生態。

軟件2.0趨勢:前特斯拉AI負責人Andrej Karpathy曾指出,軟件 1.0的“經典堆?!笔怯?Python、C++等語言編寫的計算機顯式指令,與軟件1.0不同,軟件 2.0用深度學習模型從數據中自動推導生成軟件的編程范式,深度學習框架極有可能會朝這一方向邁進。

像數據庫產品那樣提供標準化服務

面向社區開發者,一流科技在不斷提升OneFlow框架用戶體驗;與此同時,作為一個商業化公司,基于OneFlow框架,相應推出了標準化解決方案,包括云邊端AI基礎設施OneBrain、OneAgent智能決策平臺和OneFlow智能云平臺。他們認為,AI產業化機會在于標準化的基礎設施和云原生趨勢。

image.png

OneBrain開發平臺具有豐富的開發模式,支持高性能分布式訓練、多租戶的資源調度和混合云的解決方案。

通過私有化部署,用戶可以在OneBrain上可以實現多租戶和多任務管理,支持可視化、日志分析等功能,根據用戶的集成規模、節點、使用時長等計費。

OneAgent智能決策平臺是一個基于深度強化學習的平臺,它創造性地使用了微服務架構,主要面向無人對戰、路徑規劃、態勢感知與智能博弈、金融量化交易等深度強化學習的應用場景。

此外,OneFlow智能云平臺作為面向廣大開發者的AI實訓與開發平臺,提供精品算法講解、開源算法實測、在線編程環境及算力。它能幫助開發者快速掌握深度學習開發的相關技能,邊學邊連。未來,OneFlow智能云平臺還將面向中小企業用戶提供PaaS和SaaS服務,幫助更多企業用AI賦能生產和管理。

目前,一流科技已服務十多家客戶,尤其是對性能、大規模分布式場景有迫切需求的頭部互聯網公司、安防公司、政務云、科研院所等機構,涵蓋圖像、自然語言處理、金融、廣告/推薦等應用場景。


關于我們 | 聯系方式 | 招聘信息 | 版權申明 | 廣告服務 | 聯系我們 |

免責聲明:本站為非營利性網站,部分圖片或文章來源于互聯網如果無意中對您的權益構成了侵犯,我們深表歉意,請您聯系,我們立即刪除

欧美A级毛欧美1级a大片欧