mcpField
T
transformers

transformers

github.com/jackspace開発1640 回インストール12 週間前に更新
リポジトリ

transformers について

transformersは、Hugging Face Transformersライブラリで事前学習済みモデルを読み込み、実行・ファインチューニングするスキルです。テキスト、画像、音声、マルチモーダルの推論や学習を行う開発者向けです。

主な機能

  1. 01一般的な推論タスク向けPipeline
  2. 02事前学習済みモデルの読み込みと制御
  3. 03複数のデコード方式によるテキスト生成
  4. 04Trainer APIによるファインチューニング
  5. 05トークン化と入力の前処理

活用シーン

  1. 01テキスト分類や生成の試作
  2. 02画像・音声推論の実行
  3. 03独自データによるモデル調整
  4. 04バッチ入力の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jackspace/claudeskillz --skill transformers

インストール後、Claude Code で/transformersを入力して読み込まれたか確認します。

同梱ファイルSKILL.json

詳細

Transformers

概要

Hugging Face Transformers ライブラリは、NLP、コンピュータービジョン、音声、マルチモーダルの各領域にわたる数千の事前学習済みモデルへのアクセスを提供します。このスキルを使用すると、モデルの読み込み、推論の実行、カスタムデータでのファインチューニングを行えます。

インストール

transformers とコア依存関係をインストールします:

uv pip install torch transformers datasets evaluate accelerate

ビジョンタスクの場合は、次を追加します:

uv pip install timm pillow

音声タスクの場合は、次を追加します:

uv pip install librosa soundfile

認証

Hugging Face Hub 上の多くのモデルでは認証が必要です。アクセスを設定します:

from huggingface_hub import login
login()  # Follow prompts to enter token

または、環境変数を設定します:

export HUGGINGFACE_TOKEN="your_token_here"

トークンの取得先: https://huggingface.co/settings/tokens

クイックスタート

手動での設定なしで高速に推論を行うには、Pipeline API を使用します:

from transformers import pipeline

# Text generation
generator = pipeline("text-generation", model="gpt2")
result = generator("The future of AI is", max_length=50)

# Text classification
classifier = pipeline("text-classification")
result = classifier("This movie was excellent!")

# Question answering
qa = pipeline("question-answering")
result = qa(question="What is AI?", context="AI is artificial intelligence...")

主な機能

1. クイック推論のためのパイプライン

多くのタスクに対して、シンプルで最適化された推論を行うために使用します。テキスト生成、分類、NER、質問応答、要約、翻訳、画像分類、物体検出、音声分類などをサポートしています。

使用する場面: 簡単なプロトタイピング、シンプルな推論タスク、カスタムの前処理が不要な場合。

タスクの網羅的な一覧と最適化については、references/pipelines.md を参照してください。

2. モデルの読み込みと管理

設定、デバイス配置、精度を細かく制御しながら、事前学習済みモデルを読み込みます。

使用する場面: カスタムモデルの初期化、高度なデバイス管理、モデルの検査。

読み込みパターンとベストプラクティスについては、references/models.md を参照してください。

3. テキスト生成

さまざまなデコーディング戦略(貪欲法、ビームサーチ、サンプリング)と制御パラメーター(temperature、top-k、top-p)を使用して、LLM でテキストを生成します。

使用する場面: 創作的なテキスト生成、コード生成、対話型 AI、テキスト補完。

生成戦略とパラメーターについては、references/generation.md を参照してください。

4. 学習とファインチューニング

Trainer API を使用して、自動混合精度、分散学習、ロギングを備えたカスタムデータセットでの事前学習済みモデルのファインチューニングを行います。

使用する場面: タスク固有のモデル適応、ドメイン適応、モデル性能の向上。

学習ワークフローとベストプラクティスについては、references/training.md を参照してください。

5. トークナイゼーション

パディング、トランケーション、特殊トークンの処理を伴って、テキストをモデル入力用のトークンとトークン ID に変換します。

使用する場面: カスタムの前処理パイプライン、モデル入力の理解、バッチ処理。

トークナイゼーションの詳細については、references/tokenizers.md を参照してください。

よくあるパターン

パターン 1: シンプルな推論

簡単なタスクには、パイプラインを使用します:

pipe = pipeline("task-name", model="model-id")
output = pipe(input_data)
パターン 2: カスタムモデルの利用

高度な制御を行うには、モデルとトークナイザーをそれぞれ個別に読み込みます:

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("model-id")
model = AutoModelForCausalLM.from_pretrained("model-id", device_map="auto")

inputs = tokenizer("text", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=100)
result = tokenizer.decode(outputs[0])
パターン 3: ファインチューニング

タスクへの適応には、Trainer を使用します:

from transformers import Trainer, TrainingArguments

training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=8,
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
)

trainer.train()

リファレンスドキュメント

特定のコンポーネントの詳細情報:

  • パイプライン: references/pipelines.md - サポートされているすべてのタスクと最適化
  • モデル: references/models.md - 読み込み、保存、設定
  • 生成: references/generation.md - テキスト生成の戦略とパラメーター
  • 学習: references/training.md - Trainer API によるファインチューニング
  • トークナイザー: references/tokenizers.md - トークナイゼーションと前処理

コメント