Le réseau, vu par le ML
Tu connais déjà 90 % de cette leçon
HTTP, TCP, les timeouts, les retries : rien de nouveau. Ce qui change en ML, c'est oĂč ça fait mal. Un endpoint CRUD rĂ©pond en 5 ms ; une infĂ©rence de modĂšle prend 50 ms Ă 5 s. Ă ces Ă©chelles, chaque choix rĂ©seau devient une dĂ©cision produit.
La latence d'inférence domine tout
Décompose la latence d'un appel à un modÚle en production :
client ââ rĂ©seau (5-50 ms) ââ file d'attente (0-500 ms!) ââ infĂ©rence (20 ms-5 s) ââ rĂ©seau retour
Deux différences majeures avec ton backend habituel :
- La file d'attente : un GPU traite les requĂȘtes par batch. Ta requĂȘte attend que le batch se remplisse (ou qu'un timer expire). C'est le dynamic batching : latence individuelle sacrifiĂ©e contre dĂ©bit global.
- La variance : l'infĂ©rence LLM gĂ©nĂšre token par token â la durĂ©e dĂ©pend de la longueur de la rĂ©ponse. Ton p50 peut ĂȘtre excellent et ton p99 catastrophique.
HTTP/1.1, gRPC ou streaming ?
| Besoin | Choix courant | Pourquoi |
|---|---|---|
| API de prédiction simple (score, classe) | REST/JSON | Simple, débuggable, suffisant sous 10 req/s |
| Microservices internes haute fréquence | gRPC | Protobuf compact, HTTP/2 multiplexé, contrats typés |
| RĂ©ponse LLM progressive | SSE ou WebSocket | L'utilisateur voit les tokens arriver â le p99 perçu s'effondre |
| Features volumineuses (images, embeddings) | gRPC streaming | Pas de base64 JSON qui triple la taille |
Le streaming SSE est devenu le standard de facto des API LLM (OpenAI, Anthropic) : tu connais text/event-stream ? Tu sais déjà servir un LLM.
Le réseau DANS l'entraßnement
En entraĂźnement distribuĂ© (plusieurs GPUs/machines), le rĂ©seau devient le goulot : Ă chaque Ă©tape, les gradients de chaque GPU doivent ĂȘtre agrĂ©gĂ©s (all-reduce). D'oĂč les interconnexions exotiques (NVLink, InfiniBand) des clusters ML. Retiens l'idĂ©e : la bande passante entre GPUs limite la vitesse d'entraĂźnement autant que les GPUs eux-mĂȘmes.
Pourquoi le p99 d'un endpoint LLM est-il structurellement plus instable que celui d'un CRUD ?