PaddlePaddle / PaddleNLP

👑 Easy-to-use and powerful NLP and LLM library with 🤗 Awesome model zoo, supporting wide-range of NLP tasks from research to industrial applications, including 🗂Text Classification, 🔍 Neural Search, ❓ Question Answering, ℹ️ Information Extraction, 📄 Document Intelligence, 💌 Sentiment Analysis etc.
https://paddlenlp.readthedocs.io
Apache License 2.0
12.13k stars 2.94k forks source link

[Question]: 如何将从huggingface下载的pytorch bin模型转换成paddle模型? #6786

Open cifar10 opened 1 year ago

cifar10 commented 1 year ago

请提出你的问题

1、问题描述 由于PaddleNLP仓库中未提供gpt3-13B的预训练权重,因此从 https://huggingface.co/TurkuNLP/gpt3-finnish-13B 上下载类似权重,下载的权重是pytorch格式,如何将pytorch模型转换成paddle模型?

2、本地尝试 通过在from_pretrained函数中设置from_hf_hub=True,PaddleNLP代码进行转换,看起来代码中已经开发了一部分转换,但是完整实现未开发。报错如下: image

相关代码如下:

{986fdc9c-3536-44cb-baa3-1b154641f7f2}

3、总结: (1)PaddleNLP中的pytorch模型转换为paddle模型是否未完全开发。 (2)如何将从huggingface下载的pytorch bin模型转换成paddle模型。

DrownFish19 commented 1 year ago

您好,使用llm/gpt-3时,模型创建使用的是llm/gpt-3/modeling.py,这个文件中创建的gpt模型是没有实现这个方法的。当前正在修改modeling文件,参考 https://github.com/PaddlePaddle/PaddleNLP/pull/6705#issue-1848908551

提供一种临时的解决方案:从paddlenlp/transformers/gpt/modeling.py中抽取对应函数至llm/gpt-3/modeling.py中。

DrownFish19 commented 1 year ago

当前gpt3已经统一实现方法,当前能进行模型转换,备注:需要clone最新develop版本。