Hugging Face Transformer リポジトリ

最終更新: 2025-08-30 03:16:59 +0800 +0800
原文は英語で書かれています。あなたはAI翻訳版を読んでいます。

Hugging Face の transformers ライブラリは、モデル実装、前処理ユーティリティ、トレーニング統合機能、事前学習済みモデルを簡単に読み込むための API を提供します。互換性のあるモデルリポジトリは、モデルと入力をライブラリが再構築できるようにする、バージョン管理されたモデル成果物と設定ファイルの集合です。

リポジトリの内容 #

一般的なリポジトリには、config.json などのモデル設定、model.safetensors などのサポートされている形式の重みファイル、前処理用の成果物が含まれます。テキストモデルにはトークナイザーファイルが含まれることが多く、ビジョン、音声、マルチモーダルモデルには、画像、特徴抽出器、プロセッサ、生成設定のファイルが含まれる場合があります。

設定はアーキテクチャとハイパーパラメータを識別します。重みファイルには学習済みパラメータが格納されます。前処理ファイルも同様に重要です。異なるトークナイザー語彙、正規化規則、画像サイズを使用すると、重み自体は有効でも誤った結果が生成される可能性があります。

ダウンロードした重みファイルには、可能な限り safetensors を使用してください。この形式は、デシリアライズ時に Python コードを実行しません。信頼できないソースから取得した pickle 化された PyTorch 成果物は安全でないものとして扱ってください。

リポジトリの読み込み #

Auto クラスはリポジトリのメタデータを調べ、適切な実装を選択します。

python
from transformers import AutoModel, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("organization/model-name")
model = AutoModel.from_pretrained("organization/model-name")

AutoModelForSequenceClassification などのタスク固有のバリアントは、リポジトリが対応するヘッドを公開している場合に使用してください。再現可能なアプリケーションでは、リビジョンまたはコミットハッシュを固定してください。これにより、変更されるリポジトリブランチがデプロイメントを予告なく変更することを防げます。

パイプラインと低レベル API #

pipeline() は、探索や単純なアプリケーションに適した高レベルインターフェースです。低レベル API を使用すると、トークン化、バッチ処理、デバイス、生成設定、後処理をより細かく制御できます。

python
inputs = tokenizer("A short example", return_tensors="pt")
outputs = model(**inputs)

適切なレベルの選択は設計上の判断であり、品質に関する評価ではありません。パイプラインは定型コードを削減します。一方、アプリケーションで明示的な制御やカスタム動作が必要な場合は、モデルを直接呼び出す方法が適しています。

モデルの公開 #

公開前に、別のユーザーが推論を再現できるだけのメタデータを含めてください。アーキテクチャ設定、重み、必要なトークナイザーまたはプロセッサーファイル、ライセンス、想定タスク、制限事項、使用例が必要です。必要でない限り、任意のリモートコードを要求しないでください。リモートコードを有効にするユーザーは、それが自身の Python 環境で実行されるため、内容を確認して固定する必要があります。

コメント

GitHub で閲覧・コメントする(投稿にはログインが必要です)