Ollama sur IBM Z et LinuxONE : modèles de langage locaux à l’intérieur de la zone de confiance
Le portage d’Ollama sur IBM Z et LinuxONE reposait sur un chargement des poids en mode endian-safe, permettant ainsi à un LLM local de traiter des données réglementées sans qu’elles quittent la zone de confiance.
Sources: **Ollama on IBM Z & LinuxONE (s390x): Enabling Local LLM Inference on the Mainframe**
Pourquoi les mainframes et les LLM locaux doivent figurer dans la même phrase
Les mainframes protègent déjà certaines des données d’entreprise les plus sensibles au monde. La question qui se pose est de savoir s’ils peuvent également héberger des modèles de langage modernes sans transférer ces données vers des clouds GPU externes ou des appareils spécialisés.
Pour les charges de travail soumises à des réglementations strictes, la réponse n’est pas théorique. Déplacer des textes financiers, de santé ou gouvernementaux en dehors de la plateforme crée des risques de non-conformité, ralentit les audits et augmente la latence. Les plateformes Z et LinuxONE disposent déjà de fonctionnalités d’isolation, de cryptographie et de contrôles opérationnels que peu de clouds commerciaux peuvent égaler. L’inférence locale étend cette frontière de confiance au lieu de la percer.
Au cours de l’été 2026, le travail au laboratoire d’IBM à Poughkeepsie a permis d’intégrer nativement Ollama — un environnement d’exécution de modèles linguistiques locaux très populaire — sur s390x. L’emballage du logiciel n’a pas représenté la partie difficile. Le véritable défi résidait dans la correction du traitement des données : il fallait lire les poids des modèles en format little-endian sur une machine big-endian. Une fois cette étape résolue, le reste du portage a pu se faire.
Quelles modifications étaient nécessaires
Ollama sur d’autres architectures suppose des formats little-endian pour les tenseurs GGUF et leurs métadonnées associées. Sur le système s390x de type big-endian, une lecture naïve perturbe les valeurs flottantes et entières. La solution consiste à effectuer un échange systématique de bytes aux limites des tenseurs (ainsi que partout ailleurs où les structures sur disque encodent des valeurs multi-bytes), ainsi qu’à valider que les embeddings et les logits correspondent, dans une certaine marge d’erreur, à ceux générés par une version little-endian fonctionnelle.
Build et CI devaient effectuer une compilation croisée ou une compilation native pour s390x, tester le téléchargement/le lancement des modèles, et détecter les erreurs d’endianness avant que cela ne soit interprété comme « le modèle est incompétent ». Les cas d’exploitation via GPU diffèrent selon que l’on utilise des cartes Z ou des cartes NVIDIA dédiées ; l’inference sur CPU, associée à du chiffrement d’entreprise et à une isolation renforcée, peut encore être préférable pour des données sensibles, même si le débit en tokens/seconde est inférieur à celui d’un GPU gaming.
Lancer l’application
Après le portage, les commandes familières d’Ollama fonctionnent sur LinuxONE/Z Linux :
oc label pvc <pvc-name> opendatahub.io/dashboard=true -n <namespace>
Les opérateurs téléchargent un modèle, exécutent une requête, et conservent les poids dans la même zone régulée que les documents sources. C’est là l’avantage majeur : l’inference reste où se trouvent déjà les données.
Qui devrait s’en soucier ?
- Les banques et les assureurs disposant de systèmes d’enregistrement axés sur Z
- Les organismes du secteur public privés d’accès aux API de LLM publiques
Les modèles LLM locaux sur s390x ne sont pas une simple démonstration curieuse. Ce sont un moyen de maintenir la frontière de confiance liée aux inférences en adéquation avec la frontière de confiance des données que vous avez déjà mise en place.
Remarque opérationnelle : considérez les chargeurs sensibles à l’endianness comme du code ayant une importance en matière de sécurité. Une erreur de conversion peut ressembler à une perte aléatoire de qualité et faire perdre des jours de travail sur l’ajustement des prompts, alors que le véritable problème provient des octets transmis depuis le disque.
Remarque opérationnelle : considérez les chargeurs sensibles à l’endianness comme du code ayant une importance en matière de sécurité. Une erreur de conversion peut ressembler à une perte aléatoire de qualité et faire perdre des jours de travail sur l’ajustement des prompts, alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code relevant de la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code ayant une importance pour la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code ayant une importance pour la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code ayant une importance pour la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.
Note opérationnelle : considérez les chargeurs conscients de l’endianness comme du code ayant une importance pour la sécurité. Une erreur de mise en mémoire peut ressembler à une perte aléatoire de qualité et entraîner des jours de « mise au point des prompts », alors que le véritable problème provient des octets transmis depuis le disque.