AWS-இன் Neuron 2.33 வெளியீட்டுக் குறிப்புகள், TorchNeuron பொதுப் பீட்டாவின் தேதியை அக்டோபர் 19 எனக் குறிப்பிடுகின்றன. அதே அக்டோபர் 19 தேதியிட்ட PyTorch அறிவிப்பு, பொதுப் பீட்டாவும் திறந்த மூல வெளியீடும் அக்டோபர் 20 அன்று கிடைக்கும் எனக் கூறுகிறது. torch-neuronx தொகுப்பு, Trainium2 மற்றும் Trainium3-க்காக PyTorch-இல் ஒரு neuron சாதனத்தைப் பதிவு செய்கிறது. இதனால் ஆதரிக்கப்படும் மாதிரி மற்றும் டென்சர் செயல்பாடுகள் பரிச்சயமான PyTorch API-களைப் பயன்படுத்த முடியும். இந்தச் சிப்புகளைப் பரிசீலிக்கும் பொறியாளர்களுக்குப் பயனுள்ள மாற்றம், ஏற்கெனவே உள்ள PyTorch நிரலிலிருந்து சாதனத்தில் ஒரு சோதனையைச் செய்வதற்கான பாதை குறைவதாகும். அந்த நிரல் சரியாகவும் திறமையாகவும் இயங்குமா என்பது அதன் செயல்பாடுகள், வடிவங்கள், மென்பொருள் சூழல் ஆகியவற்றையே இன்னும் சார்ந்துள்ளது.

Trainium-க்கான முந்தைய PyTorch பாதை XLA-அடிப்படையிலான torch-neuronx நூலகத்தையும் torch_xla சாதனக் குறியீட்டையும் பயன்படுத்தியது. நேட்டிவ் பின்தளம் PyTorch-இன் PrivateUse1 விரிவாக்கத்தைப் பயன்படுத்தி, xm.xla_device() என்பதற்குப் பதிலாக neuron சாதனத்தில் வைக்கும் முறையைப் பயன்படுத்துவதாக AWS கூறுகிறது. தொகுப்பின் பெயர் பரிச்சயமாக இருந்தாலும், ஏற்கெனவே Neuron பயன்படுத்தும் திட்டங்களுக்கு இது குறிப்பிடத்தக்க இடைமுக மாற்றம். இந்த வெளியீடு Trn2 மற்றும் Trn3 இன்ஸ்டன்ஸ்களில் பயிற்சி மற்றும் இன்ஃபரன்ஸுக்குப் பொருந்துகிறது; ஆதரவு அட்டவணையில் Trn1 இடம்பெறவில்லை.

PyTorch நிரலில் என்ன மாறுகிறது

இந்த AWS வெளியீட்டுக் குறிப்புகள், ஒரு மாதிரியை .to("neuron") மூலம் நகர்த்துவதையும், உள்ளீட்டு டென்சரை device="neuron" என்பதில் உருவாக்குவதையும் காட்டுகின்றன. ஆதரிக்கப்படும் torch.nn, autograd மற்றும் ஆப்டிமைசர் செயல்பாடுகள் பின்னர் பின்தளம் வழியாக இயங்குகின்றன. PyTorch-இன் சாதனத்தைச் சாராத torch.accelerator API-க்காக எழுதப்பட்ட குறியீடு, ஒரு சாதனத்துக்காகத் தனியாக மீண்டும் எழுதப்படாமலேயே Neuron-ஐக் கண்டறிய முடியும் என TorchNeuron கண்ணோட்டம் கூறுகிறது.

இயக்குவதற்கு இரண்டு பாதைகள் உள்ளன. உடனடி இயக்க முறையான eager mode, Python அழைக்கும் போதே PyTorch செயல்பாடுகளை இயக்கி, வழக்கமான கட்டுப்பாட்டு ஓட்டம், அச்சிடும் வெளியீடுகள், பிரேக்பாயின்ட்கள் ஆகியவற்றைப் பாதுகாக்கிறது. ஒவ்வொரு செயல்பாடும் முதல் பயன்பாட்டில் கம்பைல் செய்யப்படுகிறது; பின்னர் பொருந்தும் அழைப்புகள் கேஷைப் பயன்படுத்தலாம். பொறியாளர்கள் ஒரு மாதிரியையோ தேர்ந்தெடுத்த பகுதியையோ torch.compile(model, backend="neuron", dynamic=False) மூலமும் கம்பைல் செய்யலாம். நேட்டிவ் பின்தளம் ஆதரிக்கப்படும் முன்னோக்கு மற்றும் பின்னோக்கு கிராஃப்களைக் கம்பைல் செய்கிறது; பிடிக்கப்பட்ட பகுதிக்கு வெளியே உள்ள குறியீடு eager mode-இல் தொடர்கிறது. PyTorch அறிவிப்பு, கம்பைல் செய்வதற்கு முன் torch.compiler.set_default_backend("neuron") என்பதை ஒருமுறை அமைத்தால், பின்னர் வரும் கம்பைல் அழைப்புகளில் பின்தள அளவுருவைத் தவிர்க்கலாம் என்றும் விளக்குகிறது.

இந்த வெளியீட்டில் neuron பின்தளம் torch.distributed என்பதற்காக உள்ளது; குழுவான மற்றும் புள்ளி-புள்ளி செயல்பாடுகள் ஆவணப்படுத்தப்பட்டுள்ளன. ஆதரிக்கப்படும் API-களில் DistributedDataParallel, FSDP2, DTensor, DeviceMesh மற்றும் பைப்லைன் இணைச்செயலாக்கத்தை AWS பட்டியலிடுகிறது. பகிர்ந்தளிக்கப்பட்ட பயிற்சித் திட்டத்தில் ஆராய்வதற்கு இவை பயனுள்ள பாதைகள். ஆனால் ஏற்கெனவே உள்ள பல-நோட் பணி மாற்றமின்றி இயங்கும் அல்லது குறிப்பிட்ட தரவுச் செயலாக்க வீத இலக்கை அடையும் என்பதை வெளியீட்டுக் குறிப்புகள் நிறுவவில்லை.

பொருந்தும் சூழலுடன் மதிப்பீடு தொடங்குகிறது

AWS-இன் நிறுவல் விரைவு வழிகாட்டிக்கு Trn2 அல்லது Trn3 இன்ஸ்டன்ஸும், Neuron Base DLAMI அல்லது ஆதரிக்கப்படும் Ubuntu AMI-யும் தேவை. வெளியீட்டு அட்டவணை Ubuntu 24.04 அல்லது 26.04-இல் Linux x86_64-ஐக் குறிப்பிடுகிறது. இந்த வெளியீட்டில் Ubuntu 22.04-க்கான ஆதரவு முடிவடைந்துள்ளது. Python 3.12, 3.13, 3.14 ஆகியவற்றுடன் torch-neuronx 2.13.3.0-ஐ PyTorch 2.13.0-க்கும் அல்லது torch-neuronx 2.14.3.0-ஐ PyTorch 2.14.0-க்கும் பட்டியலிடுகிறது. தொகுப்புக் குடும்பம் PyTorch பதிப்புடன் பொருந்த வேண்டும்.

விரைவு வழிகாட்டி torch-neuronx==2.14.* உடன் neuronx-cc==2.* மற்றும் nki ஆகியவற்றை Neuron மற்றும் PyTorch தொகுப்பு இன்டெக்ஸ்களிலிருந்து நிறுவுகிறது. பின்னர் சாதனம் கிடைக்கிறதா என்பதைச் சரிபார்த்து, Neuron-இல் ஒரு சிறிய மேட்ரிக்ஸ் செயல்பாட்டை CPU முடிவுடன் ஒப்பிடுகிறது. இது AWS எடுத்துக்காட்டில் நிறுவப்பட்ட சாதனப் பாதையை உறுதிப்படுத்துகிறது. வாசகரின் மாதிரியை இது உறுதிப்படுத்தாது. அடுத்த நியாயமான மதிப்பீடு, உண்மையான மாதிரியின் முன்னோக்கு மற்றும் பின்னோக்கு பாதைகளை இயக்குவது, torch_neuronx.get_fallback_ops() மூலம் பதிவான CPU fallback-களை ஆராய்வது, தற்போதைய சூழலுடன் வெளியீடுகளை ஒப்பிடுவது, கம்பைல் செய்வதையும் நிலையான நிலையிலான இயக்கங்களையும் தனித்தனியாக அளப்பது ஆகியவையாகும். இந்த இறுதிப் படிகள் BIG CHANGE முன்வைக்கும் மதிப்பீட்டுக் கேள்விகள்; நாங்கள் செய்த சோதனைகள் அல்ல.

பீட்டா இன்னும் வேலையை மாற்றக்கூடிய இடங்கள்

Eager mode-இல் ஆதரிக்கப்படாத செயல்பாடு CPU-க்குத் திரும்பி எச்சரிக்கை வெளியிடலாம். torch.compile பயன்படுத்தும்போது, கிராஃபில் பிடிக்கப்பட்ட செயல்பாட்டை Neuron பின்தளத்தால் கீழ்நிலை இயக்க வடிவத்திற்கு மாற்ற முடியாவிட்டால், இயல்பாகவே கம்பைல் செய்வது தோல்வியடையும். ஒவ்வொரு செயல்பாட்டின் ஆதரவு விவரங்களுக்கும் AWS தனது ஆபரேட்டர் பொருந்துதன்மை அட்டவணையை டெவலப்பர்கள் பார்க்கச் சொல்கிறது. எனவே eager இயக்கம் முடிந்தது என்பதே, முழுவதும் சாதனத்தில் இயங்கியது அல்லது கம்பைல் செய்யப்பட்ட இயக்கத்துடன் பொருந்துகிறது என்பதை நிரூபிக்காது.

இந்த வெளியீடு மேலும், torch.compile என்பதற்கு dynamic=False தேவை என்கிறது; புதிய உள்ளீட்டு வடிவத்திற்கு மற்றொரு கம்பைல் தேவைப்படலாம். வடிவ மாறுபாட்டைக் குறைக்க padding அல்லது bucketing செய்ய AWS பரிந்துரைக்கிறது. பொருந்தும் ஆர்டிஃபாக்ட் கேஷில் இல்லாவிட்டால் முதல் இயக்கத்தில் கம்பைல் செய்வதும் அடங்கும். பணிச்சுமையின் நேரத்தை அளக்கும்போது இந்த விவரங்கள் முக்கியம்: கம்பைல் தாமதமும் உள்ளீட்டு வடிவங்களின் முறையும் மதிப்பீட்டு முடிவை மாற்றலாம்.

மற்ற வெளிப்படையான வரம்புகளும் பொருந்துதன்மை குறித்த கூற்றைச் சுருக்குகின்றன. பீட்டா torch.sparse, torch.func, torch.nested அல்லது torch.distributions ஆகியவற்றை ஆதரிக்காது. சில torch.fft மாற்றங்கள் மட்டுமே Neuron-இல் இயங்குகின்றன; float64 என்பது float32 ஆக இயங்கி எச்சரிக்கை தருகிறது. இந்த வெளியீட்டில் TorchAO ஒருங்கிணைப்பும் கூட்டு MXFP8 தரவுவகை ஆதரவும் இல்லை. இந்த இடைமுகங்களைப் பயன்படுத்தும் குழு, சாதனத்தில் வைப்பதையே இடம்பெயர்வு திட்டமாகக் கருதுவதற்கு முன் தனது சொந்தக் குறியீட்டுப் பாதையைச் சரிபார்க்க வேண்டும்.

பெரிய மாற்றம்

TorchNeuron பொதுப் பீட்டாவில் Trainium-ஐ PyTorch-இன் நேட்டிவ் சாதன மற்றும் கம்பைல் இடைமுகங்களுக்குப் பின்னால் வைக்கிறது. ஆதரிக்கப்படும் PyTorch நிரல்களின் முதல் சோதனையை இது நேரடியாக்குகிறது; தற்போதைய Neuron பயனர்களுக்கு XLA-அடிப்படையிலான குறியீட்டிலிருந்து வேறொரு பாதையையும் வழங்குகிறது. ஏற்றுக்கொள்வதற்கான தீர்மானமான ஆதாரம் ஒவ்வொரு பணிச்சுமையிலிருந்தும் வர வேண்டும்: ஆபரேட்டர்கள் நினைத்த சாதனத்தில் தொடர்கின்றனவா, எண்ணியல் முடிவுகள் ஏற்றுக்கொள்ளத்தக்கவையாக உள்ளனவா, அளவிட்ட செயல்திறனும் செலவும் இன்ஸ்டன்ஸ் மற்றும் இடம்பெயர்வு வேலையை நியாயப்படுத்துகின்றனவா என்பவையே அவை. இந்த ஆய்வுக்காக BIG CHANGE ஆவணங்களையும் அறிவிப்புகளையும் மதிப்பாய்வு செய்தது; நாங்கள் TorchNeuron-ஐ இயக்கவோ AWS-இன் செயல்திறன் கூற்றுகளைச் சுயாதீனமாக உறுதிப்படுத்தவோ இல்லை.

ஆதாரங்களும் கூடுதல் வாசிப்பும்

  • AWS Neuron 2.33 TorchNeuron வெளியீட்டுக் குறிப்புகள்: வெளியீட்டு தேதி, பீட்டா நிலை, பதிப்பு மற்றும் இயங்குதள அட்டவணை, API-கள், அறியப்பட்ட வரம்புகள்.
  • AWS-இன் TorchNeuron கண்ணோட்டம்: சாதன ஒருங்கிணைப்பு, eager மற்றும் கம்பைல் செய்யப்பட்ட இயக்கம், CPU fallback நடத்தை, Neuron வழியிலான மென்பொருள் பாதை.
  • AWS நிறுவல் மற்றும் சரிபார்ப்பு விரைவு வழிகாட்டி: இன்ஸ்டன்ஸ் மற்றும் இமேஜ் முன்தேவைகள், தொகுப்பு நிறுவல், ஆவணப்படுத்தப்பட்ட சாதனச் சரிபார்ப்பு.
  • PyTorch வலைப்பதிவு: TorchNeuron அறிமுகம்: சாதன மாற்றம், கம்பைல் செய்தல், பகிர்ந்தளிக்கப்பட்ட API-கள் குறித்து PyTorch தரப்பிலான விளக்கம். இந்தக் கட்டுரை PyTorch வலைப்பதிவில் AWS பங்களிப்பாளர்கள் வெளியிட்ட அறிவிப்பு; சுயாதீன பெஞ்ச்மார்க் அல்ல.
  • Amazon அறிவிப்பு: தனது நோக்கங்களையும் தொடக்கப் பயனர்களையும் பற்றி AWS அளிக்கும் விளக்கம். இடம்பெயர்வு, செயல்திறன், பொருளாதாரப் பலன் குறித்த கூற்றுகளுக்கு ஒவ்வொரு பணிச்சுமைக்கும் தனியான சரிபார்ப்பு தேவை.