Supporting undergraduate decision making with machine learning and human-centered AI research
Zachary Pardos, Professor
School of Information and Education
Applications for Spring 2024 are closed for this project.
The AskOski project (https://askoski.berkeley.edu/about) is a research and development effort lead by Professor Pardos to transfer the latest in big data and machine learning research to the domain of course guidance in higher ed. The recommender system is live in-production at Berkeley, with partial deployments at several other campuses. The project also extends to research deployed at systems of higher education outside of California. The team consists of around five senior developers and a lead developer from industry, who is a URAP alumni.
In-person office space will be provided on Fridays for group development sessions. Work outside of Fridays will be remote.
Role: There are several available roles, each with different tasks and learning outcomes:
(1) Machine learning engineer. This role involves optimizing evaluating experimental machine learning models. Tasks include training predictive models and testing them on several datasets, increasing runtime efficiency, and working with researchers to integrate successful approaches in to the production system. Learning outcomes include familiarization with one or two modern neural network models (e.g., word2vec, RNNs, Transformer-based models) and learning how ML can be integrated into a live product.
(2) Front-end Developer. This role extends the functionality or robustness of the recommender system on the web-based front-end written in AngularJS and HTML. Tasks include adding additional features to the frontend, implementing UI improvements, and optimization of back-end calls and subsequent data processing. Learning outcomes include familiarization with modern web programming paradigms and exposure to a product development stack.
(3) Back-end Developer. This role extends the functionality or robustness of the recommender system on the Python-based back-end. Tasks include implementing enhancing a transcript upload features that will aid transfer students in evaluating how their credits will transfer. Familiarity with MySQL, Pandas, and Flask is encouraged. Learning outcomes include familiarization with back-end systems and programming, database management, and exposure to a product development stack.
(4) Data Pipeline Developer. This role involves designing and developing the machine learning and data preprocessing pipeline for AskOski. Tasks include generalizing data schemas for extending support for AskOski to a multicampus framework, streamlining and optimizing the machine learning model training by using prior trained models, and maintaining the pipeline for new frontend and backend feature additions. Learning outcomes include familiarization with Apache Airflow and real-world workflows for a production machine learning pipeline.
(5) Quality Assurance Engineer. This role involves researching and applying frameworks for assuring the quality operation of new releases of AskOski. Tasks may include (a) writing unit and regression tests (b) automated testing using github (c) writing selenium / phantomjs-based tests. Learning outcomes include familiarization with testing and CI/CD technologies including Docker, Kubernetes, and Github Actions.
Qualifications: Requirements:
For position 1: Experience with neural networks in pyTorch, tensorflow, or Keras
For position 2: Angular JavaScript (for front-end)
For position 3: Python and Flask, ideally MySQL (back-end)
For position 4: Data science / data engineering skills, ideally Airflow
For position 5: Experience with testing and deployment frameworks
Hours: 6-8 hrs
Off-Campus Research Site: Remote
Related website: https://askoski.berkeley.edu/about
Related website: https://bse.berkeley.edu/zachary-pardos