Luke Salamone's Blog

https://lukesalamone.github.io

A technical blog exploring machine learning, deep learning architectures, data structures, and systems programming with in-depth implementations.

Luke Salamone's Blog

Entries

  • Autoresearch

    Leaving the autoresearch loop going, the LLM was able to make 7.8% progress on the distillation task. I saw Andrej Ka...

  • Distilling Stockfish with One Billion Positions

    TLDR: I extracted fens and stockfish evaluations for 3.9 billion chess positions. I then trained a neural network on ...

  • Aesthetic Graph Pruning

    #mapContainer1, #mapContainer2 { color: #000; } #mapContainer1 button, #mapContainer2 button { padding: 10px 14px; bo...

  • Keep Summer Safe

    I recently built a small multi-agent simulation inspired by Rick and Morty. The setup is simple: The car must neutral...

  • Notes on Deepseek R1

    DeepSeek R1 is a large language model which employs test-time compute to generate a response. Unlike many past decode...

  • Space Is Really Big

    More than 30 earths could fit between the earth and the moon. Our elementary school models of the solar system really...

  • Custom PyTorch Collate Function

    If your Dataset class looks something like class MyDataset(Dataset): # ... boilerplate ... def __getitem__(self, idx)...

  • Very Large Datasets in PyTorch

    In God we trust. All others must bring data. ~ W. Edwards Deming Datasets that fit in memory For simple machine learn...

  • How to Create Rust Python Bindings

    Rust is super fast. Python is super flexible. Porting slow python code to rust can make your life a lot easier, and i...

  • The Most Ramified Chess Position of 2023

    I spent some time considering words to describe a chess position with many legal moves. “Complex” doesn’t quite captu...

  • What are Sparse Autoencoders?

    MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [['$$','$$'], ['\[','\]']], proc...

  • How does HNSW work?

    Suppose we have a vector database with a billion items in it (the haystack). And suppose we are looking for K vectors...

  • Learning the Haystack

    MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [['$$','$$'], ['\[','\]']], proc...

  • Vectorized K-Means Clustering

    K-means clustering (previous discussion) is an unsupervised learning algorithm which assigns points to one of K diffe...

  • Summary: Deep & Cross Net v2

    Paper link: https://arxiv.org/pdf/2008.13535 Learning to rank is an important problem in many machine-learning produc...

  • What is a blunder in chess?

    What is a blunder in chess? The tension between the qualitative and quantitative answers to this question is at the h...

  • A 3D Game of Life

    Conway’s Game of Life is a simulation developed in 1970 describing a grid of binary cells and transition rules for ea...

  • Can ChatGPT Recognize Handwritten Digits?

    TLDR: No. No it cannot. This was admittedly a fairly stupid experiment on the face of it. ChatGPT is a decoder-only m...

  • Paper Summary: Antenna Design with Evolutionary Algorithms

    This is a summary of Automated Antenna Design with Evolutionary Algorithms, a 2006 paper by Hornby et al. As large la...

  • Paper Summary: Dual-Encoders in Ranking

    In Defense of Dual-Encoders for Neural Ranking by Menon et. al. discusses the question of why dual-encoder (DE) model...