Some very interesting large language model papers and updates on my VR hardware project.
This issue covers finding and editing knowledge in large language models like GPT and and update on my VR foot controllers project.
Finding and editing knowledge in LLMs
This week I came across a few very interesting papers that explored finding where knowledge resides inside large language models and editing facts (or incorrect associations) within them. This will open up so much potential for these ML models because it gives us the ability to insert knowledge into them fact-by-fact and fix issues as we encounter them. Now, let’s get into the details!
The paper that sparked my interest, which was recently updated on arXiv, is Locating and Editing Factual Associations in GPT where the authors develop a method to find specific groups of weights inside of GPT that seem to store associated knowledge facts like “the Eiffel Tower is in Paris.” They go on to manually edit this fact so that, after the intervention, GPT thinks something like “the Eiffel Tower is in Seattle” and will generate output consistent with that new world-view. For example, if you generate a movie script set in Seattle, it may write something like “The Eiffel Tower loomed over the Seattle skyline…”
They do this by creating a copy of the model that receives corrupted embeddings in an input sequence and then artificially restoring intermediate activation states of the original model that received an un-corrupted input. By doing this, they can identify specific locations in the language model where the knowledge of that fact resides when the correct output is generated by the model. A helpful gif from the project page is shown below.
After locating the knowledge, they use a rank-one modification of the MLP weights at that location to directly write in new knowledge, which they call ROME (rank-one model editing). This method probably won’t be used at scale to fix mistaken knowledge in LLMs or help efficiently store knowledge inside of them, but methods like that from “Fast Model Editing at Scale” and the ROME authors’ follow-up “Mass Editing Memory in a Transformer” can be used for that purpose.
CyberSoles update
I also wanted to give you all a quick update on the VR peripheral project I’ve been working on, which I’m calling CyberSoles VR. It’s a set of smart insoles you wear in your shoes that allow you to move around in virtual reality without using a thumbstick on a controller. They work by measuring how you are distributing your weight (toes vs heels, etc) and translating that to motion in the virtual world.
The prototype of the hardware is completed and I gave a demo to about a dozen people so far who range from having no VR experience to being current or former VR developers. The reception has been even better than I hoped for. One of my most hard-to-impress friends had this to say:
“This got me really excited about the future of VR… The sensitivity of the experience blew me away. I’ve tried a variety of solutions loosely in this vain before (like 3Drudder) but there’s never been anything like this.” - Nima Zeighami
A couple of people have jumped onto the team to work on this with me, and it will start picking up steam in the next few months. Hopefully, we can get a Kickstarter for these ready by the summer. You can sign up to the announcement list at cybersolesvr.com.
That’s all from me this week. Talk to you all again soon.
-John