Back to Annotated Deep Learning Paper Implementations

අවධානය නිදහස් ට්රාන්ස්ෆෝමර් (AFT) අත්හදා බැලීම

docs/si/transformers/aft/experiment.html

latest7.9 KB
Original Source

hometransformersaft

View code on Github

#

අවධානය නිදහස් ට්රාන්ස්ෆෝමර් (AFT) අත්හදා බැලීම

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

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

16importtorch1718fromlabmlimportexperiment19fromlabml.configsimportoption20fromlabml\_helpers.moduleimportModule21fromlabml\_nn.experiments.nlp\_autoregressionimportNLPAutoRegressionConfigs22fromlabml\_nn.transformersimportTransformerConfigs,Encoder23fromlabml\_nn.transformers.utilsimportsubsequent\_mask

#

සරලස්වයංක්රීය ප්රතිගාමී ආකෘතිය

මෙයටෝකන් කාවැද්දීමේ ස්ථරයක්, ට්රාන්ස්ෆෝමර් එන්කෝඩරයක් සහ ටෝකන් පිවිසුම් ලබා දෙන අවසාන රේඛීය ස්ථරයකින් සමන්විත වේ.

26classAutoregressiveTransformer(Module):

#

34def\_\_init\_\_(self,encoder:Encoder,src\_embed:Module,generator:Module):

#

41super().\_\_init\_\_()42self.src\_embed=src\_embed43self.encoder=encoder44self.generator=generator

#

පළමුඇමතුමෙන් වෙස්මුහුණ ආරම්භ කරනු ඇත

47self.mask=None

#

49defforward(self,x:torch.Tensor):

#

වෙස්මුහුණආරම්භ කර නොමැති නම් හෝ වෙස් මුහුණෙහි ප්රමාණය වෙනස් නම් පසුකාලීන වෙස්මුහුණක් සාදන්න

52ifself.maskisNoneorself.mask.size(0)!=len(x):

#

පසුකාලීනවෙස්මුහුණ, අනාගත ටෝකන දැකීමෙන් ටෝකන වසං කරනු ඇත

54self.mask=subsequent\_mask(len(x)).to(x.device)

#

ස්ථානීයකේතන ක්රම සමඟ ටෝකන් කාවැද්දීම් ලබා ගන්න

57x=self.src\_embed(x)

#

ට්රාන්ස්ෆෝමර්එන්කෝඩරය

59x=self.encoder(x,self.mask)

#

පිවිසුම්ලබා ගන්න

61x=self.generator(x)

#

ප්රතිලාභප්රති results ල (දෙවන අගය රාජ්ය සඳහා වේ, මන්ද අපගේ පුහුණුකරු RNs සමඟ ද භාවිතා කරයි)

65returnx,None

#

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

මෙයඋරුම වන්නේ NLPAutoRegressionConfigs

68classConfigs(NLPAutoRegressionConfigs):

#

GPTආකෘතිය

77model:AutoregressiveTransformer

#

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

79transformer:TransformerConfigs8081local\_window\_size:int=32

#

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

84@option(Configs.transformer,'Transformer')85def\_transformer\_configs(c:Configs):

#

අපගේ වින්යාසගත කළ හැකි ට්රාන්ස්ෆෝමර් ක්රියාත්මක කිරීම භාවිතා කරමු

92conf=TransformerConfigs()

#

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

94conf.n\_src\_vocab=c.n\_tokens95conf.n\_tgt\_vocab=c.n\_tokens

#

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

97conf.d\_model=c.d\_model

#

AFT දේශීය මොඩියුලයක් සමඟ ස්වයං අවධානය ප්රතිස්ථාපනය කරන්න

99fromlabml\_nn.transformers.aftimportAFTLocal100conf.encoder\_attn=AFTLocal(c.d\_model,c.seq\_len,c.local\_window\_size)

#

103returnconf

#

ස්වයංක්රීයප්රතිගාමී ආකෘතියක් සාදන්න

106@option(Configs.model)107def\_model(c:Configs):

#

111m=AutoregressiveTransformer(c.transformer.encoder,112c.transformer.src\_embed,113c.transformer.generator).to(c.device)114115returnm

#

118defmain():

#

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

120experiment.create(name="aft")

#

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

122conf=Configs()

#

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

124experiment.configs(conf,{

#

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

126'tokenizer':'character',

#

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

128'prompt\_separator':'',

#

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

130'prompt':'It is ',

#

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

132'text':'tiny\_shakespeare',

#

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

135'seq\_len':256,

#

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

137'epochs':128,

#

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

139'batch\_size':32,

#

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

142'inner\_iterations':10,

#

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

145'd\_model':128,

#

FFNසැඟවුණු මානයන් ප්රමාණය

147'transformer.ffn.d\_ff':256,

#

ප්රශස්තකරණය

150'optimizer.optimizer':'Noam',151'optimizer.learning\_rate':1.,152})

#

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

155experiment.add\_pytorch\_models({'model':conf.model})

#

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

158withexperiment.start():

#

පුහුණුධාවනය

160conf.run()

#

164if\_\_name\_\_=='\_\_main\_\_':165main()

Trending Research Paperslabml.ai