Facebook の人工知能研究部門は最近、モジュール式のプラグアンドプレイ フレームワークである Pythia をリリースしました。目標は、データ サイエンティストが AI モデルを迅速に構築、複製、ベンチマークできるようにし、Github でオープン ソース化された VQA v2.0 データセット モデルのパフォーマンスを 65.67% から 70.22% に向上させることです。 Facebook は最近、開発者コミュニティ向けの一連のツールをリリースしました。 Facebookの人工知能研究部門は、1月の画像処理ライブラリSpectrum、昨年末の自然言語処理モデリングフレームワークPyText、11月の人工知能強化学習プラットフォームHorizonのオープンソースリリースに続き、モジュール式のプラグアンドプレイフレームワークであるPythiaをリリースした。 Pythia は、データ サイエンティストが人工知能モデルを迅速に構築、複製、ベンチマークできるようにすることを目的としており、Github でオープン ソース化されています。 Pythia(中国語では一般的にPythiaと訳される)という名前の由来も非常に興味深いです。古代ギリシャ神話では、ピュティアはパルナッソス山のデルポイ神殿に仕えたアポロンの巫女でした。彼女はアポロンの神託を伝えることで有名で、未来を予言できると信じられていました。 プラグアンドプレイの Pythia: データ サイエンティストが AI モデルを迅速に構築、複製、ベンチマークできるようにします。Pythiaとは何ですか? Pythia は、視覚と言語の分野でのマルチタスク処理をサポートするディープラーニング フレームワークです。 PyTorch フレームワークに基づくモジュール式のプラグアンドプレイ設計により、研究者は AI モデルを迅速に構築、複製、ベンチマークできます。 Pythia は、視覚データに関連する質問に答えたり、画像の注釈を自動的に生成したりするなど、視覚と言語のタスク向けに設計されています。 Pythia は何ができますか? Pythia には、最近の AI コンテストである 2018 VQA チャレンジと 2018 Vizwiz チャレンジの優勝作品の要素が組み込まれています。機能には、以前の最先端モデルが関連するベンチマーク結果をどのように達成したかを示すリファレンス実装や、新しいモデルのパフォーマンスを迅速にベンチマークする機能が含まれます。 Pythia は、マルチタスクに加えて、分散トレーニングやさまざまなデータセット、カスタム損失、メトリック、スケジューリング、オプティマイザーもサポートします。 ピュティアの特徴
Pythia の一番良いところは何ですか? Pythia は視覚と言語開発のサブフィールドへの参入を簡素化し、研究者がより迅速なプロトタイピングと実験に集中できるようにします。 Facebook の目標は、これらのモデルと結果の再現性を高めることで進歩を加速することです。これにより、コミュニティが成功するシステムの基盤とベンチマークを構築しやすくなります。 開発者たちはまた、Pythia によってコミュニケーションの障壁が取り除かれることで、研究者が人間とインテリジェントマシンがコミュニケーションするための新しい方法をより迅速に開発できるようになることを期待している。この研究は、複数の理解をより文脈に基づいたマルチモーダルな理解に統合する適応型 AI を研究者が開発するのにも役立つはずです。 Facebook では、このオープンソースのリリースに加えて、ツール、タスク、データセット、参照モデルを継続的に追加していく予定です。 前述の VQA 2018 コンペティションでは、Pythia v0.1 はボトムアップ モデルとトップダウン モデルのモジュール再実装から始まり、最終的にコンペティションで優勝しました。 Pythia v0.1 は、モデル アーキテクチャと学習率スケジュールに微妙だが重要な変更を加え、画像機能を微調整し、データ拡張を追加することで、VQA v2.0 データセットでのトップダウン モデルのパフォーマンスを 65.67% から 70.22% に大幅に向上できることを実証しています。 さらに、異なる機能と異なるデータセットでトレーニングされたさまざまなモデルのアンサンブルを使用することで、Pythia v0.1 は「標準」アンサンブル アプローチ (つまり、異なるランダム シードを持つ同じモデル) を 1.31% 大幅に改善できます。全体として、Pythia v0.1 は、VQA v2.0 データセットのテスト標準分割で 72.27% を達成しました。 用語と概念Pythia は最初からマルチタスク フレームワークとなるように慎重に設計されました。つまり、Pythia を使用すると、複数のタスクとデータセットを一緒にトレーニングできます。 ただし、Pythia はモジュール内の多くの概念を抽象化しているため、Pythia 上で開発するには、Pythia コード ベースで使用される概念と用語を理解する必要があります。開発者がこれらの単純な概念を理解すれば、Pythia 上での開発は簡単になります。主な概念と用語は次のとおりです。 タスクとデータセット Python では、データセットは一連のタスクに分割されます。したがって、タスクはそれに属するデータセットのセットに対応します。たとえば、VQA 2.0、VizWiz、TextVQA はすべて VQA タスクに属します。 各タスクとデータセットには、コマンドライン引数で参照するための対応するキーが割り当てられています。 次の表に、タスクとそのデータセットを示します。 次の表は、上記の表の逆、データセットとそのタスクとキーを示しています。 モデル 高度なモデルのリファレンス実装が含まれており、研究論文の複製の基礎として、また新しい研究の出発点として役立ちます。 Pythia は以下の論文で使用されています:
タスクやデータセットと同様に、各モデルはキーとともに登録されるため、構成やコマンドライン引数で簡単に参照できます。次の表は、実行できる各モデルのキー名とデータセットを示しています。 レジストリ Redux グローバル ストアに触発されて、Pythia エコシステムに必要な有用な情報がレジストリに登録されます。レジストリは、フレームワークの複数の部分に必要な情報の汎用ストアと考えることができ、情報が必要な場所で情報ソースとして機能します。 レジストリは、上記のようにキーに基づいてモデル、タスク、データセットなども登録します。 レジストリ関数は、登録する必要があるクラス (モデルなど) のデコレータとして使用できます。 構成 Pythia のほとんどのパラメータ/設定は、研究のニーズに応じて構成可能です。 Pythia 固有のデフォルト (training_parameters) は次の場所にあります。 pythia/common/defaults/configs/base.yml 詳細なコメントでは各パラメータの使用方法を説明します。使いやすさとモジュール性を高めるために、各データセットの構成は次の場所に個別に保存されます。 pythia/common/defaults/configs/tasks/[タスク]/[データセット].yml データセットの [task] 値とデータセット部分は、タスクのテーブルから取得できます。モデル構成も別個であり、ユーザーが独自のモデルを作成するときに定義する必要があります。 各データセットの構成が別々であるため、この概念を拡張してマルチタスクを実行し、複数のデータセット構成をここに含めることができます。 プロセッサ プロセッサの主な目的は、さまざまなデータセットに対してデータ処理パイプラインを可能な限り類似させ、コードの再利用を可能にすることです。 ハンドラは、目的のデータに対応するキーを持つ辞書を受け取り、処理されたデータを含む辞書を返します。これにより、必要な署名を固定することで、プロセッサをロジックの残りの部分から独立させることができます。 プロセッサは、データ処理要件を切り替えるためにすべてのデータ セットに使用されます。プロセッサの詳細については、プロセッサのドキュメントを参照してください。 サンプルリスト SampleList は、maskrcnn-benchmark の BBoxList に触発されていますが、より汎用的です。 Pythia と統合されるすべてのデータセットは、SampleList に整理される Sample を返す必要があります。 現在、SampleList には、バッチ処理やアクセスを簡単にする便利な関数が多数用意されています。たとえば、サンプルはいくつかのキーを持つ辞書です。 SampleList では、これらのキーの値は、テンソルであるかリストであるかに基づいて巧みにグループ化され、辞書に再度割り当てられます。 そのため、エンドユーザーはこれらのキーを適切にグループ化し、モデル内で使用することができます。 Pythia と統合されたモデルは SampleList をパラメーターとして受け取ります。これにより、トレーナーはモデルとデータセットに影響を与えなくなります。 Sample と SampleList の詳細については、ドキュメントをご覧ください。 事前学習済みモデルPythia では、推論に事前トレーニング済みのモデルを使用するのは簡単です。以下の表から事前トレーニング済みのモデルを選択し、手順に従って推論を実行するか、EvalAI が評価するための予測を生成します。 (この部分では、まずチュートリアルで紹介したデータをインストールする必要があることに注意してください。チュートリアルのリンクは記事の最後にあります) ここで、事前トレーニング済みモデルにリンクすると仮定すると (テーブルから選択 > 右クリック > リンク アドレスをコピー)、対応する構成は configs/[task]/[dataset]/[model].yml に配置されているはずです。たとえば、vqa2 train_and_val の設定ファイルは configs/vqa/vqa2/pythia_train_and_val.yml になります。 EvalAI で推論を実行するには、次のコマンドを実行します。 val でトレーニングまたは評価を行う場合は、run_type をそれに応じて train または val に変更します。 --run_type を train+val+inference に設定することで、トレーニング、val の推論、推論など、複数の実行タイプを使用することもできます。 --evalai_inference 引数を削除すると、Pythia は推論を実行し、データセットに直接結果を提供します。テスト セットには回答/ターゲットがないため、これは機能しないことに注意してください。したがって、これは val セットに対してローカルに推論を実行する場合に便利です。 --evalai_inference 引数を削除すると、Pythia は推論を実行し、データセット上で直接結果を提供します。テスト セットには回答/ターゲットがないため、これは機能しないことに注意してください。したがって、これは val セットに対してローカルで推論を実行する場合に便利です。 次の表は、さまざまな事前トレーニング済みモデルの評価メトリックを示しています。 デモ 関連リソース: GitHub: 翻訳元: https://github.com/facebookresearch/pythia デモ: https://colab.research.google.com/drive/1Z9fsh10rFtgWe4uy8nvU4mQmqdokdIRR チュートリアル: 翻訳: 翻訳者: 渡辺 俊之 |
>>: これらの比較的成功している人工知能アプリケーションを使用したことがありますか?
ニューヨーク・タイムズ紙は現地時間1月10日、ここ数週間、フェイスブックなどのプラットフォームに、ア...
2018 年には、自然言語処理の分野で多くの刺激的なアイデアやツールが生まれました。概念的な視点から...
状態空間モデル (SSM) は、最近注目を集めている Transformer の代替手段です。その利...
[[436944]]この記事はWeChatの公開アカウント「Programmer Insider T...
ドイツ特派員 青木「昨年、北米のロボット受注の大半は初めて自動車工場で受注されなかった」ロイター通信...
翻訳者 | 李睿校正 | 梁哲、孫淑娟機械学習のワークロードでは、結果を迅速に生成するために効率的な...
偉大な将軍の名声の裏には、数え切れないほどの兵士たちの援助がある。この声明は自動運転の分野にも当ては...
【CNMO】「東莞でトイレットペーパーを買うのに顔認証が必要」「94歳の男性が顔認証で逮捕」「南寧...
3G通信技術は広く利用されており、4Gに向けてますます進化しています。通信ネットワーク内のアクセスス...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
人は話者の唇の動きを聞いて観察することで会話を認識します。では、AI も同じことができるのでしょうか...
世界保健機関によれば、毎年80万人が自殺で亡くなっている。 この数字は年々高いままですが、人工知能と...