「Hugging Face の推論エンドポイントを使用して埋め込みモデルを展開する」
『ハグフェイスの推論エンドポイントを利用した埋め込みモデルの展開』
Generative AIやChatGPTのようなLLMsの台頭により、様々なタスクの組み込みモデルへの関心と重要性が高まっています。特に検索や自分のデータとのチャットなどのリトリーバル・オーグメント生成のために、埋め込みモデルは役立ちます。埋め込みは、文、画像、単語などを数値ベクトル表現として表現するため、意味的に関連するアイテムをマッピングし、役立つ情報を取得することができます。これにより、質と特定性を向上させるための関連コンテキストをプロンプトに提供することができます。
LLMsと比較して、埋め込みモデルはサイズが小さく、推論が早いです。このため、モデルを変更したり、モデルの微調整を改善した後に埋め込みを再作成する必要があるため、非常に重要です。また、リトリーバルのオーグメントプロセス全体ができるだけ高速であることも重要です。これにより、良いユーザーエクスペリエンスを提供することができます。
このブログ記事では、オープンソースの埋め込みモデルをHugging Face Inference Endpointsに展開する方法と、モデルを展開するのを簡単にするマネージドSaaSソリューションであるText Embedding Inferenceの使用方法を紹介します。さらに、大規模なバッチリクエストの実行方法も説明します。
- Hugging Face Inference Endpointsとは何か
- Text Embedding Inferenceとは何か
- 埋め込みモデルをインファレンスエンドポイントとして展開する方法
- エンドポイントにリクエストを送信し、埋め込みを作成する方法
始める前に、インファレンスエンドポイントについての知識をリフレッシュしましょう。
- レイザーのエッジに VFXスターであるサーフェスドスタジオが、今週『NVIDIA Studio』で驚くべきSFの世界を作り出しました
- Aaron Lee、Smith.aiの共同設立者兼CEO – インタビューシリーズ
- 「Pythonのf-Stringsマジック:すべてのコーダーが知るべき5つのゲームチェンジングなトリック」
1. Hugging Face Inference Endpointsとは何ですか?
Hugging Face Inference Endpointsは、プロダクションでの使用を目的とした機械学習モデルを展開するための簡単で安全な方法を提供しています。インファレンスエンドポイントは、インフラストラクチャを管理せずに生成的AIアプリケーションを作成することができるように開発者やデータサイエンティストを支援し、展開プロセスを数回のクリックで簡略化し、オートスケーリングによる大量のリクエストの処理、スケールゼロによるインフラストラクチャのコスト削減、高度なセキュリティの提供などを可能にしています。
以下は、最も重要な機能のいくつかです:
- 簡単な展開: インフラストラクチャやMLOpsの処理を行う必要がなく、わずかなクリックで本番対応のAPIとしてモデルを展開できます。
- コスト効率: ゼロスケールに自動的にスケールダウンする能力により、エンドポイントが使用されていないときにインフラストラクチャのコストを削減し、エンドポイントの稼働時間に基づいて支払いを行うことで、コスト効率を確保します。
- エンタープライズセキュリティ: オフラインエンドポイントにのみアクセスできる安全なエンドポイントでモデルを展開し、SOC2 Type 2の認証を受け、BAAおよびGDPRデータ処理契約を提供することで、データセキュリティとコンプライアンスを強化しています。
- LLMの最適化: LLMに最適化されており、Paged Attentionによる高スループットおよびカスタムトランスフォーマーコードとテキスト生成インファレンスによるフラッシュアテンションによる低レイテンシを実現しています。
- 包括的なタスクサポート: 🤗 Transformers、Sentence-Transformers、Diffusersのタスクとモデルを簡単にカスタマイズしてサポートし、スピーカーダイアリゼーションなどの高度なタスクやライブラリを有効化するためのカスタマイズも容易です。
インファレンスエンドポイントの始め方は、次のリンクから:
https://ui.endpoints.huggingface.co/
2. テキスト埋め込みの推論とは何ですか?
テキスト埋め込み推論(TEI)は、オープンソースのテキスト埋め込みモデルを展開し提供するために専用に開発されたソリューションです。TEIは高性能の抽出をサポートするように構築されており、最も人気のあるモデルをサポートしています。TEIは、Massive Text Embedding Benchmark (MTEB) Leaderboardのトップ10モデル(FlagEmbedding、Ember、GTE、E5など)をすべてサポートしています。TEIは現在、次のパフォーマンス最適化機能を実装しています:
- モデルのグラフコンパイルステップなし
- 小さなDockerイメージと高速な起動時間。本当のサーバーレスに備えましょう!
- トークンベースのダイナミックバッチング
- Flash Attention、Candle、cuBLASLtを使用した推論のための最適化されたtransformersコード
- Safetensorsのウェイトローディング
- 本番環境対応(Open Telemetryによる分散トレーシング、Prometheusメトリクス)
これらの機能により、業界をリードするスループットとコストのパフォーマンスが可能となりました。Nvidia A10G推論エンドポイント、シーケンス長512トークン、バッチサイズ32のBAAI/bge-base-en-v1.5のベンチマークでは、1秒あたり450以上のリクエストスループットを達成し、コストは1Mトークンあたり0.00156ドルまたは1kトークンあたり0.00000156ドルでした。これはOpenAI Embeddings(1Kトークンあたり0.0001ドル)よりも64倍安いです。
3. 埋め込みモデルを推論エンドポイントとして展開する
始めるには、ファイルに支払い方法が登録されているユーザーまたは組織アカウントでログインする必要があります(ここで追加できます)。その後、https://ui.endpoints.huggingface.coで推論エンドポイントにアクセスします。
次に、「新しいエンドポイント」をクリックします。リポジトリ、クラウド、およびリージョンを選択し、インスタンスとセキュリティ設定を調整し、我々の場合に展開しますBAAI/bge-base-en-v1.5
。
推論エンドポイントは、モデルのサイズに基づいてインスタンスタイプを提案します。ここではIntel Ice Lake 2 vCPU
を使用します。ベンチマークのパフォーマンスを得るためには、インスタンスを1x Nvidia A10G
に変更してください。
注意:インスタンスタイプが選択できない場合は、お問い合わせしてインスタンスクォータをリクエストする必要があります。
「エンドポイントの作成」をクリックすると、モデルが展開されます。1〜3分後には、エンドポイントがオンラインでリクエストを処理できる状態になります。
4. エンドポイントにリクエストを送信し、埋め込みを作成する
エンドポイントの概要では、リクエストを手動で送信するために使用できる推論ウィジェットにアクセスできます。これにより、さまざまな入力でエンドポイントを素早くテストし、チームメンバーと共有することができます。
注:現在、TEIは入力を自動的に切り捨てていません。リクエストでtruncate: true
を設定することで、これを有効にすることができます。
ウィジェットに加えて、概要はcURL、Python、JavaScriptのコードスニペットも提供しており、これを使用してモデルにリクエストを送信することができます。コードスニペットでは、単一のリクエストを送信する方法が示されていますが、TEIはバッチリクエストもサポートしており、複数のドキュメントを同時に送信してエンドポイントの利用率を向上させることができます。以下は、切り捨てをtrueに設定してバッチリクエストを送信する例です。
import requestsAPI_URL = "https://l2skjfwp9punv393.us-east-1.aws.endpoints.huggingface.cloud"headers = { "Authorization": "Bearer YOUR TOKEN", "Content-Type": "application/json"}def query(payload): response = requests.post(API_URL, headers=headers, json=payload) return response.json() output = query({"inputs": ["sentence 1", "sentence 2", "sentence 3"],"truncate": True})# output [[0.334, ...], [-0.234, ...]]
結論
Hugging Face Inference EndpointsのTEIは、最先端の埋め込みモデルの爆速かつ超効率的な展開を可能にします。秒あたり450以上のリクエストスループットと、1kトークンあたり$0.00000156以下という低コストにより、Inference EndpointsはOpenAI Embeddingsと比べて64倍のコスト削減を実現します。
セマンティック検索、チャットボット、推薦などのテキスト埋め込みを活用する開発者や企業にとって、Hugging Face Inference Endpointsはインフラストラクチャのオーバーヘッドを排除し、研究から製品までのプロセスを効率化し、高スループットを低コストで提供します。
お読みいただきありがとうございます!ご質問があれば、TwitterまたはLinkedInでお気軽にお問い合わせください。
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