es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conversión incompleta del modelo de incrustación de palabras con plasticityai/magnitude.

Quiero convertir el modelo de embedding de palabras Numberbatch 19.08 al formato .magnitude utilizado en plasticityai/magnitude. Debido a que quiero poder utilizar algoritmos de vecinos cercanos aproximados, ejecuto el siguiente comando:

python -m pymagnitude.converter -i numberbatch.txt -o numberbatch.magnitude -a

El tamaño del archivo desempaquetado numberbatch.txt es de aproximadamente 20GB. Estoy utilizando Windows 10.

Al principio, la conversión parece funcionar bien (durante algunas horas), mostrando un progreso como este:

Escribiendo vectores… (esto puede llevar algún tiempo)

1% completado … 99% completado

después

Guardando vectores escritos… (esto puede llevar algún tiempo)

y finalmente

Creando índice de búsqueda… (esto puede llevar algún tiempo)

Creando índice de búsqueda espacial para la dimensión 2 (tiene entropía alta)… (esto puede llevar algún tiempo)

Creando índice de vecinos cercanos aproximados… (esto puede llevar algún tiempo)

Sin embargo, nunca recibo un mensaje final de que la conversión se ha completado. En cambio, el programa se detiene sin más mensajes.

En este punto, me quedo con los siguientes tres archivos en la carpeta objetivo:

    15.891.668.992 numberbatch.magnitude.tmp
           557.056 numberbatch.magnitude.tmp-shm
       281.227.112 numberbatch.magnitude.tmp-wal

El resultado final deseado, numberbatch.magnitude, está desaparecido.

Cualquier indicio sobre lo que pudo haber salido mal sería muy apreciado. ¿Es posible que haya alguna manera de completar la conversión utilizando los tres archivos temporales?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el proceso de conversión se haya interrumpido debido a un error o falta de memoria en su sistema. Como está utilizando Windows 10, es posible que desee verificar si la memoria virtual del sistema (también conocida como archivo de página) está asignada correctamente y tiene suficiente espacio.

    Con respecto a los tres archivos temporales generados, estos suelen ser utilizados por la biblioteca SQLite con fines de almacenamiento en caché y no ayudarán a completar el proceso de conversión. Se recomienda eliminarlos e intentar la conversión nuevamente.

    En caso de que el problema persista, puede intentar dividir el proceso de conversión en lotes más pequeños de datos para evitar problemas de memoria. Otra opción es utilizar una plataforma basada en la nube como Google Colab o AWS SageMaker que ofrece más recursos de memoria y capacidad de cálculo.

    Finalmente, puede verificar el registro y los mensajes de error generados durante el proceso de conversión para identificar la causa específica del problema. También puede intentar ejecutar el proceso de conversión con parámetros adicionales, como especificar el tamaño del lote o aumentar el nivel de verbosidad para obtener más información sobre el proceso.

Comments are closed.