Use casesCas d'usage

On-device LLM use cases: 5 things a microcontroller AI can do todayCas d'usage du LLM embarqué : 5 choses possibles aujourd'hui

2026-06-03 · Tilelli Lab · 6 min read6 min de lecture

A language model that fits in flash is not a chatbot, and pretending otherwise is how edge-AI projects lose credibility. It is a small, private, offline text engine. Used for the right jobs it is genuinely useful; used as a pocket GPT it disappoints. Here is the honest split, with the working prototypes from the project's experiment log.Un modèle de langue qui tient dans le flash n'est pas un chatbot, et prétendre le contraire est la manière dont les projets d'IA embarquée perdent leur crédibilité. C'est un petit moteur de texte, privé et hors ligne. Utilisé pour les bonnes tâches, il est réellement utile ; utilisé comme un GPT de poche, il déçoit. Voici le partage honnête, avec les prototypes fonctionnels tirés du journal d'expériences du projet.

Five things it can doCinq choses qu'il sait faire

  1. Command and intent classification. A small byte classifier on the Atome backbone reached 100% held-out accuracy on a six-class command set (synthetic data) — useful for offline voice or text command routing on a device.
  2. Anomaly flags on sensor strings. A binary “bad reading” classifier reached 91.7% held-out accuracy — the kind of always-on guard you want running on the device rather than in the cloud.
  3. Intent bucketing. A five-way intent classifier reached 100% held-out accuracy on its synthetic set, enough to route a request to the right handler.
  4. Narrow-domain text continuation. Train it on one corpus — a FAQ, command help, a device's log grammar — and it speaks fluently inside that scope.
  5. Per-token uncertainty, for free. The router exposes a per-position entropy signal at no extra cost — a hook for “I'm not sure” behavior without an extra model.
  1. Classification de commandes et d'intentions. Un petit classifieur d'octets sur le squelette Atome a atteint 100 % de précision en test sur un jeu de commandes à six classes (données synthétiques) — utile pour le routage de commandes vocales ou textuelles hors ligne sur un appareil.
  2. Détection d'anomalies sur des chaînes de capteurs. Un classifieur binaire « mauvaise lecture » a atteint 91,7 % de précision en test — le type de garde toujours actif que l'on veut sur l'appareil plutôt que dans le cloud.
  3. Tri par intention. Un classifieur d'intention à cinq classes a atteint 100 % de précision en test sur son jeu synthétique, suffisant pour aiguiller une requête vers le bon gestionnaire.
  4. Continuation de texte en domaine étroit. Entraînez-le sur un seul corpus — une FAQ, l'aide d'une commande, la grammaire des journaux d'un appareil — et il s'exprime couramment dans ce périmètre.
  5. Incertitude par token, gratuitement. Le routeur expose un signal d'entropie par position sans coût supplémentaire — un point d'accroche pour un comportement « je ne suis pas sûr » sans modèle additionnel.

Three things it cannot doTrois choses qu'il ne peut pas faire

  1. Open-domain chat. At kilobyte scale, going wide produces incoherent text. That is a reflection of capacity, not a bug to be fixed.
  2. Beat a real model when you have the RAM. Above about a million parameters a plain FP32 transformer wins; use one if your hardware allows.
  3. Claim silicon performance. The deployment numbers are QEMU measurements, not physical-chip throughput, so there are no power or tokens-per-second claims yet.
  1. Conversation en domaine ouvert. À l'échelle du kilooctet, vouloir tout couvrir produit du texte incohérent. C'est une question de capacité, pas un bug à corriger.
  2. Battre un vrai modèle quand on a la RAM. Au-delà d'environ un million de paramètres, un transformeur FP32 classique l'emporte ; utilisez-le si votre matériel le permet.
  3. Revendiquer des performances sur silicium. Les chiffres de déploiement sont des mesures QEMU, pas un débit sur puce physique ; il n'y a donc pas encore de revendication de consommation ni de tokens par seconde.

Designing around the strengthsConcevoir autour des forces

The pattern that works is to treat the on-device model as a narrow, reliable text function and keep anything open-ended off the critical path. A thermostat that interprets a handful of spoken commands, a sensor that flags malformed readings, a toy that responds inside a small scripted world — these play to a kilobyte model's strengths: privacy, zero latency, no connectivity dependence, and no per-inference cost. The prototype accuracies above are on synthetic, held-out sets and are documented in the project timeline; treat them as proofs of concept, not product benchmarks.Le schéma qui fonctionne consiste à traiter le modèle embarqué comme une fonction de texte étroite et fiable, et à garder tout ce qui est ouvert hors du chemin critique. Un thermostat qui interprète une poignée de commandes vocales, un capteur qui signale des lectures malformées, un jouet qui répond dans un petit monde scripté — tout cela joue sur les forces d'un modèle de classe kilooctet : confidentialité, latence nulle, indépendance de la connectivité et aucun coût par inférence. Les précisions des prototypes ci-dessus portent sur des jeux synthétiques en test et sont documentées dans la chronologie du projet ; considérez-les comme des preuves de concept, pas des benchmarks produit.

Designing a reliable narrow assistantConcevoir un assistant étroit et fiable

The difference between a useful on-device model and a frustrating one is almost always scope discipline. A kilobyte model rewards you for narrowing the problem until it is a classification or a tightly bounded continuation, and punishes you for asking it open questions. In practice that means defining the exact set of intents or responses up front, training on data that looks like what the device will actually see, and adding an explicit fallback for anything outside the set. The per-token router entropy signal is handy here: when the model is uncertain across the board, that is your cue to fall back to a safe default rather than emit a confident guess.La différence entre un modèle embarqué utile et un modèle frustrant tient presque toujours à la discipline de périmètre. Un modèle de classe kilooctet vous récompense quand vous réduisez le problème jusqu'à en faire une classification ou une continuation strictement bornée, et vous punit quand vous lui posez des questions ouvertes. En pratique, cela signifie définir à l'avance l'ensemble exact des intentions ou des réponses, entraîner sur des données qui ressemblent à ce que l'appareil verra réellement, et ajouter un repli explicite pour tout ce qui sort de l'ensemble. Le signal d'entropie du routeur par token est utile ici : quand le modèle est incertain partout, c'est le signal de revenir à un défaut sûr plutôt que d'émettre une supposition assurée.

Privacy and cost as product featuresLa confidentialité et le coût comme atouts produit

Two properties of an on-device model are worth stating to a product team in plain business terms. First, privacy is structural: because the model runs on the chip with no network path, raw data — a microphone stream, a sensor log, a user's words — never leaves the device, which removes whole categories of compliance and breach risk rather than mitigating them. Second, the cost curve is flat: there is no per-inference charge, so a feature that runs a million times a day on a fleet of devices costs the same to operate as one that runs once. For high-volume, always-on features, that flat curve is often the decisive advantage over a cloud API that bills per call.Deux propriétés d'un modèle embarqué méritent d'être énoncées à une équipe produit en termes commerciaux clairs. D'abord, la confidentialité est structurelle : parce que le modèle tourne sur la puce sans accès réseau, les données brutes — un flux microphone, un journal de capteur, les mots d'un utilisateur — ne quittent jamais l'appareil, ce qui supprime des catégories entières de risques de conformité et de fuite au lieu de les atténuer. Ensuite, la courbe de coût est plate : il n'y a aucun coût par inférence, donc une fonctionnalité exécutée un million de fois par jour sur une flotte d'appareils coûte autant à opérer qu'une exécutée une seule fois. Pour des fonctionnalités à fort volume et toujours actives, cette courbe plate est souvent l'avantage décisif face à une API cloud facturée à l'appel.

The honest framing remains: this is a specialist, not a generalist. Used as a narrow, private, always-available text function it is a genuine product capability; used as a stand-in for a large model it disappoints. Match the job to the tool and a kilobyte model earns its place on the board.Le cadrage honnête demeure : c'est un spécialiste, pas un généraliste. Utilisé comme une fonction de texte étroite, privée et toujours disponible, c'est une vraie capacité produit ; utilisé comme substitut d'un grand modèle, il déçoit. Accordez la tâche à l'outil et un modèle de classe kilooctet gagne sa place sur la carte.

Getting good results from a small modelObtenir de bons résultats d'un petit modèle

The teams that succeed with kilobyte models share a few habits. They collect training data that mirrors the device's real input distribution rather than generic text, because a small model spends its limited capacity on whatever you show it. They keep the label set small and unambiguous, since every extra class dilutes a tiny model's accuracy. They build an explicit fallback path for low-confidence cases instead of forcing an answer, using the router entropy signal as a cheap confidence proxy. And they validate on a genuinely held-out set, not on the data they tuned against, so the accuracy they report is the accuracy they will see in the field. None of this is exotic machine-learning practice; it is ordinary discipline applied to a model whose budget leaves no room for waste, and it is the difference between a prototype that demos well and a feature that holds up in a product.Les équipes qui réussissent avec des modèles de classe kilooctet partagent quelques habitudes. Elles collectent des données d'entraînement qui reflètent la vraie distribution d'entrée de l'appareil plutôt qu'un texte générique, car un petit modèle dépense sa capacité limitée sur ce que vous lui montrez. Elles gardent l'ensemble d'étiquettes petit et sans ambiguïté, puisque chaque classe supplémentaire dilue la précision d'un modèle minuscule. Elles construisent un chemin de repli explicite pour les cas peu confiants au lieu de forcer une réponse, en utilisant le signal d'entropie du routeur comme indicateur de confiance bon marché. Et elles valident sur un jeu réellement mis de côté, pas sur les données ajustées, pour que la précision rapportée soit celle qu'elles verront sur le terrain. Rien de tout cela n'est une pratique exotique d'apprentissage automatique ; c'est une discipline ordinaire appliquée à un modèle dont le budget ne laisse aucune place au gaspillage, et c'est la différence entre un prototype qui démontre bien et une fonctionnalité qui tient dans un produit.

Bottom lineEn résumé

A kilobyte language model earns its place when you treat it as a narrow, private, always-available text function and design around its strengths: command and intent classification, anomaly flags, intent routing, narrow continuation, and free per-token uncertainty. Keep the scope tight, train on data that mirrors the device's real input, add an explicit low-confidence fallback, and validate on held-out data. Do that and the prototypes become products; ask it to be a pocket GPT and it will not be. Match the job to the tool and a model that fits in flash becomes a genuine capability.Un modèle de langue de classe kilooctet gagne sa place quand vous le traitez comme une fonction de texte étroite, privée et toujours disponible, et que vous concevez autour de ses forces : classification de commandes et d'intentions, détection d'anomalies, routage d'intention, continuation étroite et incertitude par token gratuite. Gardez le périmètre serré, entraînez sur des données qui reflètent la vraie entrée de l'appareil, ajoutez un repli explicite en cas de faible confiance, et validez sur des données mises de côté. Faites cela et les prototypes deviennent des produits ; demandez-lui d'être un GPT de poche et il ne le sera pas. Accordez la tâche à l'outil et un modèle qui tient dans le flash devient une vraie capacité.

Frequently asked questionsQuestions fréquentes

What can a microcontroller LLM actually be used for?À quoi sert concrètement un LLM sur microcontrôleur ?

Narrow, reliable text tasks: command and intent classification, anomaly flagging on sensor strings, intent routing, and narrow-domain text continuation — all offline and private. Not open-domain chat.Des tâches de texte étroites et fiables : classification de commandes et d'intentions, détection d'anomalies sur des chaînes de capteurs, routage d'intention et continuation de texte en domaine étroit — le tout hors ligne et privé. Pas de conversation en domaine ouvert.

Is an on-device LLM private?Un LLM embarqué est-il privé ?

Yes — Atome's engine has no network path, so data never leaves the device. That removes a whole class of privacy and compliance questions for sensitive applications.Oui — le moteur d'Atome n'a aucun accès réseau, donc les données ne quittent jamais l'appareil. Cela élimine toute une catégorie de questions de confidentialité et de conformité pour les applications sensibles.

← All posts← Tous les articles Source & data on GitHubCode & données sur GitHub