AI・機械学習
中級
TAPT(タスク適応的事前学習)(ティーエーピーティー)
特定のダウンストリームタスクに関連するデータのみを用いてモデルを追加事前学習する手法。DAPTより小規模データで効率的に特化できる。
0 回閲覧
0 いいね
2026/6/8 更新
関連タグ
tapt
task-adaptation
continual-pretraining
domain-adaptation
few-shot-learning
TAPT(Task-Adaptive Pre-Training)とは
TAPTはTask-Adaptive Pre-Trainingの略で、ファインチューニングするタスクに直接関連するラベルなしテキストを使って、モデルを追加事前学習する手法です。2020年のAllenAI論文「Don't Stop Pretraining」で体系化されました。
DAPTとの違い
DAPT: 医療ドメイン全体(数TB)→ BioBERT
TAPT: 医療QAタスクの質問文のみ(数MB)→ Task-Specific Model
TAPTの特徴:
- データ量が少ない: タスクのラベルなしデータは通常数千〜数万件
- タスク特化度が高い: そのタスクに必要な分布に集中学習
- 計算コストが低い: 数時間〜1日で完了可能
最適な組み合わせ戦略
論文の実験結果によると、効果の高い順は:
- DAPT + TAPT: ドメイン適応後にタスク適応(最高精度)
- TAPT のみ: 汎用モデルに直接タスク適応
- DAPT のみ: タスク非依存のドメイン適応
- ベースモデルのみ: 追加適応なし(ベースライン)
LLM時代のTAPT実装
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir="./tapt-model",
num_train_epochs=3,
per_device_train_batch_size=8,
learning_rate=2e-5,
warmup_ratio=0.1,
lr_scheduler_type="cosine",
)
LLM時代の代替アプローチとの比較
- In-Context Learning(ICL): Few-shotでタスク例を与える(追加学習不要)
- LoRA TAPT: TAPT対象データでLoRA適応(パラメータ効率的)
- Instruction Tuning: タスクをQ&A形式に変換してSFT
TAPTは特にドメイン文書の量が限られた場合(希少疾患医療・ニッチ法律分野等)に、SFTデータ作成コストを抑えながら精度向上できる実用的手法です。