|
著者 |臨済、前燕 I. はじめに近年、自己教師学習とTransformerはコンピュータビジョンの分野で大きな注目を集めています。画像の自己教師事前学習は、画像タスクにおける骨の折れるアノテーション作業を大幅に削減し、人件費を大幅に節約しました。一方、NLPにおけるTransformer技術の大きな成功は、CVモデルのパフォーマンスをさらに向上させる大きな可能性をもたらしました。アリババグループとアリババクラウドにおける自己教師学習とビジュアルTransformerの実装を促進するため、アリババクラウドの機械学習プラットフォーム(PAI)は、オールインワンのビジュアルモデリングツールであるEasyCVを開発しました。EasyCVは、豊富で包括的な自己教師アルゴリズムシステムを誇り、最先端(SOTA)のビジュアルTransformer事前学習済みモデルを提供します。ModelZooは、画像の自己教師学習、画像分類、メトリック学習、物体検出、キーポイント検出などの分野をカバーしています。また、学習/推論効率のための深い最適化により、開発者にすぐに使用できる学習および推論機能を提供します。さらに、EasyCV は Alibaba の Lingjie システムと完全に互換性があるため、ユーザーは Alibaba Cloud 環境内で EasyCV のすべての機能を簡単に利用できます。 アリババ社内での徹底的な改良を経て、EasyCVフレームワークをコミュニティに展開し、幅広いCVアルゴリズム開発者や愛好家にさらなるサービスを提供したいと考えています。これにより、最新の画像自己教師学習および画像変換技術を迅速かつ容易に体験し、自社のビジネス開発に適用できるようになります。 EasyCVのアルゴリズムフレームワークはどのように設計されているのでしょうか?開発者はどのように活用できるのでしょうか?今後の計画はどうなっているのでしょうか?今日は詳しく見ていきましょう。 II. EasyCV とは何ですか?EasyCVは、アリババが開発したオープンソースのオールインワン型ビジュアルアルゴリズムモデリングツールです。PyTorchをベースとし、自己教師学習とTransformer技術を核としています。アリババグループ内では、Search、Taobao、Youku、Fliggyといった複数の事業部門をサポートし、Alibaba Cloud上の複数のエンタープライズクライアントにもサービスを提供しています。プラットフォームベースのコンポーネントを通じて、EasyCVはモデルのカスタマイズやビジネス課題の解決といった顧客のニーズに応えます。 プロジェクトのオープンソースアドレス: https://github.com/alibaba/EasyCV 1. プロジェクトの背景過去2年間で、ラベルなし学習データに基づく画像自己教師あり事前学習技術は急速に発展し、様々な視覚タスクにおいて、大量のアノテーションを必要とする教師あり学習に匹敵、あるいは凌駕する成果を上げています。一方、NLP分野で大きな成功を収めたTransformer技術は、様々な画像タスクにおいて最先端の性能をさらに向上させ、その応用は爆発的な成長を遂げています。そして、この両者を組み合わせた自己教師あり視覚Transformer事前学習も登場しています。 業界では、自己教師学習アルゴリズムとビジュアルTransformerアルゴリズムが急速に更新・反復されており、CVアルゴリズム開発者にとって多くの課題ももたらしています。例えば、関連するオープンソースコードが散在し、実装方法やスタイルの一貫性がないために、学習・再現コストが高く、トレーニングと推論のパフォーマンスが低下します。Alibaba Cloud PAIチームは、柔軟で使いやすいアルゴリズムフレームワークEasyCVを構築し、最先端(SOTA)の自己教師アルゴリズムとTransformer事前学習済みモデルを体系的に蓄積し、統一された簡潔で使いやすいインターフェースをカプセル化し、自己教師ビッグデータトレーニングのパフォーマンスを最適化しました。これにより、ユーザーは最新の自己教師事前学習技術とTransformerモデルを試すことができ、ビジネスアプリケーションへの応用と実装を促進します。 さらに、PAIチームが長年にわたり蓄積してきたディープラーニングのトレーニングおよび推論加速技術を活用し、EasyCVはIO最適化、モデルトレーニング加速、量子化プルーニングなどの機能を統合することで、パフォーマンス上の優位性を実現しています。Alibaba CloudのPAI製品エコシステムを基盤とすることで、ユーザーはモデルの管理、オンラインサービスの展開、大規模なオフライン推論タスクの実行を容易に行うことができます。 2. 主な特徴包括的かつ堅牢な自己教師型アルゴリズムのシステム: SimCLR、MoCO、Swav、Moby、DINO などの業界をリードする画像自己教師型アルゴリズム、マスクベースの画像事前トレーニング手法 MAE、詳細なベンチマーク ツール、再現結果を網羅しています。 豊富な事前学習済みモデルライブラリ:幅広い事前学習済みモデルを提供します。主にTransformerモデルですが、主流のCNNモデルも含まれています。ImageNetの事前学習と自己教師あり事前学習をサポートしています。PyTorchImageModelsと互換性があり、より多様なビジュアルTransformerバックボーンをサポートします。 使いやすさとスケーラビリティ: 構成と API 呼び出しによるトレーニング、評価、モデルのエクスポートをサポートします。フレームワークは主流のモジュール設計を採用しているため、柔軟性とスケーラビリティに優れています。 高性能:マルチマシン、マルチGPUによる学習と評価をサポートし、FP16学習アクセラレーションを備えています。自己教師あり学習シナリオ特有の大容量データを扱うため、DALIファイルとTFRecordファイルを用いたI/Oアクセラレーションを採用しています。Alibaba Cloud Machine Learning PAIプラットフォームと統合することで、学習アクセラレーションとモデル推論の最適化を実現します。 III. 主な技術的特徴1. 技術アーキテクチャEasyCVアーキテクチャ図 EasyCVの基盤エンジンはPyTorchをベースにしており、PyTorchトレーニングアクセラレータと統合することでトレーニングを高速化します。アルゴリズムフレームワークは主に以下のレイヤーに分かれています。
2. 包括的な自己教師ありアルゴリズムシステム自己教師学習はデータのラベル付けを必要とせず、対照学習の導入によりその性能は徐々に教師学習に近づき、近年、学術研究および産業界の研究の重要な焦点となっています。EasyCVは、SimCLR、MoCo v1/v2、Swav、Moby、DINOなど、対照学習に基づく主流の自己教師学習アルゴリズムを網羅しています。また、マスク画像モデリングに基づくMAEアルゴリズムも再現します。さらに、ImageNetにおける自己教師学習済み事前学習モデルの性能を評価するための包括的なベンチマークツールも提供しています。 体系的な自己教師型アルゴリズムとベンチマークツールを基盤として、ユーザーはモデルの改善、パフォーマンス比較、そして革新を容易に行うことができます。また、大量のラベルなしデータを用いて、特定のビジネス分野に合わせた、より優れた事前学習済みモデルを学習することも可能です。 以下の表は、ImageNet データで事前トレーニングされた既存の自己教師型アルゴリズムの速度と、ImageNet 検証セットでの線形評価/微調整のパフォーマンスを示しています。
3. 豊富な事前学習済みモデルのライブラリCNNは、バックボーンネットワークとして、また様々な下流タスクのヘッドと組み合わせて使用される、コンピュータービジョン(CV)モデルで広く用いられるアーキテクチャです。EasyCVは、ResNet、ResNext、HRNet、DarkNet、Inception、MobileNet、GeneNet、MNASNetなど、様々な従来のCNNネットワークアーキテクチャを提供しています。ビジュアルトランスフォーマーの開発に伴い、トランスフォーマーはますます多くの分野でCNNに取って代わり、より強力な表現力を持つバックボーンネットワークになりつつあります。このフレームワークは、一般的に使用されるViTとSwingTransformerを実装し、さらにPyTorchImageModel(Timm)を導入することで、より包括的なトランスフォーマーアーキテクチャをサポートします。 自己教師ありアルゴリズムと組み合わせることで、すべてのモデルは自己教師あり事前学習とImageNetデータ教師あり学習をサポートし、豊富な事前学習済みバックボーンセットをユーザーに提供します。ユーザーは、これらのバックボーンを簡単に設定して、フレームワークの事前構築済みダウンストリームタスクで使用したり、カスタムダウンストリームタスクに接続したりできます。 4. 使いやすさ(1)このフレームワークは、トレーニング、評価、モデルのエクスポートを開始するためのパラメータ化とPython APIインターフェースを提供し、エンドツーエンドの推論をサポートするための完全な予測インターフェースを提供します。 # 設定ファイル方式 APIメソッド easycv.toolsをインポートする 推論の例 cv2をインポート (2)このフレームワークは現在、高レベルの視覚タスクに焦点を当てており、分類、検出、セグメンテーションという3つの主要タスクを対象としています。コンテンツリスク管理、インテリジェント小売、インテリジェント監視、画像マッチング、製品カテゴリ予測、製品検出、製品属性認識、工業品質検査などのアプリケーションシナリオに基づき、アリババの社内ビジネスプラクティスとアリババクラウドの外部顧客へのサービス提供経験を活かし、再現性のあるパフォーマンスを持つ最先端(SOTA)アルゴリズムを選択し、事前学習済みモデルを提供し、学習、推論、エッジ展開プロセスを合理化することで、さまざまなアプリケーションシナリオに合わせたカスタマイズ開発を可能にしました。例えば、検出分野では、YOLOXアルゴリズムを再現し、PAI-Bladeのプルーニングや量子化などのモデル圧縮機能を統合し、エッジ展開用のMNNモデルをエクスポートできます。詳細については、モデル圧縮と量子化のチュートリアルを参照してください。 5. スケーラビリティ(1) 技術アーキテクチャ図の右側に示すように、すべてのモジュールは設定ファイルを介してビルダーに登録および自動作成できます。これにより、設定によるモジュールの柔軟な組み合わせと置き換えが可能になります。モデルと評価器の設定を例に挙げると、設定ファイルを変更してモデル構造を調整することで、異なるバックボーンや異なる分類ヘッドを簡単に切り替えることができます。評価に関しては、複数のデータセットを指定し、異なる評価器を使用してマルチメトリック評価を行うことができます。 モデル=辞書( (2) 登録メカニズムに基づいて、ユーザーはネック、ヘッド、データパイプライン、評価器などの独自のカスタマイズモジュールを作成し、フレームワークに迅速に登録できます。設定ファイル内のtypeフィールドを指定することで、これらのモジュールを作成および呼び出すことができます。 @ NECKS.register_module ( ) 設定ファイルは次のとおりです。 モデル=辞書( 6. 高性能トレーニングに関しては、FP16 アクセラレーションによるマルチマシンおよびマルチカードのトレーニングと評価をサポートします。 さらに、このフレームワークは特定のタスクに的を絞った最適化を実行します。例えば、自己教師あり学習では、多数の小さな画像を用いた事前学習が必要です。EasyCVは、これらの小さなファイルをTFrecord形式のデータでカプセル化し、DALIを用いて前処理のGPUアクセラレーションを行うことで、学習の最適化パフォーマンスを向上させます。次の図は、DALI+TFrecord形式を用いた学習と、元の画像を用いた学習のパフォーマンスを比較したものです。
IV. アプリケーションシナリオ冒頭で述べたように、EasyCV は Alibaba グループ内の 10 以上の BU と 20 以上の事業をサポートするとともに、クラウド顧客のカスタマイズされたモデルのニーズに応え、プラットフォーム ベースのコンポーネントを通じてビジネス上の問題を解決します。 例えば、ある事業部門(BU)は、業務画像ライブラリから100万枚の画像を用いて自己教師あり事前学習を行いました。その後、この事前学習済みモデルに基づいて下流タスクを微調整し、ベースラインモデルと比較して1%の改善を実現し、最適な結果を達成しました。BUの複数の担当者は、自己教師あり事前学習済みモデルを用いて特徴抽出を行い、対照学習の特性を活用して画像特徴マッチングタスクを実行しました。同時に、同様の画像マッチングソリューションをパブリッククラウド上でも提供開始しました。 パブリッククラウドユーザー、特に初心者にとって、このプラットフォームはデータアノテーション、モデルトレーニング、サービス展開のプロセスを効率化し、スムーズですぐに使えるユーザーエクスペリエンスを提供します。画像分類、オブジェクト検出、インスタンスセグメンテーション、セマンティックセグメンテーション、キーポイント検出といった分野のアルゴリズムを網羅しています。ユーザーはデータを指定し、簡単なパラメータ調整を行うだけでモデルトレーニングを完了し、ワンクリックでサービスをオンラインで展開できます。上級開発者向けには、ノートブック開発環境とクラウドネイティブなクラスタトレーニングスケジューリングサポートが提供されます。ユーザーはこのフレームワークを使用して、カスタマイズされたアルゴリズムを開発し、事前トレーニング済みモデルを微調整することができます。
V. ロードマップ今後、毎月新しいバージョンをリリースする予定です。最新のロードマップは以下の通りです。
さらに、中長期的には、以下の探究的な方向性に引き続き注力し、あらゆる方面からのフィードバック、改善提案、技術的な議論を歓迎します。同時に、オープンソースコミュニティの構築に関心のある皆様の共同構築への参加を心より歓迎し、期待しております。
参考リンク:(1) モデル圧縮と量子化のチュートリアル: https://github.com/alibaba/EasyCV/blob/master/docs/source/tutorials/compression.md (2) PAI-Blade: https://www.aliyun.com/activity/bigdata/blade (3)類似グラフマッチングソリューション:https://help.aliyun.com/document_detail/313270.html (4) PAI製品ページ: https://www.aliyun.com/product/bigdata/learn?spm=5176.19720258.J_3207526240.78.e9392c4aJWW64C |