项目简介
Curated Transformers 是一个基于 PyTorch 的 transformer 库,专注于提供由一系列可重用组件构成的、最先进的模型。这些模型在自然语言处理领域中表现出色,无论是用于研究还是生产环境。项目的核心特点包括支持最先进的 transformer 模型,提供灵活的模块化组件,以及简化新模型的集成过程。
项目特点
支持顶尖模型
Curated Transformers 支持一些最新的 transformer 模型,如大型语言模型(LLM)Falcon、Llama 和 Dolly v2。这些模型因其出色的性能而被广泛使用,并已经在多个应用场景中进行了验证。
模块化设计
每一个模型都是由多个可重用的模块化组件组合而成。这样的设计带来许多好处,比如:
- 如果某个模块更新了功能或修复了漏洞,那么所有使用该模块的模型都会受益。
- 通过支持
bitsandbytes
库,所有模型都支持 4/8 位的推理。此外,每个模型还能使用 PyTorch 的meta
设备来避免不必要的分配和初始化,从而提高效率。 - 添加新模型变得更加轻松。
- 想尝试一个新的 transformer 架构?比如加入旋转嵌入的 BERT 编码器?这些尝试都能快速实现。
代码支持和类型注解
所有公共 API 都有一致的类型注解,这对开发者来说是个福音:
- 得到来自集成开发环境(IDE)的极佳代码支持。
- 能很好地与现有的类型检查代码集成。
教育用途
因其模块化的设计特点,Curated Transformers 对于教学也非常友好。每个模块容易研究,适合于模型架构的深入学习和了解。
减少依赖
Curated Transformers 尽可能减少对外部库的依赖,使其简洁、高效。
支持的模型架构
Curated Transformers 支持多种模型架构,包括:
- 编码器模型:ALBERT, BERT, CamemBERT, RoBERTa, XLM-RoBERTa
- 解码器模型:Falcon, GPT-NeoX, Llama 1/2, MPT
- 生成器模型:Dolly v2, Falcon, Llama 1/2, MPT
所有这些模型都可以从 Huggingface Hub 加载。
安装指南
要安装 Curated Transformers,只需在终端运行下面的命令:
pip install curated-transformers
CUDA 支持
默认的 Linux 版 PyTorch 内置了对 CUDA 11.7 的支持,如果您需要在 Windows 或者 Linux 上使用新一代的 Ada GPUs,建议安装支持 CUDA 11.8 版本的 PyTorch,以获得更好的性能:
pip install torch --index-url https://download.pytorch.org/whl/cu118
使用示例
以下是 Curated Transformers 的一个简单使用示例:
import torch
from curated_transformers.generation import AutoGenerator, GreedyGeneratorConfig
generator = AutoGenerator.from_hf_hub(name="tiiuae/falcon-7b-instruct", device=torch.device("cuda"))
responses = generator(["What is Python in one sentence?", "What is Rust in one sentence?"], GreedyGeneratorConfig())
print(responses)
这段代码展示了如何使用 AutoGenerator
从 Huggingface Hub 加载模型,并进行简单的文本生成。更多使用示例可在其文档中找到。
文档与支持
Curated Transformers 提供了详细的文档,包含使用指南、API 参考及更多使用示例。用户可以通过以下链接访问相关文档:
量化支持
Curated Transformers 通过 bitsandbytes
库支持动态 8 位和 4 位量化。用户可以通过以下命令自动安装必要的依赖:
pip install curated-transformers[quantization]
Curated Transformers 致力于提供易用、高效的 transformer 模型,满足研究人员和开发者的多样需求。无论您是想进行快速的实验还是构建稳健的生产环境,Curated Transformers 都可能是一个值得尝试的选择。