Accelerated Programming for Data Analysis and Processing

  • Mittwoch, 22. Januar 2025, 10:00 - 12:00 Uhr
  • INF 205, Raum 2.414
    • Thi Kim Tuyen Le
  • Adresse

    INF 205
    Raum 2.414

  • Veranstalter

  • Veranstaltungstyp

Im vergangenen Jahrzehnt hat die Disziplin Data Science bemerkenswerte Fortschritte gemacht, was sich in der Verbreitung datengetriebener Strategien sowie dem raschen Wachstum von Arbeitsplätzen und der Erweiterung universitärer Lehrpläne in diesem Bereich äußert. Folglich festigt sich die Position von Daten als eines der wichtigsten Güter von Organisationen. Allerdings gehen mit umfangreichem Nutzen auch erhebliche Herausforderungen einher.

Insbesondere (1) werden viele Fachkräfte, die in ihrem jeweiligen Bereich Experten sind, denen aber Programmierkenntnisse fehlen, mit Schwierigkeiten beim Erlernen und Nutzen zahlreicher Data Science Toolkits konfrontiert. Zusätzlich (2) investieren Data Science Anwender substanzielle Anstrengungen in die Adaption von Implementierungen beim Wechsel zwischen Plattformen oder Programmiersprachen. Weiterhin (3) erfordert der Übergang von „kleinen“ zu „großen“ Datensätzen oft zusätzliche Arbeit, inklusive des Einsatzes komplexer Datenstrukturen, der Nutzung neuer Bibliotheken und potentieller Neuimplementierung.

Diese Dissertation zielt darauf ab, diese drei Probleme zu lösen und gleichzeitig das Erstellen von Skripten für Entwickler zu erleichtern. Wir nutzen Low-Code-Techniken und auf Machine Learning (ML) basierende Ansätze, um Programmieraufgaben zu beschleunigen. Des Weiteren haben wir mehrere Bibliotheken mit domänenspezifischen Operationen entwickelt, um Implementierungsaufgaben beim Übergang zwischen Plattformen zu vereinfachen. Innerhalb dieser Bibliotheken haben wir darüber hinaus Programmierschnittstellen sowohl für sequentielle als auch parallele Prozessierung standardisiert, um Nutzern den nahtlosen und einfachen Wechsel zwischen beiden zu ermöglichen. Diese Doktorarbeit fokussiert sich auf Beiträge zur Forschung sowie praktische Anwendungen.

Im praktischen Bereich haben wir eine Visual Studio Code Erweiterung namens NLDSL bereitgestellt, um die Entwicklung und Nutzung von Domain Specific Languages (DSLs), insbesondere für die Datenanalyse und –verarbeitung, zu unterstützen. Diese Erweiterung vereinfacht Skripting-Aufgaben für Endanwender und Entwickler, indem sie die Vorteile von DSLs, die der natürlichen Sprache nahe sind, nutzt. Durch gemeinsam genutzte DSL-Vorlagen können Benutzer angepasste DSLs problemlos wiederverwenden. Insbesondere nutzen diese DSLs vereinheitlichte Grammatiken für sowohl sequentielle als auch parallele Operationen, um Skalierbarkeitsprobleme zu adressieren. Die Erweiterung hat in der Community positive Resonanz erhalten, was die Notwendigkeit solcher Erweiterungen betont.

Unsere Forschungsbeiträge fokussieren sich hauptsächlich auf die Beschleunigung der Programmierung mit ML-Techniken zur Code-Generierung und die Anreicherung der oben genannten Bibliotheken zur Reproduktion über veröffentlichte Quellcodes und Daten. Wir haben ein Ensemble von Code-Empfehlern namens Extended Network konzipiert und evaluiert, um die Verbesserung der Genauigkeit durch die Ensemble-Architektur zu veranschaulichen. Außerdem haben wir eine verfeinerte Evaluierungsmethode, CT3, implementiert, um wertvolle Einblicke beim Vergleich von Ansätzen zur Code-Vervollständigung zu gewinnen, eine durch klassische aggregierte Evaluation oft beeinträchtigte Aufgabe. Abschließend haben wir One-shot Correction eingebracht, ein Verfahren zur Integration von Benutzer-Feedback in generative AI-Modelle ohne explizites Neu-Training, um eine eingehende Analyse unerwarteter Ergebnisse zu ermöglichen. Die Effektivität dieser Methoden wurde durch unsere empirischen Studien demonstriert.