What did you personally accomplish this week on the project?

  • Set up a web server
    • Firstly, I had to answer some of the questions posed during my previous status report. Through some google-ing and asking a few friends and acquaintances, I was able to come up with answers to my previous 3 questions, particularly pertaining to the design goals specified for our app.
    • Next, this task involved doing some research on what configuration would suit the needs of our use case the best. Firstly, I wound up settling on using Flask for our project’s web framework. It seems like everyone in the group knows Python to some degree, and it appeared to be the easiest to get up and running. The main disadvantage is that the the built-in webserver would be very slow if used in production. So solve this issue, I decided to use nginx as our web server, and gunicorn to act as our WSGI application server. Although I am still new to web development, and don’t know how to use either to their fullest extent, I chose them because they are fundamentally production-ready code. They are easy enough to get running, and should I need to look more into additional features I would need to have the system work well in a production environment, I can rest assured that both of these likely have some form of the desired features implemented, and I won’t need to configure and write code for an entirely different tool.
    • I set up a functional web server and tested it for the purposes that will be used in our final project – serving webpages, sending and receiving files, and executing code on the server.
  • Began working on design presentation
    • I will be the one presenting our group’s design presentation, so I made sure to begin working on it over the course of this week.

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

I believe we are currently still on schedule with respect to implementing our project. While we may not have implemented much of what will end up in production just yet, we still need to run many basic tests and back-of-the napkin calculations to better understand where we stand with respect to solving our problem. I think there will a decent amount of this type of work done before we make strong progress towards a final solution, especially for our ML component which is highly experimental. For the rest of the system, it should be feasible to implement and benchmark something somewhat soon, though certain design choices still need to be fully nailed down.

Additionally, a decent portion of our group’s work this week and the next has gone towards our design presentation. This means that at least pertaining to our final goals, our throughput this week may appear to be less than in future weeks, but progress should accelerate going forward.

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

Most of our high-level design choices have currently been decided, though there still remain a few variables, particularly regarding what strategy we will use to improve the performance of our ML model (extra training vs. prompt engineering), and analyzing which exact database we plan on using, given our problem.

As such, I will continue to work on completing our design presentation, so that I can have slides, and planned points I am confident will be sufficient for our presentation next week.

Additionally, I will begin working on our design report writeup. This is a separate document from the presentation, and will require additional work to get in a state that is good for submission.

If I have time after working on the presentation and writeup, I think I’ll try to get some benchmarking code working next week. It is important that we have testing data using the real hardware we have chosen, particularly when trying to benchmark our ML model, as our inputs may be somewhat different from what the model has trained on. Additionally, I’ll try to get a rough benchmark of some of the latencies of our server pipeline running. This won’t be too useful for now, as we still have a few finer-grained design decisions to make, but all iterations of our server should be able to use these benchmarks.

 


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *