Haciendo herramientas de IA accesibles para investigadores
Desarrollando software fácil de usar para simplificar la IA para los científicos.
― 6 minilectura
Tabla de contenidos
La Inteligencia Artificial (IA) se ha vuelto importante en muchas áreas de la vida, incluyendo la ciencia y la investigación. Sin embargo, acceder a herramientas de computación avanzadas para trabajar con IA a menudo requiere conocimientos y habilidades especiales que muchas personas no tienen. Este proyecto tenía como objetivo hacer que estas herramientas sean más fáciles de usar para todos, especialmente para aquellos en la investigación.
Objetivos del Proyecto
El objetivo principal de nuestro proyecto era crear herramientas de software amigables que ayuden a científicos e investigadores a acceder y usar recursos avanzados de computación en IA. Nuestros esfuerzos se centraron en desarrollar software que se conectara a sistemas de IA y permitiera a los usuarios trabajar con datos de una manera más sencilla.
Tecnologías Clave
Para alcanzar nuestros objetivos, utilizamos varias tecnologías clave:
Jupyter Notebooks: Son documentos interactivos que permiten a los usuarios escribir y ejecutar código. Son populares entre los investigadores porque ofrecen una forma de combinar código, texto y visualizaciones en un solo lugar.
Python: Este lenguaje de programación es ampliamente utilizado en ciencia de datos e IA. Escribimos código en Python para construir nuestras herramientas de software.
Tapis: Este es un sistema que ayuda a los investigadores a acceder fácilmente a recursos de computación de alto rendimiento. Permite a los usuarios ejecutar trabajos, gestionar datos y conectarse a otros servicios sin necesidad de entender detalles complejos del sistema.
Neo4j: Este es un tipo de base de datos que organiza los datos de una manera que resalta las relaciones entre diferentes piezas de información. Es útil para crear Grafos de Conocimiento, que ayudan a los usuarios a visualizar y entender datos complejos.
Desarrollo de Software
Desarrollamos un conjunto de herramientas de software que incluía Jupyter Notebooks y aplicaciones de línea de comandos. Estas herramientas estaban diseñadas para permitir a los usuarios autenticarse en Tapis y acceder a los servicios que necesitaban.
Jupyter Notebooks
Los Jupyter Notebooks fueron centrales en nuestro proyecto. Creamos varios notebooks para ayudar a los usuarios a conectarse a los servicios de Tapis. Estos notebooks ofrecían instrucciones paso a paso para autenticación, carga de datos y gestión de grafos de conocimiento.
Uno de nuestros notebooks permitía a los usuarios configurar fácilmente un grafo de conocimiento Neo4j en Tapis. Esto fue crucial porque permitió a los investigadores visualizar sus datos de manera efectiva. También proporcionamos un notebook para cargar datos de fuentes externas en los grafos de conocimiento.
Aplicaciones de Línea de Comandos
Además de los Jupyter Notebooks, desarrollamos herramientas de línea de comandos. Estas aplicaciones estaban destinadas a usuarios que prefieren usar un terminal para interactuar con el sistema. Simplificaron el proceso de autenticación en Tapis y la realización de tareas como crear y gestionar pods (contenedores utilizados para alojar bases de datos).
Proceso de Autenticación
La autenticación fue una parte crucial de nuestro proyecto. Los usuarios necesitan proporcionar su nombre de usuario y contraseña de TACC (Texas Advanced Computing Center) para acceder a los servicios de Tapis. Creamos un proceso simplificado que guía a los usuarios a través de cada paso de la autenticación. Una vez autenticados, los usuarios pueden crear o gestionar sus pods y grafos de conocimiento sin problemas.
Grafos de Conocimiento
Los grafos de conocimiento son herramientas poderosas que ayudan a organizar y visualizar datos. Elegimos trabajar con Neo4j por esta razón. Al usar Neo4j, pudimos representar información y relaciones complejas de una manera clara e intuitiva.
Creando Grafos de Conocimiento
Para crear grafos de conocimiento, primero necesitábamos datos. Usamos archivos CSV (Valores Separados por Comas), que son un formato común para almacenar datos tabulares. Nuestras herramientas de software permitieron a los usuarios cargar fácilmente estos datos en Neo4j, donde podrían organizarse en un grafo de conocimiento.
Una vez que los datos se cargaron, los usuarios podían ejecutar consultas para explorarlos. Proporcionamos ejemplos y plantillas para ayudar a los usuarios a comenzar a consultar sus grafos de conocimiento.
Accediendo a Grafos de Conocimiento
Después de crear grafos de conocimiento, los usuarios necesitaban una forma de acceder e interactuar con ellos. Nuestros Jupyter Notebooks permitieron a los usuarios ejecutar consultas y visualizar sus datos. También proporcionamos interfaces de línea de comandos que permitieron a los usuarios realizar las mismas tareas sin usar una interfaz gráfica.
Con estas herramientas, los investigadores podían analizar fácilmente sus datos, obtener ideas y compartir sus hallazgos con otros.
Desafíos Enfrentados
Durante nuestro proyecto, encontramos varios desafíos. Un gran problema fue simplificar el proceso de autenticación. Nuestro objetivo era crear una experiencia sencilla para usuarios que podrían no tener un sólido trasfondo técnico.
Otro desafío fue asegurarnos de que las herramientas que construimos fueran confiables y amigables. Realizamos varias pruebas para asegurarnos de que nuestro software funcionara correctamente en diferentes escenarios.
Direcciones Futuras
Mirando hacia adelante, planeamos seguir mejorando nuestras herramientas de software. Nuestro objetivo es asegurar que más investigadores puedan beneficiarse del uso de recursos de computación avanzados sin necesidad de una extensa capacitación o conocimientos.
Queremos expandir las capacidades de nuestras aplicaciones, haciéndolas aún más fáciles de usar. Además, planeamos mejorar los aspectos de visualización, permitiendo que los usuarios vean sus datos de maneras más atractivas.
Conclusión
En general, nuestro proyecto demostró que es posible crear herramientas de software amigables que ayudan a científicos e investigadores a aprovechar el poder de la IA y los recursos de computación avanzados. Al simplificar el proceso de autenticación y proporcionar un fácil acceso a grafos de conocimiento, facilitamos a los usuarios la realización de su investigación.
Las herramientas que desarrollamos esperemos que tengan un impacto positivo en la comunidad de investigación, permitiendo a más personas beneficiarse de la computación de alto rendimiento y las tecnologías de IA. Estamos emocionados por el futuro y esperamos más desarrollos en este campo.
Título: Development of Authenticated Clients and Applications for ICICLE CI Services -- Final Report for the REHS Program, June-August, 2022
Resumen: The Artificial Intelligence (AI) institute for Intelligent Cyberinfrastructure with Computational Learning in the Environment (ICICLE) is funded by the NSF to build the next generation of Cyberinfrastructure to render AI more accessible to everyone and drive its further democratization in the larger society. We describe our efforts to develop Jupyter Notebooks and Python command line clients that would access these ICICLE resources and services using ICICLE authentication mechanisms. To connect our clients, we used Tapis, which is a framework that supports computational research to enable scientists to access, utilize, and manage multi-institution resources and services. We used Neo4j to organize data into a knowledge graph (KG). We then hosted the KG on a Tapis Pod, which offers persistent data storage with a template made specifically for Neo4j KGs. In order to demonstrate the capabilities of our software, we developed several clients: Jupyter notebooks authentication, Neural Networks (NN) notebook, and command line applications that provide a convenient frontend to the Tapis API. In addition, we developed a data processing notebook that can manipulate KGs on the Tapis servers, including creations of a KG, data upload and modification. In this report we present the software architecture, design and approach, the successfulness of our client software, and future work.
Autores: Sahil Samar, Mia Chen, Jack Karpinski, Michael Ray, Archita Sarin, Christian Garcia, Matthew Lange, Joe Stubbs, Mary Thomas
Última actualización: 2023-04-16 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2304.11086
Fuente PDF: https://arxiv.org/pdf/2304.11086
Licencia: https://creativecommons.org/licenses/by-sa/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.
Enlaces de referencia
- https://www.michaelshell.org/
- https://www.michaelshell.org/tex/ieeetran/
- https://www.ctan.org/pkg/ieeetran
- https://www.ieee.org/
- https://www.latex-project.org/
- https://www.michaelshell.org/tex/testflow/
- https://www.ctan.org/pkg/ifpdf
- https://www.ctan.org/pkg/cite
- https://www.ctan.org/pkg/graphicx
- https://www.ctan.org/pkg/epslatex
- https://www.tug.org/applications/pdftex
- https://www.ctan.org/pkg/amsmath
- https://www.ctan.org/pkg/algorithms
- https://www.ctan.org/pkg/algorithmicx
- https://www.ctan.org/pkg/array
- https://www.ctan.org/pkg/subfig
- https://www.ctan.org/pkg/fixltx2e
- https://www.ctan.org/pkg/stfloats
- https://www.ctan.org/pkg/dblfloatfix
- https://www.ctan.org/pkg/url
- https://www.michaelshell.org/contact.html
- https://stackoverflow.com/questions/2143687/latexs-verbatim-how-to-indent-every-instance
- https://icicle.develop.tapis.io
- https://mirror.ctan.org/biblio/bibtex/contrib/doc/
- https://www.michaelshell.org/tex/ieeetran/bibtex/