关于 transformers
transformers 是使用 Hugging Face Transformers 库加载、运行和微调预训练模型的技能,覆盖文本、视觉、音频及多模态任务,面向构建推理与训练流程的开发者。
主要功能
- 01常见推理任务的 Pipeline
- 02预训练模型加载与控制
- 03支持多种解码选项的文本生成
- 04使用 Trainer API 微调
- 05分词与输入预处理
适用场景
- 01快速验证文本分类或生成
- 02运行图像或音频推理
- 03用自定义数据调整模型
- 04准备批量模型输入
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill transformers安装后在 Claude Code 中输入/transformers确认已加载。
附带文件SKILL.json
详细介绍
Transformers
概述
Hugging Face Transformers 库提供了对数千个预训练模型的访问,涵盖 NLP、计算机视觉、音频和多模态领域的任务。使用此技能可加载模型、执行推理,并在自定义数据上进行微调。
安装
安装 transformers 及核心依赖:
uv pip install torch transformers datasets evaluate accelerate
对于视觉任务,添加:
uv pip install timm pillow
对于音频任务,添加:
uv pip install librosa soundfile
身份验证
Hugging Face Hub 上的许多模型需要身份验证。设置访问权限:
from huggingface_hub import login
login() # Follow prompts to enter token
或设置环境变量:
export HUGGINGFACE_TOKEN="your_token_here"
在以下地址获取令牌:https://huggingface.co/settings/tokens
快速开始
使用 Pipeline API 进行快速推理,无需手动配置:
from transformers import pipeline
# Text generation
generator = pipeline("text-generation", model="gpt2")
result = generator("The future of AI is", max_length=50)
# Text classification
classifier = pipeline("text-classification")
result = classifier("This movie was excellent!")
# Question answering
qa = pipeline("question-answering")
result = qa(question="What is AI?", context="AI is artificial intelligence...")
核心能力
1. 用于快速推理的 Pipelines
用于跨多种任务的简单、优化推理。支持文本生成、分类、NER、问答、摘要、翻译、图像分类、目标检测、音频分类等。
使用场景:快速原型设计、简单推理任务、无需自定义预处理。
有关全面的任务覆盖和优化,请参阅 references/pipelines.md。
2. 模型加载与管理
加载预训练模型,并对配置、设备放置和精度进行细粒度控制。
使用场景:自定义模型初始化、高级设备管理、模型检查。
有关加载模式和最佳实践,请参阅 references/models.md。
3. 文本生成
使用大模型通过各种解码策略(贪婪、束搜索、采样)和控制参数(temperature、top-k、top-p)生成文本。
使用场景:创意文本生成、代码生成、对话式 AI、文本补全。
有关生成策略和参数,请参阅 references/generation.md。
4. 训练与微调
使用 Trainer API 在自定义数据集上微调预训练模型,支持自动混合精度、分布式训练和日志记录。
使用场景:任务特定模型适配、领域适配、提升模型性能。
有关训练工作流和最佳实践,请参阅 references/training.md。
5. 分词
将文本转换为 token 和 token ID 以供模型输入,并支持填充、截断和特殊 token 处理。
使用场景:自定义预处理流水线、理解模型输入、批处理。
有关分词细节,请参阅 references/tokenizers.md。
常见模式
模式 1:简单推理
对于直接的任务,使用 pipelines:
pipe = pipeline("task-name", model="model-id")
output = pipe(input_data)
模式 2:自定义模型使用
对于高级控制,分别加载模型和分词器:
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("model-id")
model = AutoModelForCausalLM.from_pretrained("model-id", device_map="auto")
inputs = tokenizer("text", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=100)
result = tokenizer.decode(outputs[0])
模式 3:微调
对于任务适配,使用 Trainer:
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir="./results",
num_train_epochs=3,
per_device_train_batch_size=8,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
)
trainer.train()
参考文档
有关特定组件的详细信息:
- Pipelines:
references/pipelines.md- 所有支持的任务和优化 - Models:
references/models.md- 加载、保存和配置 - Generation:
references/generation.md- 文本生成策略和参数 - Training:
references/training.md- 使用 Trainer API 进行微调 - Tokenizers:
references/tokenizers.md- 分词和预处理