Skip to content

Implement multi-model consensus weight + Kimi K2.5 registration #2

Description

@aleks1k

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.go WeightCalculator: добавить 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.go ValidateAll(): запрашивать 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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions