|
--- |
|
title: TransGPT-7b |
|
emoji: 📚 |
|
colorFrom: gray |
|
colorTo: red |
|
language: |
|
- zh |
|
tags: |
|
- chatglm |
|
- pytorch |
|
- zh |
|
- Text2Text-Generation |
|
license: "other" |
|
widget: |
|
- text: "我想了解如何申请和更新驾驶证?" |
|
--- |
|
|
|
# TransGPT |
|
|
|
**发布中文TransGPT(7B)模型** |
|
|
|
test case: |
|
|input_text|predict| |
|
|:-- |:--- | |
|
|我想了解如何申请和更新驾驶证?|你可以到当地的交通管理部门或者公安局办理相关手续。具体流程可以在官方网站上查询。| |
|
|
|
|
|
# 文件校验 |
|
``` |
|
md5sum ./* |
|
``` |
|
``` |
|
e618653f90f163928316858e95bd54d1 ./config.json |
|
b1eb3650cbc84466fed263a9f0dff5e2 ./generation_config.json |
|
570159d90b39554713e9702b9107928a ./pytorch_model-00001-of-00002.bin |
|
8788671a726d25b192134909fb825e0b ./pytorch_model-00002-of-00002.bin |
|
604e0ba32b2cb7df8d8a3d13bddc93fe ./pytorch_model.bin.index.json |
|
413c7f9a8a6517c52c937eed27f18847 ./special_tokens_map.json |
|
2ba2be903e87d7471bbc413e041e70e8 ./tokenizer_config.json |
|
39afcc4541e7931ef0d561ac6e216586 ./tokenizer.model |
|
``` |
|
## Usage |
|
|
|
First, you pass your input through the transformer model, then you get the generated sentence. |
|
|
|
Install package: |
|
``` |
|
pip install sentencepiece |
|
pip install transformers>=4.28.0 |
|
``` |
|
|
|
```python |
|
import torch |
|
import transformers |
|
from transformers import LlamaTokenizer, LlamaForCausalLM |
|
|
|
def generate_prompt(text): |
|
return f"""Below is an instruction that describes a task. Write a response that appropriately completes the request. |
|
|
|
### Instruction: |
|
{text} |
|
|
|
### Response:""" |
|
|
|
checkpoint="DUOMO-Lab/TransGPT-v0" |
|
tokenizer = LlamaTokenizer.from_pretrained(checkpoint) |
|
model = LlamaForCausalLM.from_pretrained(checkpoint).half().cuda() |
|
model.eval() |
|
|
|
text = '我想了解如何申请和更新驾驶证?' |
|
prompt = generate_prompt(text) |
|
input_ids = tokenizer.encode(prompt, return_tensors='pt').to('cuda') |
|
|
|
|
|
with torch.no_grad(): |
|
output_ids = model.generate( |
|
input_ids=input_ids, |
|
max_new_tokens=1024, |
|
temperature=1, |
|
top_k=20, |
|
top_p=0.9, |
|
repetition_penalty=1.15 |
|
).cuda() |
|
|
|
|
|
output = tokenizer.decode(output_ids[0], skip_special_tokens=True) |
|
print(output.replace(text, '').strip()) |
|
``` |
|
|
|
|
|
output: |
|
```shell |
|
我想了解如何申请和更新驾驶证? |
|
``` |
|
|
|
## 模型来源 |
|
release合并后的模型权重。 |
|
|
|
HuggingFace版本权重(.bin文件)可用于: |
|
- 使用Transformers进行训练和推理 |
|
- 使用text-generation-webui搭建界面 |
|
|
|
PyTorch版本权重(.pth文件)可用于: |
|
- 使用llama.cpp工具进行量化和部署 |
|
|
|
|
|
|
|
模型文件组成: |
|
``` |
|
TransGPT |
|
config.json |
|
generation_config.json |
|
pytorch_model-00001-of-00002.bin |
|
pytorch_model-00002-of-00002.bin |
|
pytorch_model.bin.index.json |
|
special_tokens_map.json |
|
tokenizer.json |
|
tokenizer.model |
|
tokenizer_config.json |
|
``` |
|
|
|
硬件要求:14G显存 |
|
|
|
### 微调数据集 |
|
|
|
1. ~34.6万条文本数据集(用于领域内预训练):[DUOMO-Lab/TransGPT-pt](https://huggingface.co/datasets/DUOMO-Lab/TransGPT-pt) |
|
2. ~5.6万条对话数据(用于微调):[finetune_data](https://huggingface.co/data/finetune) |
|
|
|
|
|
如果需要训练LLaMA模型,请参考[https://github.com/DUOMO/TransGPT](https://github.com/DUOMO/TransGPT) |
|
|
|
|
|
## Citation |
|
|
|
```latex |
|
@software{TransGPT, |
|
author = {Wang Peng}, |
|
title = {DUOMO/TransGPT}, |
|
year = {2023}, |
|
url = {https://github.com/DUOMO/TransGPT}, |
|
} |
|
``` |
|
|
|
|
|
## Reference |
|
- https://github.com/shibing624/textgen |