見出し画像

Huggingface Transformers 入門 (35) -Huggingface Accelerated Inference API

以下の記事を参考にして書いてます。

Huggingface Accelerated Inference API

 前回

1. Huggingface Accelerated Inference API

Huggingface Accelerated Inference API」は、10,000以上のTransformerモデルをシンプルなAPIで利用できるクラウドサービスです。最大100倍のスピードアップとスケーラビリティが組み込まれています。

特徴は、次のとおりです。

・10,000以上のTransformerモデルを利用可能。
・独自モデルを非公開でアップロード、管理、提供可能。
・分類、固有表現抽出、会話、要約、翻訳、質問応答、埋め込み抽出などのタスクを実行可能。
・推論を最大10倍高速化。
・1秒あたり1,000リクエストにスケーリング可能。
・大規模モデルを実行可能。

料金は、次のとおりです。無料でも 30k文字/月 まで利用できます。

2. APIトークンの取得

APIトークンの取得手順は、次のとおりです。

(1) Huggingfaceのサイトにログイン
(2) HuggingFaceプロファイルでAPIトークンを取得。

3. APIリクエストによる推論の実行

GPT-2で推論するコードは、次のとおりです。

import json
import requests

API_URL = "https://api-inference.huggingface.co/models/gpt2"
headers = {"Authorization": f"Bearer {API_TOKEN}"}

def query(payload):
    data = json.dumps(payload)
    response = requests.request("POST", API_URL, headers=headers, data=data)
    return json.loads(response.content.decode("utf-8"))

data = query("Can you please let us know more details about your ")

4. APIオプションとパラメータ

モデルのタスク(別名パイプライン)に応じて、リクエストは特定のパラメータを受け入れます。モデルを実行するリクエストを送信する場合、APIオプションを使用すると、キャッシュとモデルの読み込み動作、およびGPUでの推論を指定できます。

APIオプションとパラメータの詳細は、以下を参照してください。

5. CPU高速推論の使用(約10倍高速化)

APIはリクエストに対してCPU高速推論を自動的に有効にします。ローカルセットアップで推論する場合と比較して、最大10倍高速化します。具体的なパフォーマンスは、モデルと入力ペイロードによって異なります。

CPU高速推論が使用されていることは、リクエストの「x-compute-type」ヘッダが 「cpu + optimized」かどうかで確認できます。モデルが追加されたばかりの場合は、最適化されない場合もあります。

6. GPU高速推論の使用

GPU高速推論を使用するには、「Startupプラン」または「Enterpriseプラン」が必要です。リクエストのオプションを使用してモデルを指定する必要があります。

{"inputs": "...REGULAR INPUT...", "options": {"use_gpu": true}}

GPU高速推論を使用すると、全てのモデルで大幅な高速化が実現します。

GPU高速推論が使用されていることは、リクエストの「x-compute-type」ヘッダか「gpu」かどうかで確認できます。

7. 大型モデルの使用(> 10 Go)

大型モデルは、サービス品質を保護するために自動的にロードされません。利用したい場合はapi-inference@huggingface.coへの連絡が必要になります。

8. モデルのピン留め/プリロード

モデルハブで10,000を超えるモデルが利用可能であるため、全てをメモリにロードして、即座に推論できるわけではありません。本番環境で利用するお客様のモデルの可用性を保証するために、頻繁に使用されるモデルをAPIエンドポイントに固定することを提案します。これにより、いつでもすぐに推論できるようになります。

固定できるモデルの数は、選択したAPIプランによって異なります。あなたのアカウントでモデルのピン留めを行うには、api-enterprise@huggingface.coへの連絡が必要になります。

次回



この記事が気に入ったらサポートをしてみませんか?