Add SupTrain: Decentralized AI training coordination module#73
Draft
Add SupTrain: Decentralized AI training coordination module#73
Conversation
Co-authored-by: embiimob <6278950+embiimob@users.noreply.github.com>
Co-authored-by: embiimob <6278950+embiimob@users.noreply.github.com>
Co-authored-by: embiimob <6278950+embiimob@users.noreply.github.com>
Co-authored-by: embiimob <6278950+embiimob@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add new SupTrain toolbar button for decentralized AI training
Add SupTrain: Decentralized AI training coordination module
Feb 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements decentralized AI training coordination using IPFS for model/delta distribution and blockchain keywords for worker discovery. Users discover jobs via
#suptrainhashtags, train locally with their GPU, and publish LoRA deltas back to the network.UI Integration
btnSupTrainwith 🤖 emoji) opens modeless formTask.Runfor heavy ops,Invokefor UI updates,FlowLayoutPanelfor lazy-loaded listsService Layer
SupTrainService.cs - Core coordination logic:
SearchJobsByKeywordAsync()- Parse blockchain messages for job announcementsPublishUpdateAsync()- Post worker updates with keyword protocolProcessStartInfo(matches existing patterns)SupTrainModels.cs - Protocol definitions:
#suptrain #update #job:<id> #round:<n> #delta:<cid>Training Workers
Python CLI scripts launched as external processes:
worker.py - Produces LoRA delta + metrics from local data
aggregate.py - Merges worker deltas with weighted averaging
Protocol Design
All messages use structured hashtags for discoverability:
Large artifacts (models, deltas) stored on IPFS; only CIDs posted on-chain.
Integration Points
TODOs marked for connection to existing Sup!? infrastructure:
SearchJobsByKeywordAsync()needs hookup toRoot.GetPublicAddressByKeyword()PublishUpdateAsync()needs RPC transaction postingStats
Original prompt
Goal
Add a new integrated module called SupTrain that appears as a new toolbar button in
SupMain(like the existing SupFlix button). Clicking it opens a new form/window that lets a Sup!? user perform decentralized AI training using IPFS and keyword coordination.Key User Flow (Must be Easy!)
Simple workflow: "Choose Job" → "Choose Data" → "Start Training" → "Publish Update"
Phase 1: UI Integration (Button like SupFlix)
Tasks
Add a new toolbar button in
SupMain.Designer.csbtnSupTrainincludes/or reuse an existing oneSupMainconstructor)btnVideoSearch/btnWorkBenchWire click handler in
SupMain.csSupTrainform and show it modelessprofileURN.Textor#keywordif activetestnetbool and rpc settingsCreate new WinForms Form
SupTrain.csSupTrain.Designer.csSupTrain.resxFlowLayoutPanelpattern similar to SupFlix for listing items and lazy loading batchesPhase 2: SupTrain UX Flow (Simple and friendly)
SupTrain sections (tabs or panels)
A) Discover
txtJobKeyworddefault to#suptrainor last usedB) Configure
ModelName,Round,BaseCheckpointCID,ManifestCID,EvalCID(optional),PolicyCID(optional)C) Run
D) Publish
DeltaCID,MetricsCIDE) Monitor
#checkpointannouncements#updatesubmissions#aggregateannouncementsPhase 3: Keyword + IPFS Protocol (Data Model)
Use a consistent keyword scheme
All SupTrain messages include:
#suptrain#model:<ModelSlug>(example:#model:suplm)#job:<JobId>(short hash)#round:<N>Message types:
Job Genesis
#suptrain #jobgenesis #model:<slug> #job:<id> #cid:<jobCID> #manifest:<manifestCID> #checkpoint:<baseCkptCID>Task/Shard
#suptrain #task #job:<id> #round:<n> #shard:<k> #data:<dataCID>Worker Update
#suptrain #update #job:<id> #round:<n> #base:<baseCkptCID> #delta:<deltaCID> #metrics:<metricsCID> #from:<addressOrUrn>Aggregate Checkpoint
#suptrain #aggregate #job:<id> #round:<n> #checkpoint:<newCkptCID> #inputs:<listCID> #metrics:<metricsCID>Policy / Filter
#suptrain #policy #job:<id> #allow:<cid> #deny:<cid> #keywords:<cid>IPFS payload formats (JSON)
Define plain JSON files and store on IPFS:
job.json: model slug, description, license hint, created time, genesis checkpoint CID, manifest CID, eval CID, policy CID, aggregator rulesmanifest.json: training recipe defaults, tokenizer/config references, allowed data sources, excluded keywords list CIDmetrics.json: loss curve summary, eval scores, step count, runtime stats, gpu infoupdate.json: base checkpoint CID, delta CID, worker id, params used, hashes of data usedaggregate_inputs.json: array of delta CIDs included and weightsPhase 4: Implement Discovery + Publishing using existing Sup!? plumbing
Discovery
Implement:
This pull request was created from Copilot chat.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.