プライベートハブのご紹介:機械学習を活用した新しいビルド方法
Introducing Private Hub A New Building Method Utilizing Machine Learning.
機械学習は、企業が技術を構築する方法を変えつつあります。革新的な新製品のパワーを供給し、私たちが使い慣れて愛している既知のアプリケーションにスマートな機能を提供することから、MLは開発プロセスの中心にあります。
しかし、すべての技術の変化には新たな課題が伴います。
機械学習モデルの約90%が本番環境に到達しないとされています。馴染みのないツールや非標準的なワークフローがMLの開発を遅くしています。モデルやデータセットが内部で共有されないため、同じような成果物がチーム間で常にゼロから作成されます。データサイエンティストは、ビジネスステークホルダーに技術的な作業を示すのが難しく、正確でタイムリーなフィードバックを共有するのに苦労しています。そして、機械学習チームはDocker/Kubernetesや本番環境向けのモデル最適化に時間を浪費しています。
これらを考慮して、私たちはPrivate Hub(PH)を立ち上げました。機械学習の構築方法を革新する新しい方法です。研究から本番環境まで、セキュアかつコンプライアンスを確保しながら、機械学習ライフサイクルの各ステップを加速するための統合されたツールセットを提供します。PHはさまざまなMLツールを一つにまとめることで、機械学習の協力をよりシンプルで楽しく、生産的にします。
- ディープダイブ:Hugging Face Optimum GraphcoreにおけるビジョンTransformer
- Megatron-LMを使用して言語モデルをトレーニングする方法
- SetFit プロンプトなしで効率的なフューショット学習
このブログ投稿では、Private Hubとは何か、なぜ役立つのか、そしてどのようにお客様がそれを使用してMLのロードマップを加速しているのかについて詳しく説明します。
一緒に読んでいただくか、興味を引くセクションにジャンプしてください 🌟:
- ハグフェースハブとは何ですか?
- プライベートハブとは何ですか?
- 企業はプライベートハブをどのように使用してMLのロードマップを加速しているのでしょうか?
さあ、始めましょう! 🚀
1. ハグフェースハブとは何ですか?
プライベートハブについて詳しく説明する前に、まずハグフェースハブについて見てみましょう。これはPHの中心的な要素です。
ハグフェースハブは、オープンソースで公開されているオンラインプラットフォームで、人々が簡単に協力してMLを構築できる場所です。ハブは、機械学習と一緒に技術を探求し、実験し、協力し、構築するための中心的な場所として機能します。
ハグフェースハブでは、次のようなMLアセットを作成または発見することができます:
- モデル:NLP、コンピュータビジョン、音声、時系列、生物学、強化学習、化学などの最新の最先端モデルをホスティング。
- データセット:さまざまなドメイン、モダリティ、言語に対応したデータの幅広いバリエーション。
- スペース:ブラウザ内で直接MLモデルをショーケースするインタラクティブなアプリ。
ハブにアップロードされた各モデル、データセット、またはスペースは、Gitベースのリポジトリです。これはすべてのファイルを含むバージョン管理された場所で、従来のgitコマンドを使用してファイルをプル、プッシュ、クローン、操作することができます。モデル、データセット、およびスペースのコミット履歴を表示し、誰がいつ何を行ったかを確認することができます。
モデルのコミット履歴
ハグフェースハブは、機械学習のフィードバックと開発の中心的な場所でもあります。チームはモデル、データセット、およびスペースのピアレビューをサポートするためにプルリクエストとディスカッションを使用し、協力を改善し、MLの作業を加速させます。
モデルのプルリクエストとディスカッション
ハブでは、ユーザーが組織を作成することも可能です。つまり、モデル、データセット、およびスペースを共同で管理するためのチームアカウントです。組織のリポジトリは組織のページで紹介され、管理者はこれらのリポジトリへのアクセスを制御するための役割を設定できます。組織のメンバーは、適切な権限が与えられていれば、モデル、データセット、およびスペースに貢献することができます。私たちは、協力するための適切なツールを持つことが、機械学習の開発を劇的に加速すると信じています! 🔥
BigScienceのハブ内の組織
基本的な内容をカバーしたので、次はハグフェースハブにホストされるモデル、データセット、およびスペースの特定の特徴について詳しく説明します。
モデル
転移学習は、企業が機械学習の問題に取り組む方法を変えました。従来、企業はゼロからモデルをトレーニングする必要がありましたが、それには多くの時間、データ、リソースが必要でした。今では、機械学習チームは事前にトレーニングされたモデルを使用し、自社のユースケースに合わせて微調整することができるため、迅速かつ費用効果の高い方法で正確でパフォーマンスの高いモデルを作成するプロセスが大幅に加速します。
ハブでは、NLP、コンピュータビジョン、音声、時系列、生物学、強化学習、化学などの60,000以上の最先端のオープンソースの事前トレーニングモデルを見つけることができます。検索バーを使用するか、タスク、ライブラリ、ライセンスなどのフィルタを使用して、特定のユースケースに適したモデルを見つけることができます:
ハブには60,000以上のモデルがあります
これらのモデルは180以上の言語に対応し、Transformers、Keras、spaCy、Timmなどを含む25以上のMLライブラリをサポートしているため、モデルの種類、言語、ライブラリにおいて非常に柔軟性があります。
各モデルにはモデルカードがあります。モデルカードは、モデル自体の説明が記載されたシンプルなマークダウンファイルです。これには、モデルの目的、モデルのトレーニングに使用されたデータ、コードサンプル、モデルに関連するバイアスやリスクに関する情報、メトリクス、関連する研究論文などが含まれます。モデルカードは、モデルの内容を理解するための素晴らしい手段ですが、MLプロジェクトの出発点として適切な事前学習済みモデルを特定するためにも役立ちます。
モデルカード
モデルの見つけやすさと再利用性を向上させるだけでなく、モデルカードはモデルリスク管理(MRM)プロセスを容易にします。MLチームは、機械学習モデルに関する情報を提供するように求められることがあり、コンプライアンスチームはモデルのリスクを特定し、測定し、緩和することができます。モデルカードを通じて、組織は必要な情報を含むテンプレートを設定し、MLチームとコンプライアンスチームの間でMRMの対話を効率化することができます。
ハブでは、Inference Widgetも提供されています。これにより、ブラウザからモデルを簡単にテストすることができます。特定のモデルが適切かどうか、そしてそれに深入りしたいかどうかを感じるのに非常に良い方法です。
Inferenceウィジェット
データセット
データは機械学習モデルの構築において重要な要素です。適切なデータがなければ、正確なモデルを得ることはできません。🤗 Hubには、高速で使いやすい効率的なデータ操作ツールを備えた、6,000以上のオープンソースの使用準備が整ったデータセットがホストされています。モデルと同様に、検索バーを使用したり、タグでフィルタリングすることで、使用ケースに適したデータセットを見つけることができます。例えば、「sentiment-classification」のタスクでフィルタリングすることで、感情分析のための96のモデルを簡単に見つけることができます。
感情分類用の利用可能なデータセット
モデルと同様に、🤗 Hubにアップロードされたデータセットにはデータセットカードがあり、ユーザーがデータセットの内容を理解し、データセットの使用方法、作成方法、使用に関する考慮事項を把握するのに役立ちます。データセットビューアを使用すると、データを簡単に表示し、特定のデータセットが機械学習プロジェクトに役立つかどうかを素早く把握することができます。
Super Glueデータセットのプレビュー
スペース
数か月前に、🤗 HubにはSpacesと呼ばれる新機能が導入されました。これは機械学習アプリを簡単に構築・ホストする方法です。Spacesを使用すると、ビジネスステークホルダーにMLモデルを簡単に紹介し、MLプロジェクトを前進させるために必要なフィードバックを得ることができます。
DALL-E miniで面白い画像を生成している場合、Spacesを使用しています。このスペースでは、テキストプロンプトに基づいて画像を生成するための機械学習モデルであるDALL-E miniモデルを紹介しています。
DALL-E miniのスペース
2. プライベートハブとは何ですか?
プライベートハブでは、企業がHugging Faceの完全なエコシステムを自社のプライベートかつコンプライアントの環境で使用し、機械学習開発を加速することができます。MLライフサイクルの各ステップにわたるMLツールを1つの場所にまとめて提供し、MLでの協力をよりシンプルで生産的にし、企業がMLを安全に構築するために必要なコンプライアントの環境を提供します。
プライベートハブ
プライベートハブでは、データサイエンティストは自社のサーバー上にプライベートかつ安全にホストされたTransformers、Datasets、その他のオープンソースライブラリを使用してモデル、データセット、スペースをシームレスに操作することができます。また、Hubの機能を活用することで、モデルのトレーニングから評価、デプロイまでを自動的に行う、AutoTrainというAutoMLのノーコードソリューションを使用することができます。また、コードを1行も書かずに、プライベートハブ上で任意のモデルを任意のデータセットで評価することもできます。さらに、ビジネスステークホルダーにMLのデモアプリを簡単にホストして、早期にフィードバックを得てより速く開発することもできます。プライベートハブ上で作成されたすべてのプライベートモデルは、シンプルなAPI呼び出しを介して、独自のインフラストラクチャに展開されます。モデル、データセット、スペースに対してピアレビューやディスカッションをサポートし、チーム間の協力を向上させることもできます。
研究から本番まで、データはサーバーから一切出ません。プライベートハブは、独自のコンプライアントサーバーで実行されます。セキュリティスキャン、監査トレイル、SSO、アクセス制御などの企業向けのセキュリティ機能を提供し、モデルとデータを安全に保ちます。
私たちは、プライベートで準拠した環境におけるプライベートハブの展開に柔軟なオプションを提供しています。以下のような選択肢があります:
-
マネージドプライベートハブ(SaaS):Hugging Faceが所有する分離された仮想プライベートサーバ(VPC)で実行されます。インフラストラクチャの管理は不要で、独自のプライベートハブで完全なHugging Faceのエクスペリエンスをお楽しみいただけます。
-
クラウド上のプライベートハブ:お客様が所有するAWS、Azure、またはGCPのクラウドアカウントで実行されます。この展開オプションにより、基礎となるクラウドインフラストラクチャの完全な管理権限を取得し、より強力なセキュリティとコンプライアンスを実現できます。
-
オンプレミスのプライベートハブ:独自のインフラストラクチャ上でHugging Face Hubをオンプレミス展開します。厳格なコンプライアンスルールがある顧客や、パブリッククラウド上で実行することを望まないまたは許可されていないワークロードを持つ顧客向けです。
プライベートハブの基本を理解したところで、企業がどのようにしてML開発を加速しているかを見ていきましょう。
3. プライベートハブを使用して企業はどのようにしてMLロードマップを加速しているのか?
🤗 Transformersは、史上最も急成長したオープンソースプロジェクトの1つです。現在、25以上のオープンソースライブラリを提供しており、10,000以上の企業がHugging Faceを使用して機械学習に基づく技術を構築しています。
オープンソースAIコミュニティの中心に位置しているため、私たちは機械学習およびデータサイエンスチームと何千もの会話を行い、企業が機械学習を構築する際に直面する一般的な問題と課題について独自の視点を得ました。
これらの会話を通じて、現在の機械学習のワークフローが壊れていることがわかりました。重複した努力、フィードバックループの不備、チーム間のコラボレーションのための高い摩擦、標準でないプロセスとツール、および本番用モデルの最適化の困難さが一般的であり、ML開発を遅らせています。
私たちは、これを変えるためにプライベートハブを構築しました。GitとGitHubが企業がソフトウェアを構築する方法を永遠に変えたように、プライベートハブは企業が機械学習を構築する方法を変えます:
プライベートハブの使用前と使用後
このセクションでは、顧客がPHを活用してMLライフサイクルを加速させるデモ例を紹介します。フィナンシャルアナリストの🏦レポートを自動的に分析するMLアプリを構築する手順をステップバイステップで説明します。
まず、ユースケースに関連する事前学習モデルを検索し、感情分析のためにカスタムデータセットでファインチューニングします。次に、このモデルがビジネスステークホルダーにどのように機能するかを示すMLウェブアプリを構築します。最後に、本番レベルの負荷を処理できるインフラストラクチャで推論を実行するためにInference APIを使用します。このMLデモアプリのすべてのアーティファクトは、この組織のハブで見つけることができます。
より正確なモデルをより速くトレーニングする
ハブから事前学習モデルを活用する
モデルをゼロからトレーニングする代わりに、転移学習を使用することで、特定のユースケースに適した事前学習モデルをハブで利用して、より正確なモデルを10倍速く構築することができます⚡️。
デモ例では、フィナンシャルアナリスト向けのこのMLアプリの要件の1つは感情分析です。ビジネスステークホルダーは、財務書類やアナリストレポートが利用可能になった瞬間に企業のパフォーマンスの感覚を自動的に把握したいと考えています。
したがって、このMLアプリを作成するための最初のステップとして、ハブで利用可能な事前学習モデルを調査し、感情分析のためにファインチューニングできるモデルを見つけます。検索バーとタグを使用して、関連するモデルを素早くフィルタリングして発見できます。すぐに、FinBERTという、企業レポート、収益通話のトランスクリプト、およびフィナンシャルアナリストのレポートに事前学習されたBERTモデルに出会います:
FinBERTモデル
このモデルを独自のプライベートハブにクローンして、他のチームメンバーにも利用できるようにします。また、コンプライアンスチームとのモデルリスク管理プロセスを効率化するために、モデルカードに必要な情報を追加します。
カスタムデータセットを使用して事前学習モデルをファインチューニングする
フィナンシャルデータ向けの優れた事前学習モデルがあるので、次のステップは、感情分析のために独自のデータを使用してモデルをファインチューニングすることです!
したがって、まず、チーム内で構築した感情分析のためのカスタムデータセットをプライベートハブにアップロードします。このデータセットには、英語の金融ニュースの数千の文と、チームによって感情に基づいて手動で分類された独自の金融データが含まれています。このデータには機密情報が含まれているため、コンプライアンスチームは私たちに独自のサーバにこのデータをアップロードすることしか許可していません。幸いなことに、私たちは独自のAWSインスタンスでプライベートハブを実行しているため、これは問題ありません。
次に、私たちはカスタムの感情分析データセットを使用して、AutoTrainを使用してFinBertモデルを迅速に微調整します。 これは、プライベートハブのデータセットページから直接行うことができます:
AutoTrainを使用して事前学習モデルを微調整する
次に、モデルの選択肢として「手動」を選択し、データセットとともに微調整するためにクローンされたFinbertモデルを選択します:
AutoTrainで新しいプロジェクトを作成する
最後に、データと一緒にトレーニングする候補モデルの数を選択します。 25モデルを選択し、わぁ! 数分後、AutoTrainは私たち自身の感情分析データで25のFinbertモデルを自動的に微調整し、すべての異なるモデルのパフォーマンスメトリックを表示します🔥🔥🔥
AutoTrainで25の微調整済みモデル
パフォーマンスメトリックに加えて、ブラウザから直接推論ウィジェットを使用して微調整済みモデルを簡単にテストすることができます。
推論ウィジェットを使用して微調整済みモデルをテストする
関係者に簡単にデモモデルを提供する
金融文書の分析のためのカスタムモデルをトレーニングしたので、次のステップとして、ビジネス関係者とのMVPを検証するためにSpacesで機械学習デモを構築したいと思います。 このデモアプリでは、カスタムの感情分析モデルと、金融レポートから将来を見越した文を検出するために微調整した第2のFinBERTモデルを使用します。 この対話型デモアプリを使用することで、フィードバックを早く得て、迅速に反復し、モデルを改善することができます。 これにより、本番で使用できるようになります。✅
わずか20分以内で、ビジネス関係者が簡単にブラウザからテストできる対話型デモアプリを構築できました:
金融デモアプリのためのスペース
app.pyファイルを見ると、非常にシンプルであることがわかります:
MLデモアプリのコード
たった51行のコードで、このMLデモアプリを作動させることができました!🤯
MLOpsに関わらず推論をスケールさせる
現時点で、ビジネス関係者からの素晴らしいフィードバックを得て、これらのモデルを改善することができました。 コンプライアンスチームはモデルカードを通じて提供された情報を評価し、プロジェクトを本番用に承認しました。 さあ、これらのモデルを本番で使用して、大量の金融レポートを分析しましょう!🎉
これらのモデルを実行するためにDocker/Kubernetesに時間を費やしたり、これらのモデルを実行するためのサーバーを設定したり、本番向けにモデルを最適化する必要はありません。 単純なAPIコールを介してカスタムモデルを簡単に統合できます。
ハブにアップロードされたモデルやAutoTrainで作成されたモデルは、即座に本番環境にデプロイされ、スケールでリアルタイムに推論を行う準備ができています。 推論を実行するにはわずか12行のコードが必要です!
カスタム感情分析モデルで推論を実行するためのコードスニペットを取得するには、「デプロイ」、そして「高速推論」をクリックします:
カスタムモデルで推論を実行するために推論APIを活用する
これにより、Inference API にHTTPリクエストを行い、カスタムモデルを使用してデータを分析を開始するための次のコードが表示されます:
import requests
API_URL = "https://api-inference.huggingface.co/models/FinanceInc/auditor_sentiment_finetuned"
headers = {"Authorization": "Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
output = query({
"inputs": "営業利益は6,600万ユーロから4,700万ユーロに急増しました",
})
わずか12行のコードで、本番レベルの負荷を処理できるインフラストラクチャで推論を実行しています🚀。 かなりクールですね?
最後に
機械学習は、オープンソースとオープンサイエンスのおかげで、デフォルトの技術構築方法となりつつあります。
しかし、機械学習の構築はまだ難しいです。 多くの機械学習プロジェクトは急ぎすぎて本番環境に到達しないままです。 標準化されていないワークフローによってML開発が遅延されます。 MLチームは重複作業、チーム間の低いコラボレーション、および分散したMLツールエコシステムによって挫折します。
Hugging Faceでは、機械学習を構築するためのより良い方法があると考えています。 そのために、Private Hubを作成しました。 機械学習開発の各ステップに統一されたツールと適切なコラボレーションツールを提供することで、より良いML作業、より多くのMLソリューションの本番導入、およびMLチームのイノベーションを促進することができると考えています。
さらに学びたいですか? デモをリクエストしてください。プライベートハブを活用して、組織内で機械学習の開発を加速させる方法を見てみましょう。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles