Spaces:
Sleeping
Estimation des Ressources : Projet "Dataset Souverain & IA"
Ce document détaille les prérequis techniques pour passer d'un simple scraper à une usine de données pour l'IA (LLM Fine-tuning & RAG).
1. 💾 Stockage : Le Nerf de la Guerre
Pour un dataset "conséquent" (visant le fine-tuning d'un LLM 7B ou 13B paramètres sur des contextes africains), on ne parle plus en gigaoctets mais en téraoctets.
Estimation pour 10 Millions d'articles/documents (High Quality) :
- Données Brutes (HTML/PDF) : ~500 Go - 1 To (pour archives et traçabilité).
- Données Nettoyées (Texte brut/JSON) : ~50 Go - 100 Go (TEXT ONLY).
- Index Vectoriel (RAG) : C'est le plus lourd.
- Si on découpe (chunk) chaque doc en 4 segments.
- 40 millions de vecteurs (768 dimensions float32).
- Taille RAM/Disque Qdrant/Typesense : ~150 Go - 200 Go uniquement pour les vecteurs.
Recommandation Disque : 2 To NVMe SSD minimum. Les disques durs classiques (HDD) tueront les performances de votre moteur de recherche vectoriel.
2. 🖥️ Matériel pour le Scraper (L'Usine)
Le scraping n'est pas limité par le CPU, mais par la bande passante et les IOPS (écritures disque).
Configuration "Scraper Industriel" (Minimum)
- CPU : 4 - 8 vCPUs (pour gérer le parsing HTML/PDF en parallèle).
- RAM : 16 Go - 32 Go (Chrome/Selenium consomme énormément si utilisé, sinon Scrapy pur est léger).
- Réseau : 1 Gbps stable.
- Proxies : CRITIQUE. Pour scraper massivement sans être banni, il faut un pool de proxies rotatifs (frais mensuels à prévoir : 50$-500$/mois selon le volume).
3. ⏱️ Estimation du Temps (La Variable "Politesse")
Si vous êtes "poli" (1 requête/seconde par domaine) pour ne pas casser les sites cibles :
- Vitesse Moyenne : 1 page / 2 secondes (avec parsing).
- Avec 1 instance : ~43 000 pages / jour.
- Pour atteindre 1 Million de pages : ~23 jours avec 1 machine.
- Accélération : Parallélisme. Avec 10 workers en parallèle sur des domaines différents -> 2 à 3 jours pour 1 Million de pages.
4. 🧠 Structure des Données pour l'IA (LLM & RAG)
Pour que la donnée soit utile (et pas juste du bruit), elle doit suivre ce pipeline :
A. Pour le RAG (Recherche Sémantique)
Les données doivent être "Chunkées" (découpées) intelligemment.
- Format : JSON
- Structure :
{ "id": "uuid", "text": "Extrait de texte de 512 tokens...", "metadata": { "source": "url", "date": "2024-01-01", "pays": "Sénégal", "langue": "wol" }, "vector": [0.12, -0.45, ...] // Généré par modèle d'embedding (ex: Camembert, NLLB) }
B. Pour le Fine-Tuning (LLM)
Les données doivent être nettoyées et formatées en paires "Instruction/Input/Output" ou en texte brut continu de haute qualité.
- Format : JSONL (JSON Lines)
- Nettoyage : Suppression des pubs, menus, bas de pages, scripts, etc. (C'est 80% du travail).
5. ⚡ Performance du Moteur de Recherche
Pour que la recherche soit "instantanée" (< 100ms) sur des millions de documents :
- RAM is King : Qdrant et Typesense doivent tenir l'index en mémoire vive (RAM).
- Pour 10M vecteurs, prévoyez 64 Go à 128 Go de RAM sur le serveur de recherche.
- Disque NVMe : Indispensable pour charger les données à froid.
- HNSW Index : C'est l'algorithme utilisé par Qdrant. Il est rapide mais gourmand en RAM.
📝 Résumé du "Kit de Démarrage Sérieux"
Si vous voulez commencer demain un projet pertinent et performant :
- Serveur Scraper : VPS 8 vCPU / 16 Go RAM / 1 Gbps (ex: Hetzner, OVH) + Budget Proxies.
- Serveur Base de Données & Recherche : Serveur Dédié 16 vCPU / 128 Go RAM / 2x1.92 To NVMe (C'est là qu'est la valeur).
- Pipeline : Scrapy (Collecte) -> Traitement Text (Spacy/Langchain) -> Vectorisation (HuggingFace) -> Qdrant (Index).