MLPs (GMLP) අත්හදා බැලීම කෙරෙහි අවධානය යොමු කරන්න

මෙය GMLP ආකෘතියක්පුහුණු කිරීම සඳහා කරන ලද පයිටෝර්ච් අත්හදා බැලීමකි. පුහුණුව අතරතුර සමහර ස්ථර අහඹු ලෙස ඉවත් කරනු ලබන Stochastic Depth regularization ද කඩදාසි අදාළ වේ. අපි එය මෙහි ක්රියාත්මක කර නැත.

මෙයපදනම් වී ඇත්තේ සරල ට්රාන්ස්ෆෝමර් ස්වයංක්රීය-ප්රතිගාමී එන්එල්පී කාර්යයක් සඳහා පුහුණු ලූප සහ වින්යාසයන්මත ය.

View Run

18from labml import experiment
19from labml.configs import option
20from labml_nn.transformers import TransformerConfigs
21from labml_nn.transformers.basic.autoregressive_experiment import Configs as BasicAutoRegressionConfigs
22from labml_nn.transformers.gmlp import GMLPBlock
25class Configs(BasicAutoRegressionConfigs):

ට්රාන්ස්ෆෝමර්

34    transformer: TransformerConfigs = 'gMLP'

ජීඑම්එල්පීබ්ලොක්

36    gmlp: GMLPBlock

d_ffn GMLP ප්රක්ෂේපණ ස්ථරය සඳහා

38    d_ffn: int = 2048

GMLPබ්ලොක් එකක් සාදන්න

41@option(Configs.gmlp, 'gMLP')
42def _gmlp_configs(c: Configs):
46    return GMLPBlock(c.d_model, c.d_ffn, c.seq_len)

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

49@option(Configs.transformer, 'gMLP')
50def _transformer_configs(c: Configs):
57    conf = TransformerConfigs()

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

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

ආකෘතිප්රමාණය සකසන්න

62    conf.d_model = c.d_model

එන්කෝඩර්ස්තරය GMLP ස්ථරයකින් ප්රතිස්ථාපනය කරන්න

64    conf.encoder_layer = c.gmlp
65
66    return conf
69def main():

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

71    experiment.create(name="gMLP")

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

73    conf = Configs()

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

75    experiment.configs(conf, {

අක්ෂරමට්ටමේ ටෝකනයිසර් භාවිතා කරන්න

77        'tokenizer': 'character',

කඩිනම්බෙදුම්කරු හිස් ය

79        'prompt_separator': '',

නියැදීමසඳහා විමසුමක් ආරම්භ කිරීම

81        'prompt': 'It is ',

කුඩාෂේක්ස්පියර් දත්ත කට්ටලය භාවිතා කරන්න

83        'text': 'tiny_shakespeare',

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

86        'seq_len': 256,

Epochs සඳහා දුම්රිය

88        'epochs': 128,

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

90        'batch_size': 32,

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

93        'inner_iterations': 10,

ආදර්ශප්රමාණය

96        'd_model': 512,
97        'd_ffn': 2048,

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

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()