Chinese Text Correction 7b
C
Chinese Text Correction 7b
由 shibing624 开发
Qwen2.5-7B-Instruct 是一个基于 Qwen2.5 架构的 7B 参数规模的中文指令微调大语言模型,适用于文本生成和推理任务。
下载量 522
发布时间 : 10/12/2024
模型简介
该模型主要用于中文文本生成和推理任务,支持文本纠错等应用场景。
模型特点
中文指令微调
针对中文指令进行了优化,能够更好地理解和执行中文任务。
文本纠错能力
支持中文文本纠错任务,能够识别和修正文本中的错误。
大语言模型
基于 7B 参数规模的大语言模型,具备强大的文本生成和理解能力。
模型能力
文本生成
文本纠错
指令理解
使用案例
文本纠错
中文文本纠错
识别并修正中文文本中的语法、拼写和用词错误。
能够有效提升文本的准确性和可读性。
文本生成
中文文本生成
根据给定的提示生成连贯、流畅的中文文本。
生成的文本符合上下文逻辑,具有较高的可读性。
🚀 中文文本纠错模型
本项目提供的中文文本纠错模型,可用于拼写纠错和语法纠错,能有效提升文本的准确性和规范性。
🚀 快速开始
使用pycorrector
调用模型
本项目开源在pycorrector
项目:pycorrector,可支持大模型微调后用于文本纠错,通过如下命令调用:
安装依赖包:
pip install -U pycorrector
from pycorrector.gpt.gpt_corrector import GptCorrector
if __name__ == '__main__':
error_sentences = [
'真麻烦你了。希望你们好好的跳无',
'少先队员因该为老人让坐',
'机七学习是人工智能领遇最能体现智能的一个分知',
'一只小鱼船浮在平净的河面上',
'我的家乡是有明的渔米之乡',
]
m = GptCorrector("shibing624/chinese-text-correction-7b")
batch_res = m.correct_batch(error_sentences)
for i in batch_res:
print(i)
print()
使用HuggingFace Transformers
调用模型
若不使用 pycorrector,可以按如下方式使用模型:
首先,将输入数据传入transformer模型,然后得到生成的句子。
安装依赖包:
pip install transformers
# pip install transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "shibing624/chinese-text-correction-7b"
device = "cuda" # for GPU usage or "cpu" for CPU usage
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)
input_content = "文本纠错:\n少先队员因该为老人让坐。"
messages = [{"role": "user", "content": input_content}]
input_text=tokenizer.apply_chat_template(messages, tokenize=False)
print(input_text)
inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
outputs = model.generate(inputs, max_new_tokens=1024, temperature=0, do_sample=False, repetition_penalty=1.08)
print(tokenizer.decode(outputs[0]))
输出结果:
少先队员应该为老人让座。
✨ 主要特性
- 多类型纠错:支持拼写纠错、语法纠错,涵盖音似、形似、多字、少字等多种错误类型。
- 多方式调用:既可以通过
pycorrector
项目调用,也能使用HuggingFace Transformers
直接调用。 - 多模型可选:提供不同规模的模型,如
chinese-text-correction-1.5b
、chinese-text-correction-7b
等,满足不同场景需求。
📦 安装指南
使用pycorrector
pip install -U pycorrector
使用HuggingFace Transformers
pip install transformers
💻 使用示例
基础用法
# 使用pycorrector进行文本纠错
from pycorrector.gpt.gpt_corrector import GptCorrector
if __name__ == '__main__':
error_sentences = [
'真麻烦你了。希望你们好好的跳无',
'少先队员因该为老人让坐',
'机七学习是人工智能领遇最能体现智能的一个分知',
'一只小鱼船浮在平净的河面上',
'我的家乡是有明的渔米之乡',
]
m = GptCorrector("shibing624/chinese-text-correction-7b")
batch_res = m.correct_batch(error_sentences)
for i in batch_res:
print(i)
print()
高级用法
# 使用HuggingFace Transformers直接调用模型进行文本纠错
# pip install transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "shibing624/chinese-text-correction-7b"
device = "cuda" # for GPU usage or "cpu" for CPU usage
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)
input_content = "文本纠错:\n少先队员因该为老人让坐。"
messages = [{"role": "user", "content": input_content}]
input_text=tokenizer.apply_chat_template(messages, tokenize=False)
print(input_text)
inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
outputs = model.generate(inputs, max_new_tokens=1024, temperature=0, do_sample=False, repetition_penalty=1.08)
print(tokenizer.decode(outputs[0]))
📚 详细文档
模型列表
模型名称 | 基础模型 | 下载链接 |
---|---|---|
chinese-text-correction-1.5b | Qwen/Qwen2.5-1.5B-Instruct | 🤗 Hugging Face |
chinese-text-correction-1.5b-lora | Qwen/Qwen2.5-1.5B-Instruct | 🤗 Hugging Face |
chinese-text-correction-7b | Qwen/Qwen2.5-7B-Instruct | 🤗 Hugging Face |
chinese-text-correction-7b-lora | Qwen/Qwen2.5-7B-Instruct | 🤗 Hugging Face |
评估结果
- 评估指标:F1
- CSC(Chinese Spelling Correction):拼写纠错模型,表示模型可以处理音似、形似、语法等长度对齐的错误纠正。
- CTC(CHinese Text Correction):文本纠错模型,表示模型支持拼写、语法等长度对齐的错误纠正,还可以处理多字、少字等长度不对齐的错误纠正。
- GPU:Tesla V100,显存 32 GB
模型名称 | 模型链接 | 基础模型 | 平均得分 | SIGHAN - 2015得分 | EC - LAW得分 | MCSC得分 | GPU/CPU | QPS |
---|---|---|---|---|---|---|---|---|
Kenlm - CSC | shibing624/chinese-kenlm-klm | kenlm | 0.3409 | 0.3147 | 0.3763 | 0.3317 | CPU | 9 |
Mengzi - T5 - CSC | shibing624/mengzi-t5-base-chinese-correction | mengzi - t5 - base | 0.3984 | 0.7758 | 0.3156 | 0.1039 | GPU | 214 |
ERNIE - CSC | PaddleNLP/ernie-csc | PaddlePaddle/ernie - 1.0 - base - zh | 0.4353 | 0.8383 | 0.3357 | 0.1318 | GPU | 114 |
MacBERT - CSC | shibing624/macbert4csc-base-chinese | hfl/chinese - macbert - base | 0.3993 | 0.8314 | 0.1610 | 0.2055 | GPU | 224 |
ChatGLM3 - 6B - CSC | shibing624/chatglm3-6b-csc-chinese-lora | THUDM/chatglm3 - 6b | 0.4538 | 0.6572 | 0.4369 | 0.2672 | GPU | 3 |
Qwen2.5 - 1.5B - CTC | shibing624/chinese-text-correction-1.5b | Qwen/Qwen2.5 - 1.5B - Instruct | 0.6802 | 0.3032 | 0.7846 | 0.9529 | GPU | 6 |
Qwen2.5 - 7B - CTC | shibing624/chinese-text-correction-7b | Qwen/Qwen2.5 - 7B - Instruct | 0.8225 | 0.4917 | 0.9798 | 0.9959 | GPU | 3 |
模型文件组成
shibing624/chinese-text-correction-7b
|-- added_tokens.json
|-- config.json
|-- generation_config.json
|-- merges.txt
|-- model.safetensors
|-- model.safetensors.index.json
|-- README.md
|-- special_tokens_map.json
|-- tokenizer_config.json
|-- tokenizer.json
`-- vocab.json
训练参数
- 训练轮数(num_epochs):8
- 批次大小(batch_size):2
- 训练步数(steps):36000
- 评估损失(eval_loss):0.12
- 基础模型(base model):Qwen/Qwen2.5 - 7B - Instruct
- 训练数据(train data):shibing624/chinese_text_correction
- 训练时间(train time):10 天
- 评估损失曲线:
- 训练损失曲线:
训练数据集
中文纠错数据集
训练参考
如果需要训练Qwen的纠错模型,请参考https://github.com/shibing624/pycorrector 或者 https://github.com/shibing624/MedicalGPT
🔧 技术细节
本模型基于Qwen系列基础模型进行微调,使用特定的训练数据和训练参数,以提升在中文文本纠错任务上的性能。通过F1指标进行评估,在不同的测试数据集上表现良好。
📄 许可证
本项目采用apache - 2.0
许可证。
📖 引用
@software{pycorrector,
author = {Xu Ming},
title = {pycorrector: Implementation of language model finetune},
year = {2024},
url = {https://github.com/shibing624/pycorrector},
}
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98