25.4 C
Colombia
lunes, julio 7, 2025

Weblog de Posit AI: antorcha 0.10.0


Nos complace anunciar que torch v0.10.0 ahora está en CRAN. En esta entrada de weblog destacamos algunos de los cambios que se han introducido en esta versión. Puedes consultar el registro de cambios completo. aquí.

Precisión mixta automática

La precisión mixta automática (AMP) es una técnica que permite un entrenamiento más rápido de modelos de aprendizaje profundo, manteniendo al mismo tiempo la precisión del modelo mediante el uso de una combinación de formatos de punto flotante de precisión easy (FP32) y media precisión (FP16).

Para utilizar la precisión mixta automática con soplete, necesitará utilizar el with_autocast
conmutador de contexto para permitir que la antorcha utilice diferentes implementaciones de operaciones que pueden ejecutarse con media precisión. En basic, también se recomienda escalar la función de pérdida para preservar pequeños gradientes, ya que se acercan a cero en la mitad de precisión.

Aquí hay un ejemplo mínimo, omitiendo el proceso de generación de datos. Puedes encontrar más información en el artículo amplificador.

...
loss_fn <- nn_mse_loss()$cuda()
web <- make_model(in_size, out_size, num_layers)
choose <- optim_sgd(web$parameters, lr=0.1)
scaler <- cuda_amp_grad_scaler()

for (epoch in seq_len(epochs)) {
  for (i in seq_along(information)) {
    with_autocast(device_type = "cuda", {
      output <- web(information[[i]])
      loss <- loss_fn(output, targets[[i]])  
    })
    
    scaler$scale(loss)$backward()
    scaler$step(choose)
    scaler$replace()
    choose$zero_grad()
  }
}

En este ejemplo, el uso de precisión mixta generó una aceleración de alrededor del 40%. Esta aceleración es aún mayor si solo está ejecutando inferencia, es decir, no necesita escalar la pérdida.

Binarios prediseñados

Con los archivos binarios prediseñados, la instalación de torch se vuelve mucho más fácil y rápida, especialmente si está en Linux y utiliza compilaciones habilitadas para CUDA. Los binarios prediseñados incluyen LibLantern y LibTorch, ambas dependencias externas necesarias para ejecutar Torch. Además, si instala las compilaciones habilitadas para CUDA, las bibliotecas CUDA y cuDNN ya están incluidas.

Para instalar los binarios prediseñados, puede utilizar:

asunto abierto por @egillaxpudimos encontrar y corregir un error que causaba que las funciones de antorcha que devolvían una lista de tensores fueran muy lentas. La función en el caso period torch_split().

Este problema se solucionó en la versión 0.10.0 y confiar en este comportamiento debería ser mucho más rápido ahora. Aquí hay un punto de referencia mínimo que compara la v0.9.1 con la v0.10.0:

anunciado recientemente libro ‘Aprendizaje profundo y computación científica con R torch‘.

Si desea comenzar a contribuir con torch, no dude en comunicarse con GitHub y ver nuestra guía contribuyente.

Puede encontrar el registro de cambios completo para esta versión. aquí.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles