آمازون Trainium و TorchNeuronx چیست؟
Amazon Web Services (AWS) در سالهای اخیر با معرفی پردازندهٔ جدید Trainium، به طراحان مدلهای هوش مصنوعی امکان میدهد تا پردازشهای سنگین شبکههای عصبی را بهصورت بسیار کارآمد و مقرون بهصرفه انجام دهند. این پردازنده بهخاطر معماری اختصاصی و بهینهسازی برای عملیاتهای برداری، در مقایسه با سایر تعدادی از پردازندههای GPU و TPU، مزایای چشمگیری دارد.
چگونه با TorchNeuronx مدلهای خود را بر روی Trainium اجرا کنیم؟
مسیر سادهسازی اجرای مدل در محیط Trainium از طریق شلای torch-neuronx است که امکان تبدیل مدلهای PyTorch به باینری کامپایلشده برای این سختافزار را فراهم میکند. برای استفاده از آن، کافی است کتابخانهٔ torch.neuronx را نصب کرده، مدل موردنظر را بارگذاری و در دستور torch.neuronx.compile() به آن ارجاع دهید. این عملیات نه تنها بهینهسازی میکند بلکه به صورت خودکار شبکه را سریال میکند تا بیشترین بهره به ازای هر کوره حاصل شود.
جایگاه مدلهای پشتیبانیشده در Space TorchNeuronx
برای کمک به جامعهٔ توسعهکار، Space TorchNeuronx Model Support فهرستی بهروز از مدلهای بر روی Trainium قابل اجرا را در اختیار قرار میدهد. این فهرست، بهصورت دینامیک بر اساس بازدید، دانلود و روند محبوبیت مدلها، رتبهبندی میکند و نشان میدهد هر مدل چه تعداد کوره Trainium را بهکار گرفته و زمان اجرای بالاترین مقدار حافظه را مصرف میکند.
- BERT-Base (3.2M پارامتر): 1 کوره، زمان اجرای 12 ثانیه، حافظه 5 GB
- GPT-2 Small (117M پارامتر): 4 کوره، زمان اجرا 25 ثانیه، حافظه 8 GB
- T5-Small (60M پارامتر): 8 کوره، زمان اجرا 35 ثانیه، حافظه 12 GB
- RoBERTa-Large (355M پارامتر): 16 کوره، زمان اجرا 45 ثانیه، حافظه 24 GB
- DistilGPT-3 (130M پارامتر): 8 کوره، زمان اجرا 30 ثانیه، حافظه 10 GB
پرسشهای پرتکرار
모델을 AWS Trainium에서 실행하려면 무엇을 해야 하나요?
모델이 PyTorch 포맷이라면 <code>torch.neuronx.compile()</code>를 사용해 Trainium 전용 바이너리로 변환한 뒤, <code>torch.neuronx.inference()</code>를 호출하면 됩니다. 필요에 따라 <code>num_shards</code> 파라미터로 코어 개수를 조정할 수 있습니다.
어떤 모델이 Trainium에서 지원되나요?
Hugging Face Spaces의 <a href="https://huggingface.co/spaces/torch-neuronx-model-support" target="_blank">TorchNeuronx Model Support</a>에서는 다운로드·인기도 기준으로 상위 모델 목록을 실시간으로 제공하며, 각 모델이 수동 수정을 거치지 않고 그대로 실행 가능한지 여부를 표시합니다.