Profil bilingue EN/FR, anglais en premier, comme les repos OC.
This commit is contained in:
parent
8e7f3cdaa5
commit
b2070d17cc
2 changed files with 107 additions and 38 deletions
67
README.fr.md
Normal file
67
README.fr.md
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
# Grégoire Mureau
|
||||||
|
|
||||||
|
📘 Ce profil est également disponible en [anglais 🇬🇧](https://git.gregoiremureau.com/grgmro/.profile/src/branch/main/README.md)
|
||||||
|
|
||||||
|
**Ingénieur ML / data — RAG · serving LLM · homelab Kubernetes**
|
||||||
|
|
||||||
|
Diplômé **AI Engineer (Data Science Expert)**. 18 mois d’ingénierie de données en production à l’[Ifremer](https://www.ifremer.fr/) (Copernicus Marine, millions d’observations in situ / jour ; [3 publications scientifiques](https://www.researchgate.net/profile/Gregoire_Mureau)).
|
||||||
|
|
||||||
|
Cette instance Forgejo **fait partie** de l’infra : ce n’est pas un hébergeur tiers. GitHub ([GrgMdmn](https://github.com/GrgMdmn)) est le miroir public ; ici, c’est le quotidien.
|
||||||
|
|
||||||
|
## Homelab — une machine calcule, l’autre expose
|
||||||
|
|
||||||
|
Deux **Ubuntu Server**, deux clusters **k3s indépendants** (pas de fédération : l’indisponibilité de l’une ne doit pas emporter l’autre). Liaison Tailscale.
|
||||||
|
|
||||||
|
| | **Mini PC** (calcul) | **NAS** (mise à disposition) |
|
||||||
|
|---|---|---|
|
||||||
|
| Matériel | AMD Ryzen 7 8745HS · iGPU Radeon 780M · 48 Go RAM unifiée | Intel N100 · 31 Go · MergerFS + SnapRAID |
|
||||||
|
| Rôle | Inférence GPU, runners CI, observabilité | Bordure publique : Traefik, git, cloud, démos ML |
|
||||||
|
| Orchestration | k3s (single-node) | k3s (single-node) |
|
||||||
|
|
||||||
|
La 780M est une iGPU modeste, **sans VRAM dédiée**. Une dGPU dans le même format (mini PC / laptop) plafonne en général à 8–16 Go de VRAM ; ici les poids tiennent dans la **RAM unifiée** (GTT, plusieurs dizaines de Gio). C’est ce qui permet d’héberger et de servir un MoE comme Qwen3-30B-A3B, trop volumineux pour la VRAM d’une carte discrète équivalente.
|
||||||
|
|
||||||
|
**Démo LLM** (chat temporaire, rien n’est conservé) : [Qwen3-30B MoE via Open WebUI](https://llm.gregoiremureau.com/auto-login.html?temporary-chat=true&model=qwen3:30b-a3b-q6k)
|
||||||
|
|
||||||
|
Aussi servis par le NAS : [APIs ML](https://api.gregoiremureau.com/ml/) · Forgejo (cette page).
|
||||||
|
|
||||||
|
Les dépôts listés sous ce compte user sont surtout **homelab / infra**. Le Master OpenClassrooms vit dans l’organisation **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)** (Forgejo n’épingle pas les repos d’org sur un profil user).
|
||||||
|
|
||||||
|
## Étude de cas — communauté migrée vers une plateforme souveraine
|
||||||
|
|
||||||
|
Communauté ouverte en 2007 (19 ans, bientôt 20), d’abord sur une plateforme propriétaire, puis une deuxième, migrée vers **Discourse** (open source) sur un **VPS dédié** que j’administre — pas sur le NAS : **[depiedencap.org](https://depiedencap.org/)**.
|
||||||
|
|
||||||
|
- 22 230 sujets · 424 835 messages · 7 102 comptes mappés · 93 884 images (8,8 Go)
|
||||||
|
- Plugins Discourse custom (onboarding, locale FR/PWA, citations RAG)
|
||||||
|
- Mail & RGPD : campagnes de réactivation, droit à l’effacement avec dossiers de preuve
|
||||||
|
- RAG sur le corpus des **fils** (embeddings **bge-m3** → pgvector → Qwen3-30B sur le mini PC) — l’assistant n’indexe pas les profils
|
||||||
|
|
||||||
|
Le code de scraping et les données membres restent privés. Ici : l’architecture et les résultats.
|
||||||
|
|
||||||
|
## Master AI Engineer — OpenClassrooms
|
||||||
|
|
||||||
|
Organisation : **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)**
|
||||||
|
Miroirs GitHub (mêmes noms) : [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
||||||
|
|
||||||
|
| # | Projet | Forgejo | Live |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 2 | Paris trees (Pandas, Folium) | [oc-p02-paris-trees](https://git.gregoiremureau.com/openclassroom-ai/oc-p02-paris-trees) | — |
|
||||||
|
| 3 | OpenFoodFacts (nettoyage, ACP, ANOVA) | [oc-p03-openfoodfacts](https://git.gregoiremureau.com/openclassroom-ai/oc-p03-openfoodfacts) | — |
|
||||||
|
| 4 | Scoring crédit (LightGBM, SHAP, LIME) | [oc-p04-credit-scoring](https://git.gregoiremureau.com/openclassroom-ai/oc-p04-credit-scoring) | — |
|
||||||
|
| 5 | Segmentation client Olist (RFM, K-means) | [oc-p05-customer-segmentation](https://git.gregoiremureau.com/openclassroom-ai/oc-p05-customer-segmentation) | — |
|
||||||
|
| 6 | Classification produits (NLP + CV) | [oc-p06-product-classification](https://git.gregoiremureau.com/openclassroom-ai/oc-p06-product-classification) | — |
|
||||||
|
| 7 | Analyse de sentiment (LSTM, DistilBERT, FastAPI) | [oc-p07-sentiment-api](https://git.gregoiremureau.com/openclassroom-ai/oc-p07-sentiment-api) | [démo](https://api.gregoiremureau.com/ml/sentiment/) |
|
||||||
|
| 8 | Street vision (U-Net, FPN) | [oc-p08-street-vision](https://git.gregoiremureau.com/openclassroom-ai/oc-p08-street-vision) | [démo](https://api.gregoiremureau.com/ml/street-vision/) |
|
||||||
|
| 9 | Street vision PoC (SegFormer vs FPN) | [oc-p09-street-vision-poc](https://git.gregoiremureau.com/openclassroom-ai/oc-p09-street-vision-poc) | [démo](https://api.gregoiremureau.com/ml/street-vision-poc/) |
|
||||||
|
| 10 | Recommandation de contenu | [oc-p10-content-recommendation](https://git.gregoiremureau.com/openclassroom-ai/oc-p10-content-recommendation) | — |
|
||||||
|
| 11 | Big data fruits (PySpark, EMR) | [oc-p11-bigdata-fruits](https://git.gregoiremureau.com/openclassroom-ai/oc-p11-bigdata-fruits) | — |
|
||||||
|
| 12 | Cadrage Fashion-Insta | [oc-p12-fashion-insta](https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta) | — |
|
||||||
|
|
||||||
|
Landing ML : [api.gregoiremureau.com/ml/](https://api.gregoiremureau.com/ml/)
|
||||||
|
|
||||||
|
## Liens
|
||||||
|
|
||||||
|
- Site : [gregoiremureau.com](https://www.gregoiremureau.com)
|
||||||
|
- GitHub : [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
||||||
|
- LinkedIn : [gregoire-mureau](https://www.linkedin.com/in/gregoire-mureau-a7455a19b/)
|
||||||
|
- Publications : [ResearchGate](https://www.researchgate.net/profile/Gregoire_Mureau)
|
||||||
|
- Produce Estimates (PWA React, démo anonymisée) : [demo.gregoiremureau.com/estimaciones_demo/](https://demo.gregoiremureau.com/estimaciones_demo/)
|
||||||
70
README.md
70
README.md
|
|
@ -1,65 +1,67 @@
|
||||||
# Grégoire Mureau
|
# Grégoire Mureau
|
||||||
|
|
||||||
**Ingénieur ML / data — RAG · serving LLM · homelab Kubernetes**
|
📘 This profile is also available in [French 🇫🇷](https://git.gregoiremureau.com/grgmro/.profile/src/branch/main/README.fr.md)
|
||||||
|
|
||||||
Diplômé **AI Engineer (Data Science Expert)**. 18 mois d’ingénierie de données en production à l’[Ifremer](https://www.ifremer.fr/) (Copernicus Marine, millions d’observations in situ / jour ; [3 publications scientifiques](https://www.researchgate.net/profile/Gregoire_Mureau)).
|
**ML / data engineer — RAG · LLM serving · homelab Kubernetes**
|
||||||
|
|
||||||
Cette instance Forgejo **fait partie** de l’infra : ce n’est pas un hébergeur tiers. GitHub ([GrgMdmn](https://github.com/GrgMdmn)) est le miroir public ; ici, c’est le quotidien.
|
Graduate **AI Engineer (Data Science Expert)**. Eighteen months in production data engineering at [Ifremer](https://www.ifremer.fr/) (Copernicus Marine, millions of in-situ observations per day; [3 scientific publications](https://www.researchgate.net/profile/Gregoire_Mureau)).
|
||||||
|
|
||||||
## Homelab — une machine calcule, l’autre expose
|
This Forgejo instance **is part of** the infra: it is not a third-party host. GitHub ([GrgMdmn](https://github.com/GrgMdmn)) is the public mirror; this is day-to-day.
|
||||||
|
|
||||||
Deux **Ubuntu Server**, deux clusters **k3s indépendants** (pas de fédération : l’indisponibilité de l’une ne doit pas emporter l’autre). Liaison Tailscale.
|
## Homelab — compute vs serve
|
||||||
|
|
||||||
| | **Mini PC** (calcul) | **NAS** (mise à disposition) |
|
Two **Ubuntu Server** machines, two independent **k3s** clusters (not federated: if one is down, the other must keep serving). They talk over Tailscale.
|
||||||
|
|
||||||
|
| | **Mini PC** (compute) | **NAS** (serve) |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Matériel | AMD Ryzen 7 8745HS · iGPU Radeon 780M · 48 Go RAM unifiée | Intel N100 · 31 Go · MergerFS + SnapRAID |
|
| Hardware | AMD Ryzen 7 8745HS · Radeon 780M iGPU · 48 GB unified RAM | Intel N100 · 31 GB · MergerFS + SnapRAID |
|
||||||
| Rôle | Inférence GPU, runners CI, observabilité | Bordure publique : Traefik, git, cloud, démos ML |
|
| Role | Inference, CI runners, observability | Public edge: Traefik, git, cloud, ML demos |
|
||||||
| Orchestration | k3s (single-node) | k3s (single-node) |
|
| Orchestration | k3s (single-node) | k3s (single-node) |
|
||||||
|
|
||||||
La 780M est une iGPU modeste, **sans VRAM dédiée**. Une dGPU dans le même format (mini PC / laptop) plafonne en général à 8–16 Go de VRAM ; ici les poids tiennent dans la **RAM unifiée** (GTT, plusieurs dizaines de Gio). C’est ce qui permet d’héberger et de servir un MoE comme Qwen3-30B-A3B, trop volumineux pour la VRAM d’une carte discrète équivalente.
|
The 780M is a modest iGPU **with no dedicated VRAM**. A discrete GPU in the same form factor (mini PC / laptop) typically tops out at 8–16 GB of VRAM; here model weights sit in **unified memory** (GTT, tens of GiB). That is what makes it possible to host and serve an MoE such as Qwen3-30B-A3B, which would not fit in the VRAM of an equivalent dGPU.
|
||||||
|
|
||||||
**Démo LLM** (chat temporaire, rien n’est conservé) : [Qwen3-30B MoE via Open WebUI](https://llm.gregoiremureau.com/auto-login.html?temporary-chat=true&model=qwen3:30b-a3b-q6k)
|
**Try it** (temporary chat, nothing persisted): [Qwen3-30B MoE via Open WebUI](https://llm.gregoiremureau.com/auto-login.html?temporary-chat=true&model=qwen3:30b-a3b-q6k)
|
||||||
|
|
||||||
Aussi servis par le NAS : [APIs ML](https://api.gregoiremureau.com/ml/) · Forgejo (cette page).
|
Also live from the NAS: [ML APIs](https://api.gregoiremureau.com/ml/) · Forgejo (this page).
|
||||||
|
|
||||||
Les dépôts listés sous ce compte user sont surtout **homelab / infra**. Le Master OpenClassrooms vit dans l’organisation **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)** (Forgejo n’épingle pas les repos d’org sur un profil user).
|
Repositories listed under this user account are mostly **homelab / infra**. The OpenClassrooms Master lives in the **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)** organisation (Forgejo does not pin org repos on a user profile).
|
||||||
|
|
||||||
## Étude de cas — communauté migrée vers une plateforme souveraine
|
## Case study — sovereign community platform
|
||||||
|
|
||||||
Communauté ouverte en 2007 (19 ans, bientôt 20), d’abord sur une plateforme propriétaire, puis une deuxième, migrée vers **Discourse** (open source) sur un **VPS dédié** que j’administre — pas sur le NAS : **[depiedencap.org](https://depiedencap.org/)**.
|
A community founded in 2007 (19 years, approaching 20), hosted first on one proprietary platform then a second, migrated to open-source **Discourse on a dedicated VPS I operate** (not on the NAS): **[depiedencap.org](https://depiedencap.org/)**.
|
||||||
|
|
||||||
- 22 230 sujets · 424 835 messages · 7 102 comptes mappés · 93 884 images (8,8 Go)
|
- 22,230 topics · 424,835 posts · 7,102 accounts mapped · 93,884 images (8.8 GB)
|
||||||
- Plugins Discourse custom (onboarding, locale FR/PWA, citations RAG)
|
- Custom Discourse plugins (onboarding, French locale/PWA, RAG citations)
|
||||||
- Mail & RGPD : campagnes de réactivation, droit à l’effacement avec dossiers de preuve
|
- Mail & GDPR ops: reactivation campaigns, erasure workflow with evidence files
|
||||||
- RAG sur le corpus des **fils** (embeddings **bge-m3** → pgvector → Qwen3-30B sur le mini PC) — l’assistant n’indexe pas les profils
|
- RAG on the thread corpus (embeddings **bge-m3** → pgvector → Qwen3-30B on the mini PC). Indexes **topics**, not user profiles.
|
||||||
|
|
||||||
Le code de scraping et les données membres restent privés. Ici : l’architecture et les résultats.
|
Scraping pipelines and member data stay private — this page is architecture and outcomes, not a source dump.
|
||||||
|
|
||||||
## Master AI Engineer — OpenClassrooms
|
## Master AI Engineer — OpenClassrooms
|
||||||
|
|
||||||
Organisation: **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)**
|
Organisation: **[openclassroom-ai](https://git.gregoiremureau.com/openclassroom-ai)**
|
||||||
Miroirs GitHub (mêmes noms) : [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
GitHub mirrors (same names): [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
||||||
|
|
||||||
| # | Projet | Forgejo | Live |
|
| # | Project | Forgejo | Live |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 2 | Paris trees (Pandas, Folium) | [oc-p02-paris-trees](https://git.gregoiremureau.com/openclassroom-ai/oc-p02-paris-trees) | — |
|
| 2 | Paris trees (Pandas, Folium) | [oc-p02-paris-trees](https://git.gregoiremureau.com/openclassroom-ai/oc-p02-paris-trees) | — |
|
||||||
| 3 | OpenFoodFacts (nettoyage, ACP, ANOVA) | [oc-p03-openfoodfacts](https://git.gregoiremureau.com/openclassroom-ai/oc-p03-openfoodfacts) | — |
|
| 3 | OpenFoodFacts (cleaning, PCA, ANOVA) | [oc-p03-openfoodfacts](https://git.gregoiremureau.com/openclassroom-ai/oc-p03-openfoodfacts) | — |
|
||||||
| 4 | Scoring crédit (LightGBM, SHAP, LIME) | [oc-p04-credit-scoring](https://git.gregoiremureau.com/openclassroom-ai/oc-p04-credit-scoring) | — |
|
| 4 | Credit scoring (LightGBM, SHAP, LIME) | [oc-p04-credit-scoring](https://git.gregoiremureau.com/openclassroom-ai/oc-p04-credit-scoring) | — |
|
||||||
| 5 | Segmentation client Olist (RFM, K-means) | [oc-p05-customer-segmentation](https://git.gregoiremureau.com/openclassroom-ai/oc-p05-customer-segmentation) | — |
|
| 5 | Olist customer segmentation (RFM, K-means) | [oc-p05-customer-segmentation](https://git.gregoiremureau.com/openclassroom-ai/oc-p05-customer-segmentation) | — |
|
||||||
| 6 | Classification produits (NLP + CV) | [oc-p06-product-classification](https://git.gregoiremureau.com/openclassroom-ai/oc-p06-product-classification) | — |
|
| 6 | Product classification (NLP + CV) | [oc-p06-product-classification](https://git.gregoiremureau.com/openclassroom-ai/oc-p06-product-classification) | — |
|
||||||
| 7 | Analyse de sentiment (LSTM, DistilBERT, FastAPI) | [oc-p07-sentiment-api](https://git.gregoiremureau.com/openclassroom-ai/oc-p07-sentiment-api) | [démo](https://api.gregoiremureau.com/ml/sentiment/) |
|
| 7 | Sentiment analysis (LSTM, DistilBERT, FastAPI) | [oc-p07-sentiment-api](https://git.gregoiremureau.com/openclassroom-ai/oc-p07-sentiment-api) | [demo](https://api.gregoiremureau.com/ml/sentiment/) |
|
||||||
| 8 | Street vision (U-Net, FPN) | [oc-p08-street-vision](https://git.gregoiremureau.com/openclassroom-ai/oc-p08-street-vision) | [démo](https://api.gregoiremureau.com/ml/street-vision/) |
|
| 8 | Street vision (U-Net, FPN) | [oc-p08-street-vision](https://git.gregoiremureau.com/openclassroom-ai/oc-p08-street-vision) | [demo](https://api.gregoiremureau.com/ml/street-vision/) |
|
||||||
| 9 | Street vision PoC (SegFormer vs FPN) | [oc-p09-street-vision-poc](https://git.gregoiremureau.com/openclassroom-ai/oc-p09-street-vision-poc) | [démo](https://api.gregoiremureau.com/ml/street-vision-poc/) |
|
| 9 | Street vision PoC (SegFormer vs FPN) | [oc-p09-street-vision-poc](https://git.gregoiremureau.com/openclassroom-ai/oc-p09-street-vision-poc) | [demo](https://api.gregoiremureau.com/ml/street-vision-poc/) |
|
||||||
| 10 | Recommandation de contenu | [oc-p10-content-recommendation](https://git.gregoiremureau.com/openclassroom-ai/oc-p10-content-recommendation) | — |
|
| 10 | Content recommendation | [oc-p10-content-recommendation](https://git.gregoiremureau.com/openclassroom-ai/oc-p10-content-recommendation) | — |
|
||||||
| 11 | Big data fruits (PySpark, EMR) | [oc-p11-bigdata-fruits](https://git.gregoiremureau.com/openclassroom-ai/oc-p11-bigdata-fruits) | — |
|
| 11 | Big data fruits (PySpark, EMR) | [oc-p11-bigdata-fruits](https://git.gregoiremureau.com/openclassroom-ai/oc-p11-bigdata-fruits) | — |
|
||||||
| 12 | Cadrage Fashion-Insta | [oc-p12-fashion-insta](https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta) | — |
|
| 12 | Fashion-Insta project framing | [oc-p12-fashion-insta](https://git.gregoiremureau.com/openclassroom-ai/oc-p12-fashion-insta) | — |
|
||||||
|
|
||||||
Landing ML : [api.gregoiremureau.com/ml/](https://api.gregoiremureau.com/ml/)
|
ML landing: [api.gregoiremureau.com/ml/](https://api.gregoiremureau.com/ml/)
|
||||||
|
|
||||||
## Liens
|
## Links
|
||||||
|
|
||||||
- Site : [gregoiremureau.com](https://www.gregoiremureau.com)
|
- Website: [gregoiremureau.com](https://www.gregoiremureau.com)
|
||||||
- GitHub: [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
- GitHub: [github.com/GrgMdmn](https://github.com/GrgMdmn)
|
||||||
- LinkedIn: [gregoire-mureau](https://www.linkedin.com/in/gregoire-mureau-a7455a19b/)
|
- LinkedIn: [gregoire-mureau](https://www.linkedin.com/in/gregoire-mureau-a7455a19b/)
|
||||||
- Publications: [ResearchGate](https://www.researchgate.net/profile/Gregoire_Mureau)
|
- Publications: [ResearchGate](https://www.researchgate.net/profile/Gregoire_Mureau)
|
||||||
- Produce Estimates (PWA React, démo anonymisée) : [demo.gregoiremureau.com/estimaciones_demo/](https://demo.gregoiremureau.com/estimaciones_demo/)
|
- Produce Estimates (React PWA, anonymised demo): [demo.gregoiremureau.com/estimaciones_demo/](https://demo.gregoiremureau.com/estimaciones_demo/)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue