huggingface/transformers
7 articles
前置知识
- ›Python 模块系统基础知识(sys.modules、__getattr__、__init__.py)
- ›理解 Python 的导入机制与包结构
- ›熟悉 frozenset 和 MutableMapping
01
`import transformers` 的工作原理:懒加载架构解析
深入剖析以 frozenset 为键的导入结构、_LazyModule 机制,以及自动模型发现机制——正是这套设计让 Transformers 在管理 450+ 种架构的同时,无需在启动时全部导入。
02
Auto 类:Transformers 如何将模型名称映射到代码
追踪从 Hub 模型名称经由 CONFIG_MAPPING_NAMES、_LazyAutoMapping 和 PreTrainedConfig 到最终模型类的完整解析链路。
03
深入模型内部:从 LlamaConfig 到 LlamaForCausalLM
全面剖析 LLaMA 模型层级结构:PreTrainedModel mixin、AttentionInterface 分发系统、Hub 内核热替换,以及单行 head 类的设计模式。
04
从 Hub 到 GPU:权重加载流水线
深入追踪 from_pretrained() 的完整流程,涵盖 meta device 初始化、safetensors 分片、量化器选择与设备映射调度。
05
生成引擎:model.generate() 如何生成文本
深入解析完整的文本生成流程:GenerationConfig 模式选择、KV-cache 层级体系、logits 处理管线、推测解码与流式输出。
06
Trainer:从数据到大规模梯度计算
深入解析 Trainer 的 train() → training_step() → compute_loss() 调用链、回调系统、分布式后端集成以及损失函数注册表。
07
Pipeline、Tokenizer 与 Transformers 的扩展机制
深入解析 pipeline() API、三后端 tokenizer 体系、多模态模型的 ProcessorMixin,以及向库中贡献新模型的扩展接口。