එම්එල්පී මික්සර් අත්හදා බැලීම

මෙය එම්එල්පී මික්සර් ආකෘතියක්පුහුණු කිරීම සඳහා කරන ලද පයිටෝර්ච් අත්හදා බැලීමකි.

12from labml import experiment
13from labml.configs import option
14from labml_nn.transformers import TransformerConfigs
15from labml_nn.transformers.configs import FeedForwardConfigs
16from labml_nn.transformers.mlm.experiment import TransformerMLM, Configs as MLMConfigs

වින්යාසකිරීම්

මැස්ඩ් භාෂා ආකෘති සඳහා අත්හදා බැලීමක් නිර්වචනය කරන MLMConfigs ස්ථානයෙන් මෙය උරුම වේ.

19class Configs(MLMConfigs):

MLPසඳහා වින්යාසගත කළ හැකි පෝෂක-ඉදිරි ජාලය

29    mix_mlp: FeedForwardConfigs

මිශ්රMLP වින්යාසයන්

32@option(Configs.mix_mlp)
33def _mix_mlp_configs(c: Configs):
38    conf = FeedForwardConfigs()

එම්එල්පීහි ප්රමාණය අනුක්රමික දිග වේ, මන්ද එය ටෝකන හරහා යොදන බැවිනි

40    conf.d_model = c.seq_len

කඩදාසි සක්රිය කිරීමට යෝජනා කරයි

42    conf.activation = 'GELU'

45    return conf

ට්රාන්ස්ෆෝමර්වින්යාසයන්

48@option(Configs.transformer)
49def _transformer_configs(c: Configs):
56    conf = TransformerConfigs()

කාවැද්දීම්සහ පිවිසුම් උත්පාදනය සඳහා වචන මාලාව ප්රමාණ සකසන්න

58    conf.n_src_vocab = c.n_tokens
59    conf.n_tgt_vocab = c.n_tokens

කාවැද්දීමප්රමාණය

61    conf.d_model = c.d_model

අවධානයමොඩියුලය MLPMixer වෙත වෙනස් කරන්න

63    from labml_nn.transformers.mlp_mixer import MLPMixer
64    conf.encoder_attn = MLPMixer(c.mix_mlp.ffn)

67    return conf
70def main():

අත්හදාබැලීම සාදන්න

72    experiment.create(name="mlp_mixer_mlm")

වින්යාසසාදන්න

74    conf = Configs()

වින්යාසයන්අභිබවා යන්න

76    experiment.configs(conf, {

කණ්ඩායම්ප්රමාණය

78        'batch_size': 64,

අනුපිළිවෙලදිග . වේගයෙන් පුහුණු කිරීම සඳහා අපි කෙටි අනුක්රමික දිගක් භාවිතා කරමු. එසේ නොමැතිනම් එම්එල්එම් ආකෘති සදහටම පුහුණු කිරීමට ගත වේ.

81        'seq_len': 32,

1024එපොච් සඳහා දුම්රිය.

84        'epochs': 1024,

එක් යුගයකට වරක් පුහුණුව සහ වලංගු කිරීම අතර මාරු වන්න

87        'inner_iterations': 1,

ට්රාන්ස්ෆෝමර්වින්යාසයන්

90        'd_model': 128,
91        'transformer.ffn.d_ff': 256,
92        'transformer.n_heads': 8,
93        'transformer.n_layers': 6,
94        'transformer.ffn.activation': 'GELU',

මික්සර්එම්එල්පී සැඟවුණු ස්ථර ප්රමාණය

97        'mix_mlp.d_ff': 128,

නෝම් ප්රශස්තකරණය භාවිතා කරන්න

100        'optimizer.optimizer': 'Noam',
101        'optimizer.learning_rate': 1.,
102    })

ඉතිරිකිරීම සහ පැටවීම සඳහා ආකෘති සකසන්න

105    experiment.add_pytorch_models({'model': conf.model})

අත්හදාබැලීම ආරම්භ කරන්න

108    with experiment.start():

පුහුණුධාවනය

110        conf.run()

114if __name__ == '__main__':
115    main()