scenic: 一個基於 JAX 的研究函式庫,用於開發大型注意力機制電腦視覺模型的原型

scenic: 一個基於 JAX 的研究函式庫,用於開發大型注意力機制電腦視覺模型的原型

它解決了什麼問題

Scenic 提供了一個精簡的框架,用於研究和開發大型注意力機制電腦視覺模型的原型。它透過提供用於常見訓練任務的共享函式庫、優化的迴圈以及輸入管線,特別針對多裝置和多主機環境設計,從而減少了構建複雜視覺模型的開發工作量。

運作方式

Scenic 使用 JAX 和 Flax 構建,將其架構分為兩個層級:

  1. 函式庫層級程式碼:極簡且經過充分測試的共享函式庫,包括 dataset_lib(可擴展的 IO 管線)、model_lib(抽象模型介面、注意力/transformer 層以及二分圖匹配器)、train_lib(優化的訓練迴圈)和 common_lib(通用工具)。
  2. 專案層級程式碼:針對特定任務的可自訂實作。研究人員可以利用現有的配置(configs)或分支(fork)函式庫組件,根據其需求重新定義架構、損失函數和指標。

對象是誰

它專為從事電腦視覺研究的 AI 研究人員和開發人員設計,包括開發分類、分割、檢測以及涉及圖像、影片和音訊的多模態任務模型的開發人員。

重點特色

  • 廣泛的模態支持:成功應用於圖像、影片、音訊以及多模態組合。
  • 可擴展的基礎設施:內建對跨多個裝置和主機進行大規模訓練的支持。
  • 豐富的基準測試函式庫:包含 SOTA 模型如 ViT、DETR、CLIP 和 SAM 的實作。
  • 哲學:透過優先選擇分支(forking)和複製貼上,而非複雜的抽象化,來優先考慮簡單性和快速原型開發。

Sources