pipeline() は、タスク名とモデル名を渡すだけで「前処理 → モデル → 後処理」をまとめて動かす transformers の関数です。 モデルは Hugging Face Hub から初回に自動でダウンロードされ、キャッシュ(~/.cache/huggingface/hub)に保存されます。

from transformers import pipeline

clf = pipeline("text-classification", model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
print(clf("This movie is disgustingly good !"))
# ソースの docstring の例の出力:[{'label': 'POSITIVE', 'score': 1.0}]

transformers 5 で変わった主な点は次のとおりです。以前の記事のコードがそのまま動かないときは、まずここを見ます。

変わった点 v5(5.19.0)での結果 移り先
summarization・translation・question-answering・text2text-generation KeyError: The task ... has been removed text-generation とチャットモデル
TensorFlow・Flax(JAX) 使えない。PyTorch だけ PyTorch
torch_dtype= 動くが非推奨の警告 dtype=(既定は "auto")
TRANSFORMERS_CACHE 読まれない HF_HOME・HF_HUB_CACHE
use_auth_token= 非推奨 token=
load_in_8bit=True 削除 quantization_config=BitsAndBytesConfig(...)

確認環境:transformers 5.19.0(pip の最新版)・huggingface_hub 2.2.0・tokenizers 0.23.3・safetensors 0.8.0・fugashi と unidic-lite・Python 3.11.15(Linux)。タスクの一覧と既定のモデル、削除されたタスクのエラー、トークナイザーと設定(config)の保存・読み込み、キャッシュの場所と環境変数、オフラインでの読み込みとエラー、PyTorch が無いときのエラーは、この版で実行して確かめました。トークナイザーと設定は、手元で作った極小のもの(語彙144語・隠れ層32次元の BERT の設定)を使いました。モデルの推論の出力・GPU の指定・量子化は、transformers のソース(docstring)と huggingface.co/docs/transformers の記載に基づきます(確認日 2026年10月13日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Hugging Face transformers入門|pipelineとタスク一覧」

インストール

pip install "transformers[torch]"      # transformers と PyTorch・accelerate
pip install "transformers[torch,sentencepiece]"   # SentencePiece を使うモデル(T5 など)
pip install fugashi unidic-lite        # MeCab で分ける日本語 BERT を使うとき
項目 内容
Python 3.10 以上(パッケージの Requires-Python: >=3.10.0)
PyTorch 2.5 以上([torch] の指定は torch>=2.5・accelerate>=1.1.0)
必ず入るもの huggingface-hub・tokenizers・safetensors・numpy など
GPU 版の PyTorch pytorch.org の手順で、CUDA の版に合うものを入れる

pip install transformers だけでは PyTorch は入りません。 その状態で import すると、次の1行が表示されました。トークナイザーと設定は使えますが、モデルは読み込めません。

[transformers] PyTorch was not found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.

仮想環境の作り方は、関連記事「Python venvの使い方|仮想環境の作成・有効化・削除をOS別にコピペ」で扱っています。

pipeline のタスク一覧

5.19.0 の pipeline が受け付けるタスクは24個でした(transformers.pipelines.SUPPORTED_TASKS の件数)。model= を省いたときに使われる既定のモデルも、ソースに書かれています。

タスク名 何をするか 入力 既定のモデル
text-classification 文の分類(感情など) 文 distilbert-base-uncased-finetuned-sst-2-english
token-classification 単語ごとの分類(固有表現など) 文 dbmdz/bert-large-cased-finetuned-conll03-english
zero-shot-classification 学習なしで任意のラベルに分類 文+ラベル facebook/bart-large-mnli
fill-mask 穴埋め [MASK] を含む文 distilbert/distilroberta-base
feature-extraction 文のベクトル(特徴量) 文 distilbert/distilbert-base-cased
text-generation 文の生成・チャット 文・メッセージ HuggingFaceTB/SmolLM3-3B
table-question-answering 表への質問 表+質問 google/tapas-base-finetuned-wtq
document-question-answering 文書画像への質問 画像+質問 impira/layoutlm-document-qa
automatic-speech-recognition 音声の文字起こし 音声 facebook/wav2vec2-base-960h
audio-classification 音声の分類 音声 superb/wav2vec2-base-superb-ks
zero-shot-audio-classification 学習なしで音声を分類 音声+ラベル laion/clap-htsat-fused
text-to-audio 文から音声 文 suno/bark-small
image-classification 画像の分類 画像 google/vit-base-patch16-224
image-feature-extraction 画像のベクトル 画像 google/vit-base-patch16-224
zero-shot-image-classification 学習なしで画像を分類 画像+ラベル openai/clip-vit-base-patch32
image-segmentation 領域の切り分け 画像 facebook/detr-resnet-50-panoptic
object-detection 物体の検出 画像 facebook/detr-resnet-50
zero-shot-object-detection 学習なしで物体を検出 画像+ラベル google/owlvit-base-patch32
depth-estimation 奥行きの推定 画像 Intel/dpt-large
mask-generation マスクの生成 画像 facebook/sam-vit-huge
keypoint-matching 2枚の画像の対応点 画像2枚 magic-leap-community/superglue_outdoor
image-text-to-text 画像を見て答える(VLM) 画像+文 Qwen/Qwen3-VL-2B-Instruct
video-classification 動画の分類 動画 MCG-NJU/videomae-base-finetuned-kinetics
any-to-any 複数の種類の入出力 文・画像・音声など google/gemma-3n-E4B-it

別名は sentiment-analysis(= text-classification)・ner(= token-classification)・text-to-speech(= text-to-audio)の3つでした。

既定のモデルの多くは英語用です。 日本語の文を分類するなら、日本語で学習したモデルを model= で指定します。model= を省くと、次の警告が出ました。

[transformers] No model was supplied, defaulted to distilbert/distilbert-base-uncased-finetuned-sst-2-english and revision 714eb0f.
Using a pipeline without specifying a model name and revision in production is not recommended.

v5 で無くなったタスクと移り先

要約・翻訳・質問応答(抽出型)は、5.19.0 では KeyError になりました。

KeyError: 'The task summarization has been removed from transformers. Use the `text-generation` pipeline with a chat model instead. See the migration guide for more details: https://github.com/huggingface/transformers/blob/main/MIGRATION_GUIDE_V5.md#pipelines'
以前のタスク名 5.19.0 移り先(移行ガイド)
summarization KeyError(removed) text-generation + チャットモデルに「要約して」と頼む
translation・translation_xx_to_yy KeyError(removed) 同上
question-answering KeyError(removed) 同上
text2text-generation KeyError(removed) 同上
image-to-text・visual-question-answering 一覧に無い image-text-to-text
image-to-image 一覧に無い Diffusers
conversational KeyError: Unknown task text-generation にメッセージのリストを渡す

pipeline の基本の書き方

分類・穴埋め・ゼロショット分類

from transformers import pipeline

clf = pipeline("text-classification", model="モデル名", device="cpu")

clf("とても良い映画でした")                          # 1件
clf(["良かった", "つまらなかった"], batch_size=8)    # まとめて
clf("とても良い映画でした", top_k=None)              # 全ラベルのスコア

zsc = pipeline("zero-shot-classification", model="モデル名")
zsc("VPNにつながりません", candidate_labels=["障害", "質問", "要望"])
よく使う引数 意味 既定(ソースで確認)
model モデル名(Hub の ID)かローカルのフォルダ タスクの既定モデル
revision ブランチ・タグ・コミット main
device "cpu"・0・"cuda:1"・"mps" 使えるアクセラレータ、無ければ CPU
device_map "auto" で複数 GPU・CPU に自動で配置 なし
dtype 読み込む精度(torch.bfloat16 など) "auto"(保存された精度)
batch_size まとめて推論する件数 なし(1件ずつ)
token 非公開・同意が必要なモデルのトークン 保存済みのトークン
trust_remote_code モデルのリポジトリにある Python コードを実行するか なし(実行しない)
model_kwargs from_pretrained に渡す追加の引数 なし

device を省くと、CUDA・MPS などのアクセラレータがあればそこに、無ければ CPU に置かれます(ソースの docstring)。dtype="auto" は、モデルを保存したときの精度で読み込む指定です。ドキュメントでは、batch_size は「必ず速くなるとは限らない。CPU や、入力の長さがばらばらのときは向かない」とされています。

trust_remote_code=True は、Hub からダウンロードした Python のコードを手元で実行します。中身を確かめたリポジトリだけに付けます。

文の生成とチャット:text-generation

from transformers import pipeline
import torch

gen = pipeline("text-generation", model="モデル名", dtype=torch.bfloat16, device_map="auto")

# 文字列を渡す
out = gen("RAGとは", max_new_tokens=100, return_full_text=False)
print(out[0]["generated_text"])

# チャットモデルにはメッセージのリストを渡す
messages = [
    {"role": "system", "content": "短く答えます。"},
    {"role": "user", "content": "次の文を3行で要約して:..."},
]
out = gen(messages, max_new_tokens=200, do_sample=False)
print(out[0]["generated_text"][-1]["content"])   # 最後が assistant の返答

ソースの docstring の例では、メッセージのリストを渡すと generated_text に会話の全部が入り、最後に {'role': 'assistant', 'content': 'Paris'} が足されて返ります。文字列を渡したときは、既定(return_full_text=True)で入力の文も含めて返るので、新しく作った部分だけ欲しいときは return_full_text=False を付けます。

モデルの generation_config.json に指定が無いとき、text-generation の既定は max_new_tokens=256・do_sample=True・temperature=0.7 です(ソースの docstring)。同じ入力で同じ答えにしたいときは do_sample=False を付けます。

AutoTokenizer・AutoModel:pipeline の中身を自分で書く

pipeline は、トークナイザー(文 → 数値の列)とモデル(数値の列 → 結果)をつないだものです。 出力を細かく扱いたいとき、学習(ファインチューニング)するときは、2つを自分で使います。

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

name = "モデル名"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForSequenceClassification.from_pretrained(name)
model.eval()

inputs = tokenizer(["良かった", "つまらなかった"], padding=True, truncation=True, max_length=128, return_tensors="pt")
with torch.no_grad():
    logits = model(**inputs).logits
probs = logits.softmax(dim=-1)
for p in probs:
    i = int(p.argmax())
    print(model.config.id2label[i], float(p[i]))
クラス 用途 対応する pipeline
AutoTokenizer 文 → input_ids・attention_mask (全部の文のタスク)
AutoConfig モデルの設定(層の数・ラベル名など) -
AutoModel 最後の層の出力(ベクトル)だけ feature-extraction
AutoModelForSequenceClassification 文の分類 text-classification
AutoModelForTokenClassification 単語ごとの分類 token-classification
AutoModelForMaskedLM 穴埋め fill-mask
AutoModelForCausalLM 文の生成 text-generation
AutoProcessor 画像・音声の前処理(+トークナイザー) 画像・音声のタスク

Auto で始まるクラスは、config.json の model_type(例:bert)を見て、合うクラス(BertTokenizer・BertForSequenceClassification など)を選びます。

トークナイザーの動き(手元の極小モデルで確認)

手元で作った極小のトークナイザー(語彙144語)を save_pretrained() で保存し、AutoTokenizer.from_pretrained("./tiny") で読み込んだ結果です。

from transformers import AutoTokenizer

t = AutoTokenizer.from_pretrained("./tiny")
enc = t("有給休暇の申請は前日までです。")
print(enc)
print(t.convert_ids_to_tokens(enc["input_ids"]))

batch = t(["経費精算は月末締めです。", "在宅勤務"], padding=True, truncation=True,
          max_length=16, return_tensors="np")
print({k: v.shape for k, v in batch.items()})
print(batch["attention_mask"])
{'input_ids': [2, 139, 100, 93, 22, 3], 'attention_mask': [1, 1, 1, 1, 1, 1]}
['[CLS]', '有給休暇の申請は前', '##日まで', '##です', '。', '[SEP]']
{'input_ids': (2, 4), 'attention_mask': (2, 4)}
[[1 1 1 1]
 [1 1 1 0]]
  • 文の前後に [CLS](2)と [SEP](3)が自動で付く
  • padding=True で短い文の後ろが埋められ、attention_mask の 0 が「埋めた部分」を表す
  • return_tensors="np" は NumPy、"pt" は PyTorch のテンソルで返す

PyTorch が無い状態で return_tensors="pt" を指定すると、ImportError: Unable to convert output to PyTorch tensors format, PyTorch is not installed. になりました。v5 では、AutoTokenizer が返すクラスは TokenizersBackend でした(移行ガイドでは、以前の「slow」「fast」の2種類が1つにまとめられ、TokenizersBackend が優先して使われるとあります)。

設定(config)だけを読む・作る

from transformers import AutoConfig, BertConfig

config = BertConfig(hidden_size=32, num_hidden_layers=2, num_attention_heads=2,
                    intermediate_size=64, num_labels=2,
                    id2label={0: "NEGATIVE", 1: "POSITIVE"}, label2id={"NEGATIVE": 0, "POSITIVE": 1})
config.save_pretrained("./tiny")                  # config.json ができる

c = AutoConfig.from_pretrained("./tiny")
print(type(c).__name__, c.model_type, c.hidden_size, c.id2label)
BertConfig bert 32 {0: 'NEGATIVE', 1: 'POSITIVE'}

config.json だけなら数 KB なので、モデル本体をダウンロードする前に、層の数・語彙の数・扱える長さ(max_position_embeddings)・ラベル名を確かめられます。ドキュメントでは、AutoModelForSequenceClassification.from_config(config) で、この設定からランダムな重みのモデルを作れます(動作確認やテスト用)。

日本語モデルの選び方の観点

日本語の文を扱うなら、日本語のデータで学習したモデルを選びます。 Hub のモデルのページ(モデルカード)で、次の点を確かめます。

観点 確かめること 理由
タスク 分類用に学習済みか、事前学習だけか 事前学習だけのモデルは、分類にはファインチューニングが要る
学習データの言語 日本語を含むか 英語用のモデルは日本語を細かく分けすぎる
トークナイザー MeCab(fugashi)・SentencePiece など何で分けるか 追加のパッケージが要ることがある
大きさ パラメータ数(例:110M・7B) メモリと速さが決まる
扱える長さ max_position_embeddings・コンテキスト長 長い文は切り捨てられる
ライセンス 商用で使えるか Apache-2.0・MIT・独自ライセンスなど
trust_remote_code 必要か 必要なら独自のコードを実行する

トークナイザーで、分かれ方が大きく変わる

日本語は単語の間に空白がありません。空白で区切る前提のトークナイザーと、MeCab(形態素解析)で区切るトークナイザーでは、同じ文の分かれ方がまったく違いました。

空白で区切る極小のトークナイザー:['[CLS]', '有給休暇の申請は前', '##日まで', '##です', '。', '[SEP]']
MeCab(unidic-lite)で区切る:     ['有給', '休暇', 'の', '申請', 'は', '前日', 'まで', 'です', '。']

MeCab で区切る日本語 BERT(BertJapaneseTokenizer)は、fugashi と辞書が要ります。入れていないと、次のエラーになりました。

ModuleNotFoundError: You need to install fugashi to use MecabTokenizer. See https://pypi.org/project/fugashi/ for installation.

pip install fugashi unidic-lite(または pip install "transformers[ja]")で入ります。[ja] を付けると fugashi・ipadic・unidic_lite・unidic・sudachipy など日本語用のパッケージがまとめて入る指定でした。どの辞書を使うかはモデルの tokenizer_config.json で決まります。

検索用の文のベクトルを作るなら、feature-extraction より、文の埋め込み用に学習したモデル(sentence-transformers の形のもの)が向いています。考え方は、関連記事「エンベディングとは?ベクトル検索とコサイン類似度を計算例で解説」で扱っています。

GPU・CPU とメモリの目安

モデルの重みが使うメモリは、だいたい「パラメータ数 × 1つあたりのバイト数」です。 推論では、これに入力の長さに応じた作業用のメモリが足されます。

精度 1つあたり 110M(BERT base 程度) 7B 70B
float32 4 バイト 約 0.44 GB 約 28 GB 約 280 GB
bfloat16・float16 2 バイト 約 0.22 GB 約 14 GB 約 140 GB
8bit 量子化 1 バイト - 約 7 GB 約 70 GB
4bit 量子化 0.5 バイト - 約 3.5 GB 約 35 GB

(重みだけの計算値です。GB は 10 の 9 乗バイトで計算しています。)

  • BERT 程度の分類モデルは、CPU でも動く大きさです。件数が多いときは GPU のほうが速くなります
  • 数 B(数十億)以上の生成モデルは、GPU のメモリに重みが収まるかを先に計算します
  • ドキュメントでは、device_map="auto" は GPU に収まらない分を CPU などに分けて置きます(遅くなります)
  • 量子化は bitsandbytes を入れて、model_kwargs={"quantization_config": BitsAndBytesConfig(load_in_8bit=True)} で指定します(v5 では load_in_8bit=True を直接渡す書き方は削除)
import torch
from transformers import pipeline

print(torch.cuda.is_available())     # GPU が使えるか

gen = pipeline("text-generation", model="モデル名",
               dtype=torch.bfloat16,  # 半分のメモリで読む
               device_map="auto")     # GPU に入らない分は自動で分ける
print(gen.model.device, gen.model.dtype)

キャッシュの場所と環境変数

ダウンロードしたモデルは、既定で ~/.cache/huggingface/hub に保存されます。 環境変数を変えたときの場所を、huggingface_hub 2.2.0 の constants で表示しました。

設定した環境変数 HF_HOME HF_HUB_CACHE(モデルの置き場所)
なし ~/.cache/huggingface ~/.cache/huggingface/hub
HF_HOME=/data/hf /data/hf /data/hf/hub
HF_HUB_CACHE=/data/hub ~/.cache/huggingface /data/hub
XDG_CACHE_HOME=/xdg /xdg/huggingface /xdg/huggingface/hub
TRANSFORMERS_CACHE=/old/cache ~/.cache/huggingface ~/.cache/huggingface/hub(読まれない)

TRANSFORMERS_CACHE は v5 では読まれませんでした。 移行ガイドにも、TRANSFORMERS_CACHE・PYTORCH_TRANSFORMERS_CACHE は削除され、HF_HOME を使うとあります。ディスクの大きい場所に置きたいときは HF_HOME を設定します。

環境変数 意味 既定
HF_HOME Hugging Face のファイル全体の置き場所(トークンも) ~/.cache/huggingface
HF_HUB_CACHE モデル・データセットのキャッシュだけ $HF_HOME/hub
HF_HUB_OFFLINE 1 で Hub に接続しない 無効
HF_TOKEN アクセストークン なし($HF_HOME/token も読む)
HF_ENDPOINT 接続先(ミラーなど) https://huggingface.co
HF_HUB_DOWNLOAD_TIMEOUT ダウンロードの待ち時間(秒) 10
HF_HUB_DISABLE_TELEMETRY 1 で利用統計を送らない 無効
HTTPS_PROXY プロキシ(移行ガイドでは環境変数で指定) なし

TRANSFORMERS_OFFLINE=1 も、huggingface_hub 側で HF_HUB_OFFLINE と同じ扱いになっていました(constants.py で両方を読む)。.env に書いて読ませる方法は、関連記事「.envの使い方と注意点|APIキーを安全に管理する方法」で扱っています。

キャッシュの中身と、消し方

~/.cache/huggingface/hub/
└── models--example--tiny-bert/        ← models--{組織}--{名前}
    ├── blobs/                         ← 本体(ファイル名は sha256)
    ├── refs/main                      ← main が指すコミットのハッシュ
    └── snapshots/{コミットのハッシュ}/
        ├── config.json -> ../../blobs/9c56cc...
        ├── tokenizer.json -> ../../blobs/03b4b7...
        └── tokenizer_config.json -> ../../blobs/5ac4e7...

snapshots の中は blobs へのシンボリックリンクです。同じファイルは版が変わっても1つだけ保存されます。手元でこの形を作り、hf cache ls で一覧を出した結果です。

hf cache ls                     # 一覧とサイズ
hf cache rm model/example/tiny-bert   # 消す
hf cache prune                  # 使われていない版・途中のダウンロードを消す
ID                      SIZE LAST_ACCESSED     LAST_MODIFIED     REFS
----------------------- ---- ----------------- ----------------- ----
model/example/tiny-bert 6.4K a few seconds ago a few seconds ago main

Found 1 repo(s) for a total of 1 revision(s) and 6.4K on disk.

hf env で、使われているキャッシュの場所(HF_HUB_CACHE)とトークンの場所を確かめられます。

オフラインで使う

インターネットにつながらないサーバーで使うには、つながる環境で先にダウンロードし、そのファイルを持ち込みます。 方法は2つです。

方法1:キャッシュごと持ち込み、HF_HUB_OFFLINE=1 で読む

# つながる環境で
hf download モデル名                         # ~/.cache/huggingface/hub に入る
# キャッシュのフォルダ($HF_HOME/hub)をオフラインのサーバーへコピー

# オフラインのサーバーで
export HF_HOME=/data/hf
export HF_HUB_OFFLINE=1
python app.py                                # from_pretrained("モデル名") がキャッシュから読む

手元で作ったキャッシュ(上の models--example--tiny-bert)を HF_HUB_OFFLINE=1 で読むと、Hub に接続せずに読み込めました。

from transformers import AutoTokenizer, AutoConfig

t = AutoTokenizer.from_pretrained("example/tiny-bert")   # キャッシュから
print(type(t).__name__, t("経費精算は月末締めです。")["input_ids"])
print(AutoConfig.from_pretrained("example/tiny-bert").num_labels)
TokenizersBackend [2, 143, 22, 3]
2

方法2:フォルダに保存し、パスで読む

# つながる環境で
from huggingface_hub import snapshot_download
snapshot_download(repo_id="モデル名", local_dir="./models/my-model")
# または:tokenizer.save_pretrained("./models/my-model"); model.save_pretrained("./models/my-model")

# オフラインのサーバーで
tokenizer = AutoTokenizer.from_pretrained("./models/my-model")
model = AutoModelForSequenceClassification.from_pretrained("./models/my-model")
clf = pipeline("text-classification", model="./models/my-model")

フォルダのパスを渡すと、キャッシュも Hub も使いません。ドキュメントでは、from_pretrained(..., local_files_only=True) でもキャッシュとローカルのファイルだけを読む指定になります。

オフライン・プロキシで出たエラー

状況 エラー(手元の結果)
HF_HUB_OFFLINE=1 で、キャッシュに無いモデル OSError: We couldn't connect to 'https://huggingface.co' to load the files, and couldn't find them in the cached files. ...
local_files_only=True で、キャッシュに無いモデル 同上
プロキシで huggingface.co が通らない OSError: Can't load the configuration of '...'. ... make sure '...' is the correct path to a directory containing a config.json file(元の例外は ProxyError('403 Forbidden'))
フォルダのパスの書き間違い(./tinyy) OSError: Repo id must use alphanumeric chars, '-', '_' or '.'. ...: './tinyy'.

プロキシで止められたときも、表に出るのは「設定が読み込めない」という OSError でした。 原因は例外の __context__(ProxyError('403 Forbidden'))に入っていました。モデル名が正しいのに読み込めないときは、トレースバックの上のほうにある元の例外を見ます。フォルダのパスを書き間違えると、フォルダが無いので Hub のモデル名として扱われ、「Repo id」のエラーになります。

よくあるエラーと原因

エラー 原因 直し方
KeyError: 'The task summarization has been removed ...' v5 で要約・翻訳・質問応答のタスクが削除 text-generation とチャットモデル
KeyError: "Unknown task conversational, ..." v5 に無いタスク名 上の一覧のタスク名にする
ImportError: AutoModel requires the PyTorch library but it was not found PyTorch が入っていない pip install "transformers[torch]"
NameError: name 'torch' is not defined(pipeline で) PyTorch が入っていない状態で pipeline を作った 同上
ModuleNotFoundError: You need to install fugashi ... MeCab で区切る日本語モデル pip install fugashi unidic-lite
OSError: We couldn't connect to 'https://huggingface.co' ... オフラインでキャッシュに無い 先にダウンロードして持ち込む
OSError: Can't load the configuration of ... モデル名の誤り、非公開モデル、プロキシ 名前・token=・プロキシを確かめる
CUDA out of memory GPU のメモリ不足 dtype=torch.bfloat16、量子化、batch_size を小さく
Token indices sequence length is longer than the specified maximum 入力がモデルの扱える長さより長い truncation=True, max_length=...
torch_dtype is deprecated! Use dtype instead! v5 で名前が変わった dtype=

非公開や利用の同意が必要なモデル(gated model)は、Hub のページで同意してから、hf auth login か HF_TOKEN でトークンを渡します。エラーをまとめて AI に聞くときの渡し方は、関連記事「エラーを生成AIに聞くプロンプトの書き方|スタックトレースの渡し方」で扱っています。

よくある質問

Q. pipeline と AutoModel、どちらを使いますか。 A. 推論の結果だけが欲しいなら pipeline のほうが短く書けます。ロジット(確率にする前の値)を使う、前処理を変える、学習するときは AutoTokenizer と AutoModelFor... を使います。

Q. 要約や翻訳は v5 ではできませんか。 A. 専用のタスクは無くなりましたが、text-generation でチャットモデルに「要約して」「英語に訳して」とメッセージで頼む書き方になります(移行ガイド)。

Q. ローカル LLM を手軽に動かすだけなら? A. 生成だけが目的なら、Ollama のように重みの取得とサーバーをまとめて扱うツールもあります。関連記事「Ollamaの使い方|ローカルLLMのコマンド一覧とAPIの呼び方」で扱っています。

Q. RAG に使えますか。 A. 埋め込み(feature-extraction や文の埋め込み用のモデル)と生成(text-generation)の両方を transformers で動かせます。組み立て方は、関連記事「RAGの作り方|Pythonで動かす最小構成と精度の上げ方」で扱っています。

まとめ

  • pip install "transformers[torch]"。v5 は PyTorch だけ。PyTorch が無いとトークナイザーと設定しか使えない
  • pipeline("タスク名", model="モデル名")。5.19.0 のタスクは24個、既定のモデルは英語用が多い
  • 要約・翻訳・質問応答は v5 で削除。text-generation とチャットモデルで書く
  • 精度は dtype=(torch_dtype は非推奨)、置き場所は device=・device_map="auto"
  • メモリは パラメータ数 × バイト数(7B の bfloat16 で約 14 GB)が重みの目安
  • キャッシュは ~/.cache/huggingface/hub。場所は HF_HOME(TRANSFORMERS_CACHE は読まれない)
  • オフラインは キャッシュを持ち込んで HF_HUB_OFFLINE=1、または フォルダに保存してパスで読む
  • 日本語は、学習データ・トークナイザー(fugashi などの追加パッケージ)・ライセンスを確かめて選ぶ

参考・出典

確認日はいずれも 2026年10月13日です。

  • Hugging Face ドキュメント「Installation」:https://huggingface.co/docs/transformers/installation
  • Hugging Face ドキュメント「Pipeline」:https://huggingface.co/docs/transformers/pipeline_tutorial
  • Hugging Face ドキュメント「Pipelines」(API):https://huggingface.co/docs/transformers/main_classes/pipelines
  • GitHub「transformers MIGRATION_GUIDE_V5.md」:https://github.com/huggingface/transformers/blob/main/MIGRATION_GUIDE_V5.md
  • Hugging Face ドキュメント「Manage huggingface_hub cache-system」:https://huggingface.co/docs/huggingface_hub/guides/manage-cache
  • Hugging Face ドキュメント「Environment variables」(huggingface_hub):https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables
  • PyPI「transformers」:https://pypi.org/project/transformers/

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Hugging Face transformers入門|pipelineとタスク一覧」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?