Hugging Face: Machine Learning as Code の時代

Hugging Face は、「Machine Learning as Code(コードとしての機械学習)」への移行を提案しています。AI デプロイメントの成熟に伴い、堅牢でスケーラブル、かつ再現可能なシステムを構築するためには、確立されたソフトウェアエンジニアリングと DevOps のプラクティスを採用する必要があると主張しています。

ML に対するソフトウェアエンジニアリングの厳格さの採用

機械学習のワークフローは、実験的なサンドボックスから、プロダクショングレードのソフトウェアエンジニアリングへと移行しなければなりません。Hugging Face は、バージョニング、再利用性、テスト可能性、自動化、デプロイメント、モニタリング、パフォーマンス、および最適化を含む、10 年前から続くソフトウェアエンジニアリングのベストプラクティスは、データサイエンスと機械学習に直接適用可能であると断言しています。

このアプローチは、Google の「Rules of Machine Learning」によって支持されています。そこでは、実務者は「あなたが偉大な機械学習エキスパートではないように振る舞うのではなく、あなたが偉大なエンジニアであるように機械学習を行いなさい」と示唆されています。目標は、概念実証(PoC)や A/B テストを超えていくことであり、「まずまずのプロダクションモデルは、素晴らしいサンドボックスモデルに常に勝る」からです。

MLOps とインフラストラクチャの抽象化の台頭

クラウド API、Infrastructure as Code、および Kubeflow のようなプラットフォームの台頭により、インフラストラクチャはもはや ML デプロイメントの主要な障壁ではありません。Hugging Face が引用した Kaggle の調査によると、回答者の 75% がクラウドサービスを使用しており、45% 以上がエンタープライズ ML プラットフォームを使用しています。Amazon SageMaker、Databricks、および Azure ML Studio が最も顕著です。

インフラストラクチャはますますソフトウェア定義(software-defined)になっているため、Hugging Face は、モデルがサンドボックスからプロダクションへ効率的に移行できるように、組織はデータサイエンティストを増やすことよりも、ML に精通したソフトウェアおよび DevOps エンジニアの採用を優先すべきであると提案しています。

汎用 ML アーキテクチャとしての Transformers

Transformer アーキテクチャは、自然言語処理(NLP)を超えて他のドメインにまで広がる汎用フレームワークへと進化しました。

  • Computer Vision: Vision Transformer (ViT) や CoAtNet(transformer と convolution を組み合わせたもの)などのモデルは、ImageNet 上の画像分類において、トレーニングの計算要件を削減しつつ、新しいベンチマークを確立しました。
  • Audio and 3D Modeling: Transformer は、音声認識や、自動運転シーンで見られるような 3D 環境をモデリングするためのポイントクラウド(点群)に効果的に使用されています。

Kaggle の調査データは、RNN、CNN、および Gradient Boosting アルゴリズムの使用が後退している一方で、Transformer の採用は成長し続けていることを示しています。このシフトにより、チームが実績のある既製品のモデルを選択し、特定のデータでファインチューニングを行う「転移学習(transfer learning)」のワークフローが可能になり、トレーニング時間と計算コストを大幅に削減できます。

Hugging Face エコシステム

Hugging Face は、ML as code への移行を促進するため、16,000 個以上のモデルと 1,600 個のデータセットを集約した中央ハブを提供しています。このエコシステムには、以下のツールが含まれます。

  • Inference: モデルをデプロイするための API。
  • AutoNLP: 自動化された機械学習ツール。
  • Latency Optimization: Infinity のようなツール。
  • Hardware Acceleration: 特殊なハードウェアとの統合。

これらのリソースを提供することで、Hugging Face は、ML ライフサイクルにソフトウェアエンジニアリングのベストプラクティスを組み込み、モデルのトレーニング、最適化、およびデプロイメントに必要なコード量を最小限に抑えることで、機械学習をより生産的にすることを目指しています。

Sources

関連

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch