Archive d’étiquettes pour : ibm i

LLM sur IBM i via PASE — Sans Linux ni GPU

IBM i · Mars 2026

On a exécuté un LLM sur IBM i. Sans Linux. Sans cloud. Sans GPU.

llama.cpp est désormais livré dans le dépôt PASE de base d'IBM et tourne nativement sur IBM i. Vos programmes RPG peuvent appeler un LLM local sans infrastructure supplémentaire et sans envoyer vos données à l'extérieur.

Mars 20268 min de lectureVérifié sur IBM i V7R5 et 7.6

Si vous administrez un IBM i, vous connaissez bien la réponse habituelle quand quelqu'un pose la question de l'IA : « montez un LPAR Linux », « utilisez OpenAI », « regardez Wallaroo ». Toutes ces options impliquent de sortir de la plateforme, d'ajouter des couches, et à un moment ou un autre d'envoyer des données métier sur un serveur que vous ne contrôlez pas.

Il y a 150 000 systèmes IBM i qui traitent des transactions bancaires, d'assurance et de santé dans le monde. La réponse ne peut pas toujours être « ajoutez de l'infrastructure ». On a donc essayé autre chose.

L'expérience

Ce qu'on a fait exactement

On a pris llama.cpp — le moteur d'inférence LLM open source le plus utilisé — on l'a installé directement depuis le dépôt PASE de base d'IBM sur une partition IBM i V7R5 et on lui a passé un modèle GGUF big-endian. Ça a fonctionné du premier coup. On l'a également vérifié depuis sur IBM i 7.6.

$ uname -a
OS400 WWW 5 7 007800001B91

$ /QOpenSys/pkgs/bin/python3 -c "import platform; print(platform.platform())"
OS400-5-007800001B91-powerpc-64bit

$ /QOpenSys/pkgs/bin/python3 -c "import sys; print('Byte order:', sys.byteorder)"
Byte order: big

IBM i V7R5 sur pub400.com — un système IBM i public. Big-endian, powerpc-64bit, OS400. Pas Linux, pas AIX. IBM i.

Le type de binaire

$ file /QOpenSys/pkgs/bin/llama-cli
/QOpenSys/pkgs/bin/llama-cli: 64-bit XCOFF executable or object module

Un binaire XCOFF 64 bits — le format exécutable natif d'AIX, que PASE exécute tel quel. Sur IBM i, le binaire vient directement du dépôt PASE de base d'IBM (yum install llama-cpp) ; sur AIX, nous maintenons toujours notre propre build à côté des modèles GGUF big-endian sur aix.librepower.org et huggingface.co/librepowerai.

Première exécution

$ llama-cli --help
usage: llama-cli [options]

  -m, --model FNAME       chemin du modèle
  -p, --prompt STRING     prompt de départ
  --no-cnv                désactive le mode conversation (one-shot)
  ...

Le binaire charge, lie libggml et libllama, analyse les arguments et répond. Tout à l'intérieur de PASE. Pour lancer une vraie inférence, on lui passe un modèle GGUF big-endian :

$ llama-cli \
    -m models/tinyllama-1.1b-chat-be.gguf \
    -p "Qu'est-ce qu'IBM i ?" -n 100 -t 4 --no-cnv
Terminal IBM i PASE exécutant llama.cpp : le binaire XCOFF charge, lie les bibliothèques et répond à un prompt en temps réel
Le contexte

Pourquoi ça a du sens pour un environnement IBM i

En 2026, la conversation sur l'IA dans la communauté IBM i est plus active que jamais. IBM vient de lancer Bob (le successeur de WCA for i), un assistant de codage pour les développeurs RPG. 70 % des clients IBM i prévoient des mises à jour matérielles cette année. Et pourtant, une question reste sans réponse claire :

Comment intégrer un modèle de langage dans mes applications IBM i sans dépendre d'un service externe ?

Les options habituelles aujourd'hui :

OptionCe que ça impliqueLe problème
LPAR LinuxMonter une partition séparée, y faire tourner le LLM, l'appeler depuis RPG via APIInfrastructure supplémentaire, coût additionnel, les données transitent entre partitions
API cloudAppeler OpenAI, Azure ou AWS depuis RPGLes données métier quittent la machine. Problème sérieux en banque, assurance, santé — et potentiellement incompatible avec le RGPD
WallarooL'option 1 packagée comme service500 $/mois. C'est toujours un LPAR Linux avec une étiquette
PASE + llama.cppLe LLM tourne directement dans IBM i via PASEPas de matériel supplémentaire. Les données ne quittent pas la partition.
Et IBM Bob ?
Bob est fait pour le développeur : il aide à comprendre, documenter et générer du code RPG depuis l'IDE. Ce qu'on décrit ici concerne l'application en production : un LLM qui tourne dans la même partition et que n'importe quel programme RPG peut appeler comme une simple API locale. Ce sont des outils complémentaires, pas concurrents.
RGPD et résidence des données

Pour les organisations belges et françaises soumises au RGPD, la question de la résidence des données est non négociable. Une inférence LLM qui s'exécute en local sur IBM i, sans aucun transfert vers un service cloud tiers, est par construction conforme sur ce point. Aucune donnée ne sort de votre infrastructure.

La base technique

PASE : le pont que vous aviez déjà

PASE (Portable Application Solutions Environment) est un environnement d'exécution intégré à IBM i qui exécute des binaires AIX de façon native. Ce n'est pas de l'émulation — c'est une couche qui expose les appels système AIX directement sur le noyau IBM i. Si quelque chose tourne sur AIX, ça peut tourner sur IBM i via PASE.

┌──────────────────────────────────────────┐ IBM i (OS400) │ ┌──────────────┐ ┌────────────────┐ │ │ │ RPG / CL │ │ PASE │ │ │ │ COBOL / Db2 │───→│ (AIX runtime) │ │ │ │ │ │ │ │ │ │ localhost │ │ llama-server │ │ │ │ :8080 │ │ + modèle GGUF │ │ │ └──────────────┘ └────────────────┘ │ IBM POWER Hardware └──────────────────────────────────────────┘

Sur IBM i, llama.cpp est déjà dans le dépôt PASE de base d'IBM — pas besoin d'un port tiers. Pour les systèmes AIX, on maintient toujours notre propre build via le dépôt AIX de LibrePower, avec plus de 30 paquets open source installables via DNF. PASE fait le reste.

Pour les administrateurs IBM i

Vous n'avez rien de spécial à installer sur le système d'exploitation. PASE est déjà actif. Sur IBM i, yum install llama-cpp récupère le binaire directement depuis le dépôt PASE d'IBM. Ajoutez un modèle GGUF big-endian et c'est prêt — le LLM tourne comme n'importe quel processus PASE, sans toucher à l'environnement natif IBM i.

L'obstacle technique

Le problème du big-endian (et comment on l'a résolu)

Il y a une raison pour laquelle personne n'avait fait ça proprement avant : l'ordre des octets. IBM i et AIX sont big-endian. La quasi-totalité des logiciels d'IA — x86, ARM, Linux ppc64le — suppose un ordre little-endian. Un fichier GGUF téléchargé directement depuis HuggingFace ne fonctionne pas sur IBM i : les octets sont dans le mauvais sens.

On avait déjà résolu ce problème dans notre travail sur AIX. La solution : convertir les modèles avant de les distribuer. On les publie sur huggingface.co/librepowerai, validés sur du vrai matériel AIX et prêts à être chargés directement dans IBM i PASE.

ModèleTailleQuantisation
TinyLlama 1.1B Chat668 MoQ4_K_M
LFM 1.2B Instruct695 MoQ4_K_M
LFM 1.2B Thinking731 MoQ4_K_M
7 autres modèles disponibles

Ce sont les mêmes modèles qu'on fait tourner sur AIX POWER, qui se chargent sans conversion sur IBM i via PASE. Sur IBM i POWER10, l'accélération matérielle MMA est disponible via OpenBLAS. Les benchmarks seront publiés séparément une fois les chiffres validés de bout en bout.

De la PoC à la production

De la preuve de concept à la production

Exécuter --help prouve que le binaire charge. Le chemin réel vers quelque chose d'utile pour vos applications comporte trois étapes — et la première est déjà disponible.

Étape 1 : Inférence directe (disponible maintenant)

Depuis n'importe quelle session SSH ou QSH sur l'IBM i :

# Inférence one-shot en ligne de commande
llama-cli \
    -m /chemin/vers/modele.gguf \
    -p "Résume ce bon de commande" -n 200 -t 8 --no-cnv

--no-cnv désactive le mode conversation — à utiliser pour des prompts one-shot dans un script (jobs batch, appels depuis CL, cron). Utile pour les scripts CL, les jobs en batch, ou simplement pour vérifier que le modèle charge et répond correctement sur votre matériel avant d'aller plus loin.

Étape 2 : Serveur API compatible OpenAI (prochainement)

llama.cpp inclut llama-server, qui expose un endpoint HTTP compatible avec l'API OpenAI. Une fois actif dans PASE, n'importe quel programme RPG peut l'appeler via QSYS2.HTTP_POST — comme n'importe quelle autre API :

# Démarrer le serveur d'inférence sur IBM i via PASE
llama-server \
    -m /chemin/vers/modele.gguf \
    --host 0.0.0.0 --port 8080 -t 8
// Appel depuis RPG — le LLM est sur localhost
dcl-s url varchar(256) inz('http://localhost:8080/v1/chat/completions');
dcl-s corps varchar(65535);
dcl-s reponse varchar(65535);
// QSYS2.HTTP_POST — aucune donnée ne quitte IBM i

L'essentiel : localhost. Le modèle est sur la même machine. Les données ne quittent pas la partition.

Étape 3 : Intégration applicative métier (en développement)

  • Analyse de documents : passer des rapports Db2 au LLM pour générer des résumés automatiques
  • Requêtes en langage naturel : l'utilisateur écrit en français, le LLM renvoie du SQL
  • Modernisation du code RPG : le LLM analyse et documente les programmes existants sans quitter IBM i
  • Supervision intelligente : analyser les messages QSYSOPR et les journaux de travaux avec un contexte sémantique
Une note sur les performances : les petits modèles (1–2 milliards de paramètres) dans PASE sont largement suffisants pour la classification, le résumé, l'extraction de données structurées et les réponses à format fixe. Pour la génération de texte plus longue ou le raisonnement complexe, les modèles 7B+ scalent bien avec davantage de threads. Les benchmarks sur matériel IBM i de production sont en cours de préparation.
Hands-on

Comment l'essayer vous-même

Si vous avez accès à un IBM i avec PASE actif, c'est trois étapes.

1. Installer llama.cpp

Sur IBM i : llama.cpp est déjà dans le dépôt PASE de base d'IBM — pas besoin d'un port tiers.

# Depuis QSH ou SSH sur l'IBM i
yum install llama-cpp

Sur AIX : utilisez notre port depuis aix.librepower.org (sources et packaging sur gitlab.com/librepower/aix, sous llama-aix/RPMS/).

# Sur AIX avec DNF configuré contre aix.librepower.org
dnf install llama-cpp

2. Télécharger un modèle big-endian

# Dépôt du modèle : https://huggingface.co/librepowerai/tinyllama-1.1b-chat-be
# Récupérez le lien du .gguf depuis l'onglet "Files", puis :
curl -LO https://huggingface.co/librepowerai/tinyllama-1.1b-chat-be/resolve/main/<fichier>.gguf

TinyLlama est un bon point de départ : petit, chargement rapide, suffisant pour vérifier que tout fonctionne avant de passer à des modèles plus grands.

3. Lancer l'inférence

llama-cli \
    -m tinyllama-1.1b-chat-be.gguf \
    -p "Qu'est-ce qu'IBM i ?" \
    -n 150 -t 4 --no-cnv
Avertissement de démarrage inoffensif

Au premier lancement, vous verrez quelque chose comme ggml_backend_load_best: search path does not exist. C'est cosmétique — llama.cpp cherche des backends optionnels qui ne sont pas installés. L'inférence tourne normalement, ignorez ce message.

Des systèmes IBM i en production ?

SIXE accompagne des organisations belges et françaises dans la gestion de leurs environnements IBM i depuis des années. Si vous voulez évaluer si cette approche correspond à votre architecture — ou comprendre ce qu'elle implique pour vos applications RPG — contactez-nous, sans engagement.

Feuille de route

La suite

C'est une preuve de concept solide, pas un produit fini. Voici ce qu'on prévoit de faire ensuite :

  • llama-server sur IBM i — le serveur API HTTP dans PASE, documenté et packagé pour que vous puissiez le lancer en quelques minutes
  • Exemples d'intégration RPG — du vrai code d'appel au LLM depuis des programmes RPG via QSYS2.HTTP_POST
  • Benchmarks IBM i POWER10/POWER11 — des mesures sur du matériel de production
  • Modèles plus grands — tests avec des modèles 7B+ sur des partitions avec suffisamment de mémoire
  • vLLM pour IBM i — notre paquet vLLM pour ppc64le, adapté pour tourner dans PASE

Autres projets LibrePower

ProjetCe qu'il fait
aix.librepower.orgPlus de 30 paquets open source pour AIX (llama.cpp inclus), installables via DNF
huggingface.co/librepoweraiModèles GGUF big-endian prêts pour AIX et IBM i PASE
linux.librepower.orgDépôt APT avec vLLM pour Linux ppc64le (Ubuntu/Debian)
gitlab.com/librepower/aixSources, patches et packaging du port AIX (RPM dans llama-aix/RPMS/)

IBM i avec PASE ?

Testez le LLM sur votre propre partition

Sur IBM i, llama.cpp est à un yum install llama-cpp — il est livré dans le dépôt PASE de base d'IBM. Les modèles big-endian sont sur HuggingFace. Si vous avez accès à PASE et quelques minutes, vous pouvez reproduire exactement ce qu'on décrit ici :)

Apprendre IBM i et RPG avec SIXE

Formation IBM RPG : SIXE❤️IBM i et RPG

SIXE est une référence en matière de formation officielle IBM.
Depuis des années, nous proposons des cours spécialisés sur IBM i et RPG, des technologies clés pour de nombreux CRM et ERP utilisés par de grandes entreprises dans le monde entier.
Parmi nos cours les plus remarquables, il y a l’atelier de programmation avancée en RPG IV.
Si tu es novice en RPG, tu peux commencer à apprendre IBM i et RPG avec SIXE dans notre atelier de base RPG IV.
Ces cours te permettront de tout couvrir, des bases aux techniques les plus avancées de ce langage de programmation robuste.

Personnalisation et qualité de l’enseignement

L’un des principaux facteurs de différenciation de SIXE est notre approche personnalisée.
Chaque cours peut être adapté aux besoins spécifiques de ton équipe, ce qui garantit une formation pratique et pertinente.
Savais-tu que de nombreux cours sont dispensés par des champions IBM?
Ces experts reconnus à l’échelle internationale veillent à ce que les étudiants reçoivent une formation de la plus haute qualité et la plus récente possible.
De plus, nous sommes une entreprise intégrée dirigée par des instructeurs IBM.

Histoire et pertinence d’IBM i aujourd’hui

IBM i, lancé en 1988, est l’évolution du système AS/400, conçu pour être robuste, évolutif et sécurisé.
En plus de trois décennies, il a maintenu sa mission de fournir une plateforme stable et fiable pour la gestion des données d’entreprise.
La dernière version, IBM i 7.5, comprend des améliorations clés en matière de sécurité, de performances et d’intégration au cloud, renforçant ainsi sa pertinence dans l’environnement informatique d’aujourd’hui.

Cas d’utilisation actuels du RPG : Puis-je avoir le billet ?

RPG (Report Program Generator) reste un élément central pour de nombreuses organisations utilisant IBM i, en particulier dans des secteurs tels que la banque, la fabrication et la vente au détail.
RPG a été mis à jour avec des techniques de programmation modernes, ce qui le rend aussi pertinent aujourd’hui qu’il l’était à ses débuts.
Par exemple, lorsque tu paies dans un supermarché, le ticket et les processus associés (inventaire, commande, facturation) sont gérés par un programme en RPG sur un système IBM Power fonctionnant sous IBM i.

Ne m’appelle pas AS/400

Une anecdote intéressante à propos d’IBM i est que son prédécesseur, l’AS/400, a été présenté en 1988 comme un système “aussi facile à utiliser qu’un réfrigérateur”.
À une époque où les systèmes informatiques étaient compliqués, cette promesse mettait en avant IBM i comme un système révolutionnaire en termes d’accessibilité et de simplicité.
Bien que le nom ait changé, si tu as besoin d’un cours sur l’AS/400, nous pouvons aussi l’organiser.

Pourquoi choisir SIXE ?

Avec plus de 15 ans d’expérience, SIXE n’offre pas seulement une formation, mais une expérience éducative complète qui est adaptée aux besoins de chaque client.
L’accent mis sur la qualité et la personnalisation, associé à l’expertise d’instructeurs hautement qualifiés, fait de SIXE le meilleur choix pour ceux qui recherchent une formation officielle IBM efficace et personnalisée.
Pour en savoir plus sur ces cours et pour t’inscrire, visite les liens suivants sur notre site Web :

logos de sixe avec ses partenaires suse, canonical, red hat et ibm