mcpField
T
transformers

transformers

github.com/crazymsn开发2336 次安装22 周前更新
代码仓库

关于 transformers

Transformers 技能介绍 Hugging Face Transformers,用于加载预训练模型、推理及微调,覆盖自然语言处理、计算机视觉、音频和多模态任务。

主要功能

  1. 01多任务 Pipeline 推理
  2. 02预训练模型加载与配置
  3. 03文本生成控制
  4. 04自定义数据集微调
  5. 05文本分词与预处理

适用场景

  1. 01快速原型验证模型任务
  2. 02生成或分类文本
  3. 03使用领域数据微调模型

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crazymsn/academic-skills --skill transformers

安装后在 Claude Code 中输入/transformers确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
generation.md
models.md
pipelines.md
tokenizers.md
training.md

详细介绍

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 - 分词和预处理

评论

支持 Markdown