HN user

ngrislain

84 karma

Co-founder of Sarus Technologies (YC W22) Email: nicolas.grislain@gmail.com

YC Badge: 0x454a841da25d3ae21ab4a2b3e8495f663280ced8

Posts37
Comments29
View on HN
ngrislain.github.io 29d ago

Vibe Under Constraint - Claude Code writing Lean 4

ngrislain
3pts1
ngrislain.github.io 3mo ago

Mamba-3 and the State Space Model Renaissance

ngrislain
1pts0
ngrislain.github.io 3mo ago

The Signature Method in Machine Learning (an interactive reading note)

ngrislain
1pts0
ngrislain.github.io 4mo ago

Zero-Cost POSIX Compliance: Encoding the Socket State Machine in Lean's Types

ngrislain
34pts23
ngrislain.github.io 4mo ago

Reading Note: Sequential-Parallel Duality in Prefix Scannable Models

ngrislain
2pts0
github.com 4mo ago

Show HN: Lean-pq a typesafe PostgreSQL connector for lean

ngrislain
2pts1
ngrislain.github.io 4mo ago

Don't Vibe โ€“ Prove

ngrislain
4pts0
github.com 4mo ago

Lean-PQ โ€“ Type-safe PostgreSQL bindings for Lean 4 via libpq FFI

ngrislain
1pts0
ngrislain.github.io 5mo ago

How to Die Optimally โ€“ A Theory of Consumption When AI Takes Your Job

ngrislain
2pts0
github.com 7mo ago

Lean Advent of Code 2025

ngrislain
1pts2
ngrislain.github.io 8mo ago

Teaching 3D Geometry with Pyxel

ngrislain
1pts0
www.quantamagazine.org 1y ago

Mathematical Beauty, Truth and Proof in the Age of AI

ngrislain
2pts0
www.youtube.com 1y ago

Post-Labor Economics Lecture 01 [video]

ngrislain
2pts0
medium.com 1y ago

A Practical Method for Testing Differential Privacy โ€“ By Andi Cuko

ngrislain
1pts0
arena-ai.github.io 1y ago

Show HN: Value likelihoods for OpenAI structured output

ngrislain
115pts42
arxiv.org 1y ago

RAG with Differential Privacy

ngrislain
2pts0
medium.com 1y ago

DP-RAG

ngrislain
2pts0
github.com 1y ago

Show HN: A simple implementation of Differentially Private RAG

ngrislain
2pts0
fr.wikipedia.org 1y ago

Nostr โ€“ Wikipรฉdia

ngrislain
2pts1
www.sarus.tech 1y ago

Enhancing May App Service Quality While Safeguarding Patients' Data

ngrislain
2pts0
qrlew.github.io 1y ago

Qrlew SQL Framework

ngrislain
1pts0
en.wikipedia.org 1y ago

Lake Nyos Disaster

ngrislain
2pts0
www.science.org 2y ago

Anonymization: The imperfect science of using data while preserving privacy

ngrislain
3pts1
www.sarus.tech 2y ago

Discovering New Knowledge While Protecting Privacy

ngrislain
1pts0
www.youtube.com 2y ago

Compiler-Driven Development in Rust [video]

ngrislain
2pts0
medium.com 2y ago

Beyond Few-Shot Learning: LLMs Excel in Synthetic Data Gen with Fine-Tuning

ngrislain
3pts0
www.sarus.tech 2y ago

Quickly Generate Time-Series Synthetic Data with OpenAI's Fine-Tuning API

ngrislain
1pts0
www.microsoft.com 2y ago

Private Synthetic Data for Generative AI

ngrislain
1pts0
en.wikipedia.org 2y ago

Pythagorean cups force their users to fill them in moderation

ngrislain
2pts0
github.com 2y ago

Show HN: Qrlew, simple SQL to SQL-with-privacy written in Rust

ngrislain
15pts6

Vibe coding is great. You describe what you want, the agent writes it, the tests pass, you ship. It keeps working right up to the moment it does not: the job gets killed by the OOM reaper in production, or it opens ten thousand file descriptors and falls over, or it runs fine on the sample and melts on the real dataset.

Advent of Code 2025 8 months ago

Yes, I'm doing it without AI to learn the language, nonetheless I do think that Lean 4 + AI is a super-powerful combination.

Yes it is true that the model has undergone SFT, and RLHF, and other alignment procedures, and hence the logprobs do not reflect the probability of the next token as in the pre-training corpus. Nevertheless, in concrete applications such as our main internal use-case: structured data extraction from pdf documents it revealed very valuable. When the value was obviously well extracted, the logprob was high and when the information was super hard to find or impossible the model would output - or hallucinate - some value with much lower logprob.

Same token usage. Actually OpenAI returns the logprob of each token conditional on the previous ones with the option logprobs=true. This lib simply parses the output json string with `lark` into an AST with value nodes. The value nodes are mapped back to a range of characters in the json string. Then the characters are mapped back to the GPT tokens overlapping the character ranges and the logprobs of the tokens are summed.

Thank you! The number is the the sum of the logprobs from the token constituting the individual values. So it does represent the likelihood of seeing this value. So yes OpenAI is super-biased as a random number generator. We sampled other values from OpenAI and got other die roll values, but with much lower probs (5 has 8% chances ).

Imagine you want to open an access to your DB to someone - Alice - you do not particularly trust. And you want to make sure Alice cannot learn anything about an individual in the database.

Maybe you will filter the queries that you assume safe, let's say aggregation queries. But to prevent GROUP BYs with singleton groups, you will enforce some more constraints. Let's says GROUPs should have a minimal size of 10 elements. But then Alice could run a first aggregation with a GROUP of 100 and the same with a GROUP of 100 minus Bob, by using both responses Alice can know things about Bob. Then you will design more involved rules and grow a complex set of rules and eventually add human supervision and your system will not be scalable.

With DP, you add some noise to a query result so that you have a guarantee that nothing substantial can be learned about Bob.

Imagine you want to open your DB to the outside world in a scalable way, you can design a service that: - receives SQL queries - use Qrlew to rewrite them - run the rewritten query on any DB and send back the result as a response - you would also accumulate privacy loss in a privacy accountant so that you make sure the amount of private information leaked by the repeated disclosure of DP query results stays bounded.

That's what Sarus does as a company. Qrlew is the DP-SQL core we use.

You are absolutely right, we are leveraging many open-source bricks to build our product, so that they can be reviewed, mainly:

- https://github.com/google/differential-privacy (for basic mechanisms and PLD accounting)

- https://github.com/tensorflow/privacy (for DP-SGD and RDP accounting)

- https://github.com/opendp (for our SQL module)

We actively contribute to some of them.

We also open-sourced some tech bricks we are using:

- https://github.com/sarus-tech/dp-xgboost (see also https://arxiv.org/pdf/2110.12770.pdf)

We plan to continue building trust in the tools we are using by publishing some of them.

Sarus would typically fit in organizations that legitimately collect personal data and can take decisions based on these data. In these cases you don't want (and most of the time cannot legally) let anyone in the organisation have access to the full personal data records. Using Sarus anyone, even untrusted parties can run analysis on your data safely. These analysis can be classification-model-fitting. You can then classify accurately users to maximize your revenue as long as you can observe the values to feed into your classifier.

At Sarus Technologies, we use dask to test many machine learning models and tune their hyper-parameters in parallel. It's actually quite simple to deploy and scale a dask cluster, thanks to kubernetes and public clouds. If you are interested, check this tutorial out.

Recently, as I was following the ๐Ÿ‡บ๐Ÿ‡ธ US elections ๐Ÿ‡บ๐Ÿ‡ธ, I got puzzled by the fact that days after the elections happened some betting odds of Biden winning the elections were still below 90%, while FiveThirtyEight published a probability of 90% before the election actually happened, when way less information was known.

I decided to spend my Sunday of COVID lockdown illustrating some facts about forecasting, like the martingale property.

# Sarus published models

Sarus implementation of classical ML models. The models are implemented using the Keras API of tensorflow 2. Vizualization are implemented and can be seen in tensorboard.

The required packages are managed with pipenv and can be installed using pipenv install. Please see the pipenv documentation for more information.

## Philosophy

These models' implementations are intended to be easy to read and to adapt by making use of the latest Tensorflow 2 library and Keras API.

## Basic usage

To install and train a model.

pipenv install pipenv shell python train.py

To visualize losses and reconstructions.

tensorboard --logdir ./logs/

## Available models

- Simple Autoencoder - Variational Autoencoder (VAE) - Vector Quantized Autoencoder (VQ-VAE) - PixelCNN - Gated PixelCNN - PixelCNN++ - Conditional Neural Processes - PixelSNAIL