Hugging Face におけるコンピュータビジョンの現状

Hugging Face はエコシステムを拡張し、8つの主要なコンピュータビジョンタスク、3,000 を超えるモデル、100 以上のデータセットをサポートしています。この拡張により、Transformer ベースと従来の畳み込みアーキテクチャの両方にわたる推論、トレーニング、デプロイの標準化ツールを提供することで、コンピュータビジョンが民主化されました。

コアビジョンタスクとモデルサポート

Hugging Face は 8 つのコアコンピュータビジョンタスクをサポートしており、各タスクについて Hub に少なくとも 10 個のモデルチェックポイントが用意されています。

  • 画像分類
  • 画像セグメンテーション
  • (ゼロショット)オブジェクト検出
  • ビデオ分類
  • 深度推定
  • 画像間合成
  • 無条件画像生成
  • ゼロショット画像分類

これらのコアタスクに加えて、エコシステムはビジョンと言語の交差タスクもサポートしており、画像からテキストへの変換(OCR と画像キャプション)、テキストから画像への変換、文書質問応答、視覚質問応答が含まれます。ライブラリは ViT、Swin、DETR といった Transformer ベースのモデルや、ResNet、ConvNeXt、RegNet などの純粋な畳み込みアーキテクチャを含む多様な構造をサポートしています。

推論とトレーニングフレームワーク

簡易推論のための Pipelines

Hugging Face Pipelines は 7 つのビジョンタスクに対する推論を行うための標準化されたインターフェースを提供します。これにより、実務者は基盤となるモデルに関係なく、一貫した API を用いて深度推定や視覚質問応答といった複雑なタスクを実装できます。

トレーニングとファインチューニング

Trainer API(Transformers ライブラリ)は、画像分類、画像セグメンテーション、ビデオ分類、オブジェクト検出、深度推定をシームレスにサポートします。Trainer がサポートしていないタスクでも、モデルが損失計算を含んでいればファインチューニングは可能です。

研究やカスタム事前学習を支援するために、Hugging Face は自己教師あり事前学習戦略(例:MAE)や対照的な画像テキスト事前学習(例:CLIP)のサンプルスクリプトを提供しています。

エコシステム統合とツール

データセットとオーグメンテーション

Hugging Face Hub には ImageNet-1k、LAION-400M、COYO-700M など、100 を超えるビジョンデータセットがホストされています。これらは datasets ライブラリと統合されており、簡単にロードでき、Kornia や Albumentations といったオーグメンテーションライブラリと互換性があります。

専門ライブラリ: timm と Diffusers

  • timm (PyTorch Image Models): Hugging Face は timm ライブラリから 200 以上のモデルを Hub に統合しました。
  • Diffusers: このモジュラー型ツールボックスは、自然言語入力から画像を生成する(例:Stable Diffusion)といったタスク向けの事前学習済み拡散モデルを提供します。

AutoTrain によるノーコードトレーニング

AutoTrain は最先端モデルのトレーニングをコード不要で実現するソリューションを提供します。現在はコンピュータビジョンの画像分類に焦点を当てていますが、公開リーダーボードを通じた自動モデル評価も可能です。

ゼロショットビジョンモデル

Hugging Face は、タスク固有の学習データなしでビジョンタスクを実行できる複数のモデルをサポートしています。

  • CLIP: 自然言語プロンプトを用いたゼロショット画像分類を可能にします。
  • OWL-ViT: 言語条件付きゼロショットオブジェクト検出と画像条件付きワンショットオブジェクト検出をサポートします。
  • CLIPSeg: 言語条件付きゼロショットおよび画像条件付きワンショット画像セグメンテーションを提供します。
  • X-CLIP: ビデオ分類のゼロショット汎化を可能にします。

技術的哲学とデプロイ

統一されたユーザー体験

モダリティに関係なく、Hugging Face は一貫したデザイン哲学を適用します。ビジョンモデルは前処理器(NLP のトークナイザに類似)を使用してデータを準備し、from_pretrained() でのダウンロードから push_to_hub() でのアップロードまでのワークフローが PyTorch と TensorFlow の両方で統一されていることを保証します。

デプロイオプション

ビジョンモデルは Hugging Face Inference Endpoints を通じてデプロイでき、画像分類、オブジェクト検出、画像セグメンテーションをネイティブにサポートします。他のタスクについてはカスタムハンドラが利用可能です。また、エコシステムは Kubernetes 上の TF Serving や Vertex AI を使用した TensorFlow ビジョンモデルのデプロイに関するガイダンスも提供しています。

Sources