Files
transformers/docs/source/ja/philosophy.md
陈赣 06f1fd69a6
Some checks failed
Self-hosted runner (nightly-past-ci-caller) / Get number (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.11 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.10 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.9 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.8 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.7 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.6 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.5 (push) Has been cancelled
Self-hosted runner (benchmark) / Benchmark (aws-g5-4xlarge-cache) (push) Has been cancelled
Build documentation / build (push) Has been cancelled
Build documentation / build_other_lang (push) Has been cancelled
CodeQL Security Analysis / CodeQL Analysis (push) Has been cancelled
New model PR merged notification / Notify new model (push) Has been cancelled
PR CI / pr-ci (push) Has been cancelled
Slow tests on important models (on Push - A10) / Get all modified files (push) Has been cancelled
Secret Leaks / trufflehog (push) Has been cancelled
Update Transformers metadata / build_and_package (push) Has been cancelled
Slow tests on important models (on Push - A10) / Model CI (push) Has been cancelled
Check Tiny Models / Check tiny models (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Model CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Pipeline CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Example CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / DeepSpeed CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Trainer/FSDP CI (push) Has been cancelled
Nvidia CI - Flash Attn / Setup (push) Has been cancelled
Nvidia CI - Flash Attn / Model CI (push) Has been cancelled
Nvidia CI / Setup (push) Has been cancelled
Nvidia CI / Model CI (push) Has been cancelled
Nvidia CI / Torch pipeline CI (push) Has been cancelled
Nvidia CI / Example CI (push) Has been cancelled
Nvidia CI / Trainer/FSDP CI (push) Has been cancelled
Nvidia CI / DeepSpeed CI (push) Has been cancelled
Nvidia CI / Quantization CI (push) Has been cancelled
Nvidia CI / Kernels CI (push) Has been cancelled
Doctests / Setup (push) Has been cancelled
Doctests / Call doctest jobs (push) Has been cancelled
Doctests / Send results to webhook (push) Has been cancelled
Extras Smoke Test / Get supported Python versions (push) Has been cancelled
Extras Smoke Test / Test extras on Python ${{ matrix.python-version }} (push) Has been cancelled
Extras Smoke Test / Check Slack token availability (push) Has been cancelled
Extras Smoke Test / Notify failures to Slack (push) Has been cancelled
Self-hosted runner (AMD scheduled CI caller) / Trigger Scheduled AMD CI (push) Has been cancelled
Stale Bot / Close Stale Issues (push) Has been cancelled
first commit
2026-06-05 16:53:03 +08:00

7.5 KiB
Raw Permalink Blame History

Philosophy

🤗 Transformersは、次のような目的で構築された意見を持つライブラリです

  • 大規模なTransformersモデルを使用、研究、または拡張したい機械学習研究者および教育者。
  • これらのモデルを微調整したり、本番環境で提供したり、またはその両方を行いたい実務家。
  • 与えられた機械学習タスクを解決するために、事前トレーニングされたモデルをダウンロードして使用したいエンジニア。

このライブラリは、2つの強力な目標を持って設計されました

  1. できるだけ簡単かつ高速に使用できるようにすること:

    • ユーザー向けの抽象化を限りなく少なくし、実際、ほとんどの場合、抽象化はありません。 各モデルを使用するために必要な3つの標準クラスだけが存在します構成モデル、および前処理クラスNLP用のトークナイザ、ビジョン用のイメージプロセッサ、 オーディオ用の特徴抽出器、およびマルチモーダル入力用のプロセッサ)。
    • これらのクラスは、共通のfrom_pretrained()メソッドを使用して、事前トレーニング済みのインスタンスから簡単かつ統一された方法で初期化できます。このメソッドは、事前トレーニング済みのチェックポイントから関連するクラスのインスタンスと関連データ構成のハイパーパラメータ、トークナイザの語彙、モデルの重みをダウンロード必要な場合はキャッシュして読み込みます。これらの基本クラスの上に、ライブラリは2つのAPIを提供しています[パイプライン]は、特定のタスクでモデルをすばやく推論に使用するためのものであり、[Trainer]はPyTorchモデルを迅速にトレーニングまたは微調整するためのものですすべてのTensorFlowモデルはKeras.fitと互換性があります)。
    • その結果、このライブラリはニューラルネットワークのモジュラーツールボックスではありません。ライブラリを拡張または構築したい場合は、通常のPython、PyTorch、TensorFlow、Kerasモジュールを使用し、ライブラリの基本クラスから継承してモデルの読み込みと保存などの機能を再利用するだけです。モデルのコーディング哲学について詳しく知りたい場合は、Repeat Yourselfブログ投稿をチェックしてみてください。
  2. オリジナルのモデルにできるだけ近い性能を持つ最新のモデルを提供すること:

    • 各アーキテクチャに対して、公式な著者から提供された結果を再現する少なくとも1つの例を提供します。
    • コードは通常、可能な限り元のコードベースに近いものであり、これはPyTorchコードがTensorFlowコードに変換されることから生じ、逆もまた然りです。

その他のいくつかの目標:

  • モデルの内部をできるだけ一貫して公開すること:

    • フルな隠れ状態と注意の重みにアクセスできる単一のAPIを提供します。
    • 前処理クラスと基本モデルのAPIは標準化され、簡単にモデル間を切り替えることができます。
  • これらのモデルの微調整と調査のための有望なツールを主観的に選定すること:

    • 語彙と埋め込みに新しいトークンを追加するための簡単で一貫した方法。
    • Transformerヘッドをマスクおよびプルーンするための簡単な方法。
  • PyTorch、TensorFlow 2.0、およびFlaxの間を簡単に切り替えて、1つのフレームワークでトレーニングし、別のフレームワークで推論を行うことを可能にすること。

Main concepts

このライブラリは、各モデルについて次の3つのタイプのクラスを中心に構築されています

  • モデルクラスは、ライブラリで提供される事前トレーニング済みの重みと互換性のあるPyTorchモデルtorch.nn.Module、Kerasモデルtf.keras.ModelまたはJAX/Flaxモデルflax.linen.Module)を使用できます。
  • 構成クラスは、モデルを構築するために必要なハイパーパラメータを格納します(層の数や隠れ層のサイズなど)。これらを自分でインスタンス化する必要はありません。特に、変更を加えずに事前トレーニング済みモデルを使用している場合、モデルを作成すると自動的に構成がインスタンス化されるようになります(これはモデルの一部です)。
  • 前処理クラスは、生データをモデルが受け入れる形式に変換します。トークナイザは各モデルの語彙を保存し、文字列をトークン埋め込みのインデックスのリストにエンコードおよびデコードするためのメソッドを提供します。イメージプロセッサはビジョン入力を前処理し、特徴抽出器はオーディオ入力を前処理し、プロセッサはマルチモーダル入力を処理します。

これらのすべてのクラスは、事前トレーニング済みのインスタンスからインスタンス化し、ローカルに保存し、Hubで共有することができる3つのメソッドを使用しています

  • from_pretrained()は、ライブラリ自体によって提供される(モデルハブでサポートされているモデルがあります)か、ユーザーによってローカルに保存された(またはサーバーに保存された)事前トレーニング済みバージョンからモデル、構成、前処理クラスをインスタンス化するためのメソッドです。
  • save_pretrained()は、モデル、構成、前処理クラスをローカルに保存し、from_pretrained()を使用して再読み込みできるようにします。
  • push_to_hub()は、モデル、構成、前処理クラスをHubに共有し、誰でも簡単にアクセスできるようにします。