スケールにおけるトランスフォーマーの最適化ツールキット、Optimumをご紹介します

Introducing Optimum, a transformer optimization toolkit for scaling.

この投稿は、Hugging Faceが最先端の機械学習プロダクションパフォーマンスを民主化するための旅の第一歩です。目指すところに到達するために、私たちはハードウェアパートナーと手を組んで取り組む予定です。以下のIntelと協力しています。この旅に参加して、新しいオープンソースライブラリであるOptimumをフォローしてください!

なぜ 🤗 Optimum なのか?

🤯 Transformersのスケーリングは難しい

Tesla、Google、Microsoft、Facebook、これらの企業に共通するものは何でしょうか?もちろんいくつかありますが、その1つは毎日数十億のTransformerモデルの予測を実行していることです。TeslaのAutoPilotのためのTransformer、Gmailの文章補完のためのTransformer、Facebookの投稿のリアルタイム翻訳のためのTransformer、Bingの自然言語クエリに対する回答のためのTransformerなど、さまざまな用途で使用されています。

Transformerは機械学習モデルの精度を飛躍的に向上させ、NLPを征服し、SpeechやVisionなどの他のモダリティにも広がっています。しかし、これらの巨大なモデルを本番環境に持ち込み、スケールで高速に実行することは、どの機械学習エンジニアリングチームにとっても大きな課題です。

上記の企業のように、数百人の高度に熟練した機械学習エンジニアを雇っていない場合はどうでしょうか?私たちの新しいオープンソースライブラリであるOptimumを通じて、Transformerのプロダクションパフォーマンスのための究極のツールキットを構築し、特定のハードウェア上でモデルをトレーニングおよび実行するための最大の効率性を実現することを目指しています。

🏭 OptimumがTransformerを活用します

最適なパフォーマンスでモデルをトレーニングおよび提供するためには、モデルのアクセラレーション技術は対象のハードウェアと互換性が必要です。各ハードウェアプラットフォームは、パフォーマンスに大きな影響を与える特定のソフトウェアツール、機能、ノブを提供しています。同様に、スパース化や量子化などの高度なモデルアクセラレーション技術を活用するためには、最適化されたカーネルがシリコン上の演算子と互換性があり、モデルアーキテクチャから派生したニューラルネットワークグラフに特化している必要があります。この3次元の互換性行列やモデルアクセラレーションライブラリの使用方法について詳しく調査するのは、ほとんどの機械学習エンジニアにとって困難な作業です。

Optimumはこの作業を簡単にすることを目指し、効率的なAIハードウェアを対象としたパフォーマンス最適化ツールを提供し、ハードウェアパートナーとの共同開発で機械学習エンジニアをML最適化の魔術師に変えます。

Transformerライブラリでは、最先端のモデルを研究者やエンジニアが簡単に使用できるようにし、フレームワーク、アーキテクチャ、パイプラインの複雑さを抽象化しました。

Optimumライブラリでは、エンジニアが利用可能なすべてのハードウェア機能を活用し、ハードウェアプラットフォーム上でのモデルアクセラレーションの複雑さを抽象化することで、エンジニアに簡単になります。

🤗 Optimumの実践:Intel Xeon CPU向けのモデルの量子化方法

🤔 量子化の重要性と正しい方法

BERTなどの事前学習済み言語モデルは、さまざまな自然言語処理タスクで最先端の結果を達成しており、ViTやSpeech2Textなどの他のTransformerベースのモデルも、コンピュータビジョンや音声タスクで最先端の結果を達成しています。Transformerは機械学習の世界で広く使われており、今後も使われ続けます。

ただし、Transformerベースのモデルを本番環境に導入することは、多くの計算リソースが必要であるため、トリッキーで高コストになる場合があります。この問題を解決するために、多くのテクニックが存在しますが、最も一般的なものは量子化です。残念ながら、ほとんどの場合、モデルの量子化には多くの作業が必要です。その理由はいくつかあります:

  1. モデルを編集する必要があります。一部の操作は量子化された対応操作に置き換えられ、新しい操作(量子化および非量子化ノード)が挿入され、その他の操作は重みと活性化が量子化されることに適応する必要があります。

この部分は非常に時間がかかる場合があります。なぜなら、PyTorchなどのフレームワークはイーガーモードで動作するため、前述の変更はモデルの実装自体に追加する必要があるからです。PyTorchは現在、モデルの実装を実際に変更することなく、モデルをトレースおよび変換することができるツールである「torch.fx」を提供していますが、トレースがデフォルトでサポートされていない場合に使用するのはトリッキーです。

実際の編集に加えて、編集する必要があるモデルの部分を特定し、利用可能な量子化カーネルの対応操作と非対応操作を見つける必要があります。

  1. モデルが編集されたら、最適な量子化設定を見つけるために多くのパラメータを調整する必要があります:

    • 範囲キャリブレーションに使用するオブザーバはどの種類を使用すべきですか?
    • どの量子化スキームを使用すべきですか?
    • 対象デバイスでサポートされている量子化に関連するデータ型(int8、uint8、int16)はどれですか?
  2. 量子化と許容できる精度損失のトレードオフを調整する。

  3. 対象デバイスに量子化されたモデルをエクスポートする。

PyTorchとTensorFlowは量子化を容易にするための大きな進歩を遂げましたが、トランスフォーマーベースのモデルの複雑さは、提供されたツールをそのまま使って努力なしに動作させることを困難にしています。

💡 インテルがNeural Compressorを使用して量子化とその他の解決策を提供しています

Intel® Neural Compressor(以前はLow Precision Optimization ToolまたはLPOTとも呼ばれていました)は、低精度推論ソリューションの展開を支援するために設計されたオープンソースのPythonライブラリです。後者は、深層学習モデルに対して低精度のレシピを適用し、推論パフォーマンスやメモリ使用量などの製品目標を達成するための最適な方法を提供します。Neural Compressorは、トレーニング後の量子化、量子化に対するトレーニング、およびダイナミック量子化をサポートしています。量子化のアプローチ、目標、およびパフォーマンス基準を指定するには、ユーザーはチューニングパラメータを指定する設定のyamlファイルを提供する必要があります。設定ファイルはHugging FaceのModel Hubにホストされるか、ローカルディレクトリパスを介して指定することができます。

🔥 Intel Xeon CPU向けにTransformersを簡単に量子化する方法

🤗 Optimumに従って、機械学習の製品パフォーマンスを民主化しましょう

⚡️最先端のハードウェア

Optimumは、ソフトウェアとハードウェアのアクセラレーション技術を最大限に活用できる専用ハードウェア上での最適な製品パフォーマンスを実現することに焦点を当てます。ハードウェアパートナーと連携してアクセラレーションを可能にし、テストおよびメンテナンスを行い、IntelとNeural Compressorと同様に、それをOptimumを介して簡単かつアクセスしやすい方法で提供します。私たちは、機械学習の効率化への取り組みの一環として、私たちに参加した新しいハードウェアパートナーを近日中に発表する予定です。

🔮最先端のモデル

ハードウェアパートナーとの協力により、ハードウェア固有の最適化されたモデル構成とアーティファクトが生まれます。これらはHugging Face Model Hubを通じてAIコミュニティに提供されます。Optimumとハードウェア最適化モデルは、機械学習に費やされるエネルギーの大部分を占める製品ワークロードの効率化の採用を加速することを期待しています。そして何よりも、Optimumが大手テック企業だけでなく、私たち全員にスケールでのTransformersの採用を加速することを願っています。

🌟共同作業の旅:参加し、進捗状況をフォローしてください

すべての旅は最初の一歩から始まります。私たちの最初の一歩はOptimumの公開リリースでした。Optimumにスターを付けて、新しいサポートされるハードウェア、アクセラレーション技術、最適化モデルの導入についての情報を追跡できるようにしましょう。

Optimumでサポートされている新しいハードウェアや機能を見たい場合、またはソフトウェアとハードウェアの交差点での作業に興味がある場合は、[email protected]までお問い合わせください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

Diginiのスマートセンスの社長、ガイ・イエヒアブによるインタビューシリーズ

ガイ・イハイアヴ氏は、ビジネスの成功に最も重要な資産を保護するためにインターネット・オブ・シングス(IoT)の力を活用す...

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...

データサイエンス

「Adam Ross Nelsonによる自信のあるデータサイエンスについて」

データサイエンスの中で新たな分野が現れ、研究内容が理解しにくい場合は、専門家や先駆者と話すのが最善です最近、私たちは...

人工知能

「コーネリスネットワークスのソフトウェアエンジニアリング担当副社長、ダグ・フラーラー氏 - インタビューシリーズ」

ソフトウェアエンジニアリングの副社長として、DougはCornelis Networksのソフトウェアスタック全体、Omni-Path Architecture...

人工知能

「UVeyeの共同設立者兼CEO、アミール・ヘヴェルについてのインタビューシリーズ」

アミール・ヘヴァーは、UVeyeのCEO兼共同創設者であり、高速かつ正確な異常検出により、自動車およびセキュリティ産業に直面...

人工知能

ファイデムのチーフ・プロダクト・オフィサー、アルパー・テキン-インタビューシリーズ

アルパー・テキンは、FindemというAI人材の獲得と管理プラットフォームの最高製品責任者(CPO)ですFindemのTalent Data Clou...