Read OSS

huggingface/transformers

7 articles

前提知識

01

`import transformers` の仕組み:遅延ロードアーキテクチャ

frozenset をキーとするインポート構造、_LazyModule、そして450以上のアーキテクチャを起動時にすべてインポートせずに管理する自動モデル探索の仕組みを解説します。

02

Auto クラス:Transformers がモデル名をコードにマッピングする仕組み

Hub のモデル名から CONFIG_MAPPING_NAMES、_LazyAutoMapping、PreTrainedConfig を経て正しいモデルクラスに到達するまでの解決チェーンを追う。

03

モデルの内側:LlamaConfigからLlamaForCausalLMまで

LLaMAモデル階層の全体像を解剖する。PreTrainedModelのmixin群、AttentionInterfaceのディスパッチシステム、Hubカーネルのホットスワップ、そして1行で書けるヘッドクラスの仕組みを詳しく解説します。

04

Hub から GPU へ:重みロードのパイプライン

from_pretrained() のパイプラインを追いながら、meta デバイス初期化・safetensors シャーディング・量子化器の選択・デバイスマップへのディスパッチまでを解説します。

05

生成エンジンの内側:model.generate() がテキストを生成する仕組み

テキスト生成パイプラインを全工程にわたって解説します。GenerationConfig によるモード選択、KV キャッシュの階層構造、logits 処理、投機的デコーディング、そしてストリーミングまで。

06

Trainer:データから大規模な勾配計算まで

Trainer の train() → training_step() → compute_loss() の処理フロー、コールバックシステム、分散バックエンドとの統合、そして損失関数レジストリを詳しく解説します。

07

Pipeline、Tokenizer、そして Transformers の拡張

pipeline() API、3バックエンド構成のトークナイザシステム、マルチモーダルモデル向け ProcessorMixin、そして新しいモデルをコントリビュートするための拡張ポイント。