Datawhale AI春训营 学习笔记

基线模型训练及调整学习笔记

背景

通过使用 --resume 参数,在之前基础上继续训练,这样大家训练的模型都是 50 + n 轮数的模型。当然,如果想从 0 开始训练,需要去掉 --resume 参数,重新定义参数进行训练。

基线代码模型参数

以下是基线代码模型的主要参数:

CUDA_ava=0,1,2,3 --n_epochs 200 \
    --exp_name edm_competition \
    --n_stability_samples 10000 \
    --diffusion_noise_schedule polynomial_2 \
    --diffusion_noise_precision 1e-5 \
    --diffusion_steps 500 \
    --diffusion_loss_type l2 \
    --batch_size 48 \
    --nf 256 \
    --n_layers 12 \
    --lr 1e-4 \
    --normalize_factors '[1,4,10]' \
    --test_epochs 1 \
    --ema_decay 0.9999 \
    --dataset "competition" \
    --datadir "./data" \
    --test_valid_epoch 1

调整基线代码的主要方向

调整网络架构

  • 调整 EGNN 层数 :可以通过修改 --n_layers 参数来改变 EGNN 层数。例如,将其从默认的 6 调整为 12,即 --n_layers 12。但需要注意的是,单纯增加层数可能无法取得理想效果,还需适当增加训练的 epoch 数。

  • 调整特征维度 :通过修改 --nf 参数来调整特征维度,如将其从默认的 128 调整为 256,即 --nf 256。这有助于提高模型的表达能力,更好地捕捉数据的特征。

  • 启用 / 禁用注意力机制 :利用 --attention 参数启用或禁用注意力机制。若设置为 --attention True 则启用,反之则禁用。注意力机制可使模型更关注输入中的重要部分,提升模型性能。

优化扩散过程

  • 调整扩散步数 :修改 --diffusion_steps 参数来调整扩散步数,如将其从默认的 500 调整为 1000,即 --diffusion_steps 1000。增加扩散步数可使生成过程更细致,有助于提高生成质量。

  • 更改噪声调度 :通过 --diffusion_noise_schedule 参数更改噪声调度函数,如将其从默认的 polynomial_2 更改为 linear,即 --diffusion_noise_schedule linear。不同的噪声调度函数对生成质量有显著影响,需要根据任务和数据进行尝试。

优化训练过程

  • 调整学习率 :修改 --lr 参数来调整学习率,如将其从默认的 2e-4 调整为 1e-4,即 --lr 1e-4。学习率影响模型的收敛速度和效果。

  • 调整批量大小 :通过修改 --batch_size 参数来调整批量大小,如将其从默认的 128 调整为 64,即 --batch_size 64。批量大小的选择需要考虑显存大小和模型的训练稳定性。

  • 启用 / 禁用梯度裁剪 :利用 --clip_grad 参数启用或禁用梯度裁剪。若设置为 --clip_grad True 则启用,反之则禁用。梯度裁剪可以防止梯度爆炸,提高模型训练的稳定性。

条件生成调整

  • 增加条件控制 :使用 --conditioning 参数来增加条件控制。例如,设置 --conditioning ["energy"],可以为复赛任务生成具有特定能量的分子。需要根据具体任务需求调整和优化条件生成机制。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值