forked from gonka-ai/gonka
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
From research #1
Overview
Доделать ветку upstream/gm/multi-models до состояния merge и зарегистрировать Kimi K2.5 как вторую governance модель. Ветка уже реализует multi-model node assignment и PoC slot allocation, но отсутствуют: consensusKoeff, multi-model consensus weight calculation в chainvalidation.go, и multi-model PoC generation в DAPI.
Implementation Checklist
Phase 1: Proto + params changes (~1.5 days)
- Добавить
consensus_koeff Decimalиt_grace_epochs uint64вinference-chain/proto/inference/inference/model.proto(поля 14, 15) - Добавить
w_threshold Decimalиv_min uint32вPocParamsвinference-chain/proto/inference/inference/params.proto - Регенерировать
model.pb.goиparams.pb.goчерез make proto-gen - Обновить
MsgRegisterModelвtx.proto— добавитьconsensus_koeffиt_grace_epochs - Обновить
inference-chain/x/inference/keeper/msg_server_register_model.go— маппинг новых полей - Обновить тесты для новых полей Model
Phase 2: Multi-model consensus weight в chainvalidation (~2 days)
- Рефакторинг
inference-chain/x/inference/module/chainvalidation.goWeightCalculator: добавитьGovernanceModels []*types.Modelв struct - Изменить
calculateParticipantWeight(): агрегироватьΣ consensusKoeff_i × pocWeight(model_i, p)по моделям изActiveParticipant.Models - Добавить проверку eligibility группы: исключать если
W_threshold > 0и (доля веса < W_threshold или хостов < V_min) - Обновить
NewWeightCalculator()и вызов вmodule.go— передавать governance models - Написать unit-тесты multi-model weight calculation
Phase 3: Upgrade handler v0_2_10 (~0.5 days)
- Заполнить
inference-chain/app/upgrades/v0_2_10/upgrades.go: мигрировать Qwen3 сConsensusKoeff=1.0,TGraceEpochs=0; установитьWThreshold=0.05,VMin=5 - Обновить
inference-chain/app/upgrades/v0_2_10/upgrades_test.go
Phase 4: Multi-model PoC в DAPI (~2 days)
- Рефакторинг
decentralized-api/poc/validator.goValidateAll(): запрашиватьQueryGovernanceModelsвместоpocParams.ModelId, разделить участников по моделям, per-model validation loop - Обновить
decentralized-api/poc/orchestrator.go— multi-model orchestration - Обновить
decentralized-api/apiconfig/config_manager.go— убрать зависимость от единственногоpoc_params.model_id - Обновить тесты
Phase 5: Регистрация Kimi K2.5 (~0.5 days, после deploy)
- Подготовить governance proposal
MsgRegisterModel:Id: moonshot-ai/Kimi-K2.5,ConsensusKoeff: 0.8,TGraceEpochs: 3, VRam и ThroughputPerNonce по бенчмарку - Инструкции для хостов: объявить поддержку в
HardwareNodes.HardwareNodes[].Models
Dependencies & Blockers
- Phase 2 и 3 зависят от Phase 1 (нужен
consensusKoeffв Model proto) - Phase 4 технически независима, но логически после Phase 1-2
- Phase 5 требует deploy Phase 1-4 на mainnet
- Нужен benchmark Kimi K2.5 на hardware участников для params в Phase 5
Estimated Total: 6-7 days (Senior)
Reactions are currently unavailable