<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Blog on Bitdefender AI Research</title><link>https://bit-ml.github.io/blog/</link><description>Recent content in Blog on Bitdefender AI Research</description><generator>Hugo -- 0.146.0</generator><language>en-us</language><lastBuildDate>Wed, 25 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bit-ml.github.io/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>BEE Aware of Spuriousness: Mechanistic Interpretability for Fine Tuning Foundation Models</title><link>https://bit-ml.github.io/blog/bee-aware-of-spuriousness/</link><pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate><guid>https://bit-ml.github.io/blog/bee-aware-of-spuriousness/</guid><description>In our ICLR 2026 paper “Bridging Explainability and Embeddings: BEE Aware of Spuriousness”, we introduce BEE, a diagnostic tool that surfaces spurious correlations by analyzing weight space drift and embedding geometry rather than relying only on held out validation data.</description></item><item><title>Towards Fused Kernels for Gated MLP</title><link>https://bit-ml.github.io/blog/fused-swiglu-kernel/</link><pubDate>Wed, 05 Feb 2025 00:00:00 +0000</pubDate><guid>https://bit-ml.github.io/blog/fused-swiglu-kernel/</guid><description>&lt;div>&lt;div class="Post__PageWithCoverImg-oyq0rs-0 cSOdgJ">&lt;div class="Post-oyq0rs-1 fGODKX">&lt;section class="Post__PostContent-oyq0rs-2 jSdCWo">
&lt;p>The decoder block of a Transformer is the basic unit of all modern LLMs. Most of the compute used for it is spent on self-attention and the MLP, with self-attention in special being problematic on long sequences due to its quadratic compute and memory requirements. It is not surprising therefore that there's been a lot of progress towards increasing the performance of self-attention, such as FlashAttention [&lt;a href="#fa">1&lt;/a>], or algorithms and models that approximate full attention, like Window Attention [&lt;a href="#wa">2&lt;/a>], or State-Space Models [&lt;a href="#mam">3&lt;/a>, &lt;a href="#lru">4&lt;/a>, &lt;a href="#mam2">5&lt;/a>]. While efficient kernels for MLPs do exist, from what we could find they seem to be either tailored to very specific setups, or only partially solve some of the issues of MLPs, such as fusing the gating operation.&lt;/p></description></item><item><title>Large Language Models for Malware Analysis</title><link>https://bit-ml.github.io/blog/large-language-models-for-malware-analysis/</link><pubDate>Fri, 12 Jan 2024 00:00:00 +0000</pubDate><guid>https://bit-ml.github.io/blog/large-language-models-for-malware-analysis/</guid><description>&lt;div>&lt;div class="Post__PageWithCoverImg-oyq0rs-0 cSOdgJ">&lt;div class="Post-oyq0rs-1 fGODKX">&lt;section class="Post__PostContent-oyq0rs-2 jSdCWo">
&lt;p>Large Language Models (LLMs) took the world by storm in 2023, revolutionizing the way people search and generate text content. LLMs for code have also made inroads in helping people understand code or write code based on requests in natural language. For instance, translating requests to &lt;a href="https://yale-lily.github.io/spider">SQL queries&lt;/a> has rapidly advanced since the advent of GPT4.&lt;/p>
&lt;p>Most popular code LLMs focus on generating or understanding high-level programming languages such as Python, C++, Java etc. &lt;a href="https://arxiv.org/abs/2308.12950">[1]&lt;/a>,&lt;a href="https://arxiv.org/abs/2305.06161">[2]&lt;/a>,&lt;a href="https://arxiv.org/abs/2306.08568">[3]&lt;/a>,&lt;a href="https://arxiv.org/abs/2308.07124">[4]&lt;/a>. However code LLMs tailored to malware analysis should be adapted to better understand assembly code as well. Recent works also explore this avenue &lt;a href="https://arxiv.org/abs/2312.09601">[5]&lt;/a>,&lt;a href="https://arxiv.org/abs/2310.16853">[6]&lt;/a>,&lt;a href="https://arxiv.org/abs/2311.13721">[7]&lt;/a>.&lt;/p></description></item><item><title>The BGV fully homomorphic encryption scheme</title><link>https://bit-ml.github.io/blog/bgv-fully-homomorphic-encryption-scheme-in-python/</link><pubDate>Thu, 29 Jun 2023 00:00:00 +0000</pubDate><guid>https://bit-ml.github.io/blog/bgv-fully-homomorphic-encryption-scheme-in-python/</guid><description>&lt;div>&lt;div class="Post__PageWithCoverImg-oyq0rs-0 cSOdgJ">&lt;div class="Post-oyq0rs-1 fGODKX">&lt;section class="Post__PostContent-oyq0rs-2 jSdCWo">
&lt;p>This is a sister blogpost to the &lt;a href="https://bit-ml.github.io/blog/post/homomorphic-encryption-toy-implementation-in-python/">previous one about a similar scheme (BFV)&lt;/a> and it's part of the series that covers fully homomorphic encryption techniques and applications.&lt;/p>
&lt;h2>Introduction&lt;/h2>
&lt;p>&lt;span class="math math-inline">&lt;span class="katex">&lt;span class="katex-mathml">&lt;math xmlns="http://www.w3.org/1998/Math/MathML">&lt;semantics>&lt;mrow>&lt;/mrow>&lt;annotation encoding="application/x-tex">\gdef\can #1{\|#1\|^{\text{can}}}&lt;/annotation>&lt;/semantics>&lt;/math>&lt;/span>&lt;span aria-hidden="true" class="katex-html">&lt;/span>&lt;/span>&lt;/span>&lt;/p>
&lt;p>In this blogpost we will focus on the encryption, decryption, relinearization and the noise analysis of the &lt;a href="https://eprint.iacr.org/2011/277.pdf">Brakerski, Gentry, Vaikuntanathan (BGV)&lt;/a> fully homomorphic encryption scheme. A Python implementation of the aforementioned will be provided.&lt;/p>
&lt;p class="hint warn">DISCLAIMER: This toy implementation is not meant to be secure or optimized
for efficiency. It's for educational purposes only, and for us to better understand the inner workings.&lt;/p></description></item><item><title>🕹️ Pretrained Atari Agents</title><link>https://bit-ml.github.io/blog/pretrained-atari-agents/</link><pubDate>Thu, 05 May 2022 00:00:00 +0000</pubDate><guid>https://bit-ml.github.io/blog/pretrained-atari-agents/</guid><description>&lt;div>&lt;div class="Post__PageWithCoverImg-oyq0rs-0 cSOdgJ">&lt;div class="Post-oyq0rs-1 fGODKX">&lt;section class="Post__PostContent-oyq0rs-2 jSdCWo">
&lt;p>Releasing trained models in computer vision and natural language processing has been a major source of progress for the research in these fields and a significant catalyst for the adaption of deep learning models in the industry. By comparison, RL agents pretrained on otherwise resource and time intensive benchmarks such as Arcade Learning Environment are rather hard to come by.&lt;/p>
&lt;p>Today, our research group within Bitdefender is making available over 2️⃣5️⃣,0️⃣0️⃣0️⃣ agents trained on 60 games in the Arcade Learning Environment. We hope the diversity and the quality of these trained models will help spur new research in multi-task and imitation learning and contribute to the state of reproducibility in deep reinforcement learning.&lt;/p></description></item><item><title>Private Set Intersection from Homomorphic Encryption: A Python Implementation</title><link>https://bit-ml.github.io/blog/private-set-intersection-an-implementation-in-python/</link><pubDate>Fri, 21 May 2021 00:00:00 +0000</pubDate><guid>https://bit-ml.github.io/blog/private-set-intersection-an-implementation-in-python/</guid><description>&lt;div>&lt;div class="Post__PageWithCoverImg-oyq0rs-0 cSOdgJ">&lt;div class="Post-oyq0rs-1 fGODKX">&lt;section class="Post__PostContent-oyq0rs-2 jSdCWo">
&lt;p>Check out our &lt;strong>Private Set Intersection (PSI)&lt;/strong> implementation in Python &lt;a href="https://github.com/bit-ml/Private-Set-Intersection">here&lt;/a>!&lt;/p>
&lt;p>In this blog post, we will first motivate our interest in &lt;strong>PSI&lt;/strong>, by providing a list of applications: password checkup, private contact discovery for Whatsapp or Signal, measuring ads efficiency privately or DNA pattern matching. Secondly, we will show how to build a &lt;strong>PSI&lt;/strong> protocol using a &lt;strong>HE&lt;/strong> encryption scheme. Thirdly, we will describe our Python implementation of a specific &lt;strong>PSI&lt;/strong> protocol.&lt;/p></description></item><item><title>Homomorphic Encryption: a Toy Implementation in Python</title><link>https://bit-ml.github.io/blog/homomorphic-encryption-toy-implementation-in-python/</link><pubDate>Mon, 16 Nov 2020 00:00:00 +0000</pubDate><guid>https://bit-ml.github.io/blog/homomorphic-encryption-toy-implementation-in-python/</guid><description>&lt;div>&lt;div class="Post__PageWithCoverImg-oyq0rs-0 cSOdgJ">&lt;div class="Post-oyq0rs-1 fGODKX">&lt;section class="Post__PostContent-oyq0rs-2 jSdCWo">
&lt;p>&lt;strong>Motivation:&lt;/strong>
We made this blog post as self-contained as possible, even though it was
initially thought as a follow-up of &lt;a href="https://blog.openmined.org/build-an-homomorphic-encryption-scheme-from-scratch-with-python/#buildanhomomorphicencryptionscheme">this tutorial given by
OpenMined&lt;/a>.
The starting point of our Python implementation is &lt;a href="https://gist.github.com/youben11/f00bc95c5dde5e11218f14f7110ad289">this github
gist&lt;/a>,
which follows the Homomorphic Encryption scheme from
&lt;a href="https://eprint.iacr.org/2012/144.pdf">[FV12]&lt;/a>. The motivation behind &lt;a href="https://github.com/bit-ml/he-scheme">our
implementation&lt;/a> was for us to understand
in detail the two techniques of
&lt;a href="https://eprint.iacr.org/2012/144.pdf">[FV12]&lt;/a> used for ciphertext
multiplication, namely &lt;em>relinearization&lt;/em> and &lt;em>modulus-switching&lt;/em>. This
essential operation of ciphertext multiplication was missing in the previous
implementation. We thought we might share this understanding through a blog
post as well since it may be of interest to anyone using the [FV12] scheme in
&lt;a href="https://github.com/OpenMined/TenSEAL">TenSeal&lt;/a> or
&lt;a href="https://github.com/Microsoft/SEAL">Seal&lt;/a> libraries.&lt;/p></description></item></channel></rss>