【发布时间】:2021-03-16 14:56:30
【问题描述】:
我目前正在尝试微调 DistilGPT-2(使用 Pytorch 和 HuggingFace 转换器库)以完成代码完成任务。我的语料库排列如下示例:
<|startoftext|>
public class FindCityByIdService {
private CityRepository cityRepository = ...
<|endoftext|>
我的第一次尝试是从转换器库中运行以下script:
python run_clm.py
--model_type=gpt2 \
--model_name_or_path distilgpt2 \
--do_train \
--train_file $TRAIN_FILE \
--num_train_epochs 100 \
--output_dir $OUTPUT_DIR \
--overwrite_output_dir \
--save_steps 20000 \
--per_device_train_batch_size 4 \
在进行了一些生成测试后,我意识到该模型并未针对任何给定上下文预测 \ n。我想缺少一些预处理阶段或类似的东西。但无论如何,我应该怎么做才能使\ n 被预测为预期?
谢谢!!
【问题讨论】:
-
您是否尝试在训练数据中添加“\n”?我想模型只有在训练数据中看到它才能学会预测它。
-
在尝试微调 gpt2 时遇到同样的问题。我的训练文件中有换行符,但我从生成的模型生成的任何内容都没有换行符。似乎换行符从训练数据中被剥离了?但我目前在代码中找不到任何证据。
标签: pytorch huggingface-transformers gpt-2