About me
My interest in math
- During the pandemic I worked on a paper about the distribution of Gaussian primes and more generally primes in quadratic number fields, working alongside my father and his student. I wrote several Python programs to find the number of primes in angular slices of the complex plane and compare their densities. We found that our results very closely match and support the conjectures we sought to prove, like the idea that two slices with the same angle and radius will have similar amounts of primes as the radius goes to infinity.
- In the last 8 months or so I've been interested in vector databases and search algorithms for them. Especially in the domain of LLMs, (but not just) these systems are incredibly useful, due to the fact that they are queried not with keywords, but ideas. Due to the method of their construction, these representative vectors actually numerically encode the meaning of the thing they represent in their position.
For example, if you have a vector database mapping words and their corresponding vectors, you can search it for synonyms for a word by finding the corresponding (meaning/idea) vector for the word and seeing which other vectors in the database are near it. This idea can also be applied to vector databases containing images, DNA sequences, scientific papers - or even a collection of several of them. But instead of picking the query vector from directly within the database (searching a well-designed database with something like that would actually be extremely fast due to their internal graph structure), we can have more fun by searching it with a vector coming from a neural network - maybe a large language model. Searching a database with an 'idea' vector coming from an LLM, is a pretty powerful idea. A technique currently used in many LLM chatbots such as ChatGPT, Gemini and Claude known as RAG (retrieval augmented generation) has these models search for relevant sources which they read and use in their answers. This is an excellent use case for vector databases as they are organized in terms of ideas. But this technique of RAG isn't just helpful for large-scale billion dollar chatbots. It's also something directly practical for people who run their own LLMs locally, like me.
With the price of consumer RAM jumping by 80%+ in price in a week and seeming like it won't be coming down anytime soon, it's no longer an option for most consumers to simply buy more of it if they want improved performance and accuracy from their models. While the price of storage isn't prohibitive (yet), we can use smaller, faster models that query databases to augment our LLMs.