Agradecer especialmente a Antonio Linares por la charla del pasado viernes 12-4-2024 a la que no pude asistir
Afortunadamente tenemos a Cristobal Navarro para grabarlo todo y subirlo al canal
https://www.youtube.com/watch?v=3O_8pxw1wHc
En la charla se expuso muchísima información y ganas de debate, por lo que una puerta abre varias ventanas que dan a otras puertas y ventanas ...
Según entendí se utilizó para los ejemplos el modelo de IA generativa LLama y el formato gguf (GPT-Generated Unified Format), usando Python en su desarrollo
Comprendo que desde la optica harbour es la unica posibilidad de momento para acceder a la IA
Ya desde los tiempos de tensorflow (que Antonio nos dio tambien charla en Novelda) pensé que si no se podia utilizar harbour, se podría utilizar javascript (o python)
Javascript permite 'correr' casi cualquier cosa en un webview, llamado desde harbour, FWH, ... por lo que puede ser interesante integrarlo en nuestros programas
También se expuso en la charla el uso de la libreria transformers como parte esencial del modelo de entrenamiento
Existe un proyecto github de dicha libreria para javascript
https://github.com/xenova/transformers.js
Permite procesamiento natural del lenguaje, vision por ordenador, audio, clasificar imágenes ...
Esta gente tienen un generador de musica, directamente en el navegador
https://huggingface.co/spaces/Xenova/musicgen-web
He realizado algunos ejercicios musicales y al revisar la caché de mi navegador, observo que me ha bajado un archivo binario de 428,422,300 bytes
/Xenova/musicgen-small/resolve/main/onnx/decoder_model_merged_quantized.onnx
Y otros tantos ficheros de más de 100 mb tambien en formato ONNX
Saltan mis dudas... Qué diferencia hay entre el formato gguf y onnx y para qué se usa ?
Le pregunto a ChatGPT
- Code: Select all Expand view RUN
GGUF (Generative Graph Unit File) y ONNX (Open Neural Network Exchange) son dos formatos de archivo utilizados en el campo del aprendizaje automático, pero tienen diferencias significativas:
1. **Propósito**:
- **GGUF**: Está diseñado específicamente para representar modelos generativos, como las redes generativas adversarias (GAN) y otras arquitecturas de modelos generativos. Se enfoca en la eficiencia y la representación precisa de estos tipos de modelos.
- **ONNX**: Tiene un propósito más general y se utiliza para representar una amplia variedad de modelos de aprendizaje automático, incluidos modelos generativos, pero también modelos convolucionales, recurrentes y otros.
2. **Uso**:
- **GGUF**: Principalmente se utiliza en el desarrollo y la implementación de modelos generativos. Es útil cuando se trabaja específicamente con GANs u otros modelos generativos.
- **ONNX**: Se utiliza para la interoperabilidad entre diferentes marcos de trabajo de aprendizaje automático. Permite que los modelos entrenados en un marco de trabajo se exporten a ONNX y luego se importen a otro marco de trabajo sin necesidad de volver a entrenarlos.
3. **Compatibilidad y Ecosistema**:
- **GGUF**: Puede tener menos soporte y herramientas disponibles en comparación con ONNX, ya que está más especializado en modelos generativos.
- **ONNX**: Tiene un amplio ecosistema de herramientas y soporte en múltiples lenguajes de programación. Es ampliamente adoptado en la industria y la investigación.
En resumen, GGUF se enfoca específicamente en modelos generativos y ofrece una representación optimizada para este tipo de modelos, mientras que ONNX es más general y se utiliza para la interoperabilidad entre diferentes marcos de trabajo de aprendizaje automático. La elección entre los dos depende de las necesidades específicas del proyecto y del tipo de modelo que se esté utilizando.
Como no sé si me dice la verdad y normalmente se necesita supervisión para este tipo de respuesta, qué opinais ?
Tengo un poco de confusión entre los modelos generativos y los modelos de aprendizaje profundo / redes neuronales
Me parece interesante lo que dice del formato ONNX ...
Permite que los modelos entrenados en un marco de trabajo se exporten a ONNX y luego se importen a otro marco de trabajo sin necesidad de volver a entrenarlos
El debate está abierto !