awesome-huggingface
这是一个整合了Hugging Face库的一些精彩的开源项目和应用列表。
🤗 官方库
由❤️ Hugging Face制作的第一方酷炫产品。
- transformers - 适用于Jax、PyTorch和TensorFlow的最先进的自然语言处理。
- datasets - 用于机器学习模型的最大现成NLP数据集中心,具有快速、易用和高效的数据操作工具。
- tokenizers - 为研究和生产优化的快速先进分词器。
- knockknock - 只需两行代码即可在训练结束时收到通知。
- accelerate - 通过多GPU、TPU、混合精度简单训练和使用PyTorch模型的方式。
- autonlp - 自动化训练最先进的自然语言处理模型并在可扩展环境中部署。
- nn_pruning - 在微调或训练时修剪模型。
- huggingface_hub - 用于在huggingface.co集线器下载和发布模型和其他文件的客户端库。
- tune - 比较基于Transformer模型的基准。
👩🏫 教程
逐步学习如何使用Hugging Face工具箱。
- 官方课程 (来自Hugging Face) - 由🤗 Hugging Face提供的官方课程系列。
- transformers-tutorials (by @nielsrogge) - 多个模型在实际数据集上应用的教程。
🧰 NLP工具包
基于Transformers构建的NLP工具包。瑞士军刀一样的工具包!
- AllenNLP (来自AI2) - 一个开源NLP研究库。
- Graph4NLP - 使图神经网络在NLP中的易用化。
- Lightning Transformers - 具有PyTorch Lightning接口的Transformers。
- Adapter Transformers - 向Transformers库扩展,将适配器集成到最先进的语言模型中。
- Obsei - 一种低代码AI工作流自动化工具,在工作流管道中执行各种NLP任务。
- Trapper (来自OBSS) - 通过模块化设计和一致的API实现先进的NLP。
- Flair - 一个非常简单的框架,用于最先进的NLP。
🥡 文本表示
将句子转换为向量。
- Sentence Transformers (来自UKPLab) - 计算句子、段落和图像的密集向量表示的广泛使用的编码器。
- WhiteningBERT (来自Microsoft) - 一种简单的无监督句子嵌入方法。
- SimCSE (来自Princeton) - 使用对比学习的最先进句子嵌入。
- DensePhrases (来自Princeton) - 学习规模化短语的密集表示。
⚙️ 推理引擎
实现Transformers兼容API的高度优化推理引擎。
- TurboTransformers (来自Tencent) - 具有快速C++ API的Transformers推理引擎。
- FasterTransformer (来自Nvidia) - 在NVIDIA GPU上运行高度优化的基于Transformer的编码器和解码器组件的脚本和配方。
- lightseq (来自ByteDance) - 用于序列处理和生成的高性能推理库,采用CUDA实现。
- FastSeq (来自Microsoft) - 高效实现流行的序列模型(如Bart、ProphetNet)用于文本生成、摘要、翻译任务等。
🌗 模型扩展
跨多个GPU并行化模型。
- Parallelformers (来自TUNiB) - 模型并行部署库。
- OSLO (来自TUNiB) - 支持多种功能的库,帮助训练大规模模型。
- Deepspeed (来自Microsoft) - Deepspeed-ZeRO - 以几乎无需更改模型的方式扩展任何模型规模。集成到HF Trainer中。
- fairscale (来自Facebook) - 也实现了ZeRO协议。集成到HF Trainer中。
- ColossalAI (来自Hpcaitech) - 一个统一的深度学习系统,用于大规模并行训练(1D、2D、2.5D、3D和序列并行以及ZeRO协议)。
🏎️ 模型压缩/加速
压缩或加速模型以提高推理速度。
- torchdistill - 基于PyTorch的模块化配置驱动的知识蒸馏框架。
- TextBrewer (来自HFL) - 压缩语言模型的最先进蒸馏方法。
- BERT-of-Theseus (来自Microsoft) - 逐步替换原BERT组件压缩BERT。
🏹️ 对抗性攻击
进行对抗性攻击以测试模型健壮性。
- TextAttack (来自UVa) - 一个用于对抗性攻击、数据增强和模型训练的Python框架。
- TextFlint (来自Fudan) - 一个统一的多语言NLP鲁棒性评估工具包。
- OpenAttack (来自THU) - 一个开源的文本对抗性攻击工具包。
🔁 风格迁移
转移文本的风格!这就是为什么它叫Transformer?
- Styleformer - 一种神经语言风格迁移框架,平滑地转换文本风格。
- ConSERT - 一种自监督句子表示迁移的对比框架。
💢 情感分析
分析人类的情感和情绪。
- conv-emotion - 用于对话情感识别的不同架构实现。
🙅 语法错误修正
你打错字了!让我来纠正。
- Gramformer - 一个用于检测、突出显示和纠正自然语言文本中语法错误的框架。
🗺 翻译
在不同语言之间翻译。
- dl-translate - 基于HF Transformers的深度学习翻译库。
- EasyNMT (来自UKPLab) - 基于HF Transformers的易于使用的最先进翻译库以及Docker镜像。
📖 知识与实体
学习知识,挖掘实体,连接世界。
- PURE (来自Princeton) - 从文本中提取实体和关系。
🎙 语音
由HF库支持的语音处理。需要语音支持!
- s3prl - 一个自监督语音预训练和表示学习工具包。
- speechbrain - 一个基于PyTorch的语音工具包。
🤯 多模态
从不同的模态理解这个世界。
- ViLT (来自Kakao) - 一个无卷积或区域监督的视觉和语言Transformer。
🤖 强化学习
将RL魔术与NLP结合!
- trl - 使用Proximal Policy Optimization (PPO)微调Transformers以对齐人类偏好。
❓ 问答
寻找答案?Transformers来帮忙!
- Haystack (来自deepset) - 用于在现实环境中开发和部署问答系统的端到端框架。
💁 推荐系统
我想这正是你需要的!
- Transformers4Rec (来自Nvidia) - 由Transformers驱动的灵活高效的用于序列和基于会话的推荐系统的库。
⚖️ 评估
通过HF数据集评估模型输出和数据质量!
- Jury (来自OBSS) - 易于使用的NLP模型输出评估工具,特别适用于NLG(自然语言生成),提供各种自动化文本对文本的评估指标。
- Spotlight - 使用一行代码交互式探索你的HF数据集。使用模型结果(如嵌入、预测)来了解关键数据段和模型失败模式。
🔍 神经搜索
搜索,但使用神经网络的力量!
- Jina集成 - Jina集成了Hugging Face加速API。
- Weaviate集成 (QA) - Weaviate集成了Hugging Face Transformers。
- ColBERT (来自Stanford) - 一个快速且准确的检索模型,使大规模文本集合上的基于BERT的搜索能够在毫秒内完成。
☁ 云
云使你的生活更轻松!
- Amazon SageMaker - 使在Amazon SageMaker中训练Hugging Face Transformer模型变得前所未有的容易。
📱 硬件
使魔术发生的基础设施。