Navigating this current pandemic has been challenging for all of us. With online school, the normal levels of classroom engagement just aren’t attainable. Even with hybrid and in-person school, the social-distancing makes it difficult to stay engaged. Teachers aren’t able to connect as well with students and recognize when students need more assistance. This lack of engagement can also affect other issues such as focus, motivation, procrastination, and even take a toll on students’ mental health.
Our project aims to help students become more engaged in the topics they are learning. We have all wondered what it would be like to talk to some history’s greatest leaders, scientists, artists, and so much more. How would these individuals react to our modern day problems. After all, we owe our knowledge to the giants, such as physicist Richard Feynman, tech and marketing genius Steve Jobs, and so much more, that paved the road for us.
To help satisfy this curiosity, we created Shoulders of Giants, an AI-powered website that allows students to interact with historical figures.
What it does
Shoulders of Giants is a progressive web application that not only supplements the classroom, but democratizes education by allowing anyone to converse with historical figures.
The first step in achieving this is with Natural Language Generation Models based on various historical figures. The data gathered from their lectures, interviews, and memoirs is then preprocessed and used to fine-tune an instance of a pre-trained DistilGPT-2 model. This allows the model to generate text that imitates the figure’s style.
After the models are created, they are sent to our Raspberry Pi server to be hosted on our website Shoulders of Giants. This site uses PHP coupled with Python Scripts, allowing users to interact with the models stored on the Raspberry Pi. We also used Bootstrap to make the UI/UX as intuitive as possible.
Currently, there is only one model on our site that is based on Richard Feynman (aka "The Great Explainer"). We trained his model on his famous "Feynman Lectures". To do this, we Web Scraped data from their dedicated website using Beautiful Soup. We then trained a DistilGPT-2 model using GPU acceleration on Google Colaboratory and deployed it on our site.
Our site will remain Open Sourced and Free to Use because we believe that everyone deserves to be able to learn from the greats, or as Issac Newton described: "Stand on the shoulders of Giants"
How we built it
After countless hours of brainstorming, we decided to split the project up into 4 tasks: Data Collection, Model Training, Model Deployment, and Website Development. Though each person focused on one of these tasks, there was a large amount of communication and problem-solving when completing these tasks.
The Front-end of our website is comprised of HTML/CSS/JS. We used Python/PHP for our backend, which is hosted on a Rasberry PI. Our model was obtained from Hugging Face and was created with PyTorch. All data was collected from open-source, reputable sites.
Challenges we ran into
Our biggest challenge was creating the Natural Language Generation model, as we had no prior experience with this type of machine learning. Additionally, GPT-NEO, the original model we were using was unable to be trained due to its sheer size and our limited RAM. To resolve this, we resorted to DistilGPT-3, a smaller, lightweight model more suitable for our needs. There was also a lot of technical rhetoric we had to learn to be able to understand how our model worked and its accompanying documentation.
Another challenge was getting our front end to work with our AI model. We initially tried using Flask to build our own API but had trouble deploying it. We eventually discovered that we could insert Python Scripts to our site with PHP. There were also countless other challenges varying from data processing to domain hosting be we are very proud of ourselves for overcoming these issues to create a finished product.
Accomplishments that we're proud of
We are extremely proud of creating a unique solution to the education crisis using cutting-edge machine learning models and advanced web development skills. This weekend was exhausting but left us exhilarated as we came up with a product that has never been previously considered or implemented in this setting. Most importantly, we are proud to have completely finished our solution in the limited timeframe we had.
What we learned
We found it incredibly satisfying to use our machine learning and web development knowledge to help bring passion and interest into the education landscape. Seeing how we could create working solutions to a pressing conflict was fulfilling for all of us.
From a machine learning perspective, we learned how to collect data from virtually anywhere with Web Scraping, as well as data processing with Python. We also learned how to use Natural Language Generation models which was a subsection of AI none of us were familiar with.
From a web development perspective, we learned how to deploy machine learning models using PHP and Python. We also learned how to host our own sites with Raspberry Pi and work with domain name providers such as Domain/com,
What's next for Shoulders of Giants
We believe that working with an education non-profit, such as Khan Academy is the next step for Shoulders of Giants. This would allow us to reach anyone, regardless of socio-economic background. We believe that everyone deserves to interact with the giants that revolutionized the world.
In terms of our site, we plan to implement GPT-NEO, a cutting edge, open-source version of the famous, closed source GPT-3. This model would respond to questions in a more clear and coherent way. Additionally, we plan on using Google’s recently created dictation algorithm that would allow for our site to respond in the voice of the historical figure! Lastly, we plan on adding various historical figures to ensure every field and demographic is represented.