{"id":114,"date":"2024-01-09T06:05:00","date_gmt":"2024-01-09T05:05:00","guid":{"rendered":"https:\/\/alain.goudey.eu\/side\/?p=114"},"modified":"2024-01-08T22:23:39","modified_gmt":"2024-01-08T21:23:39","slug":"comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet","status":"publish","type":"post","link":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/","title":{"rendered":"Comment j&rsquo;ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ?"},"content":{"rendered":"\n<p>Suite \u00e0 l&rsquo;annonce d&rsquo;Apple de pouvoir faire fonctionner un LLM sur ses iPhones, je voulais tester la r\u00e9elle faisabilit\u00e9 de la chose sur un device Apple Silicon (Puce A17) tr\u00e8s portable : j&rsquo;ai donc pris mon t\u00e9l\u00e9phone. J&rsquo;ai pu trouver un process pour le faire&#8230; et je vous le partage ici. J&rsquo;ai fait le test avec un mod\u00e8le Mistral-7B-Instruct-v0.2 (format GGUF) qui en gros fournit un \u00e9quivalent de GPT3.5 gr\u00e2ce \u00e0 la start-up fran\u00e7aise Mistral (cocorico !). Cela fonctionne parfaitement !!<\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">ATTENTION : cela pousse fortement l&rsquo;appareil (et consomme beaucoup de batterie). A ne r\u00e9server qu&rsquo;aux appareils r\u00e9cents et \u00e9videmment je d\u00e9cline toute responsabilit\u00e9 des cons\u00e9quences des manipulations que vous feriez.<\/mark><\/strong><\/p>\n\n\n\n<p>Si vous \u00eates pr\u00eat \u00e0 tenter l&rsquo;aventure, voici la mani\u00e8re de faire, en 4 (presque) petites \u00e9tapes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. T\u00e9l\u00e9charger l&rsquo;application pour faire tourner des LLM open source<\/h2>\n\n\n\n<p>Cette application s&rsquo;appelle LLM Farm (disponible ici : <a href=\"https:\/\/llmfarm.site\/\">https:\/\/llmfarm.site\/<\/a>) et depuis deux semaines directement accessible via l&rsquo;AppStore : <a href=\"https:\/\/apps.apple.com\/us\/app\/llm-farm\/id6461209867\">https:\/\/apps.apple.com\/us\/app\/llm-farm\/id6461209867<\/a>. <\/p>\n\n\n\n<p>LLMFarm est en effet une application iOS et MacOS permettant de travailler avec de grands mod\u00e8les de langage (LLM). Elle vous permet de charger diff\u00e9rents LLM avec d&rsquo;assez nombreux param\u00e8tres. Notamment, cela supporte d\u00e9j\u00e0 pas mal de fonctionnalit\u00e9s (pour une version encore en v0.8 !) : diff\u00e9rentes inf\u00e9rences, diverses m\u00e9thodes d&rsquo;\u00e9chantillonnage, mode M\u00e9tal, mod\u00e8les de configuration du mod\u00e8le, support des adaptateurs LoRA, LoRA finetune et Export.<\/p>\n\n\n\n<p>L&rsquo;application s&rsquo;installe rapidement et classiquement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. T\u00e9l\u00e9charger un mod\u00e8le de LLM (pas trop gros)<\/h2>\n\n\n\n<p>J&rsquo;ai pris le mod\u00e8le Mistral-7B-Instruct-v0.2 au format GGUF qu&rsquo;on trouve sur <a href=\"https:\/\/huggingface.co\">HuggingFace<\/a> (taille de 4Go), et plus pr\u00e9cis\u00e9ment dans le r\u00e9pertoire de TheBloke : <a href=\"https:\/\/huggingface.co\/TheBloke\/Mistral-7B-Instruct-v0.2-GGUF\/tree\/main\">https:\/\/huggingface.co\/TheBloke\/Mistral-7B-Instruct-v0.2-GGUF\/tree\/main<\/a>. Il faut avoir autour de 4.5Go de disponible sur l&rsquo;appareil (et une connexion raisonnable pour le t\u00e9l\u00e9charger, privil\u00e9giez le wifi). Au passage grand bigup \u00e0 Hugging Face pour l&rsquo;immense travail de repository qui est super propre ! <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"643\" src=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-08-211308-1024x643.png\" alt=\"\" class=\"wp-image-116\" srcset=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-08-211308-1024x643.png 1024w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-08-211308-300x188.png 300w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-08-211308-768x482.png 768w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/Capture-decran-2024-01-08-211308.png 1196w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Sur votre t\u00e9l\u00e9phone, une fois charg\u00e9, le mod\u00e8le se trouve dans vos t\u00e9l\u00e9chargements. Il est mieux de le copier alors dans le r\u00e9pertoire \u00ab\u00a0models\u00a0\u00bb de LLM Farm auquel vous acc\u00e9derez via l&rsquo;application Fichiers > Sur mon iPhone. <\/p>\n\n\n\n<p>De la sorte, LLM Farm le trouvera facilement. Pour copier votre mod\u00e8le, vous allez dans T\u00e9l\u00e9chargements et vous le d\u00e9placer vers Sur mon iPhone > LLM Farm > Models. Pensez, si vous n&rsquo;avez pas fait d\u00e9placer \u00e0 effacer le t\u00e9l\u00e9chargement car il prend aussi 4.4 Go (et l&rsquo;app le copie dans son r\u00e9pertoire) !!! <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Param\u00e9trage de LLM Farm pour utiliser Mistral-7b<\/h2>\n\n\n\n<p>On attaque la phase de param\u00e9trage de l&rsquo;outil&#8230; c&rsquo;est un peu long, mais j&rsquo;ai essay\u00e9 de vous rendre \u00e7a facile d&rsquo;acc\u00e8s et facile \u00e0 lire. Vous me direz si certains points ne sont pas clairs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Charger un nouveau mod\u00e8le LLM<\/h3>\n\n\n\n<p>Pour cela, vous lancez l&rsquo;application et vous allez sur Add Chat et vous arrivez sur cet \u00e9cran : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"614\" height=\"1024\" src=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9606-614x1024.jpg\" alt=\"\" class=\"wp-image-117\" srcset=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9606-614x1024.jpg 614w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9606-180x300.jpg 180w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9606-768x1282.jpg 768w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9606-920x1536.jpg 920w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9606-1227x2048.jpg 1227w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9606.jpg 1290w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/figure>\n\n\n\n<p>Vous cliquez alors sur Select model et il vous propose \u00ab\u00a0Import from file&#8230;\u00a0\u00bb et vous ouvre les mod\u00e8les disponibles dans le r\u00e9pertoire models de l&rsquo;app. Une fois le fichier \u00ab\u00a0charg\u00e9\u00a0\u00bb, il appara\u00eet dans la liste des \u00ab\u00a0available models\u00a0\u00bb. Votre \u00e9cran doit ressembler \u00e0 \u00e7a : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"743\" src=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9610-1024x743.jpg\" alt=\"\" class=\"wp-image-118\" srcset=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9610-1024x743.jpg 1024w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9610-300x218.jpg 300w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9610-768x557.jpg 768w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9610.jpg 1290w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 Configurer le Chat<\/h3>\n\n\n\n<p>Maintenant que le mod\u00e8le est charg\u00e9, c&rsquo;est la toute derni\u00e8re \u00e9tape : la configuration du chat pour pouvoir interagir avec le mod\u00e8le. Cela se passe \u00e0 la suite de l&rsquo;\u00e9cran&#8230; en dessous de l&rsquo;icon de LLM Farm.<\/p>\n\n\n\n<p>On laisse tout \u00e7a, sans rien toucher : Settings template : Custom, Inference : LLaMA, Grammar sampling : none.<\/p>\n\n\n\n<p>Par contre, il faut bien mettre le format du prompt comme indiqu\u00e9 par la documentation de Mistral (pour cela vous enlevez le format par d\u00e9faut), et vous mettez : <\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">&lt;s>[INST] {{prompt}} [\/INST]  <\/mark><\/strong><\/p>\n\n\n\n<p>Votre \u00e9cran doit ressembler \u00e0 \u00e7a d\u00e9sormais : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"850\" height=\"1024\" src=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9608-850x1024.jpg\" alt=\"\" class=\"wp-image-120\" style=\"width:960px;height:auto\" srcset=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9608-850x1024.jpg 850w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9608-249x300.jpg 249w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9608-768x925.jpg 768w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9608-1275x1536.jpg 1275w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9608.jpg 1290w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/figure>\n\n\n\n<p>Il reste encore quelques param\u00e9trages \u00e0 g\u00e9rer pour tirer le meilleur parti de votre appareil Apple. <\/p>\n\n\n\n<p>Pour cela, il faut aller dans la rubrique situ\u00e9e juste en dessous Prediction options pour choisir les options : Metal afin de tirer partir de la puce Apple Silicon (A17 ou M3 notamment). J&rsquo;ai \u00e9galement mis MLock et MMap (bien que sur iPhone), mais \u00e7a semble mieux r\u00e9agir sans MLock (notamment pour fermer l&rsquo;app si elle se fige). Voil\u00e0 donc \u00e0 quoi ressemblait mes param\u00e9trages : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"1024\" src=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9609-982x1024.jpg\" alt=\"\" class=\"wp-image-121\" srcset=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9609-982x1024.jpg 982w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9609-288x300.jpg 288w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9609-768x801.jpg 768w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9609.jpg 1290w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/figure>\n\n\n\n<p>Une fois tout cela fait, vous pouvez cliquer sur Add (ou Save si vous avez quitt\u00e9 l&rsquo;\u00e9cran sans avoir fini le param\u00e9trage).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. LE TEST de votre LLM Mistral en local<\/h2>\n\n\n\n<p>Ca y est, si vous avez tout bien suivi, vous allez enfin pouvoir faire tourner votre LLM en local. A ce stade vous pouvez mettre en mode avion, le mod\u00e8le est en local et n&rsquo;a donc pas besoin d&rsquo;internet pour fonctionner. Vous allez pouvoir \u00e9crire vos prompts,  et regarder les r\u00e9ponses sur votre t\u00e9l\u00e9phone, en mode avion (voir la photo ci-dessous prise en cours de calcul de la r\u00e9ponse)<\/p>\n\n\n\n<p><em>Un conseil : faites des prompts \u00ab\u00a0raisonnables\u00a0\u00bb car sinon le temps de calcul peut \u00eatre long&#8230; et comme l&rsquo;appareil est beaucoup sollicit\u00e9, pas facile de couper la r\u00e9ponse.<\/em> L\u00e0 10 lieux c&rsquo;est un peu trop par exemple ! <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"1024\" src=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573-711x1024.jpg\" alt=\"\" class=\"wp-image-122\" srcset=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573-711x1024.jpg 711w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573-208x300.jpg 208w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573-768x1106.jpg 768w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573-1067x1536.jpg 1067w, https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg 1290w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/figure>\n\n\n\n<p><em>Nota bene : sur le premier prompt, il y a une p\u00e9riode de \u00ab\u00a0chargement du mod\u00e8le\u00a0\u00bb qui peut durer un peu (et sembler longue tant on est impatient de tester). Sur les suivants, la r\u00e9ponse est plus rapide car ce chargement \u00ab\u00a0model loading\u00a0\u00bb n&rsquo;est plus d&rsquo;actualit\u00e9.<\/em> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Impressions et \u00e9tapes suivantes ? <\/h2>\n\n\n\n<p>Vous l&rsquo;aurez compris, on en est encore qu&rsquo;au tout d\u00e9but de tout \u00e7a. Toutefois, cela donne concr\u00e8tement une vision assez claire de ce qui va arriver tr\u00e8s vite (au plus tard 2025 d&rsquo;apr\u00e8s Apple, et l\u00e0 WWDC24 de Juin 2024 avec iOS18 risque d&rsquo;\u00eatre tr\u00e8s tr\u00e8s int\u00e9ressante sur ce volet). Voici quelques impressions suite \u00e0 mes tests : <\/p>\n\n\n\n<p>Alors la premi\u00e8re impression, c&rsquo;est qu&rsquo;\u00e9videmment le param\u00e9trage prend un peu de temps et l&rsquo;interface est surtout nouvelle (mais les r\u00e9glages sont assez \u00ab\u00a0classiques\u00a0\u00bb quand on traite de ces sujets) car pour la premi\u00e8re fois sur \u00ab\u00a0petit \u00e9cran\u00a0\u00bb. <\/p>\n\n\n\n<p>La seconde impression, c&rsquo;est l&rsquo;excellente surprise de r\u00e9activit\u00e9 de la puce A17 car&#8230; tout de m\u00eame c&rsquo;est un GPT3.5 sur un \u00ab\u00a0petit device\u00a0\u00bb. Certes le mod\u00e8le est optimis\u00e9 et le device aussi, mais justement cela ouvre des perspectives fascinantes quant \u00e0 la r\u00e9elle consommation \u00e9nerg\u00e9tique future des LLM&#8230; elle va fortement diminuer \u00e0 mon sens. Toutefois, on sent tout de m\u00eame qu&rsquo;on tire le maximum des capacit\u00e9s de l&rsquo;appareil, je r\u00e9it\u00e8re donc mon warning (\u00e0 ne pas tenter sur n&rsquo;importe quoi) : <\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">ATTENTION : cela pousse fortement l&rsquo;appareil (et consomme beaucoup de batterie). A ne r\u00e9server qu&rsquo;aux appareils r\u00e9cents et \u00e9videmment je d\u00e9cline toute responsabilit\u00e9 des cons\u00e9quences des manipulations que vous feriez.<\/mark><\/strong><\/p>\n\n\n\n<p>Ma troisi\u00e8me impression c&rsquo;est que les mod\u00e8les quantifi\u00e9s sont hyper int\u00e9ressants car offre des performances similaires \u00e0 ce qu&rsquo;on avait il y a un an au moment de la sortie de ChatGPT pour des tailles bien inf\u00e9rieures ! C&rsquo;est \u00e9galement de bon augure pour l&rsquo;\u00e9volution de cette technologie. <\/p>\n\n\n\n<p><em>Nota bene : qui dit performance d&rsquo;il y a un an, dit &#8230; beaucoup plus d&rsquo;hallucinations que maintenant (vs. GPT4 dont le niveau de r\u00e9ponse reste pour moi LA r\u00e9f\u00e9rence \u00e0 date). Ainsi, le classique \u00ab\u00a0test de la bio perso\u00a0\u00bb a \u00e9t\u00e9 un d\u00e9sastre complet, je suis devenu artiste peintre et sculpteur n\u00e9 en 1953 ! VIGILANCE donc ! ^ ^<\/em><\/p>\n\n\n\n<p>Ma quatri\u00e8me impression c&rsquo;est que l&rsquo;air de rien, on fait tourner un mod\u00e8le cr\u00e9\u00e9 par une entreprise fran\u00e7aise et \u00e7a aussi c&rsquo;est une excellente nouvelle : Paris est une tr\u00e8s belle place pour avancer sur l&rsquo;IA et Mistral un lieu qui semble particuli\u00e8rement int\u00e9ressant au regard des premiers r\u00e9sultats. <\/p>\n\n\n\n<p>Ma derni\u00e8re impression c&rsquo;est que le moment o\u00f9 Apple va d\u00e9cider d&rsquo;int\u00e9grer son LLM optimis\u00e9 pour ses puces sur son OS et ses appareils, \u00e7a va \u00eatre assez fort&#8230; reste \u00e0 voir jusqu&rsquo;o\u00f9 ils arriveront \u00e0 descendre en \u00ab\u00a0r\u00e9tro compatibilit\u00e9\u00a0\u00bb tout en gardant les donn\u00e9es sur l&rsquo;appareil pour monter en personnalisation (tout en garantissant de la confidentialit\u00e9 donc, puisque non g\u00e9r\u00e9 en dehors du device). Peut-\u00eatre que 2024 r\u00e9pondra \u00e0 cette question ! Vivement l&rsquo;\u00e9t\u00e9 ! <\/p>\n\n\n\n<p><em>Remerciements : ce tuto est adapt\u00e9 \u00e0 la version actuellement dispo de l&rsquo;app (v. 0.8) sur l&rsquo;App Store (donc sans tout le bazar du TestFlight), inspir\u00e9 de celui en anglais par <a href=\"https:\/\/www.linkedin.com\/feed\/update\/urn:li:activity:7141012540569935872\/#\">Maciek J\u0119drzejczyk<\/a> et <a href=\"https:\/\/www.linkedin.com\/pulse\/using-llms-locally-ipad-iphone-maciek-j%C4%99drzejczyk-cd0zf\/?utm_source=share&amp;utm_medium=member_ios&amp;utm_campaign=share_via\" data-type=\"link\" data-id=\"https:\/\/www.linkedin.com\/pulse\/using-llms-locally-ipad-iphone-maciek-j%C4%99drzejczyk-cd0zf\/?utm_source=share&amp;utm_medium=member_ios&amp;utm_campaign=share_via\">disponible ici<\/a>. Merci \u00e0 lui !  <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Suite \u00e0 l&rsquo;annonce d&rsquo;Apple de pouvoir faire fonctionner un LLM sur ses iPhones, je voulais tester la r\u00e9elle faisabilit\u00e9 de la chose sur un device Apple Silicon (Puce A17) tr\u00e8s portable : j&rsquo;ai donc pris mon t\u00e9l\u00e9phone. J&rsquo;ai pu trouver un process pour le faire&#8230; et je vous le partage ici. J&rsquo;ai fait le test avec un mod\u00e8le Mistral-7B-Instruct-v0.2 (format GGUF) qui en gros fournit un \u00e9quivalent de GPT3.5 gr\u00e2ce \u00e0 la start-up fran\u00e7aise Mistral (cocorico !). Cela fonctionne parfaitement !!<\/p>\n","protected":false},"author":1,"featured_media":122,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56,55],"tags":[59,60,61,62],"class_list":["post-114","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applications","category-techniques-ia","tag-apple","tag-iphone","tag-llm","tag-mistral"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comment j&#039;ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ? - SIDE Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment j&#039;ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ? - SIDE Blog\" \/>\n<meta property=\"og:description\" content=\"Suite \u00e0 l&#039;annonce d&#039;Apple de pouvoir faire fonctionner un LLM sur ses iPhones, je voulais tester la r\u00e9elle faisabilit\u00e9 de la chose sur un device Apple Silicon (Puce A17) tr\u00e8s portable : j&#039;ai donc pris mon t\u00e9l\u00e9phone. J&#039;ai pu trouver un process pour le faire... et je vous le partage ici. J&#039;ai fait le test avec un mod\u00e8le Mistral-7B-Instruct-v0.2 (format GGUF) qui en gros fournit un \u00e9quivalent de GPT3.5 gr\u00e2ce \u00e0 la start-up fran\u00e7aise Mistral (cocorico !). Cela fonctionne parfaitement !!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/\" \/>\n<meta property=\"og:site_name\" content=\"SIDE Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/alain.goudey\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/alain.goudey\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-09T05:05:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-08T21:23:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1290\" \/>\n\t<meta property=\"og:image:height\" content=\"1857\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alain Goudey\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AlainGoudey\" \/>\n<meta name=\"twitter:site\" content=\"@AlainGoudey\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alain Goudey\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/\"},\"author\":{\"name\":\"Alain Goudey\",\"@id\":\"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140\"},\"headline\":\"Comment j&rsquo;ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ?\",\"datePublished\":\"2024-01-09T05:05:00+00:00\",\"dateModified\":\"2024-01-08T21:23:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/\"},\"wordCount\":1510,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140\"},\"image\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg\",\"keywords\":[\"Apple\",\"iPhone\",\"LLM\",\"Mistral\"],\"articleSection\":[\"Applications\",\"Techniques IA\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/\",\"url\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/\",\"name\":\"Comment j'ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ? - SIDE Blog\",\"isPartOf\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg\",\"datePublished\":\"2024-01-09T05:05:00+00:00\",\"dateModified\":\"2024-01-08T21:23:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage\",\"url\":\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg\",\"contentUrl\":\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg\",\"width\":1290,\"height\":1857},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/alain.goudey.eu\/side\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Comment j&rsquo;ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/alain.goudey.eu\/side\/#website\",\"url\":\"https:\/\/alain.goudey.eu\/side\/\",\"name\":\"SIDE Blog\",\"description\":\"\ud835\udde6cience, \ud835\udc08nnovation, \ud835\udc03esign, \ud835\udc04ducation - Alain Goudey\",\"publisher\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/alain.goudey.eu\/side\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140\",\"name\":\"Alain Goudey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2023\/10\/1694362643659.png\",\"contentUrl\":\"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2023\/10\/1694362643659.png\",\"width\":676,\"height\":676,\"caption\":\"Alain Goudey\"},\"logo\":{\"@id\":\"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/image\/\"},\"description\":\"Imaginer l'Ecole du futur \u00e0 NEOMA, cr\u00e9er l'identit\u00e9 sonore des marques avec Atoomedia &amp; Mediavea, conseiller sur la transformation num\u00e9rique avec Sociacom | Expert en \u00e9ducation, technologies disruptives, IA &amp; design sonore.\",\"sameAs\":[\"https:\/\/alain.goudey.eu\/side\",\"https:\/\/www.facebook.com\/alain.goudey\",\"https:\/\/www.instagram.com\/alaingoudey\/\",\"https:\/\/www.linkedin.com\/in\/goudey\/\",\"https:\/\/x.com\/AlainGoudey\",\"https:\/\/www.youtube.com\/@AlainGoudey\"],\"url\":\"https:\/\/alain.goudey.eu\/side\/author\/agoudey\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comment j'ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ? - SIDE Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment j'ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ? - SIDE Blog","og_description":"Suite \u00e0 l'annonce d'Apple de pouvoir faire fonctionner un LLM sur ses iPhones, je voulais tester la r\u00e9elle faisabilit\u00e9 de la chose sur un device Apple Silicon (Puce A17) tr\u00e8s portable : j'ai donc pris mon t\u00e9l\u00e9phone. J'ai pu trouver un process pour le faire... et je vous le partage ici. J'ai fait le test avec un mod\u00e8le Mistral-7B-Instruct-v0.2 (format GGUF) qui en gros fournit un \u00e9quivalent de GPT3.5 gr\u00e2ce \u00e0 la start-up fran\u00e7aise Mistral (cocorico !). Cela fonctionne parfaitement !!","og_url":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/","og_site_name":"SIDE Blog","article_publisher":"https:\/\/www.facebook.com\/alain.goudey","article_author":"https:\/\/www.facebook.com\/alain.goudey","article_published_time":"2024-01-09T05:05:00+00:00","article_modified_time":"2024-01-08T21:23:39+00:00","og_image":[{"width":1290,"height":1857,"url":"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg","type":"image\/jpeg"}],"author":"Alain Goudey","twitter_card":"summary_large_image","twitter_creator":"@AlainGoudey","twitter_site":"@AlainGoudey","twitter_misc":{"\u00c9crit par":"Alain Goudey","Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#article","isPartOf":{"@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/"},"author":{"name":"Alain Goudey","@id":"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140"},"headline":"Comment j&rsquo;ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ?","datePublished":"2024-01-09T05:05:00+00:00","dateModified":"2024-01-08T21:23:39+00:00","mainEntityOfPage":{"@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/"},"wordCount":1510,"commentCount":1,"publisher":{"@id":"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140"},"image":{"@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage"},"thumbnailUrl":"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg","keywords":["Apple","iPhone","LLM","Mistral"],"articleSection":["Applications","Techniques IA"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/","url":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/","name":"Comment j'ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ? - SIDE Blog","isPartOf":{"@id":"https:\/\/alain.goudey.eu\/side\/#website"},"primaryImageOfPage":{"@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage"},"image":{"@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage"},"thumbnailUrl":"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg","datePublished":"2024-01-09T05:05:00+00:00","dateModified":"2024-01-08T21:23:39+00:00","breadcrumb":{"@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#primaryimage","url":"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg","contentUrl":"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2024\/01\/IMG_9573.jpg","width":1290,"height":1857},{"@type":"BreadcrumbList","@id":"https:\/\/alain.goudey.eu\/side\/2024\/01\/09\/comment-jai-fait-fonctionner-un-llm-mistral-7b-sur-mon-iphone-sans-internet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/alain.goudey.eu\/side\/"},{"@type":"ListItem","position":2,"name":"Comment j&rsquo;ai fait fonctionner un LLM Mistral-7B sur mon iPhone (sans internet) ?"}]},{"@type":"WebSite","@id":"https:\/\/alain.goudey.eu\/side\/#website","url":"https:\/\/alain.goudey.eu\/side\/","name":"SIDE Blog","description":"\ud835\udde6cience, \ud835\udc08nnovation, \ud835\udc03esign, \ud835\udc04ducation - Alain Goudey","publisher":{"@id":"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/alain.goudey.eu\/side\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/2bad9caaedeecc8190eb4e907b4dc140","name":"Alain Goudey","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/image\/","url":"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2023\/10\/1694362643659.png","contentUrl":"https:\/\/alain.goudey.eu\/side\/wp-content\/uploads\/2023\/10\/1694362643659.png","width":676,"height":676,"caption":"Alain Goudey"},"logo":{"@id":"https:\/\/alain.goudey.eu\/side\/#\/schema\/person\/image\/"},"description":"Imaginer l'Ecole du futur \u00e0 NEOMA, cr\u00e9er l'identit\u00e9 sonore des marques avec Atoomedia &amp; Mediavea, conseiller sur la transformation num\u00e9rique avec Sociacom | Expert en \u00e9ducation, technologies disruptives, IA &amp; design sonore.","sameAs":["https:\/\/alain.goudey.eu\/side","https:\/\/www.facebook.com\/alain.goudey","https:\/\/www.instagram.com\/alaingoudey\/","https:\/\/www.linkedin.com\/in\/goudey\/","https:\/\/x.com\/AlainGoudey","https:\/\/www.youtube.com\/@AlainGoudey"],"url":"https:\/\/alain.goudey.eu\/side\/author\/agoudey\/"}]}},"_links":{"self":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts\/114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/comments?post=114"}],"version-history":[{"count":2,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts\/114\/revisions"}],"predecessor-version":[{"id":124,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/posts\/114\/revisions\/124"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/media\/122"}],"wp:attachment":[{"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/media?parent=114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/categories?post=114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alain.goudey.eu\/side\/wp-json\/wp\/v2\/tags?post=114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}