1 开始
datawhale夏令营手册:Docs
比赛链接:2024 iFLYTEK A.I.开发者大赛-讯飞开放平台
魔搭平台:魔搭社区
2 我的task3尝试
主体参照datawhale提供的baseline-task3
2.1 调整参数:9.63分
试试看10轮。
# 模型参数
D_MODEL = 256
NHEAD = 8
NUM_ENCODER_LAYERS = 3
NUM_DECODER_LAYERS = 3
DIM_FEEDFORWARD = 512
DROPOUT = 0.1
N_EPOCHS = 10
CLIP = 1
试试看6层10轮。(效果下降了一点点,也有同学跑20轮发现6层和3层对比提高了一点点)
# 模型参数
D_MODEL = 256
NHEAD = 8
NUM_ENCODER_LAYERS = 6
NUM_DECODER_LAYERS = 6
DIM_FEEDFORWARD = 512
DROPOUT = 0.1
N_EPOCHS = 10
CLIP = 1
2.2 术语词典20轮:11.71分
对术语词典处进行了修改方便比对文件。
save_dir1 = '../results/submit_T3_add_dict.txt'
save_dir2 = '../results/submit_T3.txt'
with open(save_dir1, 'w') as f1, open(save_dir2, 'w') as f2:
translated_sentences = []
for batch in test_loader: # 遍历所有数据
src, _ = batch
src = src.to(DEVICE)
translated = translate_sentence(src[0], en_vocab, zh_vocab, model, DEVICE) #翻译结果
results1 = post_process_translation(translated, term_dict)
results1 = "".join(results1)
results2 = "".join(translated)
f1.write(results1 + '\n') # 将结果写入文件
f2.write(results2 + '\n') # 将结果写入文件
# break
print(f"翻译完成,结果已保存到{save_dir1} & {save_dir2}")
那就比对一下,区别不多,估计是把没翻译出来的东西硬翻。
(那也许可以有同学试试在翻译前就硬翻)
跑20轮的尝试一下,效果不错。
2.3 术语词典30轮:11.74分
30轮的时候后面train loss开始忽大忽小了,下次可以试试25轮。
2.4 术语词典+6层25轮:12.96分
综合2.1和2.3的尝试结果,分析认为6层25轮也许能高一点点。
# 模型参数
D_MODEL = 256
NHEAD = 8
NUM_ENCODER_LAYERS = 6
NUM_DECODER_LAYERS = 6
DIM_FEEDFORWARD = 512
DROPOUT = 0.1
N_EPOCHS = 25
CLIP = 1
我草,活了!
3 排错指南
3.1 魔搭平台问题
3.1.1 平台进不去或者额度耗尽
来试试看阿里云弹性加速计算EAIS,但是网速更慢、显存更小。
方案2:领取免费试用
三个月的有限额度:魔搭社区
3.1.2 为什么跑的很慢
检查一下是GPU而不是CPU环境启动。
3.1.3 退出平台不保存
关闭实例时,.ipynb 以外的文件不会自动存储,请仔细检查并保存重要文件。所以需要及时保存文件。(比如输出文件或者模型文件,模型不想重新训可以下次继续用)。
3.2 环境配置问题
3.2.1 directory ... does not exist
directory ../model does not exist
directory ../results does not exist
这两个意思是文件夹不存在,自己新建一个或者在代码里新建。
!mkdir ../model
!mkdir ../results
3.2.2 各种包安装不上
在代码里运行就行了,就不要去bash折腾了。
!pip install torchtext
!pip install jieba
!pip install sacrebleu
其中qhttps://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.7.3/en_core_web_trf-3.7.3-py3-none-any.whlen_core_web_trf-3.7.3-py3-none-any.whl的下载地址
下载完记得等上传完整到dataset再运行。其中qhttps://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.7.3/en_core_web_trf-3.7.3-py3-none-any.whl
!pip install -U pip setuptools wheel -i https://pypi.tuna.tsinghua.edu.cn/simple
!pip install -U 'spacy[cuda12x]' -i https://pypi.tuna.tsinghua.edu.cn/simple
!pip install ../en_core_web_trf-3.7.3-py3-none-any.whl
# !python -m spacy download en_core_web_sm #上一行代码已经把它的活干了你不要去掉注释啊啊啊啊
其中前两句有报错别理它,不影响正常运行。
4 后记
还是大模型好用。