Cos'è Amazon SageMaker Neo?
Amazon SageMaker Neo consente agli sviluppatori di ottimizzare modelli di machine learning (ML) per eseguire un’inferenza in SageMaker nel cloud e nei dispositivi supportati a livello di edge.
L’inferenza di ML è il processo di utilizzo di un modello addestrato di machine learning per fare previsioni. Dopo aver addestrato un modello per ottenere un’elevata precisione, per raggiungere elevate prestazioni gli sviluppatori impiegano spesso molto tempo ed energie per ottimizzarlo. Per eseguire l’inferenza nel cloud ottenendo una migliore capacità di trasmissione, gli sviluppatori ricorrono spesso ad ampie istanze con molta memoria e potenti capacità di elaborazione a costi maggiori. Per eseguire l’inferenza nei dispositivi edge con capacità di calcolo e memoria limitate, gli sviluppatori impiegano spesso mesi a ottimizzare manualmente il modello per ottenere prestazioni accettabili entro i limiti hardware del dispositivo.
Amazon SageMaker Neo ottimizza automaticamente i modelli di machine learning per eseguire l’inferenza nelle istanze cloud e nei dispositivi edge con maggiore velocità e senza perdita di accuratezza. Si inizia con un modello di machine learning già creato con DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX o XGBoost e addestrato in Amazon SageMaker o altrove. Dopodiché è possibile selezionare la piattaforma hardware di destinazione, che può essere un'istanza di hosting in SageMaker o un dispositivo edge basato su processori Ambarella, Apple, ARM, Intel, MediaTek, Nvidia, NXP, Qualcomm, RockChip o Texas Instruments. Con un solo clic, SageMaker Neo ottimizza il modello addestrato e lo compila in un eseguibile. Il compilatore usa un modello di machine learning per applicare le ottimizzazioni che consentono di estrarre le migliori prestazioni disponibili per il tuo modello nell’istanza cloud o nel dispositivo edge. Puoi quindi distribuire il modello come endpoint di SageMaker o nei dispositivi edge supportati e iniziare a fare previsioni.
Per eseguire l’inferenza nel cloud, SageMaker Neo velocizza l’inferenza e riduce i costi creando un container ottimizzato nell’hosting di SageMaker. Per eseguire l’inferenza a livello di edge, SageMaker Neo risparmia agli sviluppatori mesi di ottimizzazione manuale ottimizzando automaticamente il modello per il sistema operativo e l’hardware del processore selezionati.
Amazon SageMaker Neo utilizza Apache TVM e altri compilatori e librerie di accelerazione fornite dai partner per offrire le migliori prestazioni disponibili per un dato modello e hardware. AWS contribuisce al progetto Apache TVM con il codice del compilatore e al progetto open-source Neo-AI con il codice di runtime, con licenza Apache Software, per consentire ai fornitori di processori e ai produttori di dispositivi di innovare rapidamente in un runtime contenuto e comune.