Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Optimización de inferencias para modelos de Amazon SageMaker AI
Amazon SageMaker AI ofrece dos enfoques para optimizar la inferencia de modelos de IA generativa:
-
Recomendaciones de inferencia. SageMaker La IA analiza automáticamente el modelo y la carga de trabajo, evalúa los tipos de instancias, aplica optimizaciones y devuelve configuraciones validadas y listas para la implementación con métricas de rendimiento reales. Este es el enfoque recomendado para la mayoría de los clientes. Para empezar, consulte Recomendaciones de inferencia de IA generativa optimizadas.
-
Optimización manual. Para los clientes que desean adoptar un enfoque «hágalo usted mismo», pueden aplicar técnicas de optimización individuales, como la cuantificación, la decodificación especulativa y la compilación. Usted elige qué técnicas aplicar, ejecuta los trabajos de optimización y evalúa los resultados usted mismo. Una vez optimizado el modelo, puede realizar una evaluación para ver las métricas de rendimiento en cuanto a latencia, rendimiento y precio.
Para muchos modelos, la SageMaker IA también ofrece varias versiones preoptimizadas, cada una de las cuales se adapta a las diferentes necesidades de las aplicaciones en cuanto a latencia y rendimiento. Para estos modelos, puede implementar una de las versiones optimizadas sin tener que primero optimizar el modelo.
Técnicas de optimización
Amazon SageMaker AI admite las siguientes técnicas de optimización.
Compilación
La compilación optimiza el modelo para obtener el mejor rendimiento disponible en el tipo de hardware elegido sin que se pierda la exactitud. Puede aplicar la compilación de modelos para optimizar las LLM para hardware acelerado, como instancias de GPU, instancias de AWS Trainium o AWS instancias de Inferentia.
Al optimizar un modelo mediante la compilación, sacará partido de la compilación anticipada. Podrá reducir el tiempo de implementación del modelo y la latencia del escalado automático, ya que las ponderaciones del modelo no requieren una compilación justo a tiempo cuando el modelo se implementa en una nueva instancia.
Si decides compilar el modelo para una instancia de GPU, la SageMaker IA utilizará la TensorRT-LLM biblioteca para ejecutar la compilación. Si decides compilar el modelo para una instancia de AWS Trainium o AWS Inferentia, la SageMaker IA utilizará el SDK de AWS Neuron para ejecutar la compilación.
Cuantización
La cuantización es una técnica para reducir los requisitos de hardware de un modelo mediante el uso de un tipo de datos menos preciso para los ponderaciones y las activaciones. Después de optimizar un modelo con la cuantización, puede alojarlo en GPU menos costosas y con mayor disponibilidad. Sin embargo, es posible que el modelo cuantizado sea menos preciso que el modelo de origen que ha optimizado.
Los formatos de datos que admite la SageMaker IA para la cuantificación varían de un modelo a otro. Se admiten siguientes formatos:
-
INT4-AWQ — Formato de datos de 4 bits. Activation-aware La cuantificación de peso (AWQ) es una técnica de cuantificación para LLM que es eficiente, precisa, con pocos bits y solo pesa.
-
FP8: la coma flotante de 8 bits (FP8) es un formato de baja precisión para números de coma flotante. Equilibra la eficiencia de la memoria y la precisión del modelo al representar valores con menos bits que el formato de coma flotante estándar FP16.
-
INT8-SmoothQuant — Formato de datos de 8 bits. SmoothQuant es un método de cuantificación de precisión mixta que escala las activaciones y las ponderaciones de forma conjunta equilibrando sus rangos dinámicos.
Decodificación especulativa
La decodificación especulativa es una técnica que se utiliza para acelerar el proceso de decodificación de grandes LLM. Optimiza la latencia de los modelos sin que se vea afectada la calidad del texto generado.
Esta técnica utiliza un modelo menor pero más rápido denominado modelo de borrador. El modelo de borrador genera tokens candidatos, que valida el modelo de destino, que es mayor pero más lento. En cada iteración, el modelo de borrador genera varios tokens candidatos. El modelo de destino verifica los tokens y, si detecta que un token en concreto no es aceptable, lo rechaza y lo vuelve a genera. Por lo tanto, el modelo de destino verifica los tokens y genera una pequeño número de ellos.
El modelo de borrador es bastante más rápido que el modelo de destino. Genera todos los tokens rápidamente y, a continuación, envía lotes de ellos al modelo de destino para su verificación. El modelo de destino los evalúa en paralelo, lo que acelera la respuesta final.
SageMaker La IA ofrece un modelo de borrador prediseñado que puedes usar, para que no tengas que crear el tuyo propio. Si prefieres usar tu propio modelo de borrador personalizado, SageMaker AI también admite esta opción.
Carga rápida de modelos
La técnica de carga rápida de modelos prepara un LLM para que la SageMaker IA pueda cargarlo en una instancia de ML con mayor rapidez.
Para preparar el modelo, la SageMaker IA lo fragmenta por adelantado dividiéndolo en partes, cada una de las cuales puede residir en una GPU independiente para realizar inferencias distribuidas. Además, la SageMaker IA almacena los pesos del modelo en fragmentos del mismo tamaño que la SageMaker IA puede cargar en la instancia de forma simultánea.
Cuando la SageMaker IA carga el modelo optimizado en la instancia, transmite los pesos del modelo directamente desde Amazon S3 a las GPU de la instancia. Al transmitir los pesos, la SageMaker IA omite varios pasos que suelen ser necesarios y que consumen mucho tiempo. Estos pasos incluyen descargar los artefactos del modelo de Amazon S3 al disco, cargar los artefactos del modelo en la memoria del host y particionar el modelo en el host antes de cargar finalmente las particiones en las GPU.
Después de optimizar el modelo para una carga más rápida, puede implementarlo más rápidamente en un punto final de SageMaker IA. Además, si configura el punto de conexión para que utilice el escalado automático, se escala horizontalmente para adaptarse a los aumentos de tráfico.