-
Advanced RAG Techniques - Improving Retrieval for LLM's using HyDE
HyDE (not the one from The Strange Case of Dr. Jekyll and Mr. Hyde) in the context of RAG stands for Hypothetical Document Embeddings. This is one of those few techniques (or “tricks” as I like to call them) you can use in your retrieval pipelines to boost the relevancy...
-
Building a Perceptron from Scratch in Python
The perceptron, also known as the ‘artificial neuron’, ‘single-layer perceptron’, etc is often termed as the structural building block of deep learning. But before we look into the logic, and code for implementing one, let’s first take a peek at its biological counterpart: the neuron. If you want to skip...
-
Symmetric vs Asymmetric Semantic Search
Semantic search is one of the primary components of a retriever in most RAG systems. Regular text search retrieves text by matching similar words or phrases. However, semantic search compares the meanings of words or phrases. It accomplishes this by converting phrases into numeric vectors called embeddings. Each embedding is...
-
(Pseudo) Differentiable JPEG - Computing Gradients from Noise
In the previous post, we explored how deep learning can be used for image steganography. But as cool as that sounds, it turns out to be pretty impractical - no support for lossy image compression and easily fooled by adversarial attacks, even though it can handle a hefty 24 bits...
-
Deep Steganography - Hiding Images in Plain Sight
Encryption is all the rage when it comes to securely sending data from Point A to Point B without revealing information to anyone snooping around. However, for someone trying to eavesdrop, seeing a bunch of scrambled messages might just incentivize them to try everything in their power to brute-force or...
-
Within A Game - Building a 7 Segment Display
So after a long time, thought to dust off this little page over here. One of the very few games I have in my device is Minetest, which is an open-source voxel game engine similiar to the likes of Minecraft - albeit a 100 times faster (C++ > Java). Minecraft...
-
Debugging Linux Boot Performance in my Laptop
It’s been around 8 months since I made the switch to Linux (Mint) and I have to admit, this is way too good for my potato laptop XD . Opening 30+ tabs in my browser no longer causes my cpu to torment me with its scream. However, while everything seemed...
-
Perspectives and Code - Redesigning Fibonacci
Among the first few coding challenges a newbie comes across is that of computing the Fibonacci Sequence. At a glance, this absurdly random question does not appear to offer any real world use case (despite it’s importance), apart from the fact that it’s used to demonstrate the concepts of recursion...
-
Tweet ID's are More than Enough
TLDR; You can access a tweet with only the given tweet id While scouring through the internet for suitable NLP datasets (tweets to be exact), one thing that crossed my eye was the fact the most datasets did not have the actual text content in them. Instead it was just...
-
Deploying Acedev's Random Bytes
Hola there. This is the opening post for my random bytes page, where I get to to keep notes of all those interesting quirks I come across daily, the things I do, so on and so forth. Primarily it may only help in refreshing my 40KB brain, but hopefully it...