OpenAI GPT-2 模型与 TensorFlow JS 一起使用

Posted

技术标签:

【中文标题】OpenAI GPT-2 模型与 TensorFlow JS 一起使用【英文标题】:OpenAI GPT-2 model use with TensorFlow JS 【发布时间】:2020-10-21 22:47:08 【问题描述】:

是否可以使用 TensorFlowJS 从 OpenAI GPT-2 生成文本?

如果不是,限制是什么,比如模型格式或...?

【问题讨论】:

你成功将它加载到 TFJS 上了吗? 我很难为@frederik-bode 提供的解决方案找到输入和输出节点。相反,我使用“Pytorch serve”通过 Rest API 公开模型。此外,GPT2 模型太大而无法在 JS 中使用,对于我的用例,我没有看到转换为 TFJS 的任何优势。 啊啊有趣!你有没有对这个解决方案进行过分析? 这似乎很有用:github.com/tensorflow/tfjs/issues/3582 等等,使用这里的答案 【参考方案1】:

我看不出为什么不这样做的任何原因,除了可能是 gpt-2 中的某些操作不受 tensorflowjs 支持。

我不知道该怎么做,但这是一个不错的起点:

install.sh

python3 -m pip install -q git+https://github.com/huggingface/transformers.git
python3 -m pip install tensorflow

save.py

from transformers import TFGPT2LMHeadModel, GPT2Tokenizer
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
# add the EOS token as PAD token to avoid warnings
model = TFGPT2LMHeadModel.from_pretrained("gpt2", pad_token_id=tokenizer.eos_token_id)
model.save("./test_gpt2")

这将为您提供 SavedModel 文件。现在您可以尝试找出输入和输出节点,并使用tensorflowjs_converter 尝试转换它。指针:https://www.tensorflow.org/js/tutorials/conversion/import_saved_model.

【讨论】:

这是在 Python 中,我相信 OP 正在寻找 JS 答案。 是的,这是如何从 Python 中保存现有模型,以便将其导入 JS 中 tensorflowjs 被导入的任何原因? 因为没看到所以删除了

以上是关于OpenAI GPT-2 模型与 TensorFlow JS 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

最优的纯文本模型?GPT-4蓄势待发

三分钟速览GPT系列原理

免费ChatGPT接入-国内怎么玩chatGPT

gpt-2 中文注释 对gpt-2代码进行了梳理

gpt-2 中文注释 对gpt-2代码进行了梳理

Transformer机器学习模型,不懂就看这里!