AIモデル分類の地図 — 「タスク=入力×出力」で理解する
AIモデルはどう分類されているのか。世界最大のハブHugging Faceの分類を“正しく”理解すると、『やりたいこと』から必要なモデル・エッジ実装まで一直線に辿れるようになります。その鍵は『タスク=入力と出力の形』という即物的な見方です。
この記事の要点(30秒で理解)
- 🧭
Hugging Faceは「理解/生成/変換」のような抽象的な“働きの方向”ではモデルを分けない。一次の軸は『タスク(=pipeline type)』で、その正体は「入力と出力の“形”(I/Oシェイプ)」です。
- 🗂️
そのタスク群を、NLP・Audio・Computer Vision・Multimodal・Tabular…といった『モダリティ』で束ねている。分類は意図的に粗く、細かい区別は別タグで補います。
- ➡️
だから「text-to-image」「image-to-text」「any-to-any」という命名がそのまま示す通り、真の軸は(入力モダリティ × 出力モダリティ)のグリッドで、タスク名は各セルの呼び名です。
HFの一次軸 — モダリティ群 × 代表タスク
Hugging Faceはまず、タスク(pipeline type)をモダリティでグループ化します。 『タスク=モデルAPIの入力・出力の“形”』であり、この分類は意図的に粗い粒度です (根拠: HF Hub Docs: Tasks、 Transformers: Pipelines)。
| モダリティ群 | 代表タスク(pipeline type=I/Oの形) |
|---|---|
| Multimodal(多モーダル) | Image-Text-to-Text(VLM対話)、Visual/Document QA、Video-Text-to-Text、Any-to-Any |
| Computer Vision(画像) | Image Classification、Object Detection、Image Segmentation、Depth Estimation、Text-to-Image、Image-to-Image、Image-to-Video、Image-to-3D、Keypoint/Mask、Zero-Shot系 |
| NLP(自然言語) | Text Generation、Text/Token Classification、Question Answering、Translation、Summarization、Sentence Similarity、Feature Extraction、Fill-Mask、Zero-Shot Classification |
| Audio(音声) | Automatic Speech Recognition、Text-to-Speech、Text-to-Audio、Audio Classification、Audio-to-Audio、Voice Activity Detection |
| Tabular(表形式) | Tabular Classification、Tabular Regression、Time Series Forecasting |
| Reinforcement Learning / Robotics | Reinforcement Learning、Robotics |
| Other | Graph Machine Learning ほか |
代表タスクは抜粋。網羅リストは huggingface.co/tasks や modelsの左サイドバーが正です。
一番の勘所 — タスク名は「入力 × 出力」のセル
text-to-image・image-to-text・any-to-any——命名がそのまま示す通り、真の軸は(入力モダリティ × 出力モダリティ)のグリッド。 タスク名はその各セルの呼び名です。入力側と出力側で異なる2つのモダリティを持つものが“多モーダルタスク”です (根拠: HF Learn)。
| 入力 \ 出力 | → テキスト | → 画像 | → 音声 | → その他(3D/動画/ラベル/数値) |
|---|---|---|---|---|
| テキスト | Text Generation / 翻訳 / 要約 / QA | Text-to-Image | Text-to-Speech / Text-to-Audio | Text-to-Video / Text-to-3D |
| 画像 | Image-to-Text(キャプション) / VQA / OCR | Image-to-Image(超解像・編集) | — | Image Classification / Object Detection / Segmentation / Image-to-3D |
| 音声 | ASR(音声認識) | — | Audio-to-Audio(ノイズ除去・変換) | Audio Classification / VAD |
| 表 / 時系列 | — | — | — | Tabular Classification・Regression / Time Series Forecasting |
「やりたいこと」を “入力 → 出力” の矢印に言い換えると、探すべきタスク名(=検索キーワード)が一意に決まります。 例: 「録音 → 文字」=ASR、「文章 → 画像」=Text-to-Image。
タスクと直交する“横断フィルタ”
タスクが粗いぶん、細かい絞り込みは別軸(ファセット)で行います。タスクと掛け合わせて使うのがコツです。 なおHub全体は Models / Datasets / Spaces に分かれ、 Datasets側は「Domain(Text/Image/Audio/Multimodal)× Task × Language」で切られています。
Libraries
Transformers / Diffusers / PEFT / GGUF / ONNX など、実装・形式での絞り込み。
Languages
対応言語での絞り込み(日本語・英語…)。
Licenses
Apache-2.0 / MIT / 商用可否 などライセンスでの絞り込み。
Datasets
学習に使われたデータセットでの絞り込み。
もう一つの見方 — 抽象的な「5方向」との対応
「AIが概念的に何をするか」を 理解/生成/変換/推論・行動/学習・適応 の5方向で捉える見方もあります。 これはHFの即物的なI/O軸とは“層”が違うので衝突しません。HFのタスクは、矢印を見れば機械的にこの方向へ畳めます。
| 概念的な方向 | 対応するHFタスク | 本質 |
|---|---|---|
| ① 理解・認識 | Image Classification / Object Detection / ASR / QA / Visual QA | 入力→ラベルや答え |
| ② 生成 | Text / Image / Video / Audio Generation、Text-to-3D | 指示→新しい中身 |
| ③ 変換・編集 | Translation / Summarization / Image-to-Image / Audio-to-Audio / 超解像 | あるモダリティ→同種を変形 |
| ④ 推論・行動 | (HFでは“タスク”でなく Agents / smolagents / Spaces 側) | I/Oの形でなく“機能” |
| ⑤ 学習・適応 | (HFでは“タスク”でなく Libraries: PEFT / TRL / AutoTrain・Jobs 側) | I/Oの形でなく“ライフサイクル” |
ここが学びどころ: ①②③(理解・生成・変換)はそのままHFの“タスク”(I/Oのセル)になりますが、 ④推論・行動 と ⑤学習・適応 は“タスク”に並びません。前者はAgents、後者はLibraries(PEFT/TRL)やJobs側です。 理由は明快で、それらは「入出力の形」ではなく「機能・ライフサイクル」だから。分類の“層”が違うのです。
タスクが分かれば、エッジ実装まで一直線
I/Oの形(タスク)が決まると、必要なエッジ実装も芋づる式に決まります。たとえばText GenerationならGGUF+llama.cpp/Ollama、Object Detection/SegmentationならONNX RuntimeやMediaPipe、という具合です。 「やりたいこと→タスク→実装」の地図がつながります。
よくある質問
Q. なぜHugging Faceは「理解/生成」みたいに分けないのですか?
HFの目的が『モデルを動かす(推論する)こと』だからです。タスク(=pipeline type)は、そのモデルに“何を入れて何が出るか”という入出力の形(I/Oシェイプ)を表し、これによってどの推論API・どのウィジェットを出すかを機械的に決められます。『概念的に何をするか』より『運用上どう繋ぐか』を優先した、極めて即物的な分類です(根拠: HF Hub Docs)。
Q. タスクとタグは違うものですか?
はい。タスク(pipeline type)は意図的に“粗い”分類で、major use caseを少数のカテゴリーで覆います。それより細かい区別(言語・ライブラリ・ライセンス・データセット等)は、タスクと直交する別のファセット(タグ)で付けられます。だから『画像分類 × 日本語 × Apache-2.0 × ONNX』のように掛け合わせて絞り込めます。
Q. ④推論・行動 と ⑤学習・適応 がタスク表に無いのはなぜ?
それらが『入出力の形』ではないからです。エージェント的な推論・行動はAgents/Spaces側、ファインチューニング等の学習・適応はLibraries(PEFT/TRL/AutoTrain)やJobs側に置かれます。HF自身も学習を推論タスクと別建てにしており、機能・ライフサイクルはタスク軸と層が違う、という設計です。
Q. この分類を知ると、実務で何が変わりますか?
『やりたいこと』を“入力→出力”の矢印に翻訳できれば、探すべきHFタスク名(=検索キーワード)が一意に決まります。例えば『録音から文字を起こしたい』→ Audio→Text = ASR。タスク名が分かれば、必要なエッジ実装(GGUF/llama.cpp、ONNX、MediaPipe等)まで芋づる式に辿れます。
この記事の限界・要検証(自己レビュー)
- タスク一覧・モダリティ区分はHF公式ドキュメントに基づく抜粋です。最新の網羅リストは huggingface.co/tasks・models の左サイドバーをご確認ください(タスクは随時追加されます)。
- 「5方向」への畳み込みは理解のための整理であり、HF公式の区分ではありません(整理・経験則)。境界例(例: 超解像は変換か生成か)は文脈で揺れます。
- I/Oグリッドは代表例のみを記載。実際には同じセルに複数タスク、複数モダリティをまたぐタスク(any-to-any)もあります。