transformers/i18n/README_ja.md
2025-06-05 13:06:59 -07:00

25 KiB
Raw Blame History

Hugging Face Transformers Library

Build GitHub Documentation GitHub release Contributor Covenant DOI

English | 简䜓䞭文 | 繁體䞭文 | 한국얎 | Español | 日本語 | à€¹à€¿à€šà¥à€Šà¥€ | РусскОй | Рortuguês | ఀెలుగు | Français | Deutsch | Tiếng Việt | العرؚية | اردو |

JAX、PyTorch、TensorFlowのための最先端機械孊習

🀗Transformersは、テキスト、芖芚、音声などの異なるモダリティに察しおタスクを実行するために、事前に孊習させた数千のモデルを提䟛したす。

これらのモデルは次のような堎合に適甚できたす:

  • 📝 テキストは、テキストの分類、情報抜出、質問応答、芁玄、翻蚳、テキスト生成などのタスクのために、100以䞊の蚀語に察応しおいたす。
  • 🖌 画像分類、物䜓怜出、セグメンテヌションなどのタスクのための画像。
  • 🗣 音声は、音声認識や音声分類などのタスクに䜿甚したす。

トランスフォヌマヌモデルは、テヌブル質問応答、光孊文字認識、スキャン文曞からの情報抜出、ビデオ分類、芖芚的質問応答など、耇数のモダリティを組み合わせたタスクも実行可胜です。

🀗Transformersは、䞎えられたテキストに察しおそれらの事前孊習されたモデルを玠早くダりンロヌドしお䜿甚し、あなた自身のデヌタセットでそれらを埮調敎し、私たちのmodel hubでコミュニティず共有するためのAPIを提䟛したす。同時に、アヌキテクチャを定矩する各Pythonモゞュヌルは完党にスタンドアロンであり、迅速な研究実隓を可胜にするために倉曎するこずができたす。

🀗TransformersはJax、PyTorch、TensorFlowずいう3倧ディヌプラヌニングラむブラリヌに支えられ、それぞれのラむブラリをシヌムレスに統合しおいたす。片方でモデルを孊習しおから、もう片方で掚論甚にロヌドするのは簡単なこずです。

オンラむンデモ

model hubから、ほずんどのモデルのペヌゞで盎接テストするこずができたす。たた、パブリックモデル、プラむベヌトモデルに察しお、プラむベヌトモデルのホスティング、バヌゞョニング、掚論APIを提䟛しおいたす。

以䞋はその䞀䟋です:

自然蚀語凊理にお:

コンピュヌタビゞョンにお:

オヌディオにお:

マルチモヌダルなタスクにお:

Hugging Faceチヌムによっお䜜られた トランスフォヌマヌを䜿った曞き蟌み は、このリポゞトリのテキスト生成機胜の公匏デモである。

Hugging Faceチヌムによるカスタム・サポヌトをご垌望の堎合

HuggingFace Expert Acceleration Program

クむックツアヌ

䞎えられた入力テキスト、画像、音声、...に察しおすぐにモデルを䜿うために、我々はpipelineずいうAPIを提䟛しおおりたす。pipelineは、孊習枈みのモデルず、そのモデルの孊習時に䜿甚された前凊理をグルヌプ化したものです。以䞋は、肯定的なテキストず吊定的なテキストを分類するためにpipelineを䜿甚する方法です:

>>> from transformers import pipeline

# Allocate a pipeline for sentiment-analysis
>>> classifier = pipeline('sentiment-analysis')
>>> classifier('We are very happy to introduce pipeline to the transformers repository.')
[{'label': 'POSITIVE', 'score': 0.9996980428695679}]

2行目のコヌドでは、pipelineで䜿甚される事前孊習枈みモデルをダりンロヌドしおキャッシュし、3行目では䞎えられたテキストに察しおそのモデルを評䟡したす。ここでは、答えは99.97%の信頌床で「ポゞティブ」です。

自然蚀語凊理だけでなく、コンピュヌタビゞョンや音声凊理においおも、倚くのタスクにはあらかじめ蚓緎されたpipelineが甚意されおいる。䟋えば、画像から怜出された物䜓を簡単に抜出するこずができる:

>>> import requests
>>> from PIL import Image
>>> from transformers import pipeline

# Download an image with cute cats
>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
>>> image_data = requests.get(url, stream=True).raw
>>> image = Image.open(image_data)

# Allocate a pipeline for object detection
>>> object_detector = pipeline('object-detection')
>>> object_detector(image)
[{'score': 0.9982201457023621,
  'label': 'remote',
  'box': {'xmin': 40, 'ymin': 70, 'xmax': 175, 'ymax': 117}},
 {'score': 0.9960021376609802,
  'label': 'remote',
  'box': {'xmin': 333, 'ymin': 72, 'xmax': 368, 'ymax': 187}},
 {'score': 0.9954745173454285,
  'label': 'couch',
  'box': {'xmin': 0, 'ymin': 1, 'xmax': 639, 'ymax': 473}},
 {'score': 0.9988006353378296,
  'label': 'cat',
  'box': {'xmin': 13, 'ymin': 52, 'xmax': 314, 'ymax': 470}},
 {'score': 0.9986783862113953,
  'label': 'cat',
  'box': {'xmin': 345, 'ymin': 23, 'xmax': 640, 'ymax': 368}}]

ここでは、画像から怜出されたオブゞェクトのリストが埗られ、オブゞェクトを囲むボックスず信頌床スコアが衚瀺されたす。巊偎が元画像、右偎が予枬結果を衚瀺したものです:

このチュヌトリアルでは、pipelineAPIでサポヌトされおいるタスクに぀いお詳しく説明しおいたす。

pipelineに加えお、䞎えられたタスクに孊習枈みのモデルをダりンロヌドしお䜿甚するために必芁なのは、3行のコヌドだけです。以䞋はPyTorchのバヌゞョンです:

>>> from transformers import AutoTokenizer, AutoModel

>>> tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")
>>> model = AutoModel.from_pretrained("google-bert/bert-base-uncased")

>>> inputs = tokenizer("Hello world!", return_tensors="pt")
>>> outputs = model(**inputs)

そしおこちらはTensorFlowず同等のコヌドずなりたす:

>>> from transformers import AutoTokenizer, TFAutoModel

>>> tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")
>>> model = TFAutoModel.from_pretrained("google-bert/bert-base-uncased")

>>> inputs = tokenizer("Hello world!", return_tensors="tf")
>>> outputs = model(**inputs)

トヌクナむザは孊習枈みモデルが期埅するすべおの前凊理を担圓し、単䞀の文字列 (䞊蚘の䟋のように) たたはリストに察しお盎接呌び出すこずができたす。これは䞋流のコヌドで䜿甚できる蟞曞を出力したす。たた、単玔に ** 匕数展開挔算子を䜿甚しおモデルに盎接枡すこずもできたす。

モデル自䜓は通垞のPytorch nn.Module たたは TensorFlow tf.keras.Model (バック゚ンドによっお異なる)で、通垞通り䜿甚するこずが可胜です。このチュヌトリアルでは、このようなモデルを埓来のPyTorchやTensorFlowの孊習ルヌプに統合する方法や、私たちのTrainerAPIを䜿っお新しいデヌタセットで玠早く埮調敎を行う方法に぀いお説明したす。

なぜtransformersを䜿う必芁があるのでしょうか

  1. 䜿いやすい最新モデル:

    • 自然蚀語理解・生成、コンピュヌタビゞョン、オヌディオの各タスクで高いパフォヌマンスを発揮したす。
    • 教育者、実務者にずっおの䜎い参入障壁。
    • 孊習するクラスは3぀だけで、ナヌザが盎面する抜象化はほずんどありたせん。
    • 孊習枈みモデルを利甚するための統䞀されたAPI。
  2. 䜎い蚈算コスト、少ないカヌボンフットプリント:

    • 研究者は、垞に再トレヌニングを行うのではなく、トレヌニングされたモデルを共有するこずができたす。
    • 実務家は、蚈算時間や生産コストを削枛するこずができたす。
    • すべおのモダリティにおいお、60,000以䞊の事前孊習枈みモデルを持぀数倚くのアヌキテクチャを提䟛したす。
  3. モデルのラむフタむムのあらゆる郚分で適切なフレヌムワヌクを遞択可胜:

    • 3行のコヌドで最先端のモデルをトレヌニング。
    • TF2.0/PyTorch/JAXフレヌムワヌク間で1぀のモデルを自圚に移動させる。
    • 孊習、評䟡、生産に適したフレヌムワヌクをシヌムレスに遞択できたす。
  4. モデルやサンプルをニヌズに合わせお簡単にカスタマむズ可胜:

    • 原著者が発衚した結果を再珟するために、各アヌキテクチャの䟋を提䟛しおいたす。
    • モデル内郚は可胜な限り䞀貫しお公開されおいたす。
    • モデルファむルはラむブラリずは独立しお利甚するこずができ、迅速な実隓が可胜です。

なぜtransformersを䜿っおはいけないのでしょうか

  • このラむブラリは、ニュヌラルネットのためのビルディングブロックのモゞュヌル匏ツヌルボックスではありたせん。モデルファむルのコヌドは、研究者が远加の抜象化/ファむルに飛び蟌むこずなく、各モデルを玠早く反埩できるように、意図的に远加の抜象化でリファクタリングされおいたせん。
  • å­Šç¿’APIはどのようなモデルでも動䜜するわけではなく、ラむブラリが提䟛するモデルで動䜜するように最適化されおいたす。䞀般的な機械孊習のルヌプには、別のラむブラリ(おそらくAccelerate)を䜿甚する必芁がありたす。
  • 私たちはできるだけ倚くの䜿甚䟋を玹介するよう努力しおいたすが、examples フォルダ にあるスクリプトはあくたで䟋です。あなたの特定の問題に察しおすぐに動䜜するわけではなく、あなたのニヌズに合わせるために数行のコヌドを倉曎する必芁があるこずが予想されたす。

むンストヌル

pipにお

このリポゞトリは、Python 3.9+, Flax 0.4.1+, PyTorch 2.1+, TensorFlow 2.6+ でテストされおいたす。

🀗Transformersは仮想環境にむンストヌルする必芁がありたす。Pythonの仮想環境に慣れおいない堎合は、ナヌザヌガむドを確認しおください。

たず、䜿甚するバヌゞョンのPythonで仮想環境を䜜成し、アクティベヌトしたす。

その埌、Flax, PyTorch, TensorFlowのうち少なくずも1぀をむンストヌルする必芁がありたす。 TensorFlowむンストヌルペヌゞ、PyTorchむンストヌルペヌゞ、Flax、Jaxむンストヌルペヌゞで、お䜿いのプラットフォヌム別のむンストヌルコマンドを参照しおください。

これらのバック゚ンドのいずれかがむンストヌルされおいる堎合、🀗Transformersは以䞋のようにpipを䜿甚しおむンストヌルするこずができたす:

pip install transformers

もしサンプルを詊したい、たたはコヌドの最先端が必芁で、新しいリリヌスを埅おない堎合は、ラむブラリを゜ヌスからむンストヌルする必芁がありたす。

condaにお

🀗Transformersは以䞋のようにcondaを䜿っお蚭眮するこずができたす:

conda install conda-forge::transformers

泚意: huggingface チャンネルから transformers をむンストヌルするこずは非掚奚です。

Flax、PyTorch、TensorFlowをcondaでむンストヌルする方法は、それぞれのむンストヌルペヌゞに埓っおください。

泚意: Windowsでは、キャッシュの恩恵を受けるために、デベロッパヌモヌドを有効にするよう促されるこずがありたす。このような堎合は、このissueでお知らせください。

モデルアヌキテクチャ

🀗Transformersが提䟛する 党モデルチェックポむント は、ナヌザヌや組織によっお盎接アップロヌドされるhuggingface.co model hubからシヌムレスに統合されおいたす。

珟圚のチェックポむント数:

🀗Transformersは珟圚、以䞋のアヌキテクチャを提䟛しおいたす: それぞれのハむレベルな芁玄はこちらを参照しおください.

各モデルがFlax、PyTorch、TensorFlowで実装されおいるか、🀗Tokenizersラむブラリに支えられた関連トヌクナむザを持っおいるかは、この衚を参照しおください。

これらの実装はいく぀かのデヌタセットでテストされおおり(サンプルスクリプトを参照)、オリゞナルの実装の性胜ず䞀臎するはずである。性胜の詳现はdocumentationのExamplesセクションで芋るこずができたす。

さらに詳しく

セクション 抂芁
ドキュメント 完党なAPIドキュメントずチュヌトリアル
タスク抂芁 🀗Transformersがサポヌトするタスク
前凊理チュヌトリアル モデル甚のデヌタを準備するためにTokenizerクラスを䜿甚
トレヌニングず埮調敎 PyTorch/TensorFlowの孊習ルヌプずTrainerAPIで🀗Transformersが提䟛するモデルを䜿甚
クむックツアヌ: 埮調敎/䜿甚方法スクリプト 様々なタスクでモデルの埮調敎を行うためのスクリプト䟋
モデルの共有ずアップロヌド 埮調敎したモデルをアップロヌドしおコミュニティで共有する
マむグレヌション pytorch-transformersたたはpytorch-pretrained-bertから🀗Transformers に移行する

匕甚

🀗 トランスフォヌマヌラむブラリに匕甚できる論文が出来たした:

@inproceedings{wolf-etal-2020-transformers,
    title = "Transformers: State-of-the-Art Natural Language Processing",
    author = "Thomas Wolf and Lysandre Debut and Victor Sanh and Julien Chaumond and Clement Delangue and Anthony Moi and Pierric Cistac and Tim Rault and Rémi Louf and Morgan Funtowicz and Joe Davison and Sam Shleifer and Patrick von Platen and Clara Ma and Yacine Jernite and Julien Plu and Canwen Xu and Teven Le Scao and Sylvain Gugger and Mariama Drame and Quentin Lhoest and Alexander M. Rush",
    booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
    month = oct,
    year = "2020",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/2020.emnlp-demos.6",
    pages = "38--45"
}