跳转到主要内容

为Keras提供工业级自然语言处理扩展。

项目描述

KerasNLP:多框架NLP模型

Python contributions welcome

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

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

所有模型都支持JAX、TensorFlow和PyTorch,且仅通过一个模型定义即可使用,并且可以直接在GPU和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入门

[!重要] 我们建议使用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

[!重要] 在导入任何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-nlp}},
}

致谢

感谢所有我们出色的贡献者!

项目详情


发布历史 发布通知 | RSS订阅

下载文件

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

源代码分发

keras_nlp-0.15.1.tar.gz (310.8 kB 查看哈希值)

上传时间 源代码

构建分发

keras_nlp-0.15.1-py3-none-any.whl (548.4 kB 查看哈希值)

上传时间 Python 3

由以下提供支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面