Vedant’s status report for 02/25/2023

  • What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week I consolidated resources for building a GPT from scratch. These include:

  • This video by Andrej Karpathy:  https://www.youtube.com/watchv=kCc8FmEb1nY&ab_channel=AndrejKarpathy
  • This article with code and theory:  https://habr.com/en/company/ods/blog/708672/
  • This Jupyter notebook implements a similar workflow as a reference, I will follow a similar process for experimentation and prototyping:  https://github.com/Natooz/MidiTok/blob/main/colab-notebooks/Full_Example_HuggingFace_GPT2_Transformer.ipynb
  • Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

I feel that this week I am a little behind schedule due to midterms and other work that was brought forward. This next week will be relatively light and I intend to put more time into the project implementing an end-to-end workflow.

  • What deliverables do you hope to complete in the next week?

The main deliverable I want to achieve next week is having an end-to-end workflow ready using a pre-built GPT

Vedant’s status report for 02/18/2023

Please list the particular ECE courses (if any) that covered the engineering science and mathematics principles your team used to develop your design? If there are no courses please tells us how you learned those principles over the last week?

They aren’t specifically ECE courses but 11-785 (intro to deep learning) and 10-301 (intro to machine learning) covered the engineering principles I’m using in my project.

\What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

Since finalizing  the model last week, I have been researching other aspects of the optimization set up that could help our generative music model perform well. I discovered a new optimizer called Lion (EvoLved Sign Momentum) Published in a paper by Google and UCLA researchers less than a week ago The paper is linked Here.  Apart from this I also found libraries that can tokenize the MIDI files which our model takes as input, these tokenized inputs can better facilitate the learning of the generative model here.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

I feel that I am on track. I have a good idea of the model I want to implement and how I’m going to implement it.  I have also found a bunch of helpful resources which would provide guidance in design choices

What deliverables do you hope to complete in the next week?

In the coming week I hope to accomplish the following things:

  • Read about different tokenization strategies for MIDI files and the different advantages/disadvantages for each.
  • Understand the LakhMIDI dataset better to understand ways in which I can employ feature engineering to enhance the model
  • Experiment with a pre-built transformer to see the kind of results we can acheive

Vedant’s Status Report for 02/11/23

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week for me, was centered around research. The key takeaway from our discussions with faculty were that we need to make our product more interactive for our user. Since I am responsible for the development of the generative model, the interactivity is defined by what the model can take as input and how that can affect the output. The previous model I had decided on (GAN) does not really offer much interactivity for the user. Therefore I researched a variety of different approaches and compiled a document summarizing the strengths and weaknesses of different models, after a team meeting we finalized the approach to move forward with.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

Due to the fact that we had to modify our idea, I believe that we are about a week behind schedule. However now that we have a clear vision and purpose for the project I believe we will make up ground quickly and will be back on track by the design review.

Now that we have a model and use case finalized I can start developing prototypes and solidify the workflow. In the next few weeks my plan is to import a transformer model and develop an end-to-end workflow which includes everything from data processing to inference. Once I am confident in the workflow I will move on to model development and experiment with different hyperparameters. right now I am planning to have a workflow ready by spring break, and use the break for model development.

What deliverables do you hope to complete in the next week?

In the coming week I hope to accomplish the following things:

  • Work with magenta API to better understand the flow of data through a transformer based generative model
  • Read the 2018 research paper by Huang et. al which describes the chosen model, and design choices
  • Design and code a simple, basic transformer in pytorch to understand the inner workings of the model