0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Facebook全新開源深度學習框架Pythia,即插即用快速構建AI模型

DPVg_AI_era ? 來源:lq ? 2019-05-25 09:45 ? 次閱讀

Facebook的人工智能研究部門近期推出Pythia,一個模塊化的即插即用框架。目標是使數(shù)據科學家能夠快速構建、復制和基準人工智能模型,將VQA v2.0數(shù)據集模型的性能從65.67%提高到70.22%,已在Github上開源。

Facebook最近在開發(fā)者社區(qū)拋出了一系列工具。繼一月份image processing library Spectrum、去年底的自然語言處理建??蚣躊yText和11月的人工智能增強學習平臺Horizon的開源后,F(xiàn)acebook的人工智能研究部門又推出了Pythia,一個模塊化的即插即用框架。

Pythia的目標是使數(shù)據科學家能夠快速構建、復制和基準人工智能模型,已在Github上開源。

而Pythia(中文一般譯作皮媞亞)這個名字的來歷也很有意思。古希臘神話中,Pythia是阿波羅神的女祭司,服務于帕納塞斯山上的德爾斐(Delphi)神廟,以傳達阿波羅神的神諭而聞名,被認為能預知未來。

即插即用Pythia:讓數(shù)據科學家快速構建、復制和基準AI模型

Pythia是什么?

Pythia是一個深度學習框架,支持視覺和語言領域的多任務處理。基于PyTorch 框架,模塊化即插即用的設計使研究人員能夠快速構建、復制和基準化人工智能模型。

Pythia是為視覺和語言任務而設計的,例如回答與視覺數(shù)據相關的問題和自動生成圖像注釋。

Pythia能做什么?

Pythia加入了最近的人工智能競賽(2018年VQA挑戰(zhàn)賽和2018年Vizwiz挑戰(zhàn)賽)中獲獎作品的元素。功能包括用參考實現(xiàn)(reference implementations)來顯示以前最先進的模型如何實現(xiàn)相關的基準結果,并快速衡量新模型的性能。

除了多任務處理之外,Pythia還支持分布式培訓和各種數(shù)據集,以及自定義損失、度量、調度(scheduling)和優(yōu)化器。

Pythia的特性

Model Zoo:藝術級的視覺和語言模型的參考實現(xiàn),包括LoRRA(VQA和TextVQA上的SoTA)、Pythia模型(VQA 2018 挑戰(zhàn)賽獲勝者)和Ban。

多任務處理:支持多任務處理,允許對多個數(shù)據集進行訓練。

數(shù)據集:包括對各種內置數(shù)據集的支持,包括VQA, VizWiz, TextVQA and和VisualDialog。

模塊:為視覺和語言領域中的許多常用層提供實現(xiàn)

分布式:支持基于數(shù)據并行和分布式數(shù)據并行的分布式訓練。

Unopinionated:關于基于它的數(shù)據集和模型實現(xiàn)是Unopinionated。

定制:定制損失、度量、調度、優(yōu)化器、Tensorboard;適合用戶所有的定制需求。

用戶可以使用Pythia為自己下一個視覺和語言多模式研究項目進行引導。Pythia還可以作為圍繞視覺和語言數(shù)據集的挑戰(zhàn)的起始代碼庫(參見TextVQA挑戰(zhàn)賽和VQA挑戰(zhàn)賽)。

Pythia最厲害的地方是什么?

Pythia簡化了進入視覺和語言發(fā)展子領域的過程,使研究人員能夠專注于更快的原型制作和實驗。Facebook的目標是通過增加這些模型和結果的再現(xiàn)性來加速進展。這將使社區(qū)更容易建立成功系統(tǒng)的基礎和基準。

開發(fā)者還希望通過Pythia消除障礙,能夠使研究人員更快地為人們和智能機器開發(fā)新的交流方式。這項工作還應該幫助研究人員開發(fā)自適應人工智能,將多種理解合成一種更基于上下文的多模式理解。除了這個開源版本,F(xiàn)acebook計劃繼續(xù)添加工具、任務、數(shù)據集和引用模型。

在上面提到的VQA 2018比賽中,Pythia v0.1出發(fā)點是自下而上、自上而下模型的模塊化重新實現(xiàn),最終力壓群雄而勝出。

Pythia v0.1證明,通過對模型體系結構和學習速率計劃進行細微但重要的更改、微調圖像功能和添加數(shù)據擴充,可以顯著提高VQA v2.0數(shù)據集自上而下模型的性能,從65.67%提高到70.22%。

此外,通過使用不同特征和不同數(shù)據集訓練的不同模型集合,Pythia v0.1能夠顯著提高1.31%的“標準”集合方式(即具有不同隨機種子的相同模型)??偟膩碚f,Pythia v0.1在VQA v2.0數(shù)據集的測試標準分割上達到了72.27%。

術語和概念

Pythia經過精心設計,從一開始就是一個多任務框架。這意味著使用Pythia,可以一起訓練多個任務和數(shù)據集。

但是,Pythia在其模塊中抽象了許多概念,在Pythia之上進行開發(fā),有必要理解Pythia代碼庫中使用的概念和術語。一旦開發(fā)人員理解了這些簡單的概念,就很容易在Pythia之上進行開發(fā)。其中主要概念和術語如下:

任務和數(shù)據集

在Pythia中,數(shù)據集被劃分為一組任務。因此,任務對應屬于它的數(shù)據集的集合。例如,VQA 2.0,VizWiz和TextVQA都屬于VQA任務。 已為每個任務和數(shù)據集分配了一個唯一key,用于在命令行參數(shù)中引用。

下表顯示了任務及其數(shù)據集:

下表顯示了上表的反轉,數(shù)據集及其任務和key:

模型

已經包括了最先進模型的參考實施,作為研究論文復制和新研究起點的基礎。Pythia曾被用于以下論文:

走向可以閱讀的VQA模型(LoRRA模型)

VQA 2018挑戰(zhàn)賽冠軍

VizWiz 2018挑戰(zhàn)賽冠軍

與任務和數(shù)據集類似,每個模型都使用唯一key進行注冊,以便在配置和命令行參數(shù)中輕松引用。下表顯示了可以運行的每個模型的關鍵名稱和數(shù)據集。

注冊表

受到Redux全球商店的啟發(fā),Pythia生態(tài)系統(tǒng)所需的有用信息已在注冊表中注冊??梢詫⒆员硪暈榭蚣艿亩鄠€部分所需的信息的通用存儲,并在需要該信息的任何地方起作用信息源。

注冊表還基于如上所述的唯一密鑰來注冊模型、任務、數(shù)據集等。 注冊表的函數(shù)可以用作需要注冊的類的裝飾器(例如模型等)

導入注冊表對象導入:

from pythia.common.registry import registry

配置

根據研究需要,Pythia中的大多數(shù)參數(shù)/設置都是可配置的。 Pythia特定的默認值(training_parameters)存在于:

pythia/common/defaults/configs/base.yml

其中詳細的注釋描述了每個參數(shù)的用法。為了便于使用和模塊化,每個數(shù)據集的配置分別保存在:

pythia/common/defaults/configs/tasks/[task]/[dataset].yml

可以從Tasks中的表中獲取數(shù)據集的[task]值和數(shù)據集部分。模型配置也是分開的,并且是用戶在創(chuàng)建自己的模型時需要定義的部分。

由于每個數(shù)據集的單獨配置,這個概念可以擴展到執(zhí)行多任務并在此包含多個數(shù)據集配置。

處理器

處理器的主要目的是使數(shù)據處理流程盡可能與不同數(shù)據集相似,并允許代碼重用。

處理器接受帶有與所需數(shù)據相對應key的字典,并返回帶有處理數(shù)據的字典。這有助于通過修復所需的簽名來使處理器獨立于邏輯的其余部分。

處理器用于所有數(shù)據集以切換數(shù)據處理需求。在處理器文檔中了解有關處理器的更多信息。

SampleList

SampleList受到了maskrcnn-benchmark中BBoxList的啟發(fā),但更為通用。與Pythia集成的所有數(shù)據集都需要返回一個Sample,該Sample將被整理到SampleList中。

現(xiàn)在,SampleList帶有許多方便的功能,可以輕松地批量處理和訪問事物。對于例如樣本是帶有一些key的字典。在SampleList中,這些key的值將根據它是張量還是列表而被巧妙地分組,并分配回該字典。

因此,終端用戶可以很好地將這些key組合在一起,并可以在他們的模型中使用它們。與Pythia集成的模型接收SampleList作為參數(shù),這再次使trainer對模型和數(shù)據集不再有任何影響。在其文檔中了解有關Sample和SampleList的更多信息。

預訓練模型

在Pythia中使用預訓練模型進行推理很容易。從下表中選取一個預訓練模型,并按照步驟進行推理或生成預測讓EvalAI評估。(注意,這部分內容需要先安裝教程中介紹的數(shù)據,教程鏈接在文末)

現(xiàn)在,假設你到預培訓模型model是link(從table中選擇>右鍵單擊>復制鏈接地址),相應的配置應該位于configs/[task]/[dataset]/[model].yml。例如,vqa2 train_and_val的配置文件應該是configs/vqa/vqa2/pythia_train_and_val.yml。現(xiàn)在要運行EvalAI的推斷,請運行以下命令:

如果要在val上進行培訓或評估,請相應地將run_type改為train或val。你還可以使用多個運行類型,例如進行訓練、對val進行推斷、還可以將--run_type設置為train+val+inference進行推斷。

如果刪除--evalai_inference論證,Pythia 將執(zhí)行推斷并直接在數(shù)據集上提供結果。請注意,對于測試集,這是不能用的,因為我們沒有它們的答案/目標。因此,這對于在本地執(zhí)行 val集的推理很有用。

如果刪除--evalai_inference論證,Pythia 將執(zhí)行推斷并直接在數(shù)據集上提供結果。請注意,對于測試集,這是不能用的,因為我們沒有它們的答案/目標。因此,這對于在本地執(zhí)行 val集的推理很有用。

下表顯示了各種預培訓模型的評估指標:

Demo演示

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Facebook
    +關注

    關注

    3

    文章

    1429

    瀏覽量

    54479
  • 深度學習
    +關注

    關注

    73

    文章

    5422

    瀏覽量

    120598
  • pytorch
    +關注

    關注

    2

    文章

    794

    瀏覽量

    13013

原文標題:Facebook全新開源深度學習框架Pythia,即插即用快速構建AI模型

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    NVIDIA推出全新深度學習框架fVDB

    在 SIGGRAPH 上推出的全新深度學習框架可用于打造自動駕駛汽車、氣候科學和智慧城市的 AI 就緒型虛擬表示。
    的頭像 發(fā)表于 08-01 14:31 ?413次閱讀

    Meta發(fā)布全新開源模型Llama 3.1

    科技巨頭Meta近期震撼發(fā)布了其最新的開源人工智能(AI模型——Llama 3.1,這一舉措標志著Meta在AI領域的又一重大突破。Meta創(chuàng)始人馬克·扎克伯格親自站臺,盛贊Llam
    的頭像 發(fā)表于 07-24 18:25 ?1299次閱讀

    如何利用AI進行提升自我呢?

    支持,包括稀疏計算、圖學習和語音處理等。選擇適合你學習目標和項目需求的框架。 預訓練模型 :如文心ERNIE 3.0 Tiny v2,它是一個開源
    的頭像 發(fā)表于 07-19 10:46 ?361次閱讀

    ai模型ai框架的關系是什么

    AI模型AI框架是人工智能領域中兩個重要的概念,它們之間的關系密切且復雜。 AI模型的定義
    的頭像 發(fā)表于 07-16 10:07 ?3.7w次閱讀

    AI模型AI框架的關系

    在探討AI模型AI框架的關系時,我們首先需要明確兩者的基本概念及其在人工智能領域中的角色。AI模型
    的頭像 發(fā)表于 07-15 11:42 ?625次閱讀

    pytorch中有神經網絡模型

    處理、語音識別等領域取得了顯著的成果。PyTorch是一個開源深度學習框架,由FacebookAI
    的頭像 發(fā)表于 07-11 09:59 ?527次閱讀

    PyTorch神經網絡模型構建過程

    PyTorch,作為一個廣泛使用的開源深度學習庫,提供了豐富的工具和模塊,幫助開發(fā)者構建、訓練和部署神經網絡模型。在神經網絡
    的頭像 發(fā)表于 07-10 14:57 ?306次閱讀

    keras模型轉tensorflow session

    和訓練深度學習模型。Keras是基于TensorFlow、Theano或CNTK等底層計算框架構建的。TensorFlow是一個開源的機器
    的頭像 發(fā)表于 07-05 09:36 ?318次閱讀

    深度學習中的模型權重

    深度學習這一充滿無限可能性的領域中,模型權重(Weights)作為其核心組成部分,扮演著至關重要的角色。它們不僅是模型學習的基石,更是
    的頭像 發(fā)表于 07-04 11:49 ?426次閱讀

    TensorFlow與PyTorch深度學習框架的比較與選擇

    深度學習作為人工智能領域的一個重要分支,在過去十年中取得了顯著的進展。在構建和訓練深度學習模型
    的頭像 發(fā)表于 07-02 14:04 ?598次閱讀

    深度學習模型訓練過程詳解

    詳細介紹深度學習模型訓練的全過程,包括數(shù)據預處理、模型構建、損失函數(shù)定義、優(yōu)化算法選擇、訓練過程以及模型
    的頭像 發(fā)表于 07-01 16:13 ?500次閱讀

    智譜AI發(fā)布全新多模態(tài)開源模型GLM-4-9B

    近日,智譜AI在人工智能領域取得重大突破,成功推出全新開源模型GLM-4-9B。這款模型以其卓越的多模態(tài)能力,再次刷新了業(yè)界對于大型語言模型
    的頭像 發(fā)表于 06-07 09:17 ?553次閱讀

    谷歌模型框架是什么軟件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌開發(fā)的用于機器學習和人工智能的軟件框架,其中最著名的是TensorFlow。TensorFlow是一個開源的機器
    的頭像 發(fā)表于 03-01 16:25 ?651次閱讀

    深度學習框架DeepSpeed使用指南

    最常見的深度學習框架應該是TensorFlow、Pytorch、Keras,但是這些框架在面向大規(guī)模模型的時候都不是很方便。 比如Pytor
    的頭像 發(fā)表于 10-30 10:09 ?2542次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學習</b><b class='flag-5'>框架</b>DeepSpeed使用指南

    【KV260視覺入門套件試用體驗】Vitis AI 構建開發(fā)環(huán)境,并使用inspector檢查模型

    、低成本的 AI 解決方案。 Vitis AI 可以做什么? Vitis AI 可以做很多事情,例如: 優(yōu)化和編譯深度學習
    發(fā)表于 10-14 15:34