跳转到主要内容

适用于Keras的行业级自然语言处理扩展。

项目描述

KerasNLP:多框架NLP模型

Python contributions welcome

[!IMPORTANT] 📢 KerasNLP 正在变为 KerasHub!📢 请阅读 公告

我们已将存储库重命名为 KerasHub 以准备发布,但尚未发布新包。请关注公告以获取最新消息。

KerasNLP 是一个自然语言处理库,与 TensorFlow、JAX 或 PyTorch 兼容。KerasNLP 提供了预训练模型的存储库和语言建模的低级别构建块集合。基于 Keras 3 构建,模型可以在任何框架中训练和序列化,并在其他框架中重用,而无需昂贵的迁移。

此库是核心 Keras API 的扩展;所有高级模块都是 Layers 和 Models,它们都接受了与核心 Keras 相同程度的打磨。如果您熟悉 Keras,恭喜!您已经理解了 KerasNLP 的大部分内容。

所有模型都支持从单个模型定义中支持JAX、TensorFlow和PyTorch,并且可以开箱即用在地面上和TPU上进行微调。模型可以使用内置的PEFT技术单独在加速器上训练,或者通过模型和数据并行训练进行大规模微调。请参阅我们的入门指南开始学习我们的API。在Kaggle上浏览我们的模型。我们欢迎贡献力量。

快速链接

面向所有人

面向贡献者

快速入门

在IMDb电影评论上微调BERT

import os
os.environ["KERAS_BACKEND"] = "jax"  # Or "tensorflow" or "torch"!

import keras_nlp
import tensorflow_datasets as tfds

imdb_train, imdb_test = tfds.load(
    "imdb_reviews",
    split=["train", "test"],
    as_supervised=True,
    batch_size=16,
)
# Load a BERT model.
classifier = keras_nlp.models.Classifier.from_preset(
    "bert_base_en", 
    num_classes=2,
    activation="softmax",
)
# Fine-tune on IMDb movie reviews.
classifier.fit(imdb_train, validation_data=imdb_test)
# Predict two new examples.
classifier.predict(["What an amazing movie!", "A total waste of my time."])

colab中试试看。要获取更深入的指南和示例,请访问keras.io/keras_nlp

安装

要安装与Keras 3兼容的最新KerasNLP版本,只需运行

pip install --upgrade keras-nlp

要安装KerasNLP和Keras的最新夜间更改,可以使用我们的夜间包。

pip install --upgrade keras-nlp-nightly

请注意,目前安装KerasNLP将始终拉入TensorFlow以使用tf.data API进行预处理。即使在tf.data预处理时,训练也可以在任何后端进行。

有关安装Keras 3以及与不同框架兼容性的更多信息,请参阅Keras入门

[!IMPORTANT] 我们建议使用TensorFlow 2.16或更高版本与KerasNLP一起使用,因为TF 2.16默认包含Keras 3。

配置您的后端

如果您已在环境中安装了Keras 3(参见上面的安装说明),您可以使用KerasNLP与JAX、TensorFlow和PyTorch中的任何一个一起使用。要这样做,设置KERAS_BACKEND环境变量。例如

export KERAS_BACKEND=jax

或者在Colab中,使用

import os
os.environ["KERAS_BACKEND"] = "jax"

import keras_nlp

[!IMPORTANT] 确保在导入任何Keras库之前设置KERAS_BACKEND,它将在首次导入时用于设置Keras。

兼容性

我们遵循语义版本控制,并计划为使用我们的组件构建的代码和保存的模型提供向后兼容性保证。虽然我们继续进行预发布0.y.z开发,但我们可能会随时打破兼容性,并且API不应被视为稳定。

免责声明

KerasNLP通过keras_nlp.models API提供对预训练模型的访问。这些预训练模型按“现状”提供,不提供任何保证或条件。以下底层模型由第三方提供,并受单独的许可约束:BART、BLOOM、DeBERTa、DistilBERT、GPT-2、Llama、Mistral、OPT、RoBERTa、Whisper和XLM-RoBERTa。

引用KerasNLP

如果KerasNLP有助于您的 研究,我们感谢您的引用。以下是BibTeX条目

@misc{kerasnlp2022,
  title={KerasNLP},
  author={Watson, Matthew, and Qian, Chen, and Bischof, Jonathan and Chollet, 
  Fran\c{c}ois and others},
  year={2022},
  howpublished={\url{https://github.com/keras-team/keras-hub}},
}

致谢

感谢所有我们优秀的贡献者!

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

keras_hub-0.16.0.dev0.tar.gz (397.8 kB 查看哈希值)

上传时间

构建分布

keras_hub-0.16.0.dev0-py3-none-any.whl (682.1 kB 查看哈希值)

上传时间 Python 3

支持者