five

中文对话0.2B小模型 ChatLM-Chinese-0.2B

收藏
github2024-04-20 更新2024-05-31 收录
下载链接:
https://github.com/charent/ChatLM-mini-Chinese
下载链接
链接失效反馈
官方服务:
资源简介:
本项目包含多个来自互联网公开的单轮对话数据集,经过数据清洗和格式化处理,用于训练和优化中文对话小模型ChatLM-Chinese-0.2B。主要数据集包括社区问答、百科类问答、医药领域问答等,总数量超过1000万条。

This project encompasses a variety of publicly available single-turn dialogue datasets from the internet, which have been cleaned and formatted for training and optimizing the Chinese dialogue model, ChatLM-Chinese-0.2B. The primary datasets include community Q&A, encyclopedic Q&A, and medical domain Q&A, totaling over 10 million entries.
创建时间:
2023-08-27
原始信息汇总

数据集概述

数据集名称

ChatLM-mini-Chinese

数据集描述

ChatLM-mini-Chinese是一个中文对话小模型,模型参数为0.2B,设计用于在资源受限的环境中进行预训练和推理。该模型支持在最低4GB显存的机器上进行预训练,推理时最少只需要512MB显存。

数据集来源

  • 公开所有预训练、SFT指令微调、DPO偏好优化数据集来源。
  • 使用Huggingface NLP框架,包括transformers、accelerate、trl、peft等。

数据处理

  • 开源所有数据清洗流程,如规范化、基于mini_hash的文档去重等。
  • 支持sentencepiece和huggingface tokenizers的tokenizer训练。
  • 预训练支持任意位置断点,可从断点处继续训练。
  • 大数据集(GB级别)流式加载,支持缓冲区数据打乱,不利用内存、硬盘作为缓存,有效减少内存、磁盘占用。

模型训练

  • 使用T5模型(Text-to-Text Transfer Transformer)。
  • 模型配置修改为encoder layer和decoder layer均为10层。
  • 模型参数:0.2B。词表大小:29298,仅包含中文和少量英文。

训练数据集

  • 社区问答json版webtext2019zh:清洗后剩余260万。
  • baike_qa2019:清洗后剩余130万。
  • 中国医药领域问答数据集:清洗后剩余79万。
  • 知乎问答数据:清洗后剩余97万行。
  • belle开源的指令训练数据:清洗后剩余338万行。
  • 维基百科(Wikipedia)词条数据:清洗后剩余119万。

训练过程

  • 预训练:学习率为1e-4到5e-3,预训练时间为8天。
  • SFT微调:使用belle指令训练数据集,学习率为1e-7到5e-5,微调时间2天。
  • RLHF偏好优化:使用DPO进行全量偏好优化,学习率1e-5,耗时3小时。

使用说明

  • 支持单机单卡、单机多卡进行预训练、SFT微调。
  • 训练过程中支持在任意位置停止,及在任意位置继续训练。
  • 支持下游任务微调,如三元组信息抽取任务。

引用信息

conf @misc{Charent2023, author={Charent Chen}, title={A small chinese chat language model with 0.2B parameters base on T5}, year={2023}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {url{https://github.com/charent/ChatLM-mini-Chinese}}, }

搜集汇总
数据集介绍
main_image_url
构建方式
ChatLM-Chinese-0.2B数据集的构建过程始于对互联网上公开的单轮对话数据集的收集与清洗。这些数据集包括社区问答、百科类问答、医药领域问答以及知乎问答等,总计超过1000万条对话记录。数据清洗步骤包括规范化处理、基于mini_hash的文档去重等,确保数据集的质量和多样性。随后,数据集被整合为端到端的Text-to-Text格式,并使用Huggingface的NLP框架进行tokenizer训练和模型预训练。预训练过程中,采用了动态学习率调整和流式数据加载技术,以优化训练效率和资源利用。
特点
ChatLM-Chinese-0.2B数据集的主要特点在于其小巧而高效的模型设计,参数仅为0.2B,适合在资源有限的设备上进行训练和推理。数据集的构建过程公开透明,所有数据清洗和处理步骤均开源,确保了数据的可追溯性和可验证性。此外,该数据集支持多种训练和微调方式,包括SFT指令微调和RLHF偏好优化,能够灵活适应不同的应用场景。模型还支持下游任务的微调,如三元组信息抽取,展示了其在多任务处理上的潜力。
使用方法
使用ChatLM-Chinese-0.2B数据集进行模型训练和推理时,首先需要克隆项目并安装相关依赖。项目提供了详细的训练脚本和配置文件,支持单机单卡和单机多卡的训练模式,并允许在训练过程中任意位置断点续训。对于推理,用户可以通过Huggingface的transformers库加载预训练模型,进行文本生成任务。此外,项目还提供了API接口,方便用户通过网络调用模型服务。为了确保模型的最佳性能,建议用户根据具体任务需求进行适当的微调和优化。
背景与挑战
背景概述
近年来,随着自然语言处理技术的迅猛发展,大规模语言模型在多个领域展现出显著的应用潜力。然而,这些模型的庞大参数和高计算资源需求限制了其在消费级设备上的应用。为此,ChatLM-Chinese-0.2B数据集应运而生,旨在通过构建一个参数仅为0.2B的小型生成式语言模型,以满足在资源受限环境下的对话生成需求。该数据集由Charent Chen主导,于2023年首次发布,其核心研究问题聚焦于如何在有限的计算资源下实现高效的语言模型训练与优化。通过公开预训练、指令微调及偏好优化数据集,ChatLM-Chinese-0.2B不仅为研究者提供了一个轻量级的模型训练平台,还推动了对话系统在低资源环境下的实际应用。
当前挑战
尽管ChatLM-Chinese-0.2B数据集在小型化语言模型领域取得了一定进展,但其构建过程中仍面临诸多挑战。首先,数据集的规模相对较小,仅包含约1023万条对话数据,这在一定程度上限制了模型的泛化能力和对话生成的多样性。其次,数据清洗过程中采用了基于mini hash的文档去重方法,虽然有效减少了重复数据,但也可能遗漏某些潜在的有价值信息。此外,模型训练过程中依赖于Huggingface的NLP框架,尽管提供了灵活的训练支持,但在处理大规模数据时仍可能遇到内存和计算资源的瓶颈。最后,尽管模型在SFT和RLHF阶段进行了优化,但其对话生成效果仍可能出现答非所问或生成废话的情况,这需要在未来的研究中进一步改进。
常用场景
经典使用场景
ChatLM-Chinese-0.2B数据集的经典使用场景在于其适用于资源受限的环境中进行中文对话模型的训练与推理。由于其模型参数仅为0.2B,该数据集能够在低至4GB显存的消费级电脑上进行预训练,甚至在512MB显存的情况下进行推理。这使得它在教育、研究和轻量级应用开发中具有广泛的应用潜力。
解决学术问题
ChatLM-Chinese-0.2B数据集解决了在资源有限的环境下进行中文对话模型训练的学术难题。通过提供一个轻量级且高效的模型,它使得研究人员和教育工作者能够在不具备高端计算资源的条件下,探索和验证对话系统的理论与方法。此外,该数据集的公开性和易用性,促进了对话系统领域的研究多样化和创新。
衍生相关工作
基于ChatLM-Chinese-0.2B数据集,研究者们开发了多种衍生工作,包括但不限于检索增强生成(RAG)技术的应用、多轮对话系统的优化以及跨语言对话模型的研究。这些工作不仅提升了模型的性能和应用范围,还为对话系统领域的进一步研究提供了新的思路和方法。例如,Phi2-mini-Chinese项目展示了如何在资源有限的环境中实现高效的检索增强生成。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务