Overhaul model system with multi-stage training, variants, benchmarks, and eval
CI / build-and-push (push) Successful in 32s
CI / build-and-push (push) Successful in 32s
Replace the single-stage training + flat capability score with a realistic AI development pipeline: pre-training with Chinchilla scaling laws, SFT with specializations, alignment with safety/capability tradeoffs (RLHF/DPO/Constitutional), model families with distillation/fine-tuning/quantization variants, named benchmark suite with compute-costing eval jobs, and segment-specific market quality. Phases 1-6 of the model rework plan: new types, engine rewrite, save migration, training events/risk system, concurrent training, variant creation, benchmark evaluation with leaderboard, and market integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -107,9 +107,9 @@ export function StateInspectionTab() {
|
||||
<Stat label="Completed" value={research.completedResearch.length} />
|
||||
<Stat label="Points" value={research.researchPoints.toFixed(1)} />
|
||||
<Stat label="Active" value={research.activeResearch?.researchId ?? 'None'} />
|
||||
<Stat label="Models" value={models.trainedModels.length} />
|
||||
<Stat label="Training" value={models.activeTraining?.modelName ?? 'None'} />
|
||||
<Stat label="Deployed" value={models.trainedModels.filter(m => m.isDeployed).length} />
|
||||
<Stat label="Models" value={models.baseModels.length} />
|
||||
<Stat label="Training" value={models.activeTrainingPipelines.filter(p => p.status === 'active').length} />
|
||||
<Stat label="Deployed" value={models.baseModels.filter(m => m.isDeployed).length} />
|
||||
</Section>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -111,12 +111,17 @@ function instantCompleteResearch() {
|
||||
}
|
||||
|
||||
function instantCompleteTraining() {
|
||||
const { activeTraining } = useGameStore.getState().models;
|
||||
if (!activeTraining) return;
|
||||
const { activeTrainingPipelines } = useGameStore.getState().models;
|
||||
const active = activeTrainingPipelines.find(p => p.status === 'active');
|
||||
if (!active) return;
|
||||
useGameStore.setState((s) => ({
|
||||
models: {
|
||||
...s.models,
|
||||
activeTraining: { ...activeTraining, progressTicks: activeTraining.totalTicks },
|
||||
activeTrainingPipelines: s.models.activeTrainingPipelines.map(p =>
|
||||
p.id === active.id
|
||||
? { ...p, stages: { ...p.stages, pretraining: { ...p.stages.pretraining, progressTicks: p.stages.pretraining.totalTicks } } }
|
||||
: p,
|
||||
),
|
||||
},
|
||||
}));
|
||||
}
|
||||
@@ -137,7 +142,7 @@ function forceEra(era: Era) {
|
||||
export function TimeCompletionTab() {
|
||||
const [tickCount, setTickCount] = useState('100');
|
||||
const activeResearch = useGameStore((s) => s.research.activeResearch);
|
||||
const activeTraining = useGameStore((s) => s.models.activeTraining);
|
||||
const activeTraining = useGameStore((s) => s.models.activeTrainingPipelines.find(p => p.status === 'active'));
|
||||
const currentEra = useGameStore((s) => s.meta.currentEra);
|
||||
|
||||
const pipelineCount = useGameStore((s) =>
|
||||
@@ -189,6 +194,7 @@ export function TimeCompletionTab() {
|
||||
</DevButton>
|
||||
<DevButton onClick={instantCompleteTraining} variant="success">
|
||||
Training {activeTraining && `(${activeTraining.modelName})`}
|
||||
|
||||
</DevButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,10 +13,8 @@ export function CompanyStatsCard({ onClose }: { onClose: () => void }) {
|
||||
const totalRevenue = useGameStore((s) => s.economy.totalRevenue);
|
||||
const valuation = useGameStore((s) => s.economy.funding.valuation);
|
||||
const subscribers = useGameStore((s) => s.market.consumers.totalSubscribers);
|
||||
const models = useGameStore((s) => s.models.trainedModels.length);
|
||||
const bestModel = useGameStore((s) =>
|
||||
s.models.trainedModels.reduce((best, m) => Math.max(best, m.benchmarkScore), 0),
|
||||
);
|
||||
const models = useGameStore((s) => s.models.baseModels.length);
|
||||
const bestModel = useGameStore((s) => s.models.bestDeployedModelScore);
|
||||
const reputation = useGameStore((s) => s.reputation.score);
|
||||
const achievements = useGameStore((s) => s.achievements.unlocked.length);
|
||||
const dataCenters = useGameStore((s) => s.infrastructure.totalDataCenterCount);
|
||||
|
||||
Reference in New Issue
Block a user