Transformersは、Hugging Faceによって開発されたオープンソースの機械学習フレームワークで、テキスト、画像、音声、マルチモーダルタスクの推論と学習をサポートする高度なモデル定義を提供することに重点を置いています。Transformersは、自然言語処理、コンピュータビジョン、音声認識などの分野をカバーする100万以上の事前学習済みモデルを提供しており、学術研究や商業開発で広く利用されています。ユーザーはモデルを素早くロードし、テキスト生成、画像セグメンテーション、音声認識などのタスクをシンプルなコードで実行できる。このフレームワークは頻繁に更新されており、最新バージョンではKyutai-STTやColQwen2などの新しいモデルをサポートし、常に最先端の技術に対応しています。
機能一覧
- 複数のタスクをサポートし、テキスト生成、音声認識、画像分類などの操作を簡素化するパイプラインAPI。
- 自然言語処理、コンピュータビジョン、マルチモーダルタスクをカバーする100万以上の事前学習済みモデルを提供します。
- PyTorch、TensorFlow、Flaxと互換性があり、複数の学習・推論フレームワークをサポートしている。
- Hugging Face Hubからのモデルのダウンロードとキャッシュをサポート。
- コマンドラインツールの提供
transformers serve
以下は、OpenAI準拠のHTTPサーバーをサポートしているHTTPサーバーのリストです。 - モデルの微調整と学習をサポートし、DeepSpeedやPyTorch-Lightningなどの複数の学習フレームワークに適応。
- Kyutai-STT(音声テキスト化)、ColQwen2(文書検索)などの最新機種をサポート。
ヘルプの使用
設置プロセス
Transformersはインストールが簡単で、Python 3.9以上の環境をサポートしています。 依存関係の衝突を避けるために仮想環境を使用することをお勧めします。詳しいインストール手順は以下の通りです:
- 仮想環境の構築
Pythonのvenv
モジュールを使って仮想環境を作る:python -m venv transformers_env source transformers_env/bin/activate # Linux/Mac transformers_env\Scripts\activate # Windows
- 変圧器の設置
利用するpip
最新の安定版をインストールしてください:pip install transformers
GPUサポートが必要な場合は、適切なCUDAドライバがインストールされていることを確認し、以下のコマンドを実行してGPUの可用性をチェックします:
python -c "import torch; print(torch.cuda.is_available())"
最新の機能を体験するには、GitHubから開発版をインストールすることができる:
pip install git+https://github.com/huggingface/transformers
- インストールの確認
インストールが完了したら、以下のコマンドを実行してテストする:from transformers import pipeline print(pipeline('sentiment-analysis')('hugging face is awesome'))
出力は次のようになるはずです。
{'label': 'POSITIVE', 'score': 0.9998}
の結果である。
パイプラインAPIの使用
パイプラインAPIは、テキスト生成、音声認識、画像セグメンテーションなど、さまざまなタスクをサポートする。その仕組みは以下の通りだ:
- テキスト生成
テキスト生成にはPipeline APIを使用します:from transformers import pipeline generator = pipeline(task="text-generation", model="Qwen/Qwen2.5-1.5B") result = generator("The secret to baking a really good cake is") print(result[0]["generated_text"])
モデルは自動的にダウンロードされ、デフォルトのディレクトリにキャッシュされる。
~/.cache/huggingface/hub
.ユーザーは環境変数TRANSFORMERS_CACHE
キャッシュパスを変更する。 - 音声認識
音声読み上げタスクについては、パイプラインAPIも同様にシンプルだ:from transformers import pipeline asr = pipeline(task="automatic-speech-recognition", model="openai/whisper-large-v3") result = asr("https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/mlk.flac") print(result["text"])
出力は音声ファイルのテキスト内容で、例えば "I have a dream ...... "となる。
- コマンドライン・インタラクション
Transformersはコマンドラインツールを提供するtransformers serve
をクリックすると、OpenAI APIと互換性のあるHTTPサーバーが起動します:transformers serve
ユーザーはHTTPリクエストでこのモデルを操作できるので、他のアプリケーションへの統合に適している。
オフラインでの使用
Transformersはオフラインモードをサポートしており、ネットワークのない環境に適しています。ユーザーは以下の手順で設定できる:
- モデルをローカルにダウンロードする:
from huggingface_hub import snapshot_download snapshot_download(repo_id="meta-llama/Llama-2-7b-hf", repo_type="model")
- オフラインモードを有効にする環境変数を設定する:
export HF_HUB_OFFLINE=1
- ローカルモデルをロードする:
from transformers import LlamaForCausalLM model = LlamaForCausalLM.from_pretrained("./path/to/local/directory", local_files_only=True)
オフラインモードは、モデルのロードがネットワークに依存しないことを保証し、生産環境に適しています。
特集:新モデル対応
トランスフォーマーは、最新モデルをサポートするために常に更新されています。例えば
- キュータイSTTMimi コーデックに基づく音声テキスト変換モデルで、ストリーミング音声処理をサポートします。プレビュー版をインストールしてください:
pip install git+https://github.com/huggingface/transformers@v4.52.4-Kyutai-STT-preview
- ColQwen2ページ画像の視覚的特徴を扱う文書検索のモデル。設置方法は同様:
pip install git+https://github.com/huggingface/transformers@v4.52.4-ColQwen2-preview
これらのモデルは次のバージョン(例えばv4.53.0)で正式にリリースされ、ユーザーは事前に体験することができる。
微調整とトレーニング
Transformersはモデルの微調整をサポートし、幅広いトレーニングフレームワークと互換性があります。ユーザーは run_clm.py
言語モデル学習用スクリプト:
HF_HUB_OFFLINE=1 python examples/pytorch/language-modeling/run_clm.py --model_name_or_path meta-llama/Llama-2-7b-hf --dataset_name wikitext
この機能は、モデルをカスタマイズする必要がある開発者に適している。
アプリケーションシナリオ
- 学術研究
研究者は、自然言語処理やコンピュータビジョンにおける迅速な実験のために、Transformersを使用して事前にトレーニングされたモデルをロードします。例えば、新しいアルゴリズムをテストする際、Hugging Face Hubモデルを直接呼び出すことができ、トレーニング時間を節約することができます。 - 事業開発
企業開発者はTransformersを使ってチャットボット、音声アシスタント、画像解析ツールを構築します。例えば、パイプラインAPIを使用して、製品に統合するためのテキスト生成や音声認識機能を迅速に導入できます。 - 教育と学習
学生や初心者はTransformersでディープラーニングを学び、学習前のモデルとシンプルなコードを用いてテキストの分類や翻訳などのタスクを練習し、学習のハードルを下げます。
品質保証
- Transformersはどのようなプログラミングフレームワークに対応していますか?
TransformersはPyTorch、TensorFlow、Flaxと互換性があり、DeepSpeed、PyTorch-Lightning、vLLMといった様々な学習・推論フレームワークをサポートしている。 - モデルのダウンロードのキャッシュはどのように処理するのですか?
モデルはデフォルトで~/.cache/huggingface/hub
これは環境変数TRANSFORMERS_CACHE
パスを変更する設定HF_HUB_OFFLINE=1
オフラインモードを有効にすると、ローカルモデルのみをロードすることができます。 - トランスフォーマーを使うにはGPUが必要ですか?
必須ではないが、TransformersはCPU操作をサポートし、GPUは推論とトレーニングを加速する。CUDA依存のインストールを避けるため、CPUのみのバージョンもインストール可能。