Hugging Face PRO向け推論

Hugging FaceはInference for PROをリリースしました。これは、高性能モデルのためのキュレートされた超高速APIエンドポイントへのアクセスをPROユーザーに提供するコミュニティ提供サービスです。このサービスは、ユーザーが自身のインフラストラクチャを管理する必要なく、迅速な実験とプロトタイピングを容易にするように設計されています。

最先端モデルへの高速アクセス

Inference for PROsは、text-generation-inference (TGI)によって駆動されるキュレートされた強力なモデルリストのための専用APIエンドポイントを提供します。無料のInference APIは200,000以上のモデルのテストのためにすべてのユーザーに利用可能ですが、PROユーザーはより高いレート制限と特定の高性能モデルへのアクセスを得ます。

サポートされているモデルと機能

モデル サイズ コンテキスト長 主な用途
Meta Llama 3 Instruct 8B, 70B 8k tokens チャット
Mixtral 8x7B Instruct 45B MOE 32k tokens 高性能チャット
Nous Hermes 2 Mixtral 8x7B DPO 45B MOE 32k tokens Mixtralの高度なチューニング
Zephyr 7B β 7B 4k tokens チャット (7B重み)
Llama 2 Chat 7B, 13B 4k tokens 会話型AI
Mistral 7B Instruct v0.2 7B 4k tokens チャット (7B重み)
Code Llama Base 7B, 13B 4k tokens コードの自動補完/インフィル
Code Llama Instruct 34B 16k tokens 会話型コードアシスタント
Stable Diffusion XL 3B UNet - 画像生成
Bark 0.9B - テキストから音声への生成

技術的実装と統合

統合は、PROアカウントの認証トークンを使用してモデルのAPIエンドポイントにHTTP POSTリクエストを送信することで行われます。開発者は、curlまたはhuggingface_hub PythonライブラリのInferenceClientユーティリティを使用して、ストリームライズドアクセスを行うことができます。

Messages APIとOpenAI互換性

すべてのテキスト生成モデルは現在Messages APIをサポートしており、OpenAIクライアントライブラリおよびLangChainやLlamaIndexなどのフレームワークと互換性があります。これにより、開発者はbase_urlhttps://api-inference.huggingface.co/v1/に指定することで、openai Pythonクライアントを使用できます。

高度な生成制御

ユーザーは、いくつかの生成パラメータを使用してモデルの出力を微調整できます:

  • テキスト生成:
    • do_sample: 決定論的な貪欲探索 (False) と確率的サンプリング (True) を切り替えます。
    • temperature: 変動を制御します。コードには低い値が推奨され、オープンエンドテキストには高い値が推奨されます。
    • top_ktop_p: サンプリングプールを最も確率の高いトークンに制限します。
    • repetition_penalty: 繰り返し単語の出現確率を低減します。
    • max_new_tokens: 生成シーケンスの最大長を設定します。
  • 画像生成 (SDXL):
    • negative_prompt: 画像から除外するコンテンツを定義します。
    • guidance_scale: モデルがプロンプトにどれだけ厳密に従うかを制御します。
    • num_inference_steps: デノイジングステップの数を決定します(通常は20〜50)。

特殊な推論タスク

コードインフィリング

Code Llamaを使用して、プレフィックスとサフィックスのシーケンスを提供することで、「インフィリング」を実行できます。モデルは、フォーマット <PRE> {prefix} <SUF>{suffix} <MID> を使用して、その間に適合するコンテンツを予測します。

トークンストリーミング

認識されるレイテンシを低減し、ユーザー体験を向上させるため、APIはトークンストリーミングをサポートしています。InferenceClientstream=Trueを渡すか、curl-Nフラグを使用すると、トークンが生成されるたびに1つずつ返されます。

キャッシング

最近の結果は、パフォーマンスを向上させるためにデフォルトでキャッシュされます。サンプリング設定に関わらず新しい生成を強制するには、リクエストにHTTPヘッダー x-use-cache: 0 を追加できます。

使用上の推奨事項

Inference for PROsは実験とプロトタイピングを目的としています。大規模な本番アプリケーションについては、Hugging Faceは専用インフラストラクチャを提供するInference Endpointsの使用を推奨します。

Sources