මෙයරොටරි ස්ථානීය කාවැද්දීම් (කඹය) සමඟ ට්රාන්ස්ෆෝමර් ආකෘතියක් පුහුණු කිරීම සඳහා කරන ලද පයිටෝච් අත්හදා බැලීමකි.
14from labml import experiment
15from labml.configs import option, calculate
16from labml_nn.transformers import TransformerConfigs
17from labml_nn.transformers.basic.autoregressive_experiment import AutoregressiveTransformer, Configs21def _rotary_pe_mha(c: TransformerConfigs):
22 from labml_nn.transformers.rope import RotaryPEMultiHeadAttention
23 return RotaryPEMultiHeadAttention(c.n_heads, c.d_model, 1.)වින්යාසවිකල්ප
27calculate(TransformerConfigs.encoder_attn, 'rotary', _rotary_pe_mha)
28calculate(TransformerConfigs.decoder_attn, 'rotary', _rotary_pe_mha)
29calculate(TransformerConfigs.decoder_mem_attn, 'rotary', _rotary_pe_mha)ස්වයංක්රීයප්රතිගාමී ආකෘතියක් සාදන්න සහ බර ආරම්භ කරන්න
32@option(Configs.model, 'rotary_pe_transformer')
33def _model(c: Configs):37 m = AutoregressiveTransformer(c.transformer.encoder,
38 c.transformer.src_embed,
39 c.transformer.generator).to(c.device)
40
41 return m44def main():අත්හදාබැලීම සාදන්න
46 experiment.create(name="rotary_pe_transformer", writers={'screen'})වින්යාසසාදන්න
48 conf = Configs()වින්යාසයන්අභිබවා යන්න
50 experiment.configs(conf, {ස්ථාවරස්ථානීය කාවැද්දීම් නොමැත
52 'transformer.src_embed': 'no_pos',
53 'transformer.tgt_embed': 'no_pos',කඹයසමග ආකේත
56 'transformer.encoder_attn': 'rotary',59 'model': 'rotary_pe_transformer',අක්ෂරමට්ටමේ ටෝකනයිසර් භාවිතා කරන්න
62 'tokenizer': 'character',කඩිනම්බෙදුම්කරු හිස් ය
64 'prompt_separator': '',නියැදීමසඳහා විමසුමක් ආරම්භ කිරීම
66 'prompt': 'It is ',කුඩාෂේක්ස්පියර් දත්ත කට්ටලය භාවිතා කරන්න
68 'text': 'tiny_shakespeare',කසන්දර්භය ප්රමාණය භාවිතා
71 'seq_len': 512,32වයස අවුරුදු සඳහා දුම්රිය
73 'epochs': 32,කණ්ඩායම්ප්රමාණය
75 'batch_size': 4,එක් යුගයකට වරක් පුහුණුව සහ වලංගු කිරීම අතර මාරු වන්න
78 'inner_iterations': 10,ආදර්ශප්රමාණය
81 'd_model': 128,
82 'transformer.ffn.d_ff': 512,
83 'transformer.n_heads': 16,
84 'transformer.dropout': 0.0,නෝම් ප්රශස්තකරණය භාවිතා කරන්න
87 'optimizer.optimizer': 'Noam',
88 'optimizer.learning_rate': 1.,
89
90 'dataloader_shuffle_with_replacement': True
91 })ඉතිරිකිරීම සහ පැටවීම සඳහා ආකෘති සකසන්න
94 experiment.add_pytorch_models({'model': conf.model})අත්හදාබැලීම ආරම්භ කරන්න
97 with experiment.start():පුහුණුධාවනය
99 conf.run()103if __name__ == '__main__':
104 main()