在人工智能時代,深度學習框架下接芯片,上承各種應用,是“智能時代的操作系統”。近期,我國首個自主研發、功能完備、開源開放的產業級深度學習框架飛槳發布了2.0正式版,實現了一次跨時代的升級。
這次2.0版本的發布對于飛槳來說,可以說是一次“基礎設施”的全面更新換代!生活中,我們看到過很多基礎設施建設工程,例如西電東送、南水北調、高鐵建設等等,這些在保證生產生活設施正常運行、推動整個社會的經濟發展和人們生活水平改善的過程中,以一種 “潤物細無聲”的形式扮演著關鍵基礎性角色!此次飛槳升級就是以這樣方式悄然為整個產業及生態的發展繁榮奠定基礎、積蓄能量、增添后勁!下面將為廣大開發者詳細介紹飛槳都做了哪些“基礎設施”級別的關鍵工程。
使用飛槳框架2.0更高效地開發AI模型
成熟完備的動態圖模式
此次升級,飛槳將默認的開發模式升級為命令式編程模式,即大家常說的動態圖。飛槳框架2.0支持用戶使用動態圖完成深度學習相關領域全類別的模型算法開發。動態圖模式下可以讓開發者隨時查看變量的輸入、輸出,方便快捷的調試程序, 帶來最佳的開發體驗。為了解決動態圖的部署問題,飛槳提供了全面完備的動轉靜支持,在Python語法支持覆蓋度上達到領先水平。開發者在動態圖編程調試的過程中,僅需添加一個裝飾器,即可無縫平滑地自動實現靜態圖訓練或模型保存。同時飛槳框架2.0還做到了模型存儲和加載的接口統一,保證動轉靜之后保存的模型文件能夠被純動態圖加載和使用。
在飛槳框架2.0版本上,官方支持的動態圖算法數量達到了200+,涵蓋計算機視覺、自然語言處理、語音、推薦等多個領域,并且在動態圖的訓練效率和部署效率方面都有所提升。2.0版本的動態圖支持了自動混合精度和量化訓練功能,實現了比靜態圖更簡潔靈活的混合精度訓練接口,達到媲美靜態圖的混合精度和量化訓練效果。無論從功能還是性能角度,飛槳的動態圖在國產深度學習框架中都處于領先地位!
同時,為了推進各個主流場景的產業級應用,飛槳的系列開發套件也隨飛槳框架2.0完成了升級,全面支持動態圖開發模式。從開發、訓練到預測部署提供優質體驗。如視覺領域的圖像分割套件PaddleSeg,隨飛槳框架2.0升級后,涵蓋了高精度和輕量級等不同特點的大量高質量分割模型,采用模塊化的設計,提供了配置驅動和API調用兩種應用方式,幫助開發者更便捷地完成全流程圖像分割應用;又如自然語言處理領域的PaddleNLP,與飛槳框架2.0深度適配,擁有覆蓋多場景的網絡模型、簡潔易用的全流程API,以及動靜統一的高性能分布式訓練能力,非常便于二次開發,大大提升建模效率。具體可以參見下面鏈接中的項目示例。
飛槳框架2.0動態圖模型:
https://github.com/PaddlePaddle/models/tree/develop/dygraph
全新PaddleSeg項目應用實例:
https://aistudio.baidu.com/aistudio/projectdetail/1339458
全新PaddleNLP項目應用示例:
https://aistudio.baidu.com/aistudio/projectdetail/1329361
API體系全新升級
API是用戶使用深度學習框架的直接入口,對開發者使用體驗起著至關重要的作用,飛槳一直以來對API設計以及整體API體系的完善給予高度重視。飛槳框架2.0對 API體系進行了全新升級,讓開發者們在使用飛槳研發的過程中可以體驗到隨心所欲、暢通無阻的愉悅感覺。
體系化: 基于長期的產業實踐積累與用戶使用習慣的洞察,飛槳重新梳理和優化了API的體系結構,使其更加清晰、科學,讓廣大開發者可以更容易地根據開發使用場景找到想要的API。此外可以通過class和functional兩種形式的API來模塊化的組織代碼和搭建網絡,提高開發效率。同時,API的豐富度有了極大的提升,共計新增API 217個,優化修改API 195個。
簡潔化:提供更適合低代碼編程的高層API。像數據增強、建立數據流水線、循環批量訓練等可以標準化的工作流程,以及一些經典的網絡模型結構,在飛槳框架2.0中,都被封裝成了高層API。基于飛槳高層API,開發者只需10行左右代碼就可以編寫完成訓練部分的程序。最為重要的是,高層API與基礎API采用一體化設計,即在編程過程中可以同時使用高層API與基礎API,讓用戶在簡捷開發與精細化調優之間自由定制。新API體系完全兼容歷史版本,同時飛槳提供了升級工具,幫助開發者降低升級遷移成本。
飛槳開源框架2.0 API參考文檔:
https://www.paddlepaddle.org.cn/documentation/docs/zh/api/index_cn.html
使用飛槳框架2.0更高效地訓練AI模型
訓練更大規模的模型
眾所周知,飛槳框架的英文名Paddle便是并行分布式訓練學習的縮寫,分布式可以說是飛槳與生俱來的特性。飛槳支持包括數據并行、模型并行、流水線并行在內的廣泛并行模式和多種加速策略。在飛槳框架2.0版本中,新增支持了混合并行模式,即數據并行、模型并行、流水線并行這三種并行模式可以相互組合使用,更高效地將模型的各網絡層甚至某一層的參數切分到多張GPU卡上進行訓練,從而實現支持訓練千億參數規模的模型。
業內首個通用異構參數服務器架構
飛槳框架2.0推出了業內首個通用異構參數服務器技術,解除了傳統參數服務器模式必須嚴格使用同一種硬件型號Trainer節點的枷鎖,使訓練任務對硬件型號不敏感,即可以同時使用不同的硬件進行混合異構訓練,如CPU、GPU(也包括例如V100、P40、K40的混合)、AI專用加速硬件如昆侖芯片等,同時解決了搜索推薦領域大規模稀疏特征模型訓練場景下,IO占比過高導致的計算資源利用率過低的問題。通過異構參數服務器架構,用戶可以在硬件異構集群中部署分布式訓練任務,實現對不同算力的芯片高效利用,為用戶提供更高吞吐,更低資源消耗的訓練能力。
圖 異構參數服務器架構示意圖
通用異構參數服務器架構之所以被稱之為通用,主要在于其兼容支持三種訓練模式:
1、可兼容全部由CPU機器組成的傳統參數服務器架構所支持的訓練任務。
2、可兼容全部由GPU或其他AI加速芯片對應機器組成的參數服務器,充分利用機器內部的異構設備。
3、支持通過CPU機器和GPU或其他AI加速芯片對應機器的混布,組成機器間異構參數服務器架構。
異構參數服務器擁有非常高的性價比,如下圖所示,僅用兩個CPU機器加兩個GPU機器就可以達到與4個GPU機器相仿的訓練速度,而成本至少可以節約35%。
分布式訓練教程:
https://fleet-x.readthedocs.io/en/latest/paddle_fleet_rst/distributed_introduction.html
使用飛槳框架2.0更廣泛地部署AI模型到各種硬件
全面深度適配各種人工智能硬件
AI產業的廣泛應用離不開各種各樣的人工智能硬件的繁榮,飛槳可以說深諳其道,持續努力打造繁榮的硬件生態。當前包括英特爾、英偉達、ARM等諸多芯片廠商紛紛開展對飛槳的支持。飛槳還跟飛騰、海光、鯤鵬、龍芯、申威等CPU進行深入適配,并結合麒麟、統信、普華操作系統,以及百度昆侖、海光DCU、寒武紀、比特大陸、瑞芯微、高通、英偉達等AI芯片深度融合,與浪潮、中科曙光等服務器廠商合作形成軟硬一體的全棧AI基礎設施。當前飛槳已經適配和正在適配的芯片或IP型號達到29種,處于業界領先地位。
圖 飛槳硬件生態路線圖
在百度直接搜索“飛槳”進入官網,或者github搜索“PaddlePaddle”,立即體驗飛槳開源框架2.0版本
飛槳框架2.0安裝:
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/2.0/install/pip/linux-pip.html
10分鐘快速上手飛槳框架2.0:
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/02_paddle2.0_develop/01_quick_start_cn.html
飛槳框架2.0使用教程:
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/index_cn.html
飛槳框架2.0應用實踐:
https://www.paddlepaddle.org.cn/documentation/docs/zh/tutorial/index_cn.html
如果您想詳細了解更多飛槳的相關內容,請參閱以下文檔。
飛槳官網地址·
https://www.paddlepaddle.org.cn/
飛槳開源框架項目地址·
GitHub: https://github.com/PaddlePaddle/Paddle
Gitee: https://gitee.com/paddlepaddle/Paddle
來源:IT時代網
IT時代網(關注微信公眾號ITtime2000,定時推送,互動有福利驚喜)所有原創文章版權所有,未經授權,轉載必究。
創客100創投基金成立于2015年,直通硅谷,專注于TMT領域早期項目投資。LP均來自政府、互聯網IT、傳媒知名企業和個人。創客100創投基金對IT、通信、互聯網、IP等有著自己獨特眼光和豐富的資源。決策快、投資快是創客100基金最顯著的特點。
小何
小何
小何
小何