Riassunto analitico
Lo sviluppo dell’ applicazione web "Talos" è un nuovo progetto dell'azienda Axyon AI con l'obiettivo principale di semplificare il processo di generazione dei dataset in "Datasmith" sfruttando un'interfaccia utente user-friendly (GUI). Datasmith è il progetto di Axyon AI mirato alla creazione di dataset utili sia per l'addestramento di modelli che per l'inferenza e le sperimentazioni interne all’azienda. Inoltre, Talos verrà utilizzato per tenere traccia delle principali attività di Datasmith, come l'ingestione storica e live dei Feature Group sul Feature Store AWS SageMaker direttamente dal pannello della web app. Per poter generare un dataset, è necessario conoscere diverse proprietà:
- L'universo investibile che stiamo considerando, identificato dal Feed Code - Il tipo di Instrument inclusi - Le Feature che vogliamo inserire nel dataset - Le Feature di contesto per il dataset - Il periodo temporale che il dataset dovrebbe coprire - Il target (nel caso dei dataset di training)
Tutte le informazioni e le proprietà elencate, che descrivono il dataset, vengono incluse in un file di tipo YAML che contiene tutti i Feature Group con le corrispondenti Feature effettivamente presenti nel Feature Store. Questo file di tipo YAML rappresenta il "Genoma" del dataset tramite il quale, una volta pronto, è possibile generare il dataset reale. Generare il Genoma di un dataset è attualmente un'operazione lenta, soggetta a errori e semi-manuale a causa della natura del file di tipo YAML che contiene un lungo elenco di Feature e Instrument. Talos mira a rendere il processo di generazione del Genoma più veloce e robusto, fornendo agli utenti di Datasmith uno strumento per monitorare tutte le principali attività relative al Feature Store.
La web application è composta da una parte backend, sviluppata utilizzando il framework Django, e da una frontend, sviluppata grazie al framework Nuxt JS. Inoltre l’applicazione è in grado di gestire l’integrazione LDAP (Google) degli utenti Axyon AI e quella di AWS per la generazione dei dataset. Talos è implementato sul server interno dell’azienda come modifica della soluzione multidocker attualmente adottata per altri progetti. Anche non utilizzando un'architettura serverless, una soluzione microservizi/multidocker offre un modo semplice per raggiungere modularità e flessibilità.
Talos è un progetto che si è sviluppato nel corso del mio tirocinio ma avrà un futuro anche successivamente con nuove funzionalità. Il progetto di tesi è stato quindi suddiviso principalmente in due fasi:
Lygos: sviluppo di una pagina che mostra, per ciascun Feed in produzione, l'elenco dei Feature Group che ne fanno parte. È presente anche un tracker di ingestione che mostra lo stato di ingestione del Feature Group in produzione e per ciascun Feature Group l'elenco dei Feed che lo utilizzano.
Byzantium: Talos guida gli utenti attraverso il processo di generazione del Genoma di un dataset, consentendo di scegliere i Feature Group, le Feature, il Feed Code e tutte le proprietà precedentemente elencate. Talos attualmente fornisce all'utente, direttamente dall’interfaccia grafica, l’opportunità di generare un dataset con intervallo temporale di un giorno al fine di verificare che il Genoma sia consistente. La fase successiva al progetto di tesi prevede la possibilità di abilitare la generazione del dataset completo, una volta verificata la consistenza di quello di test.
|
Abstract
The development of the web application "Talos" is a new project by Axyon AI company with the main goal of simplifying the dataset generation process in "Datasmith" by leveraging a user-friendly Graphical User Interface (GUI).
Datasmith is the Axyon AI project aimed at creating datasets useful for both model training and inference and internal company experiments. Moreover, Talos will be used to track the main Datasmith activities, such as the historical and live ingestion of Feature Groups on the AWS SageMaker Feature Store directly from the web app panel. To generate a dataset, it is necessary to know several properties:
- The investable universe we are considering, identified by the Feed Code
- The types of included Instruments
- The Features to be included in the dataset
- The contextual Features for the dataset
- The time period the dataset should cover
- The target (for training datasets)
All the listed information and properties describing the dataset are included in a YAML file that contains all the Feature Groups with their corresponding Features present in the Feature Store. This YAML file represents the dataset "Genome" through which the actual dataset can be generated once ready.
Generating the dataset Genome is currently a slow, error-prone, and semi-manual operation due to the nature of the YAML file, which contains a long list of Features and Instruments. Talos aims to expedite and strengthen the Genome generation process, providing Datasmith users with a tool to monitor all major activities related to the Feature Store.
The web application comprises a backend developed using the Django framework, and a frontend, developed thanks to the Nuxt JS framework. In addition, the application is able to handle LDAP (Google) integration of Axyon AI users and that of AWS for dataset generation.
Talos is implemented on the company's internal server as a modification of the multidocker solution currently adopted for other projects. Despite not using a serverless architecture, a microservices/multidocker solution offers a simple way to achieve modularity and flexibility.
Talos is a project that evolved during my internship and will have a future even afterwards with new features. The thesis project was therefore divided mainly into two phases:
Lygos: development of a page that shows, for each Feed in production, the list of Feature Groups that are part of it. The page includes an ingestion tracker showing the ingestion status of Feature Groups in production and, for each Feature Group, the list of Feeds utilizing it.
Byzantium: Talos guides users through the process of generating the Genome of a dataset, allowing them to choose Feature Groups, Features, Feed Code, and all the previously listed properties.
Talos currently provides the user, directly from the graphical interface, with the opportunity to generate a dataset with a one-day time interval in order to verify that the Genome is consistent. The next phase after the thesis project includes the possibility of enabling the generation of the complete dataset once the consistency of the test dataset is verified.
|