{"object":"hivemind.contributive_hub","theme":"Contributive & Community Mutual Aid — OpenRouter Producer + OpenTrainer Self-Training MoE","updated_utc":1793696734.662,"integration_cycle":{"cadence_hours":3,"cron_expression":"0 */3 * * *","script":"scripts/run_3h_producer_trainer_moe_integration.py","failover_daemon":"scripts/rtx2070_failover_orchestrator.py","inference_continuity_verified_models":["hivemind/coder","hivemind/bee-stars","hivemind/auto"]},"openrouter_producer_fleet":{"total_hiveminders":45,"live_producers_count":4,"distinct_physical_gpus":2,"live_endpoints":4,"total_capacity_1k":270.0,"live_handles":["gcp-t4-producer","gcp-t4-bee","t4-big-gpu-moe-20261028","rtx2070_xavgamsrv_night"],"live_models_count":15,"live_models":["hivemind/auto","hivemind/bee-lean-prover","hivemind/bee-ruche-moe","hivemind/bee-rusty-sundials","hivemind/bee-stars","hivemind/coder","hivemind/coder-lite","hivemind/coder-plus","hivemind/crowd-v1","hivemind/gemma-core","hivemind/mistral-core","hivemind/moe-coder","hivemind/moe-general","hivemind/moe-qwen35-bee","hivemind/qwen35-core"]},"opentrainer_moe_self_training":{"object":"hivemind.opentrainer.moe_self_training_progress","target_model":"hivemind/granite-moe-qlora-nf4","architecture":"Stage-2 Tiny Granite-MoE NF4 QLoRA + DiLoCo 2D-DCT Outer Step + Monotone Loss Ratchet","cadence":"every_3_hours_and_continuous_45s_micro_rounds","data_source":"LIVE_RECORDED_OPENTRAINER_ROUNDS","rounds_recorded":100,"latest_round_index":2346,"initial_eval_loss":1.398103,"latest_eval_loss":1.364457,"best_ratcheted_eval_loss":1.360512,"loss_improvement_delta":0.033646,"monotone_ratchet_improved":true,"total_tokens_trained":1024000,"active_campaigns":["E8-STAGE2-TINY-GRANITE-MOE-QLORA"],"participating_handles":["cybervalkyrie-fr-5ecb"],"active_trainer_nodes_count":1,"total_registered_trainer_nodes":6},"active_task_offer":{"event_type":"io.hivemind.amcp.fed.task_offer","topic":"hivemind.amcp.federation.v1","run_id":"opentrainer-rtx2070-t4-co-train-v1","round":6498,"algorithm":"e8_qlora_moe_v1","model_id":"hivemind/granite-moe-qlora-nf4","script_sha256":"86cc8db586537fded623058a6b9406f783bd50c824409c8a93da133254c5c44c","base_sha256":"9d29879258386341a4d32b3d60aee5856651dc623cd62211189ad60c49859cdb","global_sha256":"a5cf08b8761edcadded6051d998d06f55bd8a433f8f98237f04f21a65288cb5e","inner_steps":40,"inner_lr":0.01,"outer_lr":0.5,"outer_mu":0.5,"qlora_rank":4,"qlora_alpha":8,"quorum":1,"max_delta_l2":25.0,"min_free_vram_mib_t4":4300,"min_free_vram_mib_8gb":1536,"deadline_unix":1793698534.662,"mobile_code_allowed":false,"weights_only_deserialization":true},"firewall_traversal_modes":[{"mode_id":"outbound-https-relay","tier":"Tier B (Default — Zero Firewall / NAT Config)","inbound_ports_required":0,"protocol":"Outbound HTTPS (TCP/443) to /v1/hivemind/opentrainer/*","how_it_works":"The trainer node initiates outbound-only HTTPS requests to OpenTrainer on the Cloud Run gateway. OpenTrainer validates signed Aglet task claims and QLoRA/DiLoCo delta submissions and bridges them into the AMCP/Kafka event ledger. Works behind any home router, carrier-grade NAT (CGNAT), or corporate firewall.","recommended_for":"Home Windows/Linux/macOS GPUs (RTX 2070, RTX 3060, RTX 4070) without public IPs or UDP 51820."},{"mode_id":"amcp-kafka-aglet","tier":"Tier A (Direct AMCP v1.5 + Kafka Signed Task Agents)","inbound_ports_required":0,"protocol":"Outbound TCP/9092 over WireGuard overlay (10.77.0.0/24) to 3 Kafka brokers","how_it_works":"Learners subscribe to topic hivemind.amcp.federation.v1, verify HMAC-signed task_offer envelopes (code_pin SHA-256 with CRLF normalization + base/global tensor SHA-256, weights_only=True, 64 KiB cap), train inner_steps on their non-IID shard, and publish task_result deltas.","recommended_for":"Dedicated nodes on the 10.77.0.0/24 overlay (GCP Tesla T4 + RTX 2070 via WireGuard T4 Hub)."},{"mode_id":"ssh-loopback-tunnel","tier":"Two-Host WAN Cell Tunnel (Loopback-Only Syncer)","inbound_ports_required":0,"protocol":"Outbound SSH port-forward (127.0.0.1:18766 -> 127.0.0.1:8765, permitopen restricted)","how_it_works":"Per PR #401 and PR #407, the syncer never binds 0.0.0.0; it listens strictly on 127.0.0.1:8765 / 10.77.0.4:8765. The remote RTX 2070 learner (XAVGAMSRV) forwards a local loopback port over SSH with a key restricted to permitopen=\"127.0.0.1:8765\" and no shell execution.","recommended_for":"Cross-host E8 Stage 1 (CPU RDA) and Stage 2 (NF4 QLoRA Tiny-MoE) experiments when UDP is blocked."},{"mode_id":"wireguard-t4-hub","tier":"Tier A Overlay Hub & Open-Source Mesh Alternatives","inbound_ports_required":0,"protocol":"Outbound UDP/51820 to 34.48.48.154:51820 (or wstunnel TCP/443, Headscale, Nebula MIT)","how_it_works":"The T4 VM acts as a single WireGuard hub (deploy/amcp/hm-wg-hub.sh) forwarding 10.77.0.5/32 (RTX 2070) to 10.77.0.0/24 (Kafka brokers) with iptables drop rules blocking VPC access. Where UDP/51820 is blocked, trainers use wstunnel (WireGuard over WebSocket/TLS), Headscale + Tailscale DERP, or Nebula certificates.","recommended_for":"Persistent multi-host co-training between XAVGAMSRV (RTX 2070) and socreateai-agora-hermes-node1 (Tesla T4)."},{"mode_id":"boinc-night-workunit","tier":"Tier C (BOINC Nocturnal Workunits & Idle-GPU Worker)","inbound_ports_required":0,"protocol":"Outbound HTTPS (TCP/443) to HiveMind La Ruche BOINC Coordinator","how_it_works":"Standard BOINC client (boinccmd) and hivemind_boinc_idle_worker.py lease nocturnal workunits (22:00-07:00 Paris time), verify that folding ran on the gated CUDA device (PR #408), pause automatically within 4s of gamer input (PR #399), and enforce the monotone validation-loss ratchet before assimilating QLoRA deltas (PR #366).","recommended_for":"Volunteer gamers and citizen-science trainers contributing overnight GPU cycles."}],"community_help_guide":[{"topic_id":"producer-openrouter-join","category":"producer_openrouter","title_en":"1. Join as an OpenRouter Inference Producer (Share Idle GPU & Earn HMT)","title_fr":"1. Rejoindre comme Producteur d'Inférence OpenRouter (Partage GPU & HMT)","summary_en":"Run Ollama, llama-server, or vLLM locally and heartbeat your models to the HiveMind OpenRouter gateway. Whenever a local game or heavy workload starts, your GPU yields in < 1.5s.","summary_fr":"Lancez Ollama, llama-server ou vLLM localement et envoyez vos heartbeats vers la passerelle HiveMind OpenRouter. Dès qu'un jeu ou une tâche lourde démarre, votre GPU libère la VRAM en < 1,5 s.","cli_command":"python scripts/hivemind_producer_agent.py --gateway https://hivemind-openrouter-1003063861791.us-central1.run.app --preset coder","verification_endpoint":"/v1/hivemind/producers"},{"topic_id":"trainer-opentrainer-moe","category":"trainer_opentrainer_moe","title_en":"2. Join as an OpenTrainer Self-Training MoE Node (0 Inbound Ports)","title_fr":"2. Contribuer à l'Auto-Entraînement MoE via OpenTrainer (0 Port Entrant)","summary_en":"Participate in Stage-2 Tiny Granite-MoE NF4 QLoRA and DiLoCo 2D-DCT outer steps over outbound HTTPS (TCP/443) or signed AMCP/Kafka Aglets (`hivemind.amcp.federation.v1`). Monotone validation-loss ratchet ensures only loss-improving rounds advance the checkpoint.","summary_fr":"Participez à l'auto-entraînement Stage-2 Tiny Granite-MoE NF4 QLoRA et aux pas externes DiLoCo 2D-DCT via HTTPS sortant (TCP/443) ou Aglets signés AMCP/Kafka (`hivemind.amcp.federation.v1`). Le cliquet monotone rejette toute mise à jour qui dégrade la loss de validation.","cli_command":"python scripts/hivemind_opentrainer_agent.py --gateway https://hivemind-openrouter-1003063861791.us-central1.run.app --network-mode outbound-https-relay --check-firewall --submit-delta --once","verification_endpoint":"/v1/hivemind/opentrainer/status"},{"topic_id":"dual-role-failover-orchestrator","category":"dual_producer_trainer_3h_cycle","title_en":"3. Dual Producer + Trainer Co-Serving & 3-Hour MoE Self-Training Cycle","title_fr":"3. Orchestrateur Hybride Producteur + Entraîneur & Cycle MoE 3 Heures","summary_en":"Every 3 hours, the Producer+Trainer MoE integration orchestrator verifies live OpenRouter inference (`hivemind/coder`, `hivemind/bee-stars` with NIGHT-MOE-1 LoRA, `hivemind/auto`), refreshes producer and OpenTrainer heartbeats, and executes verified QLoRA self-training rounds.","summary_fr":"Toutes les 3 heures, l'orchestrateur d'intégration Producteur+Entraîneur vérifie le service d'inférence OpenRouter (`hivemind/coder`, `hivemind/bee-stars` avec adaptateur NIGHT-MOE-1 LoRA, `hivemind/auto`), rafraîchit les heartbeats Producteur/OpenTrainer et exécute des rondes d'auto-entraînement QLoRA.","cli_command":"PYTHONPATH=src:scripts python scripts/run_3h_producer_trainer_moe_integration.py","verification_endpoint":"/v1/hivemind/contributive-hub"},{"topic_id":"community-troubleshooting-help","category":"community_mutual_aid","title_en":"4. Community Help, Firewall Diagnostics & Honest Adapter Rules","title_fr":"4. Entraide Communautaire, Diagnostic Pare-Feu & Règles d'Intégrité","summary_en":"Behind NAT/CGNAT or Windows Firewall? Use `outbound-https-relay` (TCP/443 outbound only). Note: `hivemind/bee-stars` requires the `NIGHT-MOE-1` LoRA adapter on `llama-server` (`/bee`); plain Ollama nodes should advertise base/coder models without `bee-stars`.","summary_fr":"Derrière un NAT/CGNAT ou pare-feu Windows ? Utilisez `outbound-https-relay` (TCP/443 sortant uniquement). Important : `hivemind/bee-stars` requiert l'adaptateur LoRA `NIGHT-MOE-1` sur `llama-server` (`/bee`) ; un nœud Ollama standard ne doit pas annoncer `bee-stars` sans l'adaptateur.","cli_command":"curl -sS https://hivemind-openrouter-1003063861791.us-central1.run.app/v1/hivemind/contributive-hub","verification_endpoint":"/v1/hivemind/contributive-hub"},{"topic_id":"byom-2-to-4-local-gpus","category":"byom_multi_gpu_co_training","title_en":"5. Co-Train New or Custom Models (BYOM) with 2 to 4 Local GPUs","title_fr":"5. Co-Entraîner de Nouveaux Modèles ou Vos Propres Modèles (BYOM) avec 2 à 4 GPUs","summary_en":"Join as a Trainer (`role=\"trainer\"`) to co-train shared HiveMind MoE models OR your own custom base models/LoRA adapters (`--campaign-id byom-<your-model>`) across 2 to 4 local GPUs (same rig via `CUDA_VISIBLE_DEVICES=0..3` or 2–4 LAN/WAN machines). Each GPU takes a disjoint non-IID data shard (`--learner-index 0..3 --num-learners K`) and merges outer steps via DiLoCo 2D-DCT + Multi-Krum.","summary_fr":"Rejoignez comme Entraîneur (`role=\"trainer\"`) pour co-entraîner de nouveaux modèles communs OU vos propres modèles/adaptateurs LoRA (`--campaign-id byom-<votre-modele>`) avec 2 à 4 GPUs locaux (même machine via `CUDA_VISIBLE_DEVICES=0..3` ou 2 à 4 PC en réseau). Chaque GPU entraîne une partition disjointe (`--learner-index 0..3 --num-learners K`) et synchronise par pas externe DiLoCo 2D-DCT.","cli_command":"for gpu in 0 1 2 3; do CUDA_VISIBLE_DEVICES=$gpu python scripts/hivemind_opentrainer_agent.py --gateway https://hivemind-openrouter-1003063861791.us-central1.run.app --host-label RIG-GPU$gpu --learner-index $gpu --campaign-id byom-custom-moe-v1 --network-mode outbound-https-relay --submit-delta --once & done; wait","verification_endpoint":"/v1/hivemind/opentrainer/status"}],"multi_gpu_2_to_4_byom_playbook":{"title_en":"Co-Training New & Custom (BYOM) Models with 2 to 4 Local GPUs on OpenTrainer","title_fr":"Co-Entraîner de Nouveaux Modèles ou Vos Propres Modèles (BYOM) avec 2 à 4 GPUs Locaux","supported_topologies":[{"topology_id":"single_host_2_to_4_gpus","label_en":"Topology A — 1 Workstation / Homelab Server with 2 to 4 GPUs (CUDA_VISIBLE_DEVICES=0..3)","label_fr":"Topologie A — 1 Station / Serveur Homelab avec 2 à 4 GPUs (CUDA_VISIBLE_DEVICES=0..3)","how_it_works":"Pin one OpenTrainer worker per physical GPU (`CUDA_VISIBLE_DEVICES=0..K-1`), assign each worker a distinct `--host-label RIG-GPU$i` and `--learner-index $i`, and run H=20..40 inner QLoRA steps before outer-step DiLoCo / RDA aggregation."},{"topology_id":"multi_host_lan_or_wan_2_to_4_gpus","label_en":"Topology B — 2 to 4 Separate Gaming PCs / Laptops Across LAN or Internet (0 Inbound Ports)","label_fr":"Topologie B — 2 à 4 PC Gamers / Machines Séparées en LAN ou Internet (0 Port Entrant)","how_it_works":"Each PC runs `scripts/hivemind_opentrainer_agent.py --network-mode outbound-https-relay` (or local syncer `scripts/run_experiment_E8_pilot.py --role syncer --bind 127.0.0.1` over SSH loopback tunnel) and submits only compact FP16/2D-DCT LoRA deltas (~6–18 MB per round, never raw private datasets)."},{"topology_id":"bring_your_own_model_byom","label_en":"Topology C — Bring Your Own Model (BYOM) / Custom Domain LoRA Campaign","label_fr":"Topologie C — Entraîner Votre Propre Modèle (BYOM) / Campagne LoRA Personnalisée","how_it_works":"Specify a custom `--campaign-id byom-<your-project>` when submitting deltas to `/v1/hivemind/opentrainer/submit-delta`, or launch a private 2–4 GPU DiLoCo coordinator locally while optionally publishing the trained GGUF/LoRA bee onto HiveMind OpenRouter (`/v1/chat/completions`)."}],"vram_budget_per_gpu_tier":{"6gb_to_8gb_gpus_e_g_rtx2070_3060_4060":"NF4 4-bit base + rank-4/rank-8 QLoRA (batch=1, grad_accum=8, seq_len=1024, >=1,536 MiB free VRAM safety floor)","12gb_to_16gb_gpus_e_g_rtx3060_12g_4070ti_t4":"NF4/FP8 base + rank-16 QLoRA or 8-expert Tiny-MoE (batch=2, grad_accum=8, seq_len=2048, >=4,300 MiB free VRAM floor on T4)","24gb_plus_gpus_e_g_rtx3090_4090_a5000":"14B–30B MoE expert shards + rank-32 QLoRA / teacher distillation"}}}