基于HuggingFace和哈工大预训练模型的中文句子分类

需积分: 13 3 下载量 89 浏览量 更新于2024-10-22 收藏 358.43MB 7Z 举报
资源摘要信息:"sentence_classification.7z" 本压缩包包含了一个针对中文句子分类任务优化的深度学习模型,利用了HuggingFace框架和哈工大hfl/chinese-robert-wwm-ext预训练模型进行了微调。该模型旨在对中文文本进行分类,能够识别和处理不同类别的句子。接下来,将详细介绍该模型所涉及的关键知识点。 1. HuggingFace框架: HuggingFace是一个流行的自然语言处理库,提供了大量的预训练模型,以及一系列用于训练和部署模型的工具。HuggingFace的核心组件包括Transformers库,该库封装了许多预训练模型,并提供了简单的接口供研究人员和开发者使用。Transformers库支持多种任务,包括但不限于文本分类、命名实体识别、文本生成等。 2. 哈工大hfl/chinese-robert-wwm-ext预训练模型: 该预训练模型基于ROBERTA模型的架构,并对其进行了适应中文的修改。模型使用了Whole Word Masking (WWM)技术,该技术在预训练过程中不是随机遮蔽单个字,而是随机遮蔽整个词。这样做的好处在于能够更好地捕捉中文语言中的词边界,从而提升了模型对中文文本的理解能力。 3. 中文句子分类: 中文句子分类是自然语言处理中的一个基础任务,目标是将输入的句子分配到预定义的类别中。这类任务在信息检索、情感分析、主题识别等多个领域有着广泛的应用。例如,邮件系统可能会用句子分类模型来区分垃圾邮件和正常邮件;社交媒体监控平台可能会用它来自动识别用户发布内容的情感倾向。 4. 微调(Fine-tuning): 微调是深度学习领域的一个重要技术,指的是在预训练模型的基础上,使用特定任务的数据集进一步训练模型的过程。在微调的过程中,通常会更新模型中的部分或全部参数,以使模型能够更好地适应新的任务。与从零开始训练一个模型相比,微调预训练模型通常需要更少的数据和计算资源,同时能够快速达到良好的性能。 5. 模型文件说明: - pytorch_model.bin:包含了模型的所有参数,是微调后的模型权重。 - config.json:描述了模型的配置信息,包括层数、隐藏单元数、注意力头数等。 - tokenizer_config.json:包含了分词器的配置,如分词器的类型以及特殊词汇的处理策略等。 - special_tokens_map.json:列出了模型中使用的特殊标记及其映射关系,如[CLS]、[SEP]等标记。 综上所述,该压缩包中的模型结合了HuggingFace库的强大功能和哈工大提供的高性能中文预训练模型,通过微调使其适用于特定的中文句子分类任务。开发者可以利用这些文件快速部署模型,进行文本分析和处理工作。在实际应用中,该模型能够提高工作效率,帮助用户快速实现文本内容的自动化分类和分析。

python web_demo.py Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision. Traceback (most recent call last): File "/home/nano/THUDM/ChatGLM-6B/web_demo.py", line 5, in <module> tokenizer = AutoTokenizer.from_pretrained("/home/nano/THUDM/chatglm-6b", trust_remote_code=True) File "/home/nano/.local/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py", line 679, in from_pretrained return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs) File "/home/nano/.local/lib/python3.10/site-packages/transformers/tokenization_utils_base.py", line 1804, in from_pretrained return cls._from_pretrained( File "/home/nano/.local/lib/python3.10/site-packages/transformers/tokenization_utils_base.py", line 1958, in _from_pretrained tokenizer = cls(*init_inputs, **init_kwargs) File "/home/nano/.cache/huggingface/modules/transformers_modules/chatglm-6b/tokenization_chatglm.py", line 221, in __init__ self.sp_tokenizer = SPTokenizer(vocab_file, num_image_tokens=num_image_tokens) File "/home/nano/.cache/huggingface/modules/transformers_modules/chatglm-6b/tokenization_chatglm.py", line 64, in __init__ self.text_tokenizer = TextTokenizer(vocab_file) File "/home/nano/.cache/huggingface/modules/transformers_modules/chatglm-6b/tokenization_chatglm.py", line 22, in __init__ self.sp.Load(model_path) File "/home/nano/.local/lib/python3.10/site-packages/sentencepiece/__init__.py", line 905, in Load return self.LoadFromFile(model_file) File "/home/nano/.local/lib/python3.10/site-packages/sentencepiece/__init__.py", line 310, in LoadFromFile return _sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg) RuntimeError: Internal: src/sentencepiece_processor.cc(1101) [model_proto->ParseFromArray(serialized.data(), serialized.size())]什么错误

2023-07-22 上传