CDial-GPT 开源项目使用教程
项目介绍
CDial-GPT 是一个大规模中文预训练对话模型,由清华大学交互式人工智能课题组(CoAI)开发。该模型采用 GPT 结构,先后在中国小说数据集和 LCCC 上预训练。LCCC 是一个经过严格清洗的大规模中文对话数据集,包含 base 和 large 两个版本,分别包含 680 万和 1200 万多轮对话。CDial-GPT 模型可供研究者直接用于对话生成,基于 Transformer 的大规模预训练语言模型极大地促进了开放领域对话的研究进展。
项目快速启动
环境准备
首先,确保你已经安装了 Git 和 Python 环境。然后,克隆项目仓库并安装所需的依赖包。
git clone https://github.com/thu-coai/CDial-GPT.git
cd CDial-GPT
pip install -r requirements.txt
下载预训练模型
你可以从 Hugging Face 模型库下载预训练模型:
git lfs install
git clone https://huggingface.co/thu-coai/CDial-GPT_LCCC-large
训练模型
使用以下命令进行模型训练:
python train.py --pretrained --model_checkpoint thu-coai/CDial-GPT_LCCC-large --data_path data/STC.json --scheduler linear
应用案例和最佳实践
对话生成
CDial-GPT 可以用于生成连贯且多样化的中文对话。以下是一个简单的示例代码:
from transformers import OpenAIGPTLMHeadModel, GPT2Tokenizer
model = OpenAIGPTLMHeadModel.from_pretrained("thu-coai/CDial-GPT_LCCC-large")
tokenizer = GPT2Tokenizer.from_pretrained("thu-coai/CDial-GPT_LCCC-large")
input_text = "你好,今天天气怎么样?"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
output = model.generate(input_ids, max_length=50, num_return_sequences=1)
print(tokenizer.decode(output[0], skip_special_tokens=True))
微调模型
你可以使用自己的数据集对 CDial-GPT 进行微调,以适应特定的对话场景。以下是一个微调的示例:
python train.py --pretrained --model_checkpoint thu-coai/CDial-GPT_LCCC-large --data_path data/custom_dataset.json --scheduler linear
典型生态项目
LCCC 数据集
LCCC 是一个大规模中文对话数据集,包含 1200 万对话。该数据集经过严格清洗,适用于训练和评估中文对话模型。
CDial-GPT 模型库
CDial-GPT 模型库提供了多个版本的预训练模型,包括 base 和 large 版本。这些模型可以直接用于对话生成任务。
相关研究论文
- arXiv:1901.08149 - 介绍了 CDial-GPT 模型的预训练方法和结构。
- arXiv:2008.03946 - 详细描述了 LCCC 数据集的构建过程和清洗方法。
通过这些资源,研究者和开发者可以更好地理解和应用 CDial-GPT 模型,推动中文对话领域的研究进展。