99热综合福利导航,久久66日韩,91一二区少妇,久久产国视频,日韩久久久五月精品八区,丰满狐狸精在线电影,一区婷婷久久,日韩欧美另类在线,欧美中文字幕区

星空人工智能技術(shù)網(wǎng)

EasyCV開源|開箱即用的視覺自監(jiān)督+Transformer算法庫

一  導(dǎo)讀

近年來,自監(jiān)督學(xué)習(xí)和Transformer在視覺領(lǐng)域大放異彩。圖像自監(jiān)督預(yù)訓(xùn)練極大降低了圖像任務(wù)繁重的標(biāo)注工作,節(jié)省大量人力成本,而transormer技術(shù)在NLP領(lǐng)域的巨大成功也為CV模型效果進一步提升提供了非常大的想象空間。為推進自監(jiān)督學(xué)習(xí)和視覺Transformer在阿里集團、阿里云上的落地,阿里云機器學(xué)習(xí)平臺PAI 打造了 EasyCV all-in-one視覺建模工具,搭建了豐富完善的自監(jiān)督算法體系,提供了效果SOTA的視覺Transformer預(yù)訓(xùn)練模型,modelzoo覆蓋圖像自監(jiān)督訓(xùn)練、圖像分類、度量學(xué)習(xí)、物體檢測、關(guān)鍵點檢測等領(lǐng)域,并且面向開發(fā)者提供開箱即用的訓(xùn)練、推理能力,同時在訓(xùn)練/推理效率上也做了深度優(yōu)化。此外,EasyCV對阿里靈杰系統(tǒng)做了全面兼容,用戶可以非常方便的在阿里云環(huán)境下使用EasyCV的全部功能。

在經(jīng)過阿里內(nèi)部業(yè)務(wù)充分打磨以后,我們希望把EasyCV框架推向社區(qū),進一步服務(wù)廣大的CV算法開發(fā)者以及愛好者們,使其能夠非??焖俜奖愕捏w驗最新的圖像自監(jiān)督以及transformer技術(shù),并落地到自己的業(yè)務(wù)生產(chǎn)當(dāng)中。

EasyCV背后的算法框架如何設(shè)計?開發(fā)者可以怎么使用?未來有哪些規(guī)劃?今天一起來深入了解。

二  什么是EasyCV

EasyCV是阿里巴巴開源的基于Pytorch,以自監(jiān)督學(xué)習(xí)和Transformer技術(shù)為核心的 all-in-one 視覺算法建模工具。EasyCV在阿里巴巴集團內(nèi)支撐了搜索、淘系、優(yōu)酷、飛豬等多個BU業(yè)務(wù),同時也在阿里云上服務(wù)了若干企業(yè)客戶,通過平臺化組件的形式,滿足客戶自定定制化模型、解決業(yè)務(wù)問題的需求。

項目開源地址:https://github.com/alibaba/EasyCV

1  項目背景

近兩年,基于無標(biāo)注訓(xùn)練數(shù)據(jù)的圖像自監(jiān)督預(yù)訓(xùn)練技術(shù)發(fā)展迅猛,在各個視覺任務(wù)的效果上已經(jīng)媲美甚至超過需大量標(biāo)注的有監(jiān)督訓(xùn)練的效果;另一方面,在NLP領(lǐng)域大獲成功的Transformer技術(shù)在各個圖像任務(wù)上進一步刷新SOTA效果,其應(yīng)用呈現(xiàn)出井噴式的爆發(fā)。作為二者的結(jié)合,自監(jiān)督視覺Transformer的預(yù)訓(xùn)練也應(yīng)運而生。

業(yè)界自監(jiān)督學(xué)習(xí)和視覺Transformer算法技術(shù)更新迭代非???,同時也給CV算法開發(fā)者帶來了諸多困擾,比如相關(guān)開源代碼零散,實現(xiàn)方式和風(fēng)格參差不齊導(dǎo)致學(xué)習(xí)和復(fù)現(xiàn)成本過高,訓(xùn)練、推理性能低下等等。阿里云PAI團隊通過搭建靈活易用的算法框架EasyCV,體系化地沉淀SOTA的自監(jiān)督算法和Transformer預(yù)訓(xùn)練模型,封裝統(tǒng)一、簡潔易用的接口,針對自監(jiān)督大數(shù)據(jù)訓(xùn)練方面進行性能優(yōu)化,方便用戶嘗試最新的自監(jiān)督預(yù)訓(xùn)練技術(shù)和Transformer模型,推動在業(yè)務(wù)上的應(yīng)用和落地。

此外,基于PAI團隊多年積累的深度學(xué)習(xí)訓(xùn)練、推理加速技術(shù),在EasyCV中也集成了IO優(yōu)化,模型訓(xùn)練加速、量化裁剪等功能,在性能上具備自己的優(yōu)勢。基于阿里云的PAI產(chǎn)品生態(tài),用戶可以方便地進行模型管理、在線服務(wù)部署、大規(guī)模離線推理任務(wù)。

2  主要特性

●豐富完善的自監(jiān)督算法體系:囊括業(yè)界有代表性的圖像自監(jiān)督算法SimCLR, MoCO, Swav, Moby, DINO等,以及基于mask圖像預(yù)訓(xùn)練方法MAE,同時提供了詳細(xì)的benchmark工具及復(fù)現(xiàn)結(jié)果。

●豐富的預(yù)訓(xùn)練模型庫:提供豐富的預(yù)訓(xùn)練模型,在以transformer模型為主的基礎(chǔ)上,也包含了主流的CNN 模型, 支持ImageNet預(yù)訓(xùn)練和自監(jiān)督預(yù)訓(xùn)練。兼容PytorchImageModels支持更為豐富的視覺Transformer backbone。

● 易用性和可擴展性 :支持配置方式、API調(diào)用方式進行訓(xùn)練、評估、模型導(dǎo)出;框架采用主流的模塊化設(shè)計,靈活可擴展。

●高性能 :支持多機多卡訓(xùn)練和評估,fp16訓(xùn)練加速。針對自監(jiān)督場景數(shù)據(jù)量大的特點,利用DALI和TFRecord文件進行IO方面的加速。對接阿里云機器學(xué)習(xí)PAI平臺訓(xùn)練加速、模型推理優(yōu)化。

三  主要技術(shù)特點

1  技術(shù)架構(gòu)

EasyCV 架構(gòu)圖

EasyCV 底層引擎基于Pytorch,接入Pytorch訓(xùn)練加速器進行訓(xùn)練加速。算法框架部分主要分為如下幾層:

· 框架層:框架層復(fù)用目前開源領(lǐng)域使用較為廣泛的openmmlab/mmcv 接口,通過Trainer控制訓(xùn)練的主要流程,自定義Hooks進行學(xué)習(xí)率控制、日志打印、梯度更新、模型保存、評估等操作,支持分布式訓(xùn)練、評估。Evaluators模塊提供了不同任務(wù)的評估指標(biāo),支持多數(shù)據(jù)集評估,最優(yōu)ckpt保存,同時支持用戶自定義評估指標(biāo)??梢暬С诸A(yù)測結(jié)果可視化、輸入圖像可視化。

· 數(shù)據(jù)層:提供了不同數(shù)據(jù)源(data_source)的抽象,支持多種開源數(shù)據(jù)集例如Cifar、ImageNet、CoCo等,支持raw圖片文件格式和TFrecord格式,TFrecord格式數(shù)據(jù)支持使用DALI進行數(shù)據(jù)處理加速,raw格式圖片支持通過緩存機制加速數(shù)據(jù)讀取。數(shù)據(jù)預(yù)處理(數(shù)據(jù)增強)過程抽象成若干個獨立的pipeline,支持配置文件方式靈活配置不同的預(yù)處理流程。

· 模型層:模型層分為模塊和算法,模塊提供基礎(chǔ)的backbone,常用的loss,neck和各種下游任務(wù)的head,模型ModelZoo涵蓋了自監(jiān)督學(xué)習(xí)算法、圖像分類、度量學(xué)習(xí)、目標(biāo)檢測和關(guān)鍵點檢測算法,后續(xù)會繼續(xù)擴充支持更多的high-level算法。

· 推理:EasyCV提供了端到端的推理API接口,支持PAI-Blade進行推理優(yōu)化,并在云上產(chǎn)品支持離在線推理。

· API層:提供了統(tǒng)一的訓(xùn)練、評估、模型導(dǎo)出、預(yù)測的API。

EasyCV支持在本地環(huán)境方便的運行和調(diào)試,同時,如果用戶想跑大規(guī)模生產(chǎn)任務(wù),我們也支持在aliyun PAI產(chǎn)品中方便的進行部署。

2  完善的自監(jiān)督算法體系

自監(jiān)督學(xué)習(xí)無需數(shù)據(jù)標(biāo)注,對比學(xué)習(xí)的引入使其效果逐步逼近監(jiān)督學(xué)習(xí),成為近年來學(xué)術(shù)界和工業(yè)界關(guān)注的重點之一。EasyCV囊括了主流的基于對比學(xué)習(xí)的自監(jiān)督算法,包括SimCLR、MoCo v1/v2、Swav, Moby, DINO。也復(fù)現(xiàn)了基于mask image modeling的MAE算法。此外,我們提供了完善的benchmark工具,進行自監(jiān)督預(yù)訓(xùn)練模型在ImageNet上效果的評估。

基于體系化的自監(jiān)督算法和benchmark工具,用戶可以方便的進行模型改進,效果對比,進行模型創(chuàng)新。同時也可以基于自己的大量無標(biāo)注的數(shù)據(jù),訓(xùn)練適合自己業(yè)務(wù)領(lǐng)域的更好的預(yù)訓(xùn)練模型。

下表展示了已有自監(jiān)督算法基于ImageNet數(shù)據(jù)預(yù)訓(xùn)練的速度和在ImageNet驗證集上linear eval/finetune的效果。

3  豐富的預(yù)訓(xùn)練模型庫

CNN作為主干網(wǎng)絡(luò),配合各種下游任務(wù)的head,是CV模型常用的結(jié)構(gòu)。EasyCV提供了多種傳統(tǒng)的CNN網(wǎng)絡(luò)結(jié)構(gòu),包括resnet、resnext、hrNet、darknet、inception、mobilenet、genet、mnasnet等。隨著視覺Transformer的發(fā)展,Transformer在越來越多的領(lǐng)域替代CNN,成為表達能力更強的主干網(wǎng)絡(luò)。框架實現(xiàn)了常用的ViT、SwinTransformer等, 同時引入了PytorchImageModel(Timm) 用于支持更為全面的Transformer結(jié)構(gòu)。 

結(jié)合自監(jiān)督算法,所有的模型支持自監(jiān)督預(yù)訓(xùn)練和ImageNet數(shù)據(jù)監(jiān)督訓(xùn)練,為用戶提供了豐富的預(yù)訓(xùn)練backbone,用戶可以在框架預(yù)置的下游任務(wù)中簡單配置進行使用,同時也可以接入自定義的下游任務(wù)中。

4  易用性

1. 框架提供參數(shù)化方式和python api接口啟動訓(xùn)練、評估、模型導(dǎo)出,并且提供了完備的預(yù)測接口支持端到端推理。

API方式

推理示例

2. 框架目前focus在high-level視覺任務(wù),針對分類檢測分割三大任務(wù),基于內(nèi)容風(fēng)控、智能零售、智能監(jiān)控、同圖匹配、商品類目預(yù)測、商品檢測、商品屬性識別、工業(yè)質(zhì)檢等應(yīng)用場景,基于阿里巴巴內(nèi)部的業(yè)務(wù)實踐和服務(wù)阿里云外部客戶的經(jīng)驗,篩選復(fù)現(xiàn)效果SOTA算法,提供預(yù)訓(xùn)練模型,打通訓(xùn)練、推理以及端側(cè)部署流程, 方便用戶進行各個場景應(yīng)用的定制化開發(fā)。例如在檢測領(lǐng)域,我們復(fù)現(xiàn)了YOLOX算法,集成了PAI-Blade的剪枝、量化等模型壓縮功能,并能導(dǎo)出MNN模型進行端側(cè)部署,詳細(xì)可以參考模型壓縮量化tutorial。

5  可擴展性

1、如技術(shù)架構(gòu)圖右側(cè)所示,所有的模塊都支持注冊、通過配置文件配置使用Builder自動創(chuàng)建,這就使得各個模塊可以通過配置進行靈活的組合、替換。下面以model和evaluator配置為例,用戶可以簡單的通過配置文件修改切換不同的backbone,不同的分類head進行模型結(jié)構(gòu)調(diào)整。在評估方面支持用戶指定多個數(shù)據(jù)集,使用不同evaluator進行多指標(biāo)評估。 

2、基于注冊機制,用戶可以自行編寫定制化的neck、head、data pipeline, evaluator等模塊,快速注冊到框架內(nèi),通過配置文件指定type字段進行創(chuàng)建和調(diào)用。

配置文件如下

6  高性能

訓(xùn)練方面,支持多機多卡、fp16加速訓(xùn)練、評估。

此外,針對特定任務(wù),框架會做針對性優(yōu)化,例如自監(jiān)督訓(xùn)練需要使用大量小圖片進行預(yù)訓(xùn)練,EasyCV使用tfrecord格式數(shù)據(jù)對小文件進行封裝,使用DALI對預(yù)處理進行GPU加速,提升訓(xùn)練優(yōu)化性能。下圖是使用DALI+TFrecord格式進行訓(xùn)練,和原始圖片訓(xùn)練的性能對比。

四  應(yīng)用場景

如開篇所述,EasyCV支撐了阿里巴巴集團內(nèi)10+BU20+業(yè)務(wù),同時通過平臺化組件的方式滿足了云上客戶定制化模型、解決業(yè)務(wù)問題的需求。

例如某BU使用業(yè)務(wù)圖庫100w圖片進行自監(jiān)督預(yù)訓(xùn)練, 在預(yù)訓(xùn)練模型基礎(chǔ)上進行下游任務(wù)finetune,達到最佳效果,比baseline模型效果提升1%。多位BU的同學(xué)使用自監(jiān)督預(yù)訓(xùn)練模型進行特征抽取,利用對比學(xué)習(xí)的特性,使用圖像特征進行同圖匹配的任務(wù),與此同時,我們在公有云上也推出了相似圖匹配的解決方案。 

針對公有云用戶,對于入門級用戶,打通數(shù)據(jù)標(biāo)注、模型訓(xùn)練、服務(wù)部署鏈路,打造順滑的開箱即用的用戶體驗,涵蓋圖像分類、物體檢測、實例分割、語義分割、關(guān)鍵點檢測等領(lǐng)域的算法,用戶只需要指定數(shù)據(jù),簡單調(diào)參即可完成模型訓(xùn)練,通過一鍵部署即可完成在線服務(wù)拉起。針對高級開發(fā)者,提供了notebook開發(fā)環(huán)境,云原生集群訓(xùn)練調(diào)度的支持,支持用戶使用框架進行定制化算法開發(fā),使用預(yù)置的預(yù)訓(xùn)練模型進行finetune。

· 公有云某客戶利用物體檢測組件定制化模型訓(xùn)練,完成其業(yè)務(wù)場景工人安裝是否合格的智能審核。

· 某推薦用戶使用自監(jiān)督訓(xùn)練組件,使用其大量的無標(biāo)注廣告圖片,訓(xùn)練圖像表征模型,進而把圖像特征接入推薦模型,結(jié)合推薦模型優(yōu)化,ctr提升10+%。

· 某面板研發(fā)廠商基于EasyCV定制化瑕疵檢測模型,完成云端訓(xùn)練、端側(cè)部署推理。

五  Roadmap

后續(xù)我們計劃每個月發(fā)布Release版本。近期的Roadmap如下:

· Transformer 分類任務(wù)訓(xùn)練性能優(yōu)化 & benchmark

· 自監(jiān)督學(xué)習(xí)增加檢測&分割benchmark

· 開發(fā)更多基于Transformer的下游任務(wù),檢測 & 分割

· 常用圖像任務(wù)數(shù)據(jù)集下載、訓(xùn)練訪問接口支持

· 模型推理優(yōu)化功能接入

· 更多領(lǐng)域模型的端側(cè)部署支持

此外,在中長期,我們在下面幾個探索性的方向上會持續(xù)投入精力,也歡迎各種維度的反饋和改進建議以及技術(shù)討論,同時我們十分歡迎和期待對開源社區(qū)建設(shè)感興趣的同行一起參與共建。

· 自監(jiān)督技術(shù)和Transformer結(jié)合,探索更高效的預(yù)訓(xùn)練模型

· 輕量化Transformer,基于訓(xùn)練推理的聯(lián)合優(yōu)化,推動Transformer在實際業(yè)務(wù)場景落地

· 基于多模態(tài)預(yù)訓(xùn)練,探索統(tǒng)一的transformer在視覺high-level 多任務(wù)上的應(yīng)用

項目開源地址:https://github.com/alibaba/EasyCV

星空人工智能技術(shù)網(wǎng) 倡導(dǎo)尊重與保護知識產(chǎn)權(quán)。如發(fā)現(xiàn)本站文章存在版權(quán)等問題,煩請30天內(nèi)提供版權(quán)疑問、身份證明、版權(quán)證明、聯(lián)系方式等發(fā)郵件至1851688011@qq.com我們將及時溝通與處理。?。?a href="/">首頁 > 新聞 » EasyCV開源|開箱即用的視覺自監(jiān)督+Transformer算法庫

感覺不錯,很贊哦! ()
分享到:

相關(guān)推薦

留言與評論(共有 0 條評論)
   
驗證碼:
无锡市| 凯里市| 广安市| 博乐市| 灵山县| 萝北县| 五原县| 揭阳市| 东平县| 和林格尔县| 南澳县| 亳州市| 辽宁省| 武胜县| 兴城市| 祥云县| 郯城县| 罗江县| 增城市| 庄浪县| 洱源县| 合山市| 班戈县| 泾阳县| 汝阳县| 沁源县| 淳化县| 旬邑县| 溧阳市| 吉首市| 盘山县| 民县| 舒兰市| 镇巴县| 毕节市| 青岛市| 六枝特区| 禄丰县| 阳曲县| 蓝山县| 绍兴市|